initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/// <reference path="../pb_data/types.d.ts" />
|
||||
//
|
||||
// M16 — Create user-scoped vehicles collection.
|
||||
//
|
||||
// Customer vehicles were previously inferred from repairOrders/quotes only.
|
||||
// The Customers page already has add/edit/delete vehicle UI, so this collection
|
||||
// stores explicit vehicle records keyed by customerId and userId.
|
||||
|
||||
migrate(
|
||||
(db) => {
|
||||
let existing = null;
|
||||
try { existing = db.findCollectionByNameOrId('vehicles'); } catch {}
|
||||
if (existing) {
|
||||
console.log('[M16] vehicles already exists — skipping');
|
||||
return;
|
||||
}
|
||||
|
||||
const col = new Collection();
|
||||
col.name = 'vehicles';
|
||||
col.type = 'base';
|
||||
col.system = false;
|
||||
|
||||
col.fields.add(new TextField({ name: 'userId', required: true }));
|
||||
col.fields.add(new TextField({ name: 'customerId', required: true }));
|
||||
col.fields.add(new TextField({ name: 'make', required: true }));
|
||||
col.fields.add(new TextField({ name: 'model', required: true }));
|
||||
col.fields.add(new TextField({ name: 'year', required: false }));
|
||||
col.fields.add(new TextField({ name: 'vin', required: false }));
|
||||
col.fields.add(new TextField({ name: 'licensePlate', required: false }));
|
||||
col.fields.add(new TextField({ name: 'mileage', required: false }));
|
||||
col.fields.add(new TextField({ name: 'color', required: false }));
|
||||
col.fields.add(new TextField({ name: 'engine', required: false }));
|
||||
|
||||
const rule = 'userId = @request.auth.id';
|
||||
col.listRule = rule;
|
||||
col.viewRule = rule;
|
||||
col.createRule = rule;
|
||||
col.updateRule = rule;
|
||||
col.deleteRule = rule;
|
||||
|
||||
db.save(col);
|
||||
console.log('[M16] created vehicles collection');
|
||||
},
|
||||
(db) => {
|
||||
let col = null;
|
||||
try { col = db.findCollectionByNameOrId('vehicles'); } catch {}
|
||||
if (col) {
|
||||
db.deleteCollection(col);
|
||||
console.log('[M16] deleted vehicles collection');
|
||||
}
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user