Service - Menu Config: Difference between revisions
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 = | ||
== MenuConfigMain == | == MenuConfigMain == | ||
Line 40: | Line 28: | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
userId: "xx" // user who owns the | 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
{
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
}
// ..
]
},
// ..
]
}