747 lines
22 KiB
JSON
747 lines
22 KiB
JSON
{
|
|
"hierarchy": {
|
|
"name": "root",
|
|
"type": "root",
|
|
"children": [
|
|
{
|
|
"name": "application",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "name",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 500,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Name",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "domain",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 500,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "domain",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "application_resolve_strategy",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 100,
|
|
"values": [
|
|
"domain",
|
|
"path"
|
|
],
|
|
"allowDeclaredValuesOnly": true
|
|
},
|
|
"label": "Resolve Application By",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "defaultVersion",
|
|
"type": "reference",
|
|
"typeOptions": {
|
|
"indexNodeKey": "/applications/1-{id}/all_versions",
|
|
"reverseIndexNodeKeys": [
|
|
"/applications/1-{id}/versions/3-{id}/isdefault"
|
|
],
|
|
"displayValue": "name"
|
|
},
|
|
"label": "Default Version",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [
|
|
{
|
|
"name": "user",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "name",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 200,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Name (unique)",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "active",
|
|
"type": "bool",
|
|
"typeOptions": {
|
|
"allowNulls": false
|
|
},
|
|
"label": "Is Active",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "createdByMaster",
|
|
"type": "bool",
|
|
"typeOptions": {
|
|
"allowNulls": false
|
|
},
|
|
"label": "Created by Master",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "instance",
|
|
"type": "reference",
|
|
"typeOptions": {
|
|
"indexNodeKey": "/applications/1-{id}/allinstances",
|
|
"reverseIndexNodeKeys": [
|
|
"/applications/1-{id}/instances/2-{id}/users_on_this_instance"
|
|
],
|
|
"displayValue": "name"
|
|
},
|
|
"label": "Instance",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [],
|
|
"validationRules": [],
|
|
"nodeId": 8,
|
|
"indexes": [],
|
|
"allidsShardFactor": "64",
|
|
"collectionName": "users",
|
|
"isSingle": false
|
|
},
|
|
{
|
|
"name": "instance",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "name",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 1000,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Name",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "active",
|
|
"type": "bool",
|
|
"typeOptions": {
|
|
"allowNulls": false
|
|
},
|
|
"label": "Is Active",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "version",
|
|
"type": "reference",
|
|
"typeOptions": {
|
|
"indexNodeKey": "/applications/1-{id}/all_versions",
|
|
"reverseIndexNodeKeys": [
|
|
"/applications/1-{id}/versions/3-{id}/instances_on_this_version"
|
|
],
|
|
"displayValue": "name"
|
|
},
|
|
"label": "Version",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "datastoreconfig",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 1000,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Datastore Config",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [],
|
|
"validationRules": [],
|
|
"nodeId": 2,
|
|
"indexes": [
|
|
{
|
|
"name": "users_on_this_instance",
|
|
"type": "index",
|
|
"map": "return {...record};",
|
|
"filter": "",
|
|
"indexType": "reference",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [],
|
|
"nodeId": 15
|
|
}
|
|
],
|
|
"allidsShardFactor": 1,
|
|
"collectionName": "instances",
|
|
"isSingle": false
|
|
},
|
|
{
|
|
"name": "version",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "name",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 200,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Name",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "defaultAccessLevel",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 200,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Default Access Level",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [],
|
|
"validationRules": [],
|
|
"nodeId": 3,
|
|
"indexes": [
|
|
{
|
|
"name": "instances_for_this_version",
|
|
"type": "index",
|
|
"map": "return {name:record.name};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [],
|
|
"nodeId": 9
|
|
},
|
|
{
|
|
"name": "instances_on_this_version",
|
|
"type": "index",
|
|
"map": "return {...record};",
|
|
"filter": "",
|
|
"indexType": "reference",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [],
|
|
"nodeId": 10
|
|
},
|
|
{
|
|
"name": "isdefault",
|
|
"type": "index",
|
|
"map": "return {};",
|
|
"filter": "",
|
|
"indexType": "reference",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [],
|
|
"nodeId": 28
|
|
}
|
|
],
|
|
"allidsShardFactor": 1,
|
|
"collectionName": "versions",
|
|
"isSingle": false
|
|
},
|
|
{
|
|
"name": "session",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "created",
|
|
"type": "number",
|
|
"typeOptions": {
|
|
"minValue": 0,
|
|
"maxValue": 99999999999999,
|
|
"decimalPlaces": 0
|
|
},
|
|
"label": "Created",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "user_json",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "User Json",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "instanceDatastoreConfig",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Instance Datastore Config",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "instanceKey",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Instance Key",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "instanceVersion",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "Instance Version",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "username",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "User",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [],
|
|
"validationRules": [],
|
|
"nodeId": 16,
|
|
"indexes": [],
|
|
"allidsShardFactor": 1,
|
|
"collectionName": "sessions",
|
|
"isSingle": false
|
|
}
|
|
],
|
|
"validationRules": [],
|
|
"nodeId": 1,
|
|
"indexes": [
|
|
{
|
|
"name": "allinstances",
|
|
"type": "index",
|
|
"map": "return {...record};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
2
|
|
],
|
|
"nodeId": 23
|
|
},
|
|
{
|
|
"name": "sessions_by_user",
|
|
"type": "index",
|
|
"map": "return {username:record.username};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "return record.username.substring(0,2)",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
16
|
|
],
|
|
"nodeId": 24
|
|
},
|
|
{
|
|
"name": "user_name_lookup",
|
|
"type": "index",
|
|
"map": "return ({name:record.name, instanceKey:record.instance.key ? record.instance.key : '', instanceDatastoreConfig:record.instance.datastoreconfig ? record.instance.datastoreconfig : 'nothing'});",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "return record.name.substring(0,2)",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
8
|
|
],
|
|
"nodeId": 25
|
|
},
|
|
{
|
|
"name": "all_versions",
|
|
"type": "index",
|
|
"map": "return {...record};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
3
|
|
],
|
|
"nodeId": 26
|
|
}
|
|
],
|
|
"allidsShardFactor": 64,
|
|
"collectionName": "applications",
|
|
"isSingle": false
|
|
},
|
|
{
|
|
"name": "mastersession",
|
|
"type": "record",
|
|
"fields": [
|
|
{
|
|
"name": "user_json",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": 10000,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "User Json",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
},
|
|
{
|
|
"name": "username",
|
|
"type": "string",
|
|
"typeOptions": {
|
|
"maxLength": null,
|
|
"values": null,
|
|
"allowDeclaredValuesOnly": false
|
|
},
|
|
"label": "User",
|
|
"getInitialValue": "default",
|
|
"getUndefinedValue": "default"
|
|
}
|
|
],
|
|
"children": [],
|
|
"validationRules": [],
|
|
"nodeId": 17,
|
|
"indexes": [],
|
|
"allidsShardFactor": 64,
|
|
"collectionName": "sessions",
|
|
"isSingle": false
|
|
}
|
|
],
|
|
"pathMaps": [],
|
|
"indexes": [
|
|
{
|
|
"name": "all_applications",
|
|
"type": "index",
|
|
"map": "return {...record};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
1
|
|
],
|
|
"nodeId": 22
|
|
},
|
|
{
|
|
"name": "mastersessions_by_user",
|
|
"type": "index",
|
|
"map": "return {username:record.username};",
|
|
"filter": "",
|
|
"indexType": "ancestor",
|
|
"getShardName": "return record.username.substring(0,2)",
|
|
"getSortKey": "record.id",
|
|
"aggregateGroups": [],
|
|
"allowedRecordNodeIds": [
|
|
17
|
|
],
|
|
"nodeId": 27
|
|
}
|
|
],
|
|
"nodeId": 0
|
|
},
|
|
"triggers": [
|
|
{
|
|
"actionName": "initialise_instance",
|
|
"eventName": "recordApi:save:onRecordCreated",
|
|
"optionsCreator": "return ({ instance:context.record, apis });",
|
|
"condition": "context.record.type === \"instance\""
|
|
},
|
|
{
|
|
"actionName": "create_user",
|
|
"eventName": "recordApi:save:onRecordCreated",
|
|
"optionsCreator": "return ({ user:context.record, apis });",
|
|
"condition": "context.record.type === \"user\" && context.record.createdByMaster === true"
|
|
}
|
|
],
|
|
"actions": {
|
|
"initialise_instance": {
|
|
"name": "initialise_instance",
|
|
"behaviourSource": "main",
|
|
"behaviourName": "initialiseInstance",
|
|
"initialOptions": {}
|
|
},
|
|
"create_user": {
|
|
"name": "create_user",
|
|
"behaviourSource": "main",
|
|
"behaviourName": "createNewUser",
|
|
"initialOptions": {}
|
|
},
|
|
"set_default_version": {
|
|
"name": "set_default_version",
|
|
"behaviourSource": "main",
|
|
"behaviourName": "setDefaultVersion",
|
|
"initialOptions": {}
|
|
}
|
|
},
|
|
"props": {
|
|
"main": {
|
|
"_component": "@budibase/standard-components/stackpanel",
|
|
"direction": "horizontal",
|
|
"children": [
|
|
{
|
|
"_component": "children#array_element#",
|
|
"control": {
|
|
"_component": "@budibase/standard-components/panel",
|
|
"text": "Create New",
|
|
"component": {
|
|
"_component": ""
|
|
},
|
|
"containerClass": "",
|
|
"background": "",
|
|
"border": "1px solid black",
|
|
"borderRadius": "2px",
|
|
"font": "",
|
|
"color": "",
|
|
"padding": "10px",
|
|
"margin": "20px",
|
|
"hoverColor": "",
|
|
"hoverBackground": "gainsboro",
|
|
"height": "100px",
|
|
"width": "100px",
|
|
"onClick": [
|
|
{
|
|
"##eventHandlerType": "Get New Record",
|
|
"parameters": {
|
|
"collectionKey": "/applications",
|
|
"childRecordType": "application",
|
|
"statePath": "currentApplication"
|
|
}
|
|
}
|
|
],
|
|
"display": "inline"
|
|
}
|
|
}
|
|
],
|
|
"width": "auto",
|
|
"height": "auto",
|
|
"containerClass": "",
|
|
"itemContainerClass": "",
|
|
"data": {
|
|
"##bbstate": "allApplications",
|
|
"##bbsource": "store"
|
|
},
|
|
"dataItemComponent": {
|
|
"_component": "@budibase/standard-components/panel",
|
|
"text": "",
|
|
"component": {
|
|
"_component": "@budibase/standard-components/stackpanel",
|
|
"direction": "horizontal",
|
|
"children": [
|
|
{
|
|
"_component": "children#array_element#",
|
|
"control": {
|
|
"_component": "@budibase/standard-components/text",
|
|
"value": "",
|
|
"containerClass": "",
|
|
"font": "",
|
|
"color": "",
|
|
"textAlign": "inline",
|
|
"verticalAlign": "inline",
|
|
"display": "inline"
|
|
}
|
|
}
|
|
],
|
|
"width": "auto",
|
|
"height": "auto",
|
|
"containerClass": "",
|
|
"itemContainerClass": "",
|
|
"data": {
|
|
"##bbstate": ""
|
|
},
|
|
"dataItemComponent": {
|
|
"_component": ""
|
|
},
|
|
"onLoad": []
|
|
},
|
|
"containerClass": "",
|
|
"background": "",
|
|
"border": "1px solid dimgray",
|
|
"borderRadius": "2px",
|
|
"font": "",
|
|
"color": "black",
|
|
"padding": "10px",
|
|
"margin": "20px",
|
|
"hoverColor": "",
|
|
"hoverBackground": "",
|
|
"height": "",
|
|
"width": "",
|
|
"onClick": [
|
|
{
|
|
"##eventHandlerType": "Load Record",
|
|
"parameters": {
|
|
"recordKey": {
|
|
"##bbstate": "key",
|
|
"##bbsource": "context"
|
|
},
|
|
"statePath": "currentApp"
|
|
}
|
|
}
|
|
],
|
|
"display": "inline"
|
|
},
|
|
"onLoad": [
|
|
{
|
|
"##eventHandlerType": "List Records",
|
|
"parameters": {
|
|
"indexKey": "/all_applications",
|
|
"statePath": "allApplications"
|
|
}
|
|
}
|
|
],
|
|
"component": {
|
|
"_component": "@budibase/standard-components/stackpanel",
|
|
"direction": "horizontal",
|
|
"children": [
|
|
{
|
|
"_component": "#children#array_element",
|
|
"control": {
|
|
"_component": "@budibase/standard-components/text",
|
|
"value": "",
|
|
"containerClass": "",
|
|
"font": "",
|
|
"color": "",
|
|
"textAlign": "inline",
|
|
"verticalAlign": "inline",
|
|
"display": "inline"
|
|
}
|
|
}
|
|
],
|
|
"width": "auto",
|
|
"height": "auto",
|
|
"containerClass": "",
|
|
"itemContainerClass": "",
|
|
"data": {
|
|
"##bbstate": "allApplications",
|
|
"##bbsource": "store"
|
|
},
|
|
"dataItemComponent": {
|
|
"_component": "apps/Application List Item",
|
|
"text": {
|
|
"##bbstate": "name",
|
|
"##bbstatefallback": "My App Name",
|
|
"##bbsource": "context"
|
|
},
|
|
"component": {
|
|
"_component": "@budibase/standard-components/stackpanel",
|
|
"direction": "horizontal",
|
|
"children": [
|
|
{
|
|
"_component": "#children#array_element",
|
|
"control": {
|
|
"_component": "@budibase/standard-components/text",
|
|
"value": "",
|
|
"containerClass": "",
|
|
"font": "",
|
|
"color": "",
|
|
"textAlign": "inline",
|
|
"verticalAlign": "inline",
|
|
"display": "inline"
|
|
}
|
|
}
|
|
],
|
|
"width": "auto",
|
|
"height": "auto",
|
|
"containerClass": "",
|
|
"itemContainerClass": "",
|
|
"data": {
|
|
"##bbstate": "allApplications",
|
|
"##bbsource": "store"
|
|
},
|
|
"dataItemComponent": {
|
|
"_component": ""
|
|
},
|
|
"onLoad": []
|
|
},
|
|
"containerClass": "",
|
|
"background": "",
|
|
"border": "1px solid dimgray",
|
|
"borderRadius": "2px",
|
|
"font": "",
|
|
"color": "black",
|
|
"padding": "10px",
|
|
"margin": "20px",
|
|
"hoverColor": "",
|
|
"hoverBackground": "",
|
|
"height": "",
|
|
"width": "",
|
|
"onClick": [
|
|
{
|
|
"##eventHandlerType": "Load Record",
|
|
"parameters": {
|
|
"recordKey": {
|
|
"##bbstate": "key",
|
|
"##bbsource": "context"
|
|
},
|
|
"statePath": "currentApplication"
|
|
}
|
|
}
|
|
],
|
|
"display": ""
|
|
},
|
|
"onLoad": []
|
|
}
|
|
},
|
|
"unauthenticated": {
|
|
"_component": "@budibase/standard-components/login",
|
|
"logo": "_shared/budibase-logo.png",
|
|
"loginRedirect": "",
|
|
"usernameLabel": "Username",
|
|
"passwordLabel": "Password",
|
|
"loginButtonLabel": "Login",
|
|
"buttonClass": "",
|
|
"inputClass": ""
|
|
}
|
|
}
|
|
}
|