<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://izara.io/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZTamnaja</id>
	<title>Izara Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://izara.io/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ZTamnaja"/>
	<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php/Special:Contributions/ZTamnaja"/>
	<updated>2026-05-07T08:14:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://izara.io/wiki/index.php?title=2020-12-18_-_Catalog_Manager_-_Functions&amp;diff=1873</id>
		<title>2020-12-18 - Catalog Manager - Functions</title>
		<link rel="alternate" type="text/html" href="https://izara.io/wiki/index.php?title=2020-12-18_-_Catalog_Manager_-_Functions&amp;diff=1873"/>
		<updated>2022-02-02T22:51:01Z</updated>

		<summary type="html">&lt;p&gt;ZTamnaja: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Service - Catalog Manager]]&lt;br /&gt;
&lt;br /&gt;
= Lambda Functions =&lt;br /&gt;
&lt;br /&gt;
== CatalogServiceName/ListServiceNameTags ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * List all catalogServiceNameTags from Config table&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {object[]} catalogServiceNameTags&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HdrApi ===&lt;br /&gt;
* Validator: (standard/none)&lt;br /&gt;
==== Authorizer ====&lt;br /&gt;
* AppLevel&lt;br /&gt;
==== handler logic ====&lt;br /&gt;
* (standard)&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
# query DynamoDB Config table for configTag = &amp;quot;catalogServiceName&amp;quot; and return an array of the serviceNameTags (configKeys)&lt;br /&gt;
&lt;br /&gt;
== CategoryTreeServiceName/ListServiceNameTags ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * List all categoryTreeServiceNameTags from Config table&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {object[]} categoryTreeServiceNameTags&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HdrApi ===&lt;br /&gt;
* Validator: (standard/none)&lt;br /&gt;
==== Authorizer ====&lt;br /&gt;
* AppLevel&lt;br /&gt;
==== handler logic ====&lt;br /&gt;
* (standard)&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
# query DynamoDB Config table for configTag = &amp;quot;categoryTreeServiceName&amp;quot; and return array of the serviceNameTags (configKeys)&lt;br /&gt;
&lt;br /&gt;
== Catalog/List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * List catalogs&lt;br /&gt;
 * @param {string} catalogNameFilter&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {object[]} catalogs&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HdrApi ===&lt;br /&gt;
* Validator: (standard/none)&lt;br /&gt;
==== Authorizer ====&lt;br /&gt;
* AppLevel&lt;br /&gt;
==== handler logic ====&lt;br /&gt;
* (standard)&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
* Not yet sure how to implement categoryNameFilter syntax, will depend on effective graph querying&lt;br /&gt;
* Will probably need to work in pagination&lt;br /&gt;
&lt;br /&gt;
# const ''catalogGraphServiceName'' = {from Config table: CatalogGraphServiceName}&lt;br /&gt;
# const ''catalogs'' = [[NPM module - izara-shared#graphSharedLib.getVerticesByVertexLabel]]&lt;br /&gt;
## graphServiceName: ''catalogGraphServiceName''&lt;br /&gt;
## vertexLabel: [[NPM module - izara-market-shared#CatalogStandardLib]].catalogGraphTag&lt;br /&gt;
# return ''catalogs''&lt;br /&gt;
&lt;br /&gt;
== Category/List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * List categories&lt;br /&gt;
 * @param {string} categoryNameFilter&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {object[]} catalogs&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HdrApi ===&lt;br /&gt;
