Service - Supply Network

From Izara Wiki
Revision as of 14:56, 27 January 2026 by Sven the Barbarian (talk | contribs) (Created page with "= 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 == <syntaxhighlight lang="JavaScript"> { objectType: "supplyNetwork", canDelete: false, addOnDataStructure: [ { type: "propertyValue" }, { type:"versionedData", versionedDataLabel: "supplyNetworkDetail", storageResourceTag :...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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