Service - Menu Config: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
(Created page with "= Overview = Manages configuration for site menus created by users and used in different areas of the project. = Repository = https://bitbucket.org/izara-core-shared/izara-core-shared-menu-config = DynamoDB tables = == Standard Config Table Per Service == === Configuration tags === <syntaxhighlight lang="JavaScript"> { configKey: "xx", configTag: "xx", configValue: "xx", }, </syntaxhighlight> == MenuConfigMain == <syntaxhighlight lang="JavaScript"> { men...")
 
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 8: Line 8:


= DynamoDB tables =
= DynamoDB tables =
== [[Standard Config Table Per Service]] ==
=== Configuration tags ===
<syntaxhighlight lang="JavaScript">
{
configKey: "xx",
configTag: "xx",
configValue: "xx",
},
</syntaxhighlight>


== MenuConfigMain ==
== MenuConfigMain ==
Line 40: Line 28:
<syntaxhighlight lang="JavaScript">
<syntaxhighlight lang="JavaScript">
{
{
userId: "xx" // user who owns the tableConfig
userId: "xx" // user who owns the menuConfig
menuConfigId: "xx",
menuConfigId: "xx",
}
}
Line 47: Line 35:
* partition key: userId
* partition key: userId
* sort key: menuConfigId
* sort key: menuConfigId
= menuConfig Object =
<syntaxhighlight lang="json">
{
menuRows:[
{
rowName: "xx", // used when configuring only as a reference
menuElements: [
{
elementType: "menu"
menuElements: [
{
elementType: "staticUrl"
url: "xxx",
},
{
elementType: "sitePage"
sitePageId: "xx",
},
{
elementType: "plainText"
plainText: "xxx",
},
],
},
{
elementType: "projectMenu", // used for the main project menu
}
// ..
]
},
// ..
]
}
</syntaxhighlight>


= Working documents =
= Working documents =

Latest revision as of 13:47, 23 June 2023

Overview

Manages configuration for site menus created by users and used in different areas of the project.

Repository

https://bitbucket.org/izara-core-shared/izara-core-shared-menu-config

DynamoDB tables

MenuConfigMain

{
	menuConfigId: "xx", // {useCase}_{random uuid}
	menuConfig: "xx", // json encoded object of configuration
	menuConfigName: "yy", // user specified name of the config
	userId: "xx"
}
  • partition key: menuConfigId
  • sort key: {none}
  • save menuConfig according to useCase, not yet applied but could sub areas of the project into different use cases, handled by the same Menu Config service

UsersMenuConfigs

{
	userId: "xx" // user who owns the menuConfig
	menuConfigId: "xx",
}
  • partition key: userId
  • sort key: menuConfigId

menuConfig Object

{
	menuRows:[
		{
			rowName: "xx", // used when configuring only as a reference
			menuElements: [
				{
					elementType: "menu"
					menuElements: [
						{
							elementType: "staticUrl"
							url: "xxx",
						},
						{
							elementType: "sitePage"
							sitePageId: "xx",
						},
						{
							elementType: "plainText"
							plainText: "xxx",
						},
					],
				},
				{
					elementType: "projectMenu", // used for the main project menu
				}
				// ..
			]
		},
		// ..
	]
}

Working documents

Menu Config