* Validator: (standard/none)&lt;br /&gt;
==== Authorizer ====&lt;br /&gt;
* AppLevel&lt;br /&gt;
==== handler logic ====&lt;br /&gt;
* (standard)&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
* Not yet sure how to implement categoryNameFilter syntax, will depend on effective graph querying&lt;br /&gt;
* Will probably need to work in pagination&lt;br /&gt;
&lt;br /&gt;
# const ''catalogGraphServiceName'' = {from Config table: CatalogGraphServiceName}&lt;br /&gt;
# const ''categories'' = [[NPM module - izara-shared#graphSharedLib.getVerticesByVertexLabel]]&lt;br /&gt;
## graphServiceName: ''catalogGraphServiceName''&lt;br /&gt;
## vertexLabel: [[NPM module - izara-market-shared#CategoryStandardLib]].categoryGraphTag&lt;br /&gt;
# return ''categories''&lt;br /&gt;
&lt;br /&gt;
== Catalog/Browse ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Client request to browse a category in a catalog, including any additional filters&lt;br /&gt;
 * @param {string} catalogId&lt;br /&gt;
 * @param {string} [categoryNodeId=&amp;quot;&amp;quot;] - if empty will browse catalog level&lt;br /&gt;
 * @param {numeric} [browseQuantity=0]&lt;br /&gt;
 * @param {numeric} [locationNodeId=&amp;quot;&amp;quot;] - if empty will not filter by locationNodeId&lt;br /&gt;
 * @param {string} [searchType=&amp;quot;&amp;quot;] - overwrite default searchType&lt;br /&gt;
 * @param {Object} [filter={}] - complex filter object, adds additional filters&lt;br /&gt;
 * @param {Object} [requiredData={}] - overwrite default requiredData&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {Object} if successful returns object with searchResultId and requestDetailId, or sortResultId&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HdrApi ===&lt;br /&gt;
* Validator: (standard/none)&lt;br /&gt;
==== Authorizer ====&lt;br /&gt;
* AppLevel&lt;br /&gt;
==== handler logic ====&lt;br /&gt;
* (standard)&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
# const ''catalogGraphServiceName'' = {from Config table: CatalogGraphServiceName}&lt;br /&gt;
# const ''catalog'' = [[NPM module - izara-shared#graphSharedLib.getVertexByVertexTagAndVertexUniqueId]]&lt;br /&gt;
## graphServiceName: ''catalogGraphServiceName''&lt;br /&gt;
## vertexTag: [[NPM module - izara-market-shared#CatalogStandardLib]].catalogGraphTag&lt;br /&gt;
## vertexUniqueId: ''catalogId''&lt;br /&gt;
# if not exist return error object to handler, which then ?throws error for API client&lt;br /&gt;
// adjust to default values&lt;br /&gt;
# if ''browseQuantity'' empty&lt;br /&gt;
## ''browseQuantity'' = ''catalog.defaultBrowseQuantity''&lt;br /&gt;
// get browseRequest from category tree service&lt;br /&gt;
# const ''searchResultRequest'' = invoke sync [[2020-12-19 - Category Tree Standard - Functions#CategoryNode/BuildBrowseRequest]]&lt;br /&gt;
## catalogId: ''catalogId''&lt;br /&gt;
## categoryNodeId: ''categoryNodeId''&lt;br /&gt;
## searchType: ''searchType''&lt;br /&gt;
## filter: ''filter''&lt;br /&gt;
## requiredData: ''requiredData''&lt;br /&gt;
# // add in additionalParams&lt;br /&gt;
# ''searchResultRequest.additionalParams'' = {&lt;br /&gt;
## browseQuantity: ''browseQuantity''&lt;br /&gt;
## ''locationNodeId'' = ''locationNodeId''&lt;br /&gt;
# const ''searchTypeConfig'' = {from Config table: searchType matching ...browseConfig setting after building in category tree service}&lt;br /&gt;
# const ''searchResultId'' = invoke sync [[... search result request in service set by ''searchTypeConfig.serviceName'']]&lt;br /&gt;
## searchResultRequest: ''searchResultRequest''&lt;br /&gt;
## ..&lt;br /&gt;
# return ''searchResultId''&lt;br /&gt;
&lt;br /&gt;
= Functions =&lt;br /&gt;
&lt;br /&gt;
== ... ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * ...&lt;br /&gt;
 * @param {string} ...&lt;br /&gt;
 *&lt;br /&gt;
 * @returns {string} ...&lt;br /&gt;
 */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== logic ===&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[[Category:Working documents| 2020-12-18]]&lt;br /&gt;
[[Category:Working documents - Catalog Manager| 2020-12-18]]&lt;/div&gt;</summary>
		<author><name>ZTamnaja</name></author>
	</entry>
</feed>