@tradle/models
Version:
models for tradle apps
92 lines • 1.68 kB
JSON
{
"id": "tradle.MyEmployeeOnboarding",
"title": "Employee",
"subClassOf": "tradle.MyProduct",
"type": "tradle.Model",
"properties": {
"entityRole": {
"type": "string",
"readOnly": true
},
"myProductId": {
"title": "ID",
"immutable": true,
"type": "string"
},
"firstName": {
"type": "string",
"immutable": true
},
"lastName": {
"type": "string",
"immutable": true
},
"name": {
"type": "string",
"displayAs": "{2} {1}",
"group": [
"lastName",
"firstName"
],
"readOnly": true,
"displayName": true
},
"owner": {
"type": "object",
"ref": "tradle.Identity",
"immutable": true
},
"revoked": {
"type": "boolean"
},
"counterparty": {
"type": "object",
"immutable": true,
"ref": "tradle.Counterparty"
},
"employeeOrganization": {
"type": "object",
"ref": "tradle.Organization"
},
"role": {
"type": "object",
"ref": "tradle.EmployeeRoles"
},
"employeeRoles": {
"type": "array",
"items": {
"ref": "tradle.EmployeeRole"
}
}
},
"required": [
"myProductId"
],
"viewCols": [
"name",
"employeeOrganization",
"employeeRoles",
"myProductId"
],
"indexes": [
{
"hashKey": "myProductId",
"rangeKey": "_time"
},
{
"hashKey": "owner._permalink",
"rangeKey": "_time"
},
{
"hashKey": "_t",
"rangeKey": "_time"
},
{
"hashKey": "_orgOrAuthor",
"rangeKey": [
"_t",
"_time"
]
}
]
}