Service - Catalog Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(13 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 15: Line 15:
=== Configuration tags ===
=== Configuration tags ===


..
<syntaxhighlight lang="JavaScript">
{
configKey: "CatalogGraphServiceName"
configTag: "CatalogGraphServiceName"
configValue: xxx // eg: "CatalogGraph"
}
</syntaxhighlight>


== Catalog ==
<syntaxhighlight lang="JavaScript">
{
configKey: "SearchType"
configTag: {eg: "product"|"sellOffer"|"variantProduct"}
configValue: {
searchResultServiceName: {eg: "searchResult"}
}
}
</syntaxhighlight>


=== Fields ===
<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>


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


= Notes =
= Notes =


* Client can pass in additional filters, these get combined into final Search Result request by [[Service - Category Tree (handlers)]].
* Client can pass in additional filters, these get combined into final Search Result request by [[Service - Category Tree (handlers)]].
* Client can overwrite default searchType
* Client can overwrite default searchType, if invalid gets set to categoryTreeNode default.
* Client can add requiredData to request
* 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 =
= Working documents =

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