FrontOps Structure - Frame 2 (2).jpg

The Logic layer is represented by Oasis Data Store, which contains System, Language, and Security library core functionalities.

Oasis Data Store along with those basic functionalities result in APIs and NPM packages that compound the base of each product.

Oasis Data Store

Oasis Data Store represents the set of Lambdas, DynamoDBs, and API Gateway resources that are obtained as APIs results which are consumed by the main base libraries (System, Language, Security).

Oasis Data Store is used to carry out different processes from permissions and user roles to autogenerated menus. To achieve that, we make use Lambda functions and DynamoDBs previously defined.

Libraries

System

Define environment variables for the product, such as development, test, or production.

Language

Define the words internationalization globally and for each product.

Security

Validate the user's session and grant access permissions to each of the views.

Lambda functions

The following are the main Oasis Data Store lambda functions.

Security Lambda

This Lambda allows us to obtain permission names for each user, header options data, menu options data, and user tokens.

ℹ️ Dev Lambda name: masivapp-frontend-security-lambda

ℹ️ Prod Lambda name: MasivApp-Orchestrator-SecurityAddon-Lambda

This lambda receives the following header parameters

Example response:

{ 
	"headerData": [icon: "mui-icon-help"
								id: 2
								langKey: "Políticas y soporte"
								order: 2
								permissions: []
								submenu: []
								tooltip: "Ayuda"],
	"language": { en: {}, es: {}, pt: {}},
	"menuData": {
								app: "MASIV"
								description: "Pantalla de inicio"
								icon: "mui-icon-home"
								id: 1
								lang: {pt: {}}, en: {}, es: {}}
								langKey: "name"
								link: "<https://masivapp.com/>"
								name: "Principal"
								order: 1
								path: "/"
								requiredRoles: ["ViewTemplates"]
								uncouple: false
							}
	"token":"xxxxxx",
	"permissions": ["ViewTemplates","CreateTemplate","EnvioEmail"],
	"selectedAppId": 10
	"selected_app_id": 10
}

Whitebrand Lambda

ℹ️ Dev Lambda name: masivapp-frontend-whitebrand-lambda

ℹ️ Prod Lambda name: MasivApp-Orchestrator-Whitebrand-Lambda

Those are the headers supported by this lambda function:

This lambda has many responses depending on the origin URL. Commonly, if the origin URL corresponds to a whitebrand, the response comes as follows: