Service - Supply Location Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 62: Line 62:
}
}
       },
       },
  fieldNames: {
fromTime: {
type: "timestamp",
},
  },
       links: [
       links: [
         {
         {
Line 74: Line 79:
           to: {
           to: {
             objType: {
             objType: {
               serviceTag: "supplyLocation",
               serviceTag: "SupplyLocationManager",
               objectType: "supplyLocation"
               objectType: "supplyLocation"
             },
             },
Line 96: Line 101:
}
}
       },
       },
  fieldNames: {
fromTime: {
type: "timestamp",
},
toTime: {
type: "timestamp",
},
  },
       links: [
       links: [
         {
         {
Line 108: Line 121:
           to: {
           to: {
             objType: {
             objType: {
               serviceTag: "supplyLocation",
               serviceTag: "SupplyLocationManager",
               objectType: "supplyLocation"
               objectType: "supplyLocation"
             },
             },

Latest revision as of 23:52, 20 July 2025

Overview

Each supply location is handled by a Service - Supply Location (handlers) service.

The Supply Location Manager service handles shared orchestration of the Supply Location Handler services and the base supplyLocation objectType.

Repository

https://bitbucket.org/izara-supply-supply-locations/izara-supply-supply-locations-supply-location-manager

DynamoDB tables

SupplyLocationRecord

Records which Handler manages each Stage

{
	supplyLocationId
	supplyLocationHandlerServiceNameTag
}
  • partition key: supplyLocationId
  • sort key: (none)

objectSchemas

{
	objectType: "supplyLocation",
	storageResources:{
		"xxx":{
			storageType: "graph",
			graphServerTag: "xx",
		}
	},
	fieldNames: {
		supplyLocationId: {
			type: "string",
            randomOnCreate: true
		},
	},
	identifiers: [
		{
			fieldName: "supplyLocationId"
		},
	]
},

relationshipSchemas

[
  {
    "currentSupplyLocation": {
      storageResources:{
		"xxx":{
			storageType: "graph",
			graphServerTag: "xx",
		}
      },
	  fieldNames: {
			fromTime: {
				type: "timestamp",
			},
	  },
      links: [
        {
          storageResourceTags: ["xxx"],
          from: {
            objType: {
              serviceTag: "unitManager",
              objectType: "unit"
            },
            linkType: "one",
          },
          to: {
            objType: {
              serviceTag: "SupplyLocationManager",
              objectType: "supplyLocation"
            },
            linkType: "many",
          }
        }
      ]
    }
  }
]
[
  {
    "oldSupplyLocation": {
      storageResources:{
		"xxx":{
			storageType: "graph",
			graphServerTag: "xx",
		}
      },
	  fieldNames: {
			fromTime: {
				type: "timestamp",
			},
			toTime: {
				type: "timestamp",
			},
	  },
      links: [
        {
          storageResourceTags: ["xxx"],
          from: {
            objType: {
              serviceTag: "unitManager",
              objectType: "unit"
            },
            linkType: "one",
          },
          to: {
            objType: {
              serviceTag: "SupplyLocationManager",
              objectType: "supplyLocation"
            },
            linkType: "many",
          }
        }
      ]
    }
  }
]
  • When added to a unitPacking the currentSupplyLocation is replaced to a oldSupplyLocation, and unit uses unitPackings currentSupplyLocation until removed from unitPacking

Working documents

Supply Location Manager