@spytecgps/nova-orm 1.4.292 → 1.4.294

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -33,4 +33,7 @@ export declare class Task {
33
33
  assignedTo: string | null;
34
34
  timeSpent: number | null;
35
35
  cost: number | null;
36
+ awaitingParts: boolean | null;
37
+ awaitingPartsEta: Date | null;
38
+ reminderSentAt: Date | null;
36
39
  }
@@ -1 +1 @@
1
- "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),o=require("./deviceStatus.js"),d=require("./taskSchedule.js");exports.Task=class Task{id;taskScheduleId;taskSchedule;deviceStatus;imei;clientId;dueDate;dueOdometer;dueActiveHours;startDate;startingOdometer;startingActiveHours;status;createdAt;pastDueAt;completedAt;completionNotes;completionOdometer;completionActiveHours;completedBy;modifiedAt;modifiedBy;queuedAt;predictedDueDate;deletedAt;deletedBy;completionMetadata;includeTimeInCompletedAt;assignedTo;timeSpent;cost},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.Task.prototype,"id",void 0),e.__decorate([t.Column({type:"int",name:"taskScheduleId"}),e.__metadata("design:type",Number)],exports.Task.prototype,"taskScheduleId",void 0),e.__decorate([t.ManyToOne((()=>d.TaskSchedule),{createForeignKeyConstraints:!1}),e.__metadata("design:type",Object)],exports.Task.prototype,"taskSchedule",void 0),e.__decorate([t.OneToOne((()=>o.DeviceStatus),{createForeignKeyConstraints:!1,nullable:!0}),t.JoinColumn([{name:"imei",referencedColumnName:"imei"}]),e.__metadata("design:type",Object)],exports.Task.prototype,"deviceStatus",void 0),e.__decorate([t.Column("varchar",{name:"imei",length:15}),e.__metadata("design:type",String)],exports.Task.prototype,"imei",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.Task.prototype,"clientId",void 0),e.__decorate([t.Column("datetime",{name:"dueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"dueDate",void 0),e.__decorate([t.Column("double",{name:"dueOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"dueOdometer",void 0),e.__decorate([t.Column("double",{name:"dueActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"dueActiveHours",void 0),e.__decorate([t.Column("datetime",{name:"startDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"startDate",void 0),e.__decorate([t.Column("double",{name:"startingOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"startingOdometer",void 0),e.__decorate([t.Column("double",{name:"startingActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"startingActiveHours",void 0),e.__decorate([t.Column("varchar",{name:"status",length:10,default:()=>"'pending'"}),e.__metadata("design:type",String)],exports.Task.prototype,"status",void 0),e.__decorate([t.Column("datetime",{name:"createdAt"}),e.__metadata("design:type",Date)],exports.Task.prototype,"createdAt",void 0),e.__decorate([t.Column("datetime",{name:"pastDueAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"pastDueAt",void 0),e.__decorate([t.Column("datetime",{name:"completedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"completedAt",void 0),e.__decorate([t.Column("text",{name:"completionNotes",nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"completionNotes",void 0),e.__decorate([t.Column("double",{name:"completionOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"completionOdometer",void 0),e.__decorate([t.Column("double",{name:"completionActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"completionActiveHours",void 0),e.__decorate([t.Column("varchar",{name:"completedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"completedBy",void 0),e.__decorate([t.Column("datetime",{name:"modifiedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"modifiedAt",void 0),e.__decorate([t.Column("varchar",{name:"modifiedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"modifiedBy",void 0),e.__decorate([t.Column("datetime",{name:"queuedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"queuedAt",void 0),e.__decorate([t.Column("datetime",{name:"predictedDueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"predictedDueDate",void 0),e.__decorate([t.Column("datetime",{name:"deletedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"deletedAt",void 0),e.__decorate([t.Column("varchar",{name:"deletedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"deletedBy",void 0),e.__decorate([t.Column("json",{name:"completionMetadata",nullable:!0}),e.__metadata("design:type",Object)],exports.Task.prototype,"completionMetadata",void 0),e.__decorate([t.Column("tinyint",{name:"includeTimeInCompletedAt",width:1,transformer:new a.BoolToNumberTransformer,nullable:!0}),e.__metadata("design:type",Boolean)],exports.Task.prototype,"includeTimeInCompletedAt",void 0),e.__decorate([t.Column("varchar",{name:"assignedTo",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"assignedTo",void 0),e.__decorate([t.Column("double",{name:"timeSpent",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"timeSpent",void 0),e.__decorate([t.Column("double",{name:"cost",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"cost",void 0),exports.Task=e.__decorate([t.Index("ixTask_TaskScheduleId",["taskScheduleId"],{}),t.Index("ixTask_Imei",["imei"],{}),t.Index("ixTask_ClientId",["clientId"],{}),t.Index("ixTask_Status",["status"],{}),t.Entity("task",{schema:"nova"})],exports.Task);
1
+ "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),o=require("./deviceStatus.js"),d=require("./taskSchedule.js");exports.Task=class Task{id;taskScheduleId;taskSchedule;deviceStatus;imei;clientId;dueDate;dueOdometer;dueActiveHours;startDate;startingOdometer;startingActiveHours;status;createdAt;pastDueAt;completedAt;completionNotes;completionOdometer;completionActiveHours;completedBy;modifiedAt;modifiedBy;queuedAt;predictedDueDate;deletedAt;deletedBy;completionMetadata;includeTimeInCompletedAt;assignedTo;timeSpent;cost;awaitingParts;awaitingPartsEta;reminderSentAt},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.Task.prototype,"id",void 0),e.__decorate([t.Column({type:"int",name:"taskScheduleId"}),e.__metadata("design:type",Number)],exports.Task.prototype,"taskScheduleId",void 0),e.__decorate([t.ManyToOne((()=>d.TaskSchedule),{createForeignKeyConstraints:!1}),e.__metadata("design:type",Object)],exports.Task.prototype,"taskSchedule",void 0),e.__decorate([t.OneToOne((()=>o.DeviceStatus),{createForeignKeyConstraints:!1,nullable:!0}),t.JoinColumn([{name:"imei",referencedColumnName:"imei"}]),e.__metadata("design:type",Object)],exports.Task.prototype,"deviceStatus",void 0),e.__decorate([t.Column("varchar",{name:"imei",length:15}),e.__metadata("design:type",String)],exports.Task.prototype,"imei",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.Task.prototype,"clientId",void 0),e.__decorate([t.Column("datetime",{name:"dueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"dueDate",void 0),e.__decorate([t.Column("double",{name:"dueOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"dueOdometer",void 0),e.__decorate([t.Column("double",{name:"dueActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"dueActiveHours",void 0),e.__decorate([t.Column("datetime",{name:"startDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"startDate",void 0),e.__decorate([t.Column("double",{name:"startingOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"startingOdometer",void 0),e.__decorate([t.Column("double",{name:"startingActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"startingActiveHours",void 0),e.__decorate([t.Column("varchar",{name:"status",length:10,default:()=>"'pending'"}),e.__metadata("design:type",String)],exports.Task.prototype,"status",void 0),e.__decorate([t.Column("datetime",{name:"createdAt"}),e.__metadata("design:type",Date)],exports.Task.prototype,"createdAt",void 0),e.__decorate([t.Column("datetime",{name:"pastDueAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"pastDueAt",void 0),e.__decorate([t.Column("datetime",{name:"completedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"completedAt",void 0),e.__decorate([t.Column("text",{name:"completionNotes",nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"completionNotes",void 0),e.__decorate([t.Column("double",{name:"completionOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"completionOdometer",void 0),e.__decorate([t.Column("double",{name:"completionActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"completionActiveHours",void 0),e.__decorate([t.Column("varchar",{name:"completedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"completedBy",void 0),e.__decorate([t.Column("datetime",{name:"modifiedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"modifiedAt",void 0),e.__decorate([t.Column("varchar",{name:"modifiedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"modifiedBy",void 0),e.__decorate([t.Column("datetime",{name:"queuedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"queuedAt",void 0),e.__decorate([t.Column("datetime",{name:"predictedDueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"predictedDueDate",void 0),e.__decorate([t.Column("datetime",{name:"deletedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"deletedAt",void 0),e.__decorate([t.Column("varchar",{name:"deletedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"deletedBy",void 0),e.__decorate([t.Column("json",{name:"completionMetadata",nullable:!0}),e.__metadata("design:type",Object)],exports.Task.prototype,"completionMetadata",void 0),e.__decorate([t.Column("tinyint",{name:"includeTimeInCompletedAt",width:1,transformer:new a.BoolToNumberTransformer,nullable:!0}),e.__metadata("design:type",Boolean)],exports.Task.prototype,"includeTimeInCompletedAt",void 0),e.__decorate([t.Column("varchar",{name:"assignedTo",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.Task.prototype,"assignedTo",void 0),e.__decorate([t.Column("double",{name:"timeSpent",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"timeSpent",void 0),e.__decorate([t.Column("double",{name:"cost",nullable:!0}),e.__metadata("design:type",Number)],exports.Task.prototype,"cost",void 0),e.__decorate([t.Column("tinyint",{name:"awaitingParts",width:1,default:()=>"'0'",transformer:new a.BoolToNumberTransformer,nullable:!0}),e.__metadata("design:type",Boolean)],exports.Task.prototype,"awaitingParts",void 0),e.__decorate([t.Column("datetime",{name:"awaitingPartsEta",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"awaitingPartsEta",void 0),e.__decorate([t.Column("datetime",{name:"reminderSentAt",nullable:!0}),e.__metadata("design:type",Date)],exports.Task.prototype,"reminderSentAt",void 0),exports.Task=e.__decorate([t.Index("ixTask_TaskScheduleId",["taskScheduleId"],{}),t.Index("ixTask_Imei",["imei"],{}),t.Index("ixTask_ClientId",["clientId"],{}),t.Index("ixTask_Status",["status"],{}),t.Entity("task",{schema:"nova"})],exports.Task);
@@ -24,6 +24,9 @@ export declare class TaskSchedule {
24
24
  deletedAt: Date | null;
25
25
  status: string;
26
26
  assignedTo: string | null;
27
+ endsOn: Date | null;
28
+ endsAfterOccurrences: number | null;
29
+ reminderDaysBefore: number | null;
27
30
  deviceTasks: Relation<DeviceTask>[];
28
31
  totalDevicesCount?: number | null;
29
32
  }
@@ -1 +1 @@
1
- "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),d=require("./deviceTask.js");exports.TaskSchedule=class TaskSchedule{id;clientId;title;description;repeats;dueDate;dueOdometer;dueActiveHours;intervalDays;intervalStartDate;intervalOdometer;intervalStartingOdometer;intervalActiveHours;intervalStartingActiveHours;notes;createdBy;createdAt;modifiedBy;modifiedAt;deletedBy;deletedAt;status;assignedTo;deviceTasks;totalDevicesCount},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"id",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"clientId",void 0),e.__decorate([t.Column("varchar",{name:"title",length:50}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"title",void 0),e.__decorate([t.Column("varchar",{name:"description",length:255}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"description",void 0),e.__decorate([t.Column("tinyint",{name:"repeats",width:1,default:()=>"'0'",transformer:new a.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.TaskSchedule.prototype,"repeats",void 0),e.__decorate([t.Column("datetime",{name:"dueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"dueDate",void 0),e.__decorate([t.Column("double",{name:"dueOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"dueOdometer",void 0),e.__decorate([t.Column("double",{name:"dueActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"dueActiveHours",void 0),e.__decorate([t.Column("double",{name:"intervalDays",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalDays",void 0),e.__decorate([t.Column("datetime",{name:"intervalStartDate",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"intervalStartDate",void 0),e.__decorate([t.Column("double",{name:"intervalOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalOdometer",void 0),e.__decorate([t.Column("double",{name:"intervalStartingOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalStartingOdometer",void 0),e.__decorate([t.Column("double",{name:"intervalActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalActiveHours",void 0),e.__decorate([t.Column("double",{name:"intervalStartingActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalStartingActiveHours",void 0),e.__decorate([t.Column("text",{name:"notes",nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"notes",void 0),e.__decorate([t.Column("varchar",{name:"createdBy",length:50}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"createdBy",void 0),e.__decorate([t.Column("datetime",{name:"createdAt"}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"createdAt",void 0),e.__decorate([t.Column("varchar",{name:"modifiedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"modifiedBy",void 0),e.__decorate([t.Column("datetime",{name:"modifiedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"modifiedAt",void 0),e.__decorate([t.Column("varchar",{name:"deletedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"deletedBy",void 0),e.__decorate([t.Column("datetime",{name:"deletedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"deletedAt",void 0),e.__decorate([t.Column("varchar",{name:"status",length:10,default:()=>"'active'"}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"status",void 0),e.__decorate([t.Column("varchar",{name:"assignedTo",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"assignedTo",void 0),e.__decorate([t.OneToMany((()=>d.DeviceTask),(e=>e.taskSchedule)),e.__metadata("design:type",Array)],exports.TaskSchedule.prototype,"deviceTasks",void 0),exports.TaskSchedule=e.__decorate([t.Index("ixTaskScheduleClientId",["clientId"],{}),t.Index("ixTaskScheduleStatus",["status"],{}),t.Entity("taskSchedule",{schema:"nova"})],exports.TaskSchedule);
1
+ "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),d=require("./deviceTask.js");exports.TaskSchedule=class TaskSchedule{id;clientId;title;description;repeats;dueDate;dueOdometer;dueActiveHours;intervalDays;intervalStartDate;intervalOdometer;intervalStartingOdometer;intervalActiveHours;intervalStartingActiveHours;notes;createdBy;createdAt;modifiedBy;modifiedAt;deletedBy;deletedAt;status;assignedTo;endsOn;endsAfterOccurrences;reminderDaysBefore;deviceTasks;totalDevicesCount},e.__decorate([t.PrimaryGeneratedColumn({type:"int",name:"id"}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"id",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"clientId",void 0),e.__decorate([t.Column("varchar",{name:"title",length:50}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"title",void 0),e.__decorate([t.Column("varchar",{name:"description",length:255}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"description",void 0),e.__decorate([t.Column("tinyint",{name:"repeats",width:1,default:()=>"'0'",transformer:new a.BoolToNumberTransformer}),e.__metadata("design:type",Boolean)],exports.TaskSchedule.prototype,"repeats",void 0),e.__decorate([t.Column("datetime",{name:"dueDate",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"dueDate",void 0),e.__decorate([t.Column("double",{name:"dueOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"dueOdometer",void 0),e.__decorate([t.Column("double",{name:"dueActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"dueActiveHours",void 0),e.__decorate([t.Column("double",{name:"intervalDays",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalDays",void 0),e.__decorate([t.Column("datetime",{name:"intervalStartDate",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"intervalStartDate",void 0),e.__decorate([t.Column("double",{name:"intervalOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalOdometer",void 0),e.__decorate([t.Column("double",{name:"intervalStartingOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalStartingOdometer",void 0),e.__decorate([t.Column("double",{name:"intervalActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalActiveHours",void 0),e.__decorate([t.Column("double",{name:"intervalStartingActiveHours",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"intervalStartingActiveHours",void 0),e.__decorate([t.Column("text",{name:"notes",nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"notes",void 0),e.__decorate([t.Column("varchar",{name:"createdBy",length:50}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"createdBy",void 0),e.__decorate([t.Column("datetime",{name:"createdAt"}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"createdAt",void 0),e.__decorate([t.Column("varchar",{name:"modifiedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"modifiedBy",void 0),e.__decorate([t.Column("datetime",{name:"modifiedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"modifiedAt",void 0),e.__decorate([t.Column("varchar",{name:"deletedBy",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"deletedBy",void 0),e.__decorate([t.Column("datetime",{name:"deletedAt",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"deletedAt",void 0),e.__decorate([t.Column("varchar",{name:"status",length:10,default:()=>"'active'"}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"status",void 0),e.__decorate([t.Column("varchar",{name:"assignedTo",length:50,nullable:!0}),e.__metadata("design:type",String)],exports.TaskSchedule.prototype,"assignedTo",void 0),e.__decorate([t.Column("datetime",{name:"endsOn",nullable:!0}),e.__metadata("design:type",Date)],exports.TaskSchedule.prototype,"endsOn",void 0),e.__decorate([t.Column("int",{name:"endsAfterOccurrences",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"endsAfterOccurrences",void 0),e.__decorate([t.Column("int",{name:"reminderDaysBefore",nullable:!0}),e.__metadata("design:type",Number)],exports.TaskSchedule.prototype,"reminderDaysBefore",void 0),e.__decorate([t.OneToMany((()=>d.DeviceTask),(e=>e.taskSchedule)),e.__metadata("design:type",Array)],exports.TaskSchedule.prototype,"deviceTasks",void 0),exports.TaskSchedule=e.__decorate([t.Index("ixTaskScheduleClientId",["clientId"],{}),t.Index("ixTaskScheduleStatus",["status"],{}),t.Entity("taskSchedule",{schema:"nova"})],exports.TaskSchedule);
@@ -27,4 +27,14 @@ export declare class Trip {
27
27
  endOdometer: number | null;
28
28
  startPositionId: number | null;
29
29
  endPositionId: number | null;
30
+ /**
31
+ * Why this activity was created by the trip generator rather than by the device's own
32
+ * data — 'stop-tail-silence' or 'abandoned-mid-motion' (see trips/docs/force-stop.md).
33
+ * NULL for every ordinary activity, which is all of them today.
34
+ *
35
+ * Without it a force-created stop is indistinguishable from a real one after the fact:
36
+ * the reason is published to SNS but nothing persists it, so "which stops did we
37
+ * force?" can only be answered from logs, and a stop can never be reclassified.
38
+ */
39
+ forceReason: string | null;
30
40
  }
@@ -1 +1 @@
1
- "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),r=require("../utils/uuidTransformer.js");exports.Trip=class Trip{id;tripGuid;imei;startDate;endDate;distance;startLat;startLon;endLat;endLon;createdAt;startAddress;endAddress;positionStart;positionEnd;tripCompletionStatusId;clientId;duration;tripType;startMessageId;endMessageId;startSendTimeMessage;endSendTimeMessage;deleted;startOdometer;endOdometer;startPositionId;endPositionId},e.__decorate([t.PrimaryGeneratedColumn({type:"bigint",name:"id"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"id",void 0),e.__decorate([t.Column("binary",{name:"tripGuid",length:16,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"tripGuid",void 0),e.__decorate([t.Column("varchar",{name:"imei",length:15}),e.__metadata("design:type",String)],exports.Trip.prototype,"imei",void 0),e.__decorate([t.Column("datetime",{name:"startDate",precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"startDate",void 0),e.__decorate([t.Column("datetime",{name:"endDate",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"endDate",void 0),e.__decorate([t.Column("float",{name:"distance"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"distance",void 0),e.__decorate([t.Column("decimal",{name:"startLat",precision:8,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startLat",void 0),e.__decorate([t.Column("decimal",{name:"startLon",precision:9,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startLon",void 0),e.__decorate([t.Column("decimal",{name:"endLat",nullable:!0,precision:8,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endLat",void 0),e.__decorate([t.Column("decimal",{name:"endLon",nullable:!0,precision:9,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endLon",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"createdAt",void 0),e.__decorate([t.Column("varchar",{name:"startAddress",length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"startAddress",void 0),e.__decorate([t.Column("varchar",{name:"endAddress",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"endAddress",void 0),e.__decorate([t.Column("varchar",{name:"positionStart",length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"positionStart",void 0),e.__decorate([t.Column("varchar",{name:"positionEnd",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"positionEnd",void 0),e.__decorate([t.Column("tinyint",{name:"tripCompletionStatusId",default:()=>"'1'"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"tripCompletionStatusId",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"clientId",void 0),e.__decorate([t.Column("int",{name:"duration"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"duration",void 0),e.__decorate([t.Column("tinyint",{name:"tripType"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"tripType",void 0),e.__decorate([t.Column("binary",{name:"startMessageId",length:16,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"startMessageId",void 0),e.__decorate([t.Column("binary",{name:"endMessageId",length:16,nullable:!0,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"endMessageId",void 0),e.__decorate([t.Column("datetime",{name:"startSendTimeMessage",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"startSendTimeMessage",void 0),e.__decorate([t.Column("datetime",{name:"endSendTimeMessage",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"endSendTimeMessage",void 0),e.__decorate([t.Column("tinyint",{name:"deleted",nullable:!0,width:1,transformer:new a.BoolToNumberTransformer,default:()=>"'0'"}),e.__metadata("design:type",Boolean)],exports.Trip.prototype,"deleted",void 0),e.__decorate([t.Column("double",{name:"startOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startOdometer",void 0),e.__decorate([t.Column("double",{name:"endOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endOdometer",void 0),e.__decorate([t.Column("bigint",{name:"startPositionId",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startPositionId",void 0),e.__decorate([t.Column("bigint",{name:"endPositionId",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endPositionId",void 0),exports.Trip=e.__decorate([t.Index("ixuTripGuid",["tripGuid"],{unique:!0}),t.Index("ixTripImei",["imei"],{}),t.Index("ixTripStartDate",["startDate"],{}),t.Index("ixTripEndDate",["endDate"],{}),t.Index("ixCreatedAt",["createdAt"],{}),t.Index("ixTripClientIdImeiStartDate",["clientId","imei","startDate"],{}),t.Entity("trip",{schema:"nova",comment:"Trigger table rebuild 2026-06-24"})],exports.Trip);
1
+ "use strict";var e=require("../node_modules/tslib/tslib.es6.js"),t=require("typeorm"),a=require("../utils/boolToNumberTransformer.js"),r=require("../utils/uuidTransformer.js");exports.Trip=class Trip{id;tripGuid;imei;startDate;endDate;distance;startLat;startLon;endLat;endLon;createdAt;startAddress;endAddress;positionStart;positionEnd;tripCompletionStatusId;clientId;duration;tripType;startMessageId;endMessageId;startSendTimeMessage;endSendTimeMessage;deleted;startOdometer;endOdometer;startPositionId;endPositionId;forceReason},e.__decorate([t.PrimaryGeneratedColumn({type:"bigint",name:"id"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"id",void 0),e.__decorate([t.Column("binary",{name:"tripGuid",length:16,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"tripGuid",void 0),e.__decorate([t.Column("varchar",{name:"imei",length:15}),e.__metadata("design:type",String)],exports.Trip.prototype,"imei",void 0),e.__decorate([t.Column("datetime",{name:"startDate",precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"startDate",void 0),e.__decorate([t.Column("datetime",{name:"endDate",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"endDate",void 0),e.__decorate([t.Column("float",{name:"distance"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"distance",void 0),e.__decorate([t.Column("decimal",{name:"startLat",precision:8,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startLat",void 0),e.__decorate([t.Column("decimal",{name:"startLon",precision:9,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startLon",void 0),e.__decorate([t.Column("decimal",{name:"endLat",nullable:!0,precision:8,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endLat",void 0),e.__decorate([t.Column("decimal",{name:"endLon",nullable:!0,precision:9,scale:6}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endLon",void 0),e.__decorate([t.Column("datetime",{name:"createdAt",precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"createdAt",void 0),e.__decorate([t.Column("varchar",{name:"startAddress",length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"startAddress",void 0),e.__decorate([t.Column("varchar",{name:"endAddress",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"endAddress",void 0),e.__decorate([t.Column("varchar",{name:"positionStart",length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"positionStart",void 0),e.__decorate([t.Column("varchar",{name:"positionEnd",nullable:!0,length:255}),e.__metadata("design:type",String)],exports.Trip.prototype,"positionEnd",void 0),e.__decorate([t.Column("tinyint",{name:"tripCompletionStatusId",default:()=>"'1'"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"tripCompletionStatusId",void 0),e.__decorate([t.Column("int",{name:"clientId"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"clientId",void 0),e.__decorate([t.Column("int",{name:"duration"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"duration",void 0),e.__decorate([t.Column("tinyint",{name:"tripType"}),e.__metadata("design:type",Number)],exports.Trip.prototype,"tripType",void 0),e.__decorate([t.Column("binary",{name:"startMessageId",length:16,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"startMessageId",void 0),e.__decorate([t.Column("binary",{name:"endMessageId",length:16,nullable:!0,transformer:r.UUIDTransformer}),e.__metadata("design:type",String)],exports.Trip.prototype,"endMessageId",void 0),e.__decorate([t.Column("datetime",{name:"startSendTimeMessage",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"startSendTimeMessage",void 0),e.__decorate([t.Column("datetime",{name:"endSendTimeMessage",nullable:!0,precision:3}),e.__metadata("design:type",Date)],exports.Trip.prototype,"endSendTimeMessage",void 0),e.__decorate([t.Column("tinyint",{name:"deleted",nullable:!0,width:1,transformer:new a.BoolToNumberTransformer,default:()=>"'0'"}),e.__metadata("design:type",Boolean)],exports.Trip.prototype,"deleted",void 0),e.__decorate([t.Column("double",{name:"startOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startOdometer",void 0),e.__decorate([t.Column("double",{name:"endOdometer",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endOdometer",void 0),e.__decorate([t.Column("bigint",{name:"startPositionId",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"startPositionId",void 0),e.__decorate([t.Column("bigint",{name:"endPositionId",nullable:!0}),e.__metadata("design:type",Number)],exports.Trip.prototype,"endPositionId",void 0),e.__decorate([t.Column("varchar",{name:"forceReason",nullable:!0,length:32}),e.__metadata("design:type",String)],exports.Trip.prototype,"forceReason",void 0),exports.Trip=e.__decorate([t.Index("ixuTripGuid",["tripGuid"],{unique:!0}),t.Index("ixTripImei",["imei"],{}),t.Index("ixTripStartDate",["startDate"],{}),t.Index("ixTripEndDate",["endDate"],{}),t.Index("ixCreatedAt",["createdAt"],{}),t.Index("ixTripClientIdImeiStartDate",["clientId","imei","startDate"],{}),t.Entity("trip",{schema:"nova",comment:"Trigger table rebuild 2026-06-24"})],exports.Trip);
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var _1684483704434AddLowerCaseIndex = require('../1684483704434-addLowerCaseIndex.js');
4
+ var _1684483705002UpdateSecurityUserViewsV2 = require('../1684483705002-updateSecurityUserViewsV2.js');
4
5
  var _1684483705001UpdateSecurityUserViewsV1 = require('../1684483705001-updateSecurityUserViewsV1.js');
5
6
  var _1746434400000AddQuickSearchFulltextIndexes = require('../1746434400000-addQuickSearchFulltextIndexes.js');
6
- var _1684483705002UpdateSecurityUserViewsV2 = require('../1684483705002-updateSecurityUserViewsV2.js');
7
7
 
8
8
 
9
9
 
10
10
  exports.addLowerCaseIndex1684483704434 = _1684483704434AddLowerCaseIndex.addLowerCaseIndex1684483704434;
11
+ exports.updateSecurityUserViewsV21684483705002 = _1684483705002UpdateSecurityUserViewsV2.updateSecurityUserViewsV21684483705002;
11
12
  exports.updateSecurityUserViewsV11684483705001 = _1684483705001UpdateSecurityUserViewsV1.updateSecurityUserViewsV11684483705001;
12
13
  exports.addQuickSearchFulltextIndexes1746434400000 = _1746434400000AddQuickSearchFulltextIndexes.addQuickSearchFulltextIndexes1746434400000;
13
- exports.updateSecurityUserViewsV21684483705002 = _1684483705002UpdateSecurityUserViewsV2.updateSecurityUserViewsV21684483705002;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.4.292",
3
+ "version": "1.4.294",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/schema.sql CHANGED
@@ -1,6 +1,6 @@
1
- -- nova-orm-schema-checksum: 3b5434c76f1b3d5e5ba2530f1739642d
1
+ -- nova-orm-schema-checksum: 7ba315ab3f11fee19cf85f43a312e0f7
2
2
  -- Nova ORM Schema Dump
3
- -- Generated at: 2026-08-19T08:37:12.952Z
3
+ -- Generated at: 2026-08-21T06:50:43.792Z
4
4
 
5
5
  SET FOREIGN_KEY_CHECKS = 0;
6
6
 
@@ -3709,6 +3709,9 @@ CREATE TABLE `task` (
3709
3709
  `assignedTo` varchar(50) DEFAULT NULL,
3710
3710
  `timeSpent` double DEFAULT NULL,
3711
3711
  `cost` double DEFAULT NULL,
3712
+ `awaitingParts` tinyint(1) DEFAULT '0',
3713
+ `awaitingPartsEta` datetime DEFAULT NULL,
3714
+ `reminderSentAt` datetime DEFAULT NULL,
3712
3715
  PRIMARY KEY (`id`),
3713
3716
  KEY `ixTask_Status` (`status`),
3714
3717
  KEY `ixTask_ClientId` (`clientId`),
@@ -3741,6 +3744,9 @@ CREATE TABLE `taskSchedule` (
3741
3744
  `deletedAt` datetime DEFAULT NULL,
3742
3745
  `status` varchar(10) NOT NULL DEFAULT 'active',
3743
3746
  `assignedTo` varchar(50) DEFAULT NULL,
3747
+ `endsOn` datetime DEFAULT NULL,
3748
+ `endsAfterOccurrences` int DEFAULT NULL,
3749
+ `reminderDaysBefore` int DEFAULT NULL,
3744
3750
  PRIMARY KEY (`id`),
3745
3751
  KEY `ixTaskScheduleStatus` (`status`),
3746
3752
  KEY `ixTaskScheduleClientId` (`clientId`)
@@ -3790,6 +3796,7 @@ CREATE TABLE `trip` (
3790
3796
  `endOdometer` double DEFAULT NULL,
3791
3797
  `startPositionId` bigint DEFAULT NULL,
3792
3798
  `endPositionId` bigint DEFAULT NULL,
3799
+ `forceReason` varchar(32) DEFAULT NULL,
3793
3800
  PRIMARY KEY (`id`),
3794
3801
  UNIQUE KEY `ixuTripGuid` (`tripGuid`),
3795
3802
  KEY `ixTripClientIdImeiStartDate` (`clientId`,`imei`,`startDate`),