tabletcommand-backend-models 5.15.1 → 5.16.0

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.
@@ -4,9 +4,11 @@ exports.LocationModule = void 0;
4
4
  const uuid = require("uuid");
5
5
  const helpers_1 = require("../helpers");
6
6
  const mongooseLeanVirtuals = require("mongoose-lean-virtuals");
7
+ const color_1 = require("./schema/color");
7
8
  const geojson_point_1 = require("./schema/geojson-point");
8
9
  async function LocationModule(mongoose) {
9
10
  const { Schema, Types } = mongoose;
11
+ const Color = (0, color_1.default)(mongoose);
10
12
  const GeoJSONPoint = (0, geojson_point_1.default)(mongoose);
11
13
  const modelSchemaDefinition = (0, helpers_1.createSchemaDefinition)({
12
14
  _id: {
@@ -82,18 +84,6 @@ async function LocationModule(mongoose) {
82
84
  type: Number,
83
85
  default: 0,
84
86
  },
85
- location: {
86
- longitude: {
87
- type: Number,
88
- required: true,
89
- default: 0,
90
- },
91
- latitude: {
92
- type: Number,
93
- required: true,
94
- default: 0,
95
- },
96
- },
97
87
  // Shared AVL
98
88
  locationGeoJSON: {
99
89
  type: GeoJSONPoint,
@@ -121,6 +111,11 @@ async function LocationModule(mongoose) {
121
111
  type: Boolean,
122
112
  default: false,
123
113
  },
114
+ // Status color:
115
+ color: {
116
+ type: Color,
117
+ default: null,
118
+ },
124
119
  });
125
120
  const modelSchema = (0, helpers_1.createSchema)(Schema, modelSchemaDefinition, {
126
121
  collection: "massive_location",
@@ -132,6 +127,17 @@ async function LocationModule(mongoose) {
132
127
  modelSchema.virtual("id").get(function () {
133
128
  return this._id.toHexString();
134
129
  });
130
+ modelSchema.virtual("location").get(function () {
131
+ const location = {
132
+ latitude: 0,
133
+ longitude: 0
134
+ };
135
+ if (this && this.locationGeoJSON && this.locationGeoJSON.coordinates && this.locationGeoJSON.coordinates.length === 2) {
136
+ location.longitude = this.locationGeoJSON.coordinates[0];
137
+ location.latitude = this.locationGeoJSON.coordinates[1];
138
+ }
139
+ return location;
140
+ });
135
141
  // Create GeoJSON index
136
142
  modelSchema.index({
137
143
  locationGeoJSON: "2dsphere",
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/models/location.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,wCAWoB;AACpB,+DAA+D;AAC/D,0DAAwD;AAEjD,KAAK,UAAU,cAAc,CAAC,QAAwB;IAC3D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IACnC,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,qBAAqB,GAAG,IAAA,gCAAsB,EAAC;QACnD,GAAG,EAAE;YACH,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,IAAI,EAAE,IAAI;SACX;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;SACZ;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACf;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,EAAE;SACjB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,IAAI;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iCAAuB;SACjC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,qBAAW;SACrB;QACD,uBAAuB;QACvB,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,qBAAW;SACrB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,YAAY;QACZ,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QACD,aAAa;QACb,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QACD,yCAAyC;QACzC,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QAED,2EAA2E;QAC3E,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QAED,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACX;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,CAAC;aACX;SACF;QACD,aAAa;QACb,eAAe,EAAE;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;SACd;QACD,iCAAiC;QACjC,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,qCAAqC;QACrC,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE,qBAAqB,EAAE;QAC9D,UAAU,EAAE,kBAAkB;KAC/B,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;QACxB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,uBAAuB;IACvB,WAAW,CAAC,KAAK,CAAC;QAChB,eAAe,EAAE,UAAU;QAC3B,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,CAAC;QACf,kBAAkB,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,WAAW,CAAC,KAAK,CAAC;QAChB,eAAe,EAAE,UAAU;QAC3B,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC;KACZ,CAAC,CAAC;IACH,WAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACpC,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC;AAtJD,wCAsJC;AAID,kBAAe,cAA8E,CAAC"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/models/location.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-device.js","sourceRoot":"","sources":["../../src/models/user-device.ts"],"names":[],"mappings":";;;AAAA,wCASoB;AAEb,KAAK,UAAU,gBAAgB,CAAC,QAAwB;IAC7D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAEnC,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACvC,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;KACF,EAAE;QACD,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QAC3C,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;KACF,EAAE;QACD,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACxC,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,GAAG,EAAE;YACH,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,EAAE,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iCAAuB;SACjC;QACD,CAAC,EAAE;YACD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,qBAAW;SACrB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,aAAa,EAAE;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,qBAAqB,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QACD,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;QACD,2EAA2E;QAC3E,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;SACd;QACD,iEAAiE;QACjE,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;KACF,EAAE;QACD,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QAC3C,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;SACb;QACD,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;SACb;QACD,EAAE,EAAE;YACF,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACZ;KACF,EAAE;QACD,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACvC,GAAG,EAAE;YACH,IAAI,EAAE,eAAe;SACtB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,eAAe;SACtB;KACF,EAAE;QACD,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,MAAM,EAAE;QACvC,GAAG,EAAE;YACH,IAAI,EAAE,KAAK,CAAC,QAAQ;YACpB,IAAI,EAAE,IAAI;SACX;QACD,MAAM,EAAE;YACN,IAAI,EAAE,MAAM;SACb;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM;SACb;QACD,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,OAAO,EAAE,EAAE;SACZ;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC;SACX;QACD,wBAAwB,EAAE;YACxB,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,EAAE;SACZ;QACD,4BAA4B,EAAE;YAC5B,IAAI,EAAE,CAAC,eAAe,CAAC;YACvB,OAAO,EAAE,EAAE;SACZ;QACD,kBAAkB,EAAE;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE;SACZ;QACD,mEAAmE;QACnE,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK;SACf;QAED,oBAAoB,EAAE;YACpB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;SACf;KACF,EAAE;QACD,UAAU,EAAE,qBAAqB;KAClC,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEpC,OAAO,IAAA,qBAAW,EAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAzKD,4CAyKC;AAID,kBAAe,gBAAoF,CAAC"}
1
+ {"version":3,"file":"user-device.js","sourceRoot":"","sources":["../../src/models/user-device.ts"],"names":[],"mappings":"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"}
@@ -179,6 +179,11 @@ async function UserModule(mongoose) {
179
179
  type: EsriError,
180
180
  default: null,
181
181
  },
182
+ // Off Duty Allowed for this user
183
+ offDutyEnabled: {
184
+ type: Boolean,
185
+ default: false,
186
+ },
182
187
  }, {
183
188
  collection: "sys_user",
184
189
  });
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,6 @@ export declare function LocationModule(mongoose: MongooseModule): Promise<import
17
17
  heading: number;
18
18
  speed: number;
19
19
  esriId: number;
20
- location: {
21
- longitude: number;
22
- latitude: number;
23
- };
24
20
  locationGeoJSON: import("../helpers").MongooseInterface<{
25
21
  type: {
26
22
  type: StringConstructor;
@@ -39,6 +35,16 @@ export declare function LocationModule(mongoose: MongooseModule): Promise<import
39
35
  shared: boolean;
40
36
  state: string;
41
37
  sendToCAD: boolean;
38
+ color: import("../helpers").MongooseInterface<{
39
+ background: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ text: {
44
+ type: StringConstructor;
45
+ default: string;
46
+ };
47
+ }>;
42
48
  }, {}> & {
43
49
  __methods?: unknown;
44
50
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/models/location.ts"],"names":[],"mappings":";AACA,OAAO,EAKL,8BAA8B,EAC9B,+BAA+B,EAE/B,cAAc,EACd,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,cAAc,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsJ5D;AAED,MAAM,WAAW,QAAS,SAAQ,8BAA8B,CAAC,OAAO,cAAc,CAAC;CAAI;AAC3F,MAAM,WAAW,aAAc,SAAQ,+BAA+B,CAAC,QAAQ,CAAC;CAAI;;AACpF,wBAA8F"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/models/location.ts"],"names":[],"mappings":";AACA,OAAO,EAKL,8BAA8B,EAC9B,+BAA+B,EAE/B,cAAc,EACd,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAKpB,wBAAsB,cAAc,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6J5D;AAED,MAAM,WAAW,QAAS,SAAQ,8BAA8B,CAAC,OAAO,cAAc,CAAC;CAAI;AAC3F,MAAM,WAAW,aAAc,SAAQ,+BAA+B,CAAC,QAAQ,CAAC;CAAI;;AACpF,wBAA8F"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-device.d.ts","sourceRoot":"","sources":["../../src/models/user-device.ts"],"names":[],"mappings":";AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyK9D;AAED,MAAM,WAAW,UAAW,SAAQ,8BAA8B,CAAC,OAAO,gBAAgB,CAAC;CAAI;AAC/F,MAAM,WAAW,eAAgB,SAAQ,+BAA+B,CAAC,UAAU,CAAC;CAAI;;AACxF,wBAAoG"}
1
+ {"version":3,"file":"user-device.d.ts","sourceRoot":"","sources":["../../src/models/user-device.ts"],"names":[],"mappings":";AAAA,OAAO,EAGL,WAAW,EACX,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwK9D;AAED,MAAM,WAAW,UAAW,SAAQ,8BAA8B,CAAC,OAAO,gBAAgB,CAAC;CAAI;AAC/F,MAAM,WAAW,eAAgB,SAAQ,+BAA+B,CAAC,UAAU,CAAC;CAAI;;AACxF,wBAAoG"}
@@ -93,6 +93,7 @@ export declare function UserModule(mongoose: MongooseModule): Promise<import("mo
93
93
  default: string;
94
94
  };
95
95
  }>;
96
+ offDutyEnabled: boolean;
96
97
  }, {}> & {
97
98
  __methods?: unknown;
98
99
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":";AACA,OAAO,EAKL,cAAc,EAEd,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuMxD;AAED,MAAM,WAAW,IAAK,SAAQ,8BAA8B,CAAC,OAAO,UAAU,CAAC;CAAI;AACnF,MAAM,WAAW,SAAU,SAAQ,+BAA+B,CAAC,IAAI,CAAC;CAAI;;AAC5E,wBAAkF"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":";AACA,OAAO,EAKL,cAAc,EAEd,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,UAAU,CAAC,QAAQ,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4MxD;AAED,MAAM,WAAW,IAAK,SAAQ,8BAA8B,CAAC,OAAO,UAAU,CAAC;CAAI;AACnF,MAAM,WAAW,SAAU,SAAQ,+BAA+B,CAAC,IAAI,CAAC;CAAI;;AAC5E,wBAAkF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabletcommand-backend-models",
3
- "version": "5.15.1",
3
+ "version": "5.16.0",
4
4
  "description": "Tablet Command Backend Models",
5
5
  "scripts": {
6
6
  "test": "gulp",
@@ -27,7 +27,7 @@
27
27
  "devDependencies": {
28
28
  "@types/bluebird": "^3.5.36",
29
29
  "@types/chai": "^4.2.22",
30
- "@types/lodash": "^4.14.173",
30
+ "@types/lodash": "^4.14.175",
31
31
  "@types/mocha": "^8.2.3",
32
32
  "@types/mongodb": "^3.6.20",
33
33
  "@types/mongoose": "~5.10.5",
@@ -40,8 +40,8 @@
40
40
  "gulp": "^4.0.2",
41
41
  "gulp-mocha": "^8.0.0",
42
42
  "gulp-shell": "^0.8.0",
43
- "mocha": "^9.1.1",
44
- "typescript": "^4.4.3",
43
+ "mocha": "^9.1.3",
44
+ "typescript": "^4.4.4",
45
45
  "yargs-parser": ">=20.2.9"
46
46
  }
47
47
  }
@@ -12,10 +12,12 @@ import {
12
12
  retrieveCurrentUnixTime,
13
13
  } from "../helpers";
14
14
  import * as mongooseLeanVirtuals from "mongoose-lean-virtuals";
15
+ import ColorModule from "./schema/color";
15
16
  import GeoJSONPointModule from "./schema/geojson-point";
16
17
 
17
18
  export async function LocationModule(mongoose: MongooseModule) {
18
19
  const { Schema, Types } = mongoose;
20
+ const Color = ColorModule(mongoose);
19
21
  const GeoJSONPoint = GeoJSONPointModule(mongoose);
20
22
 
21
23
  const modelSchemaDefinition = createSchemaDefinition({
@@ -94,18 +96,6 @@ export async function LocationModule(mongoose: MongooseModule) {
94
96
  default: 0,
95
97
  },
96
98
 
97
- location: {
98
- longitude: {
99
- type: Number,
100
- required: true,
101
- default: 0,
102
- },
103
- latitude: {
104
- type: Number,
105
- required: true,
106
- default: 0,
107
- },
108
- },
109
99
  // Shared AVL
110
100
  locationGeoJSON: {
111
101
  type: GeoJSONPoint,
@@ -133,6 +123,12 @@ export async function LocationModule(mongoose: MongooseModule) {
133
123
  type: Boolean,
134
124
  default: false,
135
125
  },
126
+
127
+ // Status color:
128
+ color: {
129
+ type: Color,
130
+ default: null,
131
+ },
136
132
  });
137
133
 
138
134
  const modelSchema = createSchema(Schema, modelSchemaDefinition, {
@@ -148,6 +144,18 @@ export async function LocationModule(mongoose: MongooseModule) {
148
144
  return this._id.toHexString();
149
145
  });
150
146
 
147
+ modelSchema.virtual("location").get(function(this: { locationGeoJSON: { coordinates: number[] }} | null | undefined) {
148
+ const location = {
149
+ latitude: 0,
150
+ longitude: 0
151
+ };
152
+ if (this && this.locationGeoJSON && this.locationGeoJSON.coordinates && this.locationGeoJSON.coordinates.length === 2) {
153
+ location.longitude = this.locationGeoJSON.coordinates[0];
154
+ location.latitude = this.locationGeoJSON.coordinates[1];
155
+ }
156
+ return location;
157
+ });
158
+
151
159
  // Create GeoJSON index
152
160
  modelSchema.index({
153
161
  locationGeoJSON: "2dsphere",
@@ -167,7 +167,6 @@ export async function UserDeviceModule(mongoose: MongooseModule) {
167
167
  type: Boolean,
168
168
  default: false,
169
169
  },
170
-
171
170
  criticalAlertsVolume: {
172
171
  type: String,
173
172
  default: "MED",
@@ -195,6 +195,11 @@ export async function UserModule(mongoose: MongooseModule) {
195
195
  type: EsriError,
196
196
  default: null,
197
197
  },
198
+ // Off Duty Allowed for this user
199
+ offDutyEnabled: {
200
+ type: Boolean,
201
+ default: false,
202
+ },
198
203
  }, {
199
204
  collection: "sys_user",
200
205
  });
@@ -26,6 +26,7 @@ describe("Department", function() {
26
26
  assert.isObject(testItem);
27
27
  const item = new models.Department(testItem);
28
28
  const sut = await item.save();
29
+ const result = await models.Department.findOne({_id: testItem._id}).lean();
29
30
  assert.isNotNull(sut._id);
30
31
  assert.isNotNull(sut.id);
31
32
  assert.equal(sut.department, testItem.department);
package/test/location.js CHANGED
@@ -25,6 +25,7 @@ describe("Location", function() {
25
25
  it("is saved", async function() {
26
26
  const item = new models.Location(testItem);
27
27
  const sut = await item.save();
28
+ const result = await models.Location.findOne({_id: testItem._id});
28
29
  assert.isNotNull(testItem._id);
29
30
  assert.equal(testItem.departmentId, sut.departmentId);
30
31
  assert.equal(testItem.userId, sut.userId);
@@ -35,16 +36,18 @@ describe("Location", function() {
35
36
  assert.equal(testItem.session, sut.session);
36
37
  assert.equal(testItem.active, sut.active);
37
38
  assert.equal(testItem.heading, sut.heading);
38
- assert.equal(testItem.location.longitude, sut.location.longitude);
39
- assert.equal(testItem.location.latitude, sut.location.latitude);
40
- assert.equal(testItem.locationGeoJSON.type, "Point");
41
39
  assert.equal(testItem.locationGeoJSON.coordinates[0], sut.location.longitude);
42
40
  assert.equal(testItem.locationGeoJSON.coordinates[1], sut.location.latitude);
41
+ assert.equal(testItem.locationGeoJSON.type, "Point");
42
+ assert.equal(testItem.locationGeoJSON.coordinates[0], sut.locationGeoJSON.coordinates[0]);
43
+ assert.equal(testItem.locationGeoJSON.coordinates[1], sut.locationGeoJSON.coordinates[1]);
43
44
  assert.equal(testItem.opAreaCode, sut.opAreaCode);
44
45
  assert.equal(testItem.opAreaName, sut.opAreaName);
45
46
  assert.equal(testItem.shared, sut.shared);
46
47
  assert.equal(testItem.state, sut.state);
47
48
  assert.equal(testItem.sendToCAD, sut.sendToCAD);
49
+ assert.equal(testItem.color.text, sut.color.text);
50
+ assert.equal(testItem.color.background, sut.color.background);
48
51
  assert.isTrue(sut.uuid !== "");
49
52
 
50
53
  const { longitude, latitude } = sut.location;
@@ -62,7 +65,7 @@ describe("Location", function() {
62
65
  };
63
66
 
64
67
  try {
65
- await models.Location.findOne(geoQuery);
68
+ const result = await models.Location.findOne(geoQuery);
66
69
  assert.isFalse(true, "Expecting above to fail.");
67
70
  } catch (error) {
68
71
  assert.isNotNull(error, "Expecting above to fail");
package/test/mock.js CHANGED
@@ -593,20 +593,20 @@ module.exports = function(dependencies) {
593
593
  device_type: "iPad",
594
594
  active: true,
595
595
  heading: 43,
596
- location: {
597
- longitude: -122.304,
598
- latitude: 37.541
599
- },
600
596
  locationGeoJSON: {
601
597
  type: "Point",
602
- coordinates: [-122.304, 37.541],
598
+ coordinates: [-120.001, 37.001],
603
599
  },
604
600
  session: "abcd",
605
601
  opAreaCode: "DAL",
606
602
  opAreaName: "Delta Operations",
607
603
  shared: true,
608
604
  state: "CA",
609
- sendToCAD: false
605
+ sendToCAD: false,
606
+ color: {
607
+ text: "#00AA00",
608
+ background: "#FFAAFF"
609
+ }
610
610
  };
611
611
 
612
612
  const managedIncident = {
@@ -742,6 +742,7 @@ module.exports = function(dependencies) {
742
742
  }
743
743
  ],
744
744
  offlineMapsEnabled: true,
745
+ offDutyEnabled: true
745
746
  };
746
747
 
747
748
  const userRegistration = {
package/test/user.js CHANGED
@@ -43,6 +43,7 @@ describe("User", function() {
43
43
  assert.isTrue(sut.shareLocationTablet);
44
44
  assert.equal(item.uuid, sut.uuid);
45
45
  assert.equal(item.agencyId, sut.agencyId);
46
+ assert.equal(item.offDutyEnabled, sut.offDutyEnabled);
46
47
  assert.equal(item.managedAgencies[0], sut.managedAgencies[0]);
47
48
  assert.isTrue(sut.offlineMapsEnabled);
48
49
  return done();