@spytecgps/nova-orm 1.4.293 → 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.
@@ -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 _1746434400000AddQuickSearchFulltextIndexes = require('../1746434400000-addQuickSearchFulltextIndexes.js');
5
4
  var _1684483705002UpdateSecurityUserViewsV2 = require('../1684483705002-updateSecurityUserViewsV2.js');
6
5
  var _1684483705001UpdateSecurityUserViewsV1 = require('../1684483705001-updateSecurityUserViewsV1.js');
6
+ var _1746434400000AddQuickSearchFulltextIndexes = require('../1746434400000-addQuickSearchFulltextIndexes.js');
7
7
 
8
8
 
9
9
 
10
10
  exports.addLowerCaseIndex1684483704434 = _1684483704434AddLowerCaseIndex.addLowerCaseIndex1684483704434;
11
- exports.addQuickSearchFulltextIndexes1746434400000 = _1746434400000AddQuickSearchFulltextIndexes.addQuickSearchFulltextIndexes1746434400000;
12
11
  exports.updateSecurityUserViewsV21684483705002 = _1684483705002UpdateSecurityUserViewsV2.updateSecurityUserViewsV21684483705002;
13
12
  exports.updateSecurityUserViewsV11684483705001 = _1684483705001UpdateSecurityUserViewsV1.updateSecurityUserViewsV11684483705001;
13
+ exports.addQuickSearchFulltextIndexes1746434400000 = _1746434400000AddQuickSearchFulltextIndexes.addQuickSearchFulltextIndexes1746434400000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.4.293",
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: e09f562c56fdd736169fabe54b256bcf
1
+ -- nova-orm-schema-checksum: 7ba315ab3f11fee19cf85f43a312e0f7
2
2
  -- Nova ORM Schema Dump
3
- -- Generated at: 2026-08-20T06:43:32.616Z
3
+ -- Generated at: 2026-08-21T06:50:43.792Z
4
4
 
5
5
  SET FOREIGN_KEY_CHECKS = 0;
6
6
 
@@ -3796,6 +3796,7 @@ CREATE TABLE `trip` (
3796
3796
  `endOdometer` double DEFAULT NULL,
3797
3797
  `startPositionId` bigint DEFAULT NULL,
3798
3798
  `endPositionId` bigint DEFAULT NULL,
3799
+ `forceReason` varchar(32) DEFAULT NULL,
3799
3800
  PRIMARY KEY (`id`),
3800
3801
  UNIQUE KEY `ixuTripGuid` (`tripGuid`),
3801
3802
  KEY `ixTripClientIdImeiStartDate` (`clientId`,`imei`,`startDate`),