Service - Catalog Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Overview =
= Overview =


Maintains a table of all catalogs, each catalog is handled by a [[Service - Catalog (handlers)]] and a [[Service - Category Tree (handlers)]] service, links to these are stored for efficiently handling browse requests.
Each catalog is handled by a [[Service - Catalog (handlers)]] and a [[Service - Category Tree (handlers)]] service.


Browse requests from client pass this service, the Search Result request is built and sent to [[Service - Search Result Main]] service and id/s to poll for results are sent to client.
Browse requests from client pass this service, the Search Result request is built and sent to [[Service - Search Result]] service and id/s to poll for results are sent to client.


= Repository =
= Repository =


https://bitbucket.org/stb_vit/catalog-manager/src/master/
https://bitbucket.org/stb_working/catalog-manager/src/master/


= DynamoDB tables =
= DynamoDB tables =
Line 17: Line 17:
<syntaxhighlight lang="JavaScript">
<syntaxhighlight lang="JavaScript">
{
{
configTag: "searchType"
configKey: "CatalogGraphServiceName"
configKey: {eg: "product"|"sellOffer"|"variantProduct"}
configTag: "CatalogGraphServiceName"
configValue: xxx // eg: "CatalogGraph"
}
</syntaxhighlight>
 
<syntaxhighlight lang="JavaScript">
{
configKey: "SearchType"
configTag: {eg: "product"|"sellOffer"|"variantProduct"}
configValue: {
configValue: {
searchResultServiceName: {eg: "searchResult"}
searchResultServiceName: {eg: "searchResult"}
Line 25: Line 33:
</syntaxhighlight>
</syntaxhighlight>


== Catalog ==
<syntaxhighlight lang="JavaScript">
{
configKey: "CatalogService"
configTag: xxx // catalogServiceNameTag, eg: "CatalogStandard", this is what is saved in each catalog record
configValue: {
serviceName: xxx // eg: "CatalogStandard", this is the actual deployed service name}
}
}
</syntaxhighlight>


=== Fields ===
<syntaxhighlight lang="JavaScript">
 
{
; catalogId
configKey: "CategoryTreeService"
: (partition key)
configTag: xxx // categoryTreeServiceNameTag, eg: "CategoryTreeStandard", this is what is saved in each catalog record
; catalogServiceName
configValue: {
: eg: "CatalogStandard"
serviceName: xxx // eg: "CategoryTreeStandard", this is the actual deployed service name}
; categoryTreeServiceName
}
: eg: "CategoryTreeStandard"
}
</syntaxhighlight>


= Notes =
= Notes =

Latest revision as of 14:27, 25 April 2021

Overview

Each catalog is handled by a Service - Catalog (handlers) and a Service - Category Tree (handlers) service.

Browse requests from client pass this service, the Search Result request is built and sent to Service - Search Result service and id/s to poll for results are sent to client.

Repository

https://bitbucket.org/stb_working/catalog-manager/src/master/

DynamoDB tables

Standard Config Table Per Service

Configuration tags

{
	configKey: "CatalogGraphServiceName"
	configTag: "CatalogGraphServiceName"
	configValue: xxx // eg: "CatalogGraph"
}
{
	configKey: "SearchType"
	configTag: {eg: "product"|"sellOffer"|"variantProduct"}
	configValue: {
		searchResultServiceName: {eg: "searchResult"}
	}
}
{
	configKey: "CatalogService"
	configTag: xxx // catalogServiceNameTag, eg: "CatalogStandard", this is what is saved in each catalog record
	configValue: {
		serviceName: xxx // eg: "CatalogStandard", this is the actual deployed service name}
	}
}
{
	configKey: "CategoryTreeService"
	configTag: xxx // categoryTreeServiceNameTag, eg: "CategoryTreeStandard", this is what is saved in each catalog record
	configValue: {
		serviceName: xxx // eg: "CategoryTreeStandard", this is the actual deployed service name}
	}
}

Notes

  • Client can pass in additional filters, these get combined into final Search Result request by Service - Category Tree (handlers).
  • Client can overwrite default searchType, if invalid gets set to categoryTreeNode default.
  • Client can add requiredData to request.
  • locationTreeAreaNodeId and browseQuantity are added by the client into additionalParams, Category Tree handler adds these to the request, or set to default if invalid.

Working documents

Catalog Manager