Service - Supply Network

From Izara Wiki
Jump to navigation Jump to search

Overview

Top level service for supply objects. One user can create many Supply Networks, each with it's own RBAC.

Repository

...

Object Schemas

Additional Information
Per Service Schemas

supplyNetwork

{
	objectType: "supplyNetwork",
	canDelete: false,
	addOnDataStructure: [
		{
			type: "propertyValue"
		},
		{
			type:"versionedData",
			versionedDataLabel: "supplyNetworkDetail",
			storageResourceTag : "myGraph",
			fieldNames: {
				"supplyNetworkName":{
					type: "string",
					requiredOnCreate: true,
				},
			}
		},
	],
	storageResources: {
		myGraph: {
			storageType: "graph",
			graphServerTag: "GraphHandler"
		}
    },
    fieldNames: {
		supplyNetworkId: {
			type: "string",
			randomOnCreate: true,
			canUpdate: false,
			userCanUpdate: false,
			storageResourceTags: ['myGraph']
		},
    },
    identifiers: [
		{
			type: "identifier",
			fieldName: "supplyNetworkId"
		}
    ]
}

RelationshipSchemas

hasSupplyNetwork

{
	hasSupplyNetwork: {
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "GraphHandler"			
			}
		},
		canChangeToRelTypes: [
			{
				serviceTag:"SupplyNetwork",
				relationshipTag: "removedSupplyNetwork"
			},
		],		
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "User",
						objectType: "user"
					},
					linkType: "one",
				},
				to: {
					objType: {
						serviceTag: "SupplyNetwork",
						objectType: "supplyNetwork"
					},
					linkType: "many"
				}
			},
		]
	}
}

removedSupplyNetwork

{
	removedSupplyNetwork: {
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "GraphHandler"			
			}
		},
		canChangeToRelTypes: [
			{
				serviceTag:"SupplyNetwork",
				relationshipTag: "hasSupplyNetwork"
			},
		],		
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "User",
						objectType: "user"
					},
					linkType: "one",
				},
				to: {
					objType: {
						serviceTag: "SupplyNetwork",
						objectType: "supplyNetwork"
					},
					linkType: "many"
				}
			},
		]
	}
}
  • links a user to the supplyNetwork they manage
  • does not convey ownership, each supplyNetwork is standalone that has it's own RBAC (allowing for simple transfer of ownership of data)
  • user can link themselves to any supplyNetwork so ui can present list

Working documents

Supply Network