tabletcommand-location 1.0.9 → 1.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAOlC,oDAAuB;AAEvB,SAAgB,GAAG,CACjB,eAAgC,EAChC,aAA4B,EAC5B,eAAgC;IAEhC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAA,kBAAc,EAAC,KAAK,CAAC,CAAC;IACvC,8FAA8F;IAC9F,uCAAuC;IACvC,IAAI;IAEJ,KAAK,UAAU,gBAAgB,CAAC,UAA+B,EAAE,KAA2C;QAC1G,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI;YACF,IAAI,gBAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;aACX;YACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1C,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,iJAAiJ;IACjJ,UAAU;IACV,qDAAqD;IACrD,mBAAmB;IACnB,QAAQ;IACR,oDAAoD;IACpD,yBAAyB;IACzB,QAAQ;IACR,sFAAsF;IACtF,qBAAqB;IACrB,oBAAoB;IACpB,iBAAiB;IACjB,MAAM;IACN,IAAI;IAEJ,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAhDD,kBAgDC;AAED,kBAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAwC;AACxC,oDAAkC;AAOlC,oDAAuB;AAcvB,SAAgB,GAAG,CACjB,eAAgC,EAChC,aAA4B,EAC5B,eAAgC;IAEhC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAA,kBAAc,EAAC,KAAK,CAAC,CAAC;IACvC,8FAA8F;IAC9F,uCAAuC;IACvC,IAAI;IAEJ,KAAK,UAAU,gBAAgB,CAAC,UAA+B,EAAE,KAA2C;QAC1G,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1B,IAAI;YACF,IAAI,gBAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;aACX;YACD,IAAI,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC1C,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;aACjB;YACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;SACf;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,iJAAiJ;IACjJ,UAAU;IACV,qDAAqD;IACrD,mBAAmB;IACnB,QAAQ;IACR,oDAAoD;IACpD,yBAAyB;IACzB,QAAQ;IACR,sFAAsF;IACtF,qBAAqB;IACrB,oBAAoB;IACpB,iBAAiB;IACjB,MAAM;IACN,IAAI;IAEJ,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,wBAAwB;KACzB,CAAC;AACJ,CAAC;AAhDD,kBAgDC;AAED,kBAAe,GAAG,CAAC"}
package/build/location.js CHANGED
@@ -8,7 +8,7 @@ const lodash_1 = __importDefault(require("lodash"));
8
8
  const debug_1 = __importDefault(require("debug"));
