Service - Inventory Location Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
Line 44: Line 44:
storageResourceTags: ['myGraph', 'dynamoDB']
storageResourceTags: ['myGraph', 'dynamoDB']
},
},
productHandlerServiceNameTag: {
inventoryLocationHandlerServiceNameTag: {
type: "string",
type: "string",
randomOnCreate: true,
optionalOnCreate: true,
storageResourceTags: ['dynamoDB']
storageResourceTags: ['dynamoDB']
},
},
Line 52: Line 52:
     identifiers: [
     identifiers: [
{
{
type: "inventoryLocationId",
type: "partitionKey",
fieldName: "inventoryId"
fieldName: "inventoryId"
}
}

Revision as of 02:27, 14 March 2026

Overview

Where inventory is located, inventory location also distinguishes whether an inventoryUnit is in stock, is work in progress, was the input to other unit/s through production, or sold to a customer.

To move an inventoryUnit from one location to another (eg to sell it) requires reserving the stock, performing the movement (eg removing/adding links in graph), then confirming the reservation.

Repository

...


Object Schemas

Additional Information
Per Service Schemas

objType

inventoryLocation

{
	objectType: "inventoryLocation",
	canDelete: false,
	belongTo: { 
		serviceTag: "Business",
		objectType: "business"
	},
	addOnDataStructure: [
		type: "propertyValue"
	],
	storageResources: {
		myGraph: {
			storageType: "graph",
			graphServerTag: "GraphHandler"
		}
		dynamoDB: {
			storageType: "dynamoDB",
			"tableName": "inventoryLocation",
		}
    },
    fieldNames: {
		inventoryLocationId: {
			type: "string",
			randomOnCreate: true,
			storageResourceTags: ['myGraph', 'dynamoDB']
		},
		inventoryLocationHandlerServiceNameTag: {
			type: "string",
			optionalOnCreate: true,
			storageResourceTags: ['dynamoDB']
		},
    },
    identifiers: [
		{
			type: "partitionKey",
			fieldName: "inventoryId"
		}
    ]
}

Object Relationships

at_InventoryLocation

{
	at_InventoryLocation: {
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "GraphHandler"			
			}
		},
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "inventoryManager",
						objectType: "inventoryUnit"
					},
					linkType: "many",
				},
				to: {
					objType: {
						serviceTag: "inventoryLocationManager",
						objectType: "inventoryLocation"
					},
					linkType: "one"
				}
			}
		]
	}
}
  • handle history of inventoryLocations same as stockLocations

Working documents

Inventory Location Manager