Service - Inventory Location Manager: Difference between revisions
Jump to navigation
Jump to search
| Line 53: | Line 53: | ||
{ | { | ||
type: "partitionKey", | type: "partitionKey", | ||
fieldName: " | fieldName: "inventoryLocationId" | ||
} | } | ||
] | ] | ||
Latest revision as of 06:03, 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: "inventoryLocationId"
}
]
}
Object Relationships
atInventoryLocation
{
atInventoryLocation: {
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