Products

Database Information


Database NameDatabase TypeCollection Name
%tenant_code%_multitenantMongoDBproducts


Record Explanation



Field NameTypeMandatoryUniqueIndexedDescription

_idMongo IDYESYESYESMongo Record ID

codeStringYESYESYESProduct Code

nameStringYESNONOProduct Name

descriptionStringNONONOProduct Description

scopeObjectNONONOProduct ACL and permission


Field NameTypeMandatoryUniqueIndexedDescription
aclObjectNONONO


Field NameTypeMandatoryUniqueIndexedDescription
%environment_name%ObjectNONONO

Field NameTypeMandatoryUniqueIndexedDescription
%service_name%ObjectNONONO

Field NameTypeMandatoryUniqueIndexedDescription
%version_name%ObjectNONONO

Field NameTypeMandatoryUniqueIndexedDescription
accessBooleanNONONO
apiPermissionStringNONONO

"enum": ["restricted"]

get - post - put - putArrayNONONO

Field NameTypeMandatoryUniqueIndexedDescription
groupStringNONONO

apis

ObjectNONONO

Field NameTypeMandatoryUniqueIndexedDescription
%api%ObjectNONONO

Field NameTypeMandatoryUniqueIndexedDescription
accessBooleanNONONO

packagesObjectNONONO

Packages in product



Field NameTypeMandatoryUniqueIndexedDescription
packageNameObjectNONONO
codeStringNONONOPackage Code
nameStringNONONO

Package Name

DescriptionStringNONONOPackage Description
aclObjectNONONO


Field NameTypeMandatoryUniqueIndexedDescription
%environment_name%ObjectYESYESNO


Field NameTypeMandatoryUniqueIndexedDescription
%service_name%ObjectNOYESNO


Field NameTypeMandatoryUniqueIndexedDescription
versionStringYESNONO
%http_verb%ArrayYESNONo


Field NameTypeMandatoryUniqueIndexedDescription
%group_name%StringNONONO

 Sample


The below Product has two packages. package 1 and PACK 2

Record Sample
{
	_id: ObjectId("5d779088f13f2c08f8cdc034"),
	code: "TEST2",
	name: "Test 2 Product",
	description: "this is a description for test 2 product",
	console: false,
	packages: [
		{
			code: "TEST2_NEWS",
			name: "news package",
			description: "this is a description for test 2 product news package",
			acl: {
				dashboard: {
					oauth: [
						{
							version: "1",
							get: [
								"Guest"
							],
							post: [
								"Guest",
								"Tokenization"
							],
							delete: [
								"Tokenization"
							]
						}
					]
				}
			},
			_TTL: NumberInt(86400000)
		},
		{
			code: "TEST2_NEW",
			name: "new package",
			description: "this is a description for test 2 product new package",
			acl: {
				dashboard: {
					urac: [
						{
							version: "2",
							post: [
								"Guest Password Settings"
							],
							get: [
								"Guest Password Settings",
								"Guest Email Validation"
							]
						}
					]
				}
			},
			_TTL: NumberInt(86400000)
		}
	]
}