27 lines
1.7 KiB
JSON
27 lines
1.7 KiB
JSON
|
|
{
|
||
|
|
"name": "repairs",
|
||
|
|
"type": "base",
|
||
|
|
"system": false,
|
||
|
|
"listRule": "@request.auth.id != ''",
|
||
|
|
"viewRule": "@request.auth.id != ''",
|
||
|
|
"createRule": "@request.auth.id != ''",
|
||
|
|
"updateRule": "@request.auth.id != ''",
|
||
|
|
"deleteRule": "@request.auth.id != ''",
|
||
|
|
"fields": [
|
||
|
|
{ "name": "repair_number", "type": "text", "required": true, "options": { "min": 1, "max": 50, "pattern": "" } },
|
||
|
|
{ "name": "customer", "type": "relation", "required": false, "options": { "collectionId": "REPLACE_CUSTOMERS_COLLECTION_ID", "maxSelect": 1, "minSelect": null, "displayFields": [] } },
|
||
|
|
{ "name": "company", "type": "relation", "required": false, "options": { "collectionId": "REPLACE_COMPANIES_COLLECTION_ID", "maxSelect": 1, "minSelect": null, "displayFields": [] } },
|
||
|
|
{ "name": "order", "type": "relation", "required": false, "options": { "collectionId": "REPLACE_ORDERS_COLLECTION_ID", "maxSelect": 1, "minSelect": null, "displayFields": [] } },
|
||
|
|
{ "name": "status", "type": "select", "required": true, "options": { "maxSelect": 1, "values": ["new", "assessing", "quoted", "approved", "in_progress", "completed", "cancelled"] } },
|
||
|
|
{ "name": "item_description", "type": "text", "required": true, "options": { "min": 1, "max": 5000, "pattern": "" } },
|
||
|
|
{ "name": "fault_description", "type": "text", "required": true, "options": { "min": 1, "max": 5000, "pattern": "" } },
|
||
|
|
{ "name": "notes", "type": "text", "required": false, "options": { "min": null, "max": 5000, "pattern": "" } }
|
||
|
|
],
|
||
|
|
"indexes": [
|
||
|
|
"CREATE UNIQUE INDEX idx_repairs_number ON repairs (repair_number)",
|
||
|
|
"CREATE INDEX idx_repairs_status ON repairs (status)",
|
||
|
|
"CREATE INDEX idx_repairs_customer ON repairs (customer)",
|
||
|
|
"CREATE INDEX idx_repairs_order ON repairs (order)"
|
||
|
|
]
|
||
|
|
}
|