Service - Stock Location Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
(Created page with "= Overview = Each Sell Offer (Standard) record points to a Stock Loctation record which is handled by a Service - Stock Location (handlers) service, with Service - Stock Loc ation Standard handling simple quantities remaining in stock per stock location record. The Stock Location Manager service handles shared orchestration of Stock Location Handler services. = Repository = https://bitbucket.org/izara-market-products/izara-market-products-stock-location-manag...")
 
No edit summary
Line 1: Line 1:
= Overview =
= Overview =


Each Sell Offer (Standard) record points to a Stock Loctation record which is handled by a [[Service - Stock Location (handlers)]] service, with [[Service - Stock Loc ation Standard]] handling simple quantities remaining in stock per stock location record.
Each Sell Offer (Standard) record points to a Stock Loctation record which is handled by a [[Service - Stock Location (handlers)]] service, with [[Service - Stock Location Standard]] handling simple quantities remaining in stock per stock location record.


The Stock Location Manager service handles shared orchestration of Stock Location Handler services.
The Stock Location Manager service handles shared orchestration of Stock Location Handler services.

Revision as of 23:30, 29 April 2023

Overview

Each Sell Offer (Standard) record points to a Stock Loctation record which is handled by a Service - Stock Location (handlers) service, with Service - Stock Location Standard handling simple quantities remaining in stock per stock location record.

The Stock Location Manager service handles shared orchestration of Stock Location Handler services.

Repository

https://bitbucket.org/izara-market-products/izara-market-products-stock-location-manager

DynamoDB tables

Standard Config Table Per Service

Configuration tags

{
	configKey: "ProductGraphServiceName"
	configTag: "ProductGraphServiceName"
	configValue: xxx // eg: "ProductGraph"
}
{
	configKey: "StockLocationHandlerService"
	configTag: xxx // stockLocationHandlerServiceNameTag, eg: "StockLocationStandard"
	configValue: {
		serviceName: xxx // eg: "StockLocationStandard", this is the actual deployed service name
	}
}

StockLocationRecord

Records which Handler manages each stock location

{
	stockLocationId
	stockLocationHandlerServiceNameTag
}
  • partition key: stockLocationId
  • sort key: (none)

Service - Products Graph

Nodes

{
	nodeLabel: "{StockLocationManagerLib.STOCKLOCATION_GRAPH_NODE_LABEL}", // "stockLocation"
	schema: {
		identifier: true,
		restrictProperties: true,
		restrictRelationships: true,
		properties: {
			stockLocationId: {
				identifier: true, // create unique id from translation
			},
			stockLocationHandlerServiceNameTag: {
				immutable: true,
			},
		},
	}
}

Basic node schemas

{
	nodeLabel: "{StockLocationManagerLib.STOCKLOCATION_GRAPH_NODE_LABEL}"
	schema: {
		identifier: true,
		restrictProperties: true,
		restrictRelationships: true,
		properties: {
			stockLocationId: {
				identifier: true,
			},
			stockLocationHandlerServiceNameTag: {
				immutable: true,
			},
		},
	}
}

Schema comes from BasicNodeSchemaLib

  1. deliveryMethodPropertyLabel
  2. deliveryMethodProperty

Complex Filter requests

  • Not yet used at the Manager level, would send requests to all handlers, could perhaps setup to automatically pass on processLogical requests to all handlers, and not have a processLogical function in the Manager service

Working documents

Stock Location Manager