9
9
  function location(store) {
10
10
  const debug = (0, debug_1.default)("tabletcommand-location:location");
11
- async function decodeCADVehicleStatusToLocation(item, department, atDate) {
11
+ function decodeCADVehicleStatusToLocation(item, department, atDate) {
12
12
  let latitude = 0;
13
13
  let longitude = 0;
14
14
  if (lodash_1.default.isFinite(parseFloat(item.latitude.toString()))) {
@@ -57,6 +57,8 @@ function location(store) {
57
57
  const deleteAfterDate = new Date(atDate.valueOf() + 1000 * 60 * locationStaleMinutes).toISOString();
58
58
  const cadAVL = {
59
59
  device_type: "cad",
60
+ source: item.source,
61
+ kindType: item.kindType,
60
62
  locationGeoJSON: {
61
63
  type: "Point",
62
64
  coordinates: [longitude, latitude]
@@ -111,7 +113,7 @@ function location(store) {
111
113
  }
112
114
  async function processItems(department, items, atDate) {
113
115
  for (const item of items) {
114
- const decoded = await decodeCADVehicleStatusToLocation(item, department, atDate);
116
+ const decoded = decodeCADVehicleStatusToLocation(item, department, atDate);
115
117
  debug(`processCADVehicleLocation item: ${JSON.stringify(item)} d:${JSON.stringify(department)} at: ${atDate.toISOString()}.`);
116
118
  if (!decoded.isValid) {
117
119
  return;
@@ -124,6 +126,7 @@ function location(store) {
124
126
  if (lodash_1.default.isObject(cadItem) && lodash_1.default.isBoolean(cadItem.mapHidden)) {
125
127
  active = !cadItem.mapHidden;
126
128
  }
129
+ // TODO: add support for location .kindType
127
130
  decoded.cadAVL.active = active;
128
131
  await store.updateLocation(decoded.cadAVL, atDate);
129
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../src/location.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../src/location.ts"],"names":[],"mappings":"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"}
package/build/store.js CHANGED
@@ -71,6 +71,8 @@ function store(departmentModel, locationModel, cadVehicleModel) {
71
71
  dbItem.username = modelItem.username;
72
72
  dbItem.version = modelItem.version;
73
73
  dbItem.locationGeoJSON = modelItem.locationGeoJSON;
74
+ dbItem.source = modelItem.source;
75
+ dbItem.kindType = modelItem.kindType;
74
76
  // Propagate sharedAVL items
75
77
  dbItem.opAreaCode = modelItem.opAreaCode;
76
78
  dbItem.opAreaName = modelItem.opAreaName;
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/cspell.json CHANGED
@@ -6,33 +6,34 @@
6
6
  "language": "en-US",
7
7
  // words - list of words to be always considered correct
8
8
  "words": [
9
+ "accesslog",
10
+ "agencyapi",
11
+ "agencypersonnelapi",
12
+ "apikey",
9
13
  "backend",
10
14
  "bamse",
11
15
  "devops",
12
16
  "dmon",
17
+ "expireat",
18
+ "fdid",
19
+ "flushall",
13
20
  "helloworld",
21
+ "hgetall",
22
+ "hincrby",
14
23
  "mget",
15
24
  "mockgoose",
25
+ "myhash",
26
+ "personnelapi",
27
+ "personnelapikey",
16
28
  "signup",
29
+ "signupkey",
30
+ "Somewear",
17
31
  "stacktraces",
18
32
  "tabletcommand",
19
33
  "tyrion",
20
34
  "unixtime",
21
35
  "Ursache",
22
- "personnelapi",
23
- "agencypersonnelapi",
24
- "expireat",
25
- "agencyapi",
26
- "accesslog",
27
- "hincrby",
28
- "hgetall",
29
- "myhash",
30
36
  "virtuals",
31
- "apikey",
32
- "personnelapikey",
33
- "signupkey",
34
- "fdid",
35
- "flushall",
36
37
  "zonehaven"
37
38
  ],
38
39
  // flagWords - list of words to be always considered incorrect
@@ -1,5 +1,6 @@
1
1
  import { DepartmentModel, LocationModel, CADVehicleModel, Department } from "tabletcommand-backend-models";
2
- import { LocationPayload } from "./types";
2
+ import { LocationKindType, LocationPayload, LocationSource } from "./types";
3
+ export { LocationKindType, LocationPayload, LocationSource, };
3
4
  export declare function lib(departmentModel: DepartmentModel, locationModel: LocationModel, cadVehicleModel: CADVehicleModel): {
4
5
  processLocations: (department: Partial<Department>, items: LocationPayload[] | null | undefined) => Promise<void | never[]>;
5
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,wBAAgB,GAAG,CACjB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;mCAQY,QAAQ,UAAU,CAAC,SAAS,eAAe,EAAE,GAAG,IAAI,GAAG,SAAS;EAqC7G;AAED,eAAe,GAAG,CAAC;AACnB,oBAAY,SAAS,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,CAAC;AAEF,wBAAgB,GAAG,CACjB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;mCAQY,QAAQ,UAAU,CAAC,SAAS,eAAe,EAAE,GAAG,IAAI,GAAG,SAAS;EAqC7G;AAED,eAAe,GAAG,CAAC;AACnB,oBAAY,SAAS,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../src/location.ts"],"names":[],"mappings":";AACA,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW;2CAmGW,MAAM,EAAE,QAAQ,eAAe,cAAc,QAAQ,UAAU,CAAC,UAAU,IAAI;+BAqB1F,QAAQ,UAAU,CAAC,SAAS,eAAe,EAAE,UAAU,IAAI;EA4BpG;AAED,eAAe,QAAQ,CAAC;AACxB,oBAAY,cAAc,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../src/location.ts"],"names":[],"mappings":";AACA,OAAO,EACL,UAAU,EAEV,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW;2CAqGW,MAAM,EAAE,QAAQ,eAAe,cAAc,QAAQ,UAAU,CAAC,UAAU,IAAI;+BAqB1F,QAAQ,UAAU,CAAC,SAAS,eAAe,EAAE,UAAU,IAAI;EA6BpG;AAED,eAAe,QAAQ,CAAC;AACxB,oBAAY,cAAc,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,KAAK,CACnB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;uBAIA,eAAe,gBAAgB,MAAM;0BAQlC,QAAQ,UAAU,CAAC,gBAAgB,MAAM;2BAaxC,QAAQ,QAAQ,CAAC,UAAU,IAAI;EA4FpE;AACD,eAAe,KAAK,CAAC;AACrB,oBAAY,WAAW,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";AACA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,wBAAgB,KAAK,CACnB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe;uBAIA,eAAe,gBAAgB,MAAM;0BAQlC,QAAQ,UAAU,CAAC,gBAAgB,MAAM;2BAaxC,QAAQ,QAAQ,CAAC,UAAU,IAAI;EA8FpE;AACD,eAAe,KAAK,CAAC;AACrB,oBAAY,WAAW,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC"}
@@ -16,6 +16,7 @@ export default function (modelsModule: typeof import("tabletcommand-backend-mode
16
16
  CADIncident: import("tabletcommand-backend-models").CADIncidentModel;
17
17
  CADIncidentBlock: import("tabletcommand-backend-models").CADIncidentBlockModel;
18
18
  CADIncidentStream: import("tabletcommand-backend-models").CADIncidentStreamModel;
19
+ CADSimulation: import("tabletcommand-backend-models").CADSimulationModel;
19
20
  CADStatus: import("tabletcommand-backend-models").CADStatusModel;
20
21
  CADStatusMap: import("tabletcommand-backend-models").CADStatusMapModel;
21
22
  CADVehicle: import("tabletcommand-backend-models").CADVehicleModel;
@@ -39,9 +40,12 @@ export default function (modelsModule: typeof import("tabletcommand-backend-mode
39
40
  Location: import("tabletcommand-backend-models").LocationModel;
40
41
  MailLog: import("tabletcommand-backend-models").MailLogModel;
41
42
  ManagedIncident: import("tabletcommand-backend-models").ManagedIncidentModel;
43
+ Mark43IncidentRetry: import("tabletcommand-backend-models").Mark43IncidentRetryModel;
42
44
  Message: import("tabletcommand-backend-models").MessageModel;
43
45
  Monitor: import("tabletcommand-backend-models").MonitorModel;
44
46
  PersonnelImport: import("tabletcommand-backend-models").PersonnelImportModel;
47
+ PersonnelKnown: import("tabletcommand-backend-models").PersonnelKnownModel;
48
+ PersonnelRoster: import("tabletcommand-backend-models").PersonnelRosterModel;
45
49
  RateLimit: import("tabletcommand-backend-models").RateLimitModel;
46
50
  RemoteLog: import("tabletcommand-backend-models").RemoteLogModel;
47
51
  Session: import("tabletcommand-backend-models").SessionModel;
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/test/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,OAAO,CAAC;AAEf,OAAO,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,WAAW,YAAY,EAAE,cAAc,8BAA8B,CAAC;;;0BAkE/C,aAAa;4BAQX,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAoD5B,aAAa;yBAIT,eAAe;EAgB1C"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/test/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,OAAO,CAAC;AAEf,OAAO,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACX,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,OAAO,WAAW,YAAY,EAAE,cAAc,8BAA8B,CAAC;;;0BAkE/C,aAAa;4BAQX,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAoD5B,aAAa;yBAIT,eAAe;EAgB1C"}
@@ -1,11 +1,14 @@
1
1
  import { Location } from "tabletcommand-backend-models";
2
2
  export interface LocationPayload {
3
- latitude: number | string;
4
- longitude: number | string;
5
- vehicleId: string;
6
- radioName: string;
3
+ altitude?: number;
7
4
  avlTime: string;
5
+ kindType: LocationKindType;
6
+ latitude: number;
7
+ longitude: number;
8
+ radioName: string;
9
+ source: LocationSource;
8
10
  speed?: number;
11
+ vehicleId: string;
9
12
  }
10
13
  export interface Vehicle {
11
14
  departmentId: string;
@@ -14,10 +17,10 @@ export interface Vehicle {
14
17
  radioName: string;
15
18
  vehicleId: string;
16
19
  }
17
- export interface decodedLocation {
20
+ export declare type DecodedLocation = {
18
21
  cadAVL: Partial<Location>;
19
22
  isValid: boolean;
20
- }
23
+ };
21
24
  export interface LocationDelta {
22
25
  active?: boolean;
23
26
  agencyCode?: string;
@@ -32,4 +35,6 @@ export interface LocationDelta {
32
35
  export declare type LocationObject = {
33
36
  [P in keyof Location]: Location[P];
34
37
  };
38
+ export declare type LocationSource = "CAD" | "FleetComplete" | "GST" | "Samsara" | "SkyMira" | "SkyTrack" | "Somewear" | "TC-Android" | "TC-iOS" | "TCMobile-Android" | "TCMobile-iOS" | "VehicleModem";
39
+ export declare type LocationKindType = "fixed-wing" | "helicopter" | "marine" | "person" | "vehicle";
35
40
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,cAAc,GAAG;KACxB,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc,GAAG;KAC1B,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,oBAAY,cAAc,GACxB,KAAK,GAAG,eAAe,GAAG,KAAK,GAC/B,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAC/C,YAAY,GAAG,QAAQ,GAAG,kBAAkB,GAAG,cAAc,GAC7D,cAAc,CAAC;AACjB,oBAAY,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabletcommand-location",
3
- "version": "1.0.9",
3
+ "version": "1.1.1",
4
4
  "description": "Tablet Command Location",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
@@ -12,19 +12,19 @@
12
12
  "license": "MIT",
13
13
  "types": "definitions/index.d.ts",
14
14
  "dependencies": {
15
- "debug": "^4.3.4",
15
+ "debug": "^4.3.5",
16
16
  "lodash": "~4.17.21",
17
- "tabletcommand-backend-models": "~5.36.12"
17
+ "tabletcommand-backend-models": "~5.38.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/chai": "^4.3.11",
20
+ "@types/chai": "^4.3.16",
21
21
  "@types/debug": "^4.1.12",
22
22
  "@types/express": "^4.17.21",
23
23
  "@types/lodash": "^4.14.202",
24
- "@types/mocha": "^10.0.6",
24
+ "@types/mocha": "^10.0.7",
25
25
  "@types/mongodb": "~3.6.20",
26
26
  "@types/mongoose": "~5.10.5",
27
- "@types/node": "^20.11.17",
27
+ "@types/node": "^20.14.8",
28
28
  "@types/uuid": "^9.0.8",
29
29
  "@typescript-eslint/eslint-plugin": "^6.21.0",
30
30
  "@typescript-eslint/parser": "^6.21.0",
@@ -34,14 +34,14 @@
34
34
  "del": "^6.0.0",
35
35
  "eslint": "^8.56.0",
36
36
  "eslint-plugin-node": "^11.1.0",
37
- "eslint-plugin-promise": "^6.1.1",
37
+ "eslint-plugin-promise": "^6.2.0",
38
38
  "eslint-plugin-security": "^2.1.0",
39
39
  "gulp": "^4.0.2",
40
40
  "gulp-shell": "^0.8.0",
41
- "mocha": "^10.3.0",
41
+ "mocha": "^10.4.0",
42
42
  "mongoose": "~5.10.19",
43
43
  "ts-node": "^10.9.2",
44
- "type-coverage": "^2.27.1",
44
+ "type-coverage": "^2.29.0",
45
45
  "typescript": "~4.7.4"
46
46
  },
47
47
  "typeCoverage": {
package/src/index.ts CHANGED
@@ -1,13 +1,25 @@
1
1
  import locationModule from "./location";
2
2
  import storeModule from "./store";
3
- import {
4
- DepartmentModel,
5
- LocationModel,
6
- CADVehicleModel,
7
- Department,
3
+ import {
4
+ DepartmentModel,
5
+ LocationModel,
6
+ CADVehicleModel,
7
+ Department,
8
8
  } from "tabletcommand-backend-models";
9
9
  import _ from "lodash";
10
- import { LocationPayload } from "./types";
10
+ import {
11
+ LocationKindType,
12
+ LocationPayload,
13
+ LocationSource,
14
+ } from "./types";
15
+
16
+ // Export types to external projects
17
+ export {
18
+ LocationKindType,
19
+ LocationPayload,
20
+ LocationSource,
21
+ };
22
+
11
23
  export function lib(
12
24
  departmentModel: DepartmentModel,
13
25
  locationModel: LocationModel,
package/src/location.ts CHANGED
@@ -5,7 +5,8 @@ import {
5
5
  CADVehicle,
6
6
  } from "tabletcommand-backend-models";
7
7
  import {
8
- LocationPayload, decodedLocation,
8
+ LocationPayload,
9
+ DecodedLocation,
9
10
  } from "./types";
10
11
  import debugModule from "debug";
11
12
  import { StoreModule } from "./store";
@@ -13,7 +14,7 @@ import { StoreModule } from "./store";
13
14
  export function location(store: StoreModule) {
14
15
  const debug = debugModule("tabletcommand-location:location");
15
16
 
16
- async function decodeCADVehicleStatusToLocation(item: LocationPayload, department: Partial<Department>, atDate: Date): Promise<decodedLocation> {
17
+ function decodeCADVehicleStatusToLocation(item: LocationPayload, department: Partial<Department>, atDate: Date): DecodedLocation {
17
18
  let latitude = 0;
18
19
  let longitude = 0;
19
20
 
@@ -73,6 +74,8 @@ export function location(store: StoreModule) {
73
74
 
74
75
  const cadAVL: Partial<Location> = {
75
76
  device_type: "cad",
77
+ source: item.source,
78
+ kindType: item.kindType,
76
79
  locationGeoJSON: {
77
80
  type: "Point",
78
81
  coordinates: [longitude, latitude]
@@ -108,7 +111,7 @@ export function location(store: StoreModule) {
108
111
  isValid,
109
112
  };
110
113
  }
111
-
114
+
112
115
  async function processVehicle(departmentExceptions: string[], item: LocationPayload, department: Partial<Department>, atDate: Date) {
113
116
  const departmentId = String(department._id);
114
117
  // need function to validate the item (As concerns vehicleId and radioName)
@@ -132,7 +135,7 @@ export function location(store: StoreModule) {
132
135
 
133
136
  async function processItems(department: Partial<Department>, items: LocationPayload[], atDate: Date) {
134
137
  for (const item of items) {
135
- const decoded = await decodeCADVehicleStatusToLocation(item, department, atDate);
138
+ const decoded = decodeCADVehicleStatusToLocation(item, department, atDate);
136
139
  debug(`processCADVehicleLocation item: ${JSON.stringify(item)} d:${JSON.stringify(department)} at: ${atDate.toISOString()}.`);
137
140
  if (!decoded.isValid) {
138
141
  return;
@@ -148,6 +151,7 @@ export function location(store: StoreModule) {
148
151
  if (_.isObject(cadItem) && _.isBoolean(cadItem.mapHidden)) {
149
152
  active = !cadItem.mapHidden;
150
153
  }
154
+ // TODO: add support for location .kindType
151
155
 
152
156
  decoded.cadAVL.active = active;
153
157
  await store.updateLocation(decoded.cadAVL, atDate);
package/src/store.ts CHANGED
@@ -12,10 +12,10 @@ import { LocationObject, LocationPayload } from "./types";
12
12
  export function store(
13
13
  departmentModel: DepartmentModel,
14
14
  locationModel: LocationModel,
15
- cadVehicleModel: CADVehicleModel,
15
+ cadVehicleModel: CADVehicleModel,
16
16
  ) {
17
17
  const debug = debugModule("tabletcommand-location:location:store");
18
-
18
+
19
19
  async function getVehicle(item: LocationPayload, departmentId: string) {
20
20
  const query = {
21
21
  vehicleId: item.vehicleId,
@@ -26,42 +26,42 @@ export function store(
26
26
 
27
27
  async function updateVehicle(item: Partial<CADVehicle>, departmentId: string) {
28
28
  const query = {
29
- departmentId,
30
- vehicleId: item.vehicleId,
29
+ departmentId,
30
+ vehicleId: item.vehicleId,
31
31
  };
32
32
  const options = {
33
- upsert: true,
34
- setDefaultsOnInsert: true,
35
- new: true
36
- };
33
+ upsert: true,
34
+ setDefaultsOnInsert: true,
35
+ new: true
36
+ };
37
37
  return await cadVehicleModel.findOneAndUpdate(query, item, options);
38
38
  }
39
39
 
40
40
  async function updateLocation(item: Partial<Location>, atDate: Date) {
41
- const modelItem = new locationModel(item);
42
- const query = {
43
- device_type: modelItem.device_type,
44
- departmentId: modelItem.departmentId,
45
- username: modelItem.username
46
- };
47
- debug(`Location.findOne: ${JSON.stringify(query)}`);
48
- const dbItem = await locationModel.findOne(query).lean().exec() as Partial<LocationObject>;
49
- const cloneItem = { ...dbItem };
50
- let updatedItem = propagateLocation(modelItem, dbItem);
51
- debug(`Location.save: ${JSON.stringify(updatedItem)}`);
52
- if (cloneItem._id) {
53
- const locationDelta = generateLocationDelta(cloneItem, updatedItem, atDate);
54
- updatedItem = locationDelta;
55
- debug(`Location.delta: ${JSON.stringify(locationDelta)}`);
56
- } else {
57
- // if new location record - Attempt to reconcile agency name and code to resources
58
- // this is going to be resolved by the bin/cron-cleanup-minute cron
59
- }
60
- await locationModel.updateOne(query, {
61
- $set: updatedItem,
62
- }, {
63
- upsert: true,
64
- });
41
+ const modelItem = new locationModel(item);
42
+ const query = {
43
+ device_type: modelItem.device_type,
44
+ departmentId: modelItem.departmentId,
45
+ username: modelItem.username
46
+ };
47
+ debug(`Location.findOne: ${JSON.stringify(query)}`);
48
+ const dbItem = await locationModel.findOne(query).lean().exec() as Partial<LocationObject>;
49
+ const cloneItem = { ...dbItem };
50
+ let updatedItem = propagateLocation(modelItem, dbItem);
51
+ debug(`Location.save: ${JSON.stringify(updatedItem)}`);
52
+ if (cloneItem._id) {
53
+ const locationDelta = generateLocationDelta(cloneItem, updatedItem, atDate);
54
+ updatedItem = locationDelta;
55
+ debug(`Location.delta: ${JSON.stringify(locationDelta)}`);
56
+ } else {
57
+ // if new location record - Attempt to reconcile agency name and code to resources
58
+ // this is going to be resolved by the bin/cron-cleanup-minute cron
59
+ }
60
+ await locationModel.updateOne(query, {
61
+ $set: updatedItem,
62
+ }, {
63
+ upsert: true,
64
+ });
65
65
  }
66
66
 
67
67
  function propagateLocation(modelItem: Location, dbItem: Partial<LocationObject>) {
@@ -82,6 +82,8 @@ export function store(
82
82
  dbItem.username = modelItem.username;
83
83
  dbItem.version = modelItem.version;
84
84
  dbItem.locationGeoJSON = modelItem.locationGeoJSON;
85
+ dbItem.source = modelItem.source;
86
+ dbItem.kindType = modelItem.kindType;
85
87
 
86
88
  // Propagate sharedAVL items
87
89
  dbItem.opAreaCode = modelItem.opAreaCode;
@@ -125,9 +127,9 @@ export function store(
125
127
  }
126
128
 
127
129
  return {
128
- getVehicle,
129
- updateVehicle,
130
- updateLocation,
130
+ getVehicle,
131
+ updateVehicle,
132
+ updateLocation,
131
133
  };
132
134
  }
133
135
  export default store;
package/src/types.ts CHANGED
@@ -1,39 +1,49 @@
1
1
  import { Location } from "tabletcommand-backend-models";
2
2
 
3
3
  export interface LocationPayload {
4
- latitude: number | string;
5
- longitude: number | string;
6
- vehicleId: string;
7
- radioName: string;
8
- avlTime: string;
9
- speed?: number;
4
+ altitude?: number;
5
+ avlTime: string;
6
+ kindType: LocationKindType;
7
+ latitude: number;
8
+ longitude: number;
9
+ radioName: string;
10
+ source: LocationSource;
11
+ speed?: number;
12
+ vehicleId: string;
10
13
  }
11
14
 
12
15
  export interface Vehicle {
13
- departmentId: string;
14
- modifiedDate: number;
15
- modified: Date;
16
- radioName: string;
17
- vehicleId: string;
16
+ departmentId: string;
17
+ modifiedDate: number;
18
+ modified: Date;
19
+ radioName: string;
20
+ vehicleId: string;
18
21
  }
19
22
 
20
- export interface decodedLocation {
21
- cadAVL: Partial<Location>,
22
- isValid: boolean
23
- }
23
+ export type DecodedLocation = {
24
+ cadAVL: Partial<Location>,
25
+ isValid: boolean
26
+ };
24
27
 
25
28
  export interface LocationDelta {
26
- active?: boolean;
27
- agencyCode?: string;
28
- agencyName?: string;
29
- device_type?: string;
30
- opAreaCode?: string;
31
- opAreaName?: string;
32
- shared?: boolean;
33
- state?: string;
34
- username?: string;
29
+ active?: boolean;
30
+ agencyCode?: string;
31
+ agencyName?: string;
32
+ device_type?: string;
33
+ opAreaCode?: string;
34
+ opAreaName?: string;
35
+ shared?: boolean;
36
+ state?: string;
37
+ username?: string;
35
38
  }
36
39
 
37
40
  export type LocationObject = {
38
- [P in keyof Location]: Location[P]
39
- };
41
+ [P in keyof Location]: Location[P]
42
+ };
43
+
44
+ export type LocationSource =
45
+ "CAD" | "FleetComplete" | "GST" |
46
+ "Samsara" | "SkyMira" | "SkyTrack" | "Somewear" |
47
+ "TC-Android" | "TC-iOS" | "TCMobile-Android" | "TCMobile-iOS" |
48
+ "VehicleModem";
49
+ export type LocationKindType = "fixed-wing" | "helicopter" | "marine" | "person" | "vehicle";