clarion-shared-types 1.0.79 → 1.0.81

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.
Files changed (66) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/modules/socket/enums/socket-event-name.enum.js +5 -0
  4. package/dist/cjs/modules/socket/enums/socket-event-name.enum.js.map +1 -1
  5. package/dist/cjs/modules/tracking/enums/tracking-connection-status.enum.js +15 -0
  6. package/dist/cjs/modules/tracking/enums/tracking-connection-status.enum.js.map +1 -0
  7. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js +13 -0
  8. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -0
  9. package/dist/cjs/modules/tracking/enums/tracking-transport-type.enum.js +12 -0
  10. package/dist/cjs/modules/tracking/enums/tracking-transport-type.enum.js.map +1 -0
  11. package/dist/cjs/modules/tracking/enums/tracking-unit-online-status.enum.js +10 -0
  12. package/dist/cjs/modules/tracking/enums/tracking-unit-online-status.enum.js.map +1 -0
  13. package/dist/cjs/modules/tracking/index.js +29 -0
  14. package/dist/cjs/modules/tracking/index.js.map +1 -0
  15. package/dist/cjs/modules/tracking/interfaces/tracking-device-binding.dto.js +3 -0
  16. package/dist/cjs/modules/tracking/interfaces/tracking-device-binding.dto.js.map +1 -0
  17. package/dist/cjs/modules/tracking/interfaces/tracking-operations.dto.js +3 -0
  18. package/dist/cjs/modules/tracking/interfaces/tracking-operations.dto.js.map +1 -0
  19. package/dist/cjs/modules/tracking/interfaces/tracking-playback.dto.js +3 -0
  20. package/dist/cjs/modules/tracking/interfaces/tracking-playback.dto.js.map +1 -0
  21. package/dist/cjs/modules/tracking/interfaces/tracking-position.dto.js +3 -0
  22. package/dist/cjs/modules/tracking/interfaces/tracking-position.dto.js.map +1 -0
  23. package/dist/cjs/modules/tracking/interfaces/tracking-provider-connection.dto.js +3 -0
  24. package/dist/cjs/modules/tracking/interfaces/tracking-provider-connection.dto.js.map +1 -0
  25. package/dist/cjs/modules/tracking/interfaces/tracking-socket-events.js +3 -0
  26. package/dist/cjs/modules/tracking/interfaces/tracking-socket-events.js.map +1 -0
  27. package/dist/esm/index.js +1 -0
  28. package/dist/esm/index.js.map +1 -1
  29. package/dist/esm/modules/socket/enums/socket-event-name.enum.js +5 -0
  30. package/dist/esm/modules/socket/enums/socket-event-name.enum.js.map +1 -1
  31. package/dist/esm/modules/tracking/enums/tracking-connection-status.enum.js +12 -0
  32. package/dist/esm/modules/tracking/enums/tracking-connection-status.enum.js.map +1 -0
  33. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js +10 -0
  34. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -0
  35. package/dist/esm/modules/tracking/enums/tracking-transport-type.enum.js +9 -0
  36. package/dist/esm/modules/tracking/enums/tracking-transport-type.enum.js.map +1 -0
  37. package/dist/esm/modules/tracking/enums/tracking-unit-online-status.enum.js +7 -0
  38. package/dist/esm/modules/tracking/enums/tracking-unit-online-status.enum.js.map +1 -0
  39. package/dist/esm/modules/tracking/index.js +13 -0
  40. package/dist/esm/modules/tracking/index.js.map +1 -0
  41. package/dist/esm/modules/tracking/interfaces/tracking-device-binding.dto.js +2 -0
  42. package/dist/esm/modules/tracking/interfaces/tracking-device-binding.dto.js.map +1 -0
  43. package/dist/esm/modules/tracking/interfaces/tracking-operations.dto.js +2 -0
  44. package/dist/esm/modules/tracking/interfaces/tracking-operations.dto.js.map +1 -0
  45. package/dist/esm/modules/tracking/interfaces/tracking-playback.dto.js +2 -0
  46. package/dist/esm/modules/tracking/interfaces/tracking-playback.dto.js.map +1 -0
  47. package/dist/esm/modules/tracking/interfaces/tracking-position.dto.js +2 -0
  48. package/dist/esm/modules/tracking/interfaces/tracking-position.dto.js.map +1 -0
  49. package/dist/esm/modules/tracking/interfaces/tracking-provider-connection.dto.js +2 -0
  50. package/dist/esm/modules/tracking/interfaces/tracking-provider-connection.dto.js.map +1 -0
  51. package/dist/esm/modules/tracking/interfaces/tracking-socket-events.js +2 -0
  52. package/dist/esm/modules/tracking/interfaces/tracking-socket-events.js.map +1 -0
  53. package/dist/types/index.d.ts +1 -0
  54. package/dist/types/modules/socket/enums/socket-event-name.enum.d.ts +5 -1
  55. package/dist/types/modules/tracking/enums/tracking-connection-status.enum.d.ts +10 -0
  56. package/dist/types/modules/tracking/enums/tracking-provider-code.enum.d.ts +8 -0
  57. package/dist/types/modules/tracking/enums/tracking-transport-type.enum.d.ts +7 -0
  58. package/dist/types/modules/tracking/enums/tracking-unit-online-status.enum.d.ts +5 -0
  59. package/dist/types/modules/tracking/index.d.ts +10 -0
  60. package/dist/types/modules/tracking/interfaces/tracking-device-binding.dto.d.ts +43 -0
  61. package/dist/types/modules/tracking/interfaces/tracking-operations.dto.d.ts +124 -0
  62. package/dist/types/modules/tracking/interfaces/tracking-playback.dto.d.ts +46 -0
  63. package/dist/types/modules/tracking/interfaces/tracking-position.dto.d.ts +70 -0
  64. package/dist/types/modules/tracking/interfaces/tracking-provider-connection.dto.d.ts +74 -0
  65. package/dist/types/modules/tracking/interfaces/tracking-socket-events.d.ts +49 -0
  66. package/package.json +45 -45
package/dist/cjs/index.js CHANGED
@@ -33,6 +33,7 @@ __exportStar(require("./modules/web-notification/index"), exports);
33
33
  __exportStar(require("./modules/notification/index"), exports);
34
34
  __exportStar(require("./modules/chat/index"), exports);
35
35
  __exportStar(require("./modules/country/index"), exports);
36
+ __exportStar(require("./modules/tracking/index"), exports);
36
37
  // Interfaces
37
38
  __exportStar(require("./modules/common/interfaces/server-message"), exports);
38
39
  __exportStar(require("./modules/common/interfaces/pagination"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AAExC,aAAa;AACb,6EAA2D;AAC3D,yEAAuD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,UAAU;AACV,uDAAqC;AACrC,+DAA6C;AAC7C,yDAAuC;AACvC,6DAA2C;AAC3C,uDAAqC;AACrC,uDAAqC;AACrC,iEAA+C;AAC/C,gEAA8C;AAC9C,2DAAyC;AACzC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,yDAAuC;AACvC,mEAAiD;AACjD,+DAA6C;AAC7C,uDAAqC;AACrC,0DAAwC;AACxC,2DAAyC;AAEzC,aAAa;AACb,6EAA2D;AAC3D,yEAAuD"}
@@ -8,5 +8,10 @@ var SocketEventName;
8
8
  SocketEventName["PUSH_NOTIFICATION_EVENT"] = "pushNotification.event";
9
9
  SocketEventName["TASK_EVENT"] = "task.event";
10
10
  SocketEventName["TRIP_EVENT"] = "trip.event";
11
+ // Response-unit tracking
12
+ SocketEventName["TRACKING_POSITION"] = "tracking:position";
13
+ SocketEventName["TRACKING_STATUS"] = "tracking:status";
14
+ SocketEventName["TRACKING_REMOVED"] = "tracking:removed";
15
+ SocketEventName["TRACKING_PROVIDER_HEALTH"] = "tracking:provider-health";
11
16
  })(SocketEventName || (exports.SocketEventName = SocketEventName = {}));
12
17
  //# sourceMappingURL=socket-event-name.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-event-name.enum.js","sourceRoot":"","sources":["../../../../../src/modules/socket/enums/socket-event-name.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAMX;AAND,WAAY,eAAe;IACvB,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;AAC7B,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B"}
1
+ {"version":3,"file":"socket-event-name.enum.js","sourceRoot":"","sources":["../../../../../src/modules/socket/enums/socket-event-name.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAWX;AAXD,WAAY,eAAe;IACvB,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;IACzB,yBAAyB;IACzB,0DAAuC,CAAA;IACvC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,wEAAqD,CAAA;AACzD,CAAC,EAXW,eAAe,+BAAf,eAAe,QAW1B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingConnectionStatus = void 0;
4
+ var TrackingConnectionStatus;
5
+ (function (TrackingConnectionStatus) {
6
+ TrackingConnectionStatus["DISABLED"] = "DISABLED";
7
+ TrackingConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
8
+ TrackingConnectionStatus["CONNECTING"] = "CONNECTING";
9
+ TrackingConnectionStatus["AUTHENTICATING"] = "AUTHENTICATING";
10
+ TrackingConnectionStatus["CONNECTED"] = "CONNECTED";
11
+ TrackingConnectionStatus["DEGRADED"] = "DEGRADED";
12
+ TrackingConnectionStatus["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
13
+ TrackingConnectionStatus["ERROR"] = "ERROR";
14
+ })(TrackingConnectionStatus || (exports.TrackingConnectionStatus = TrackingConnectionStatus = {}));
15
+ //# sourceMappingURL=tracking-connection-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-connection-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-connection-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,wBASX;AATD,WAAY,wBAAwB;IAChC,iDAAqB,CAAA;IACrB,yDAA6B,CAAA;IAC7B,qDAAyB,CAAA;IACzB,6DAAiC,CAAA;IACjC,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,2EAA+C,CAAA;IAC/C,2CAAe,CAAA;AACnB,CAAC,EATW,wBAAwB,wCAAxB,wBAAwB,QASnC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingProviderCode = void 0;
4
+ /** Third-party tracking platform behind a provider connection (frontend mirror). */
5
+ var TrackingProviderCode;
6
+ (function (TrackingProviderCode) {
7
+ TrackingProviderCode["TELOX"] = "TELOX";
8
+ TrackingProviderCode["WIALON"] = "WIALON";
9
+ TrackingProviderCode["TELTONIKA"] = "TELTONIKA";
10
+ TrackingProviderCode["GENERIC_WEBSOCKET"] = "GENERIC_WEBSOCKET";
11
+ TrackingProviderCode["GENERIC_HTTP_POLLING"] = "GENERIC_HTTP_POLLING";
12
+ })(TrackingProviderCode || (exports.TrackingProviderCode = TrackingProviderCode = {}));
13
+ //# sourceMappingURL=tracking-provider-code.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":";;;AAAA,oFAAoF;AACpF,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,+CAAuB,CAAA;IACvB,+DAAuC,CAAA;IACvC,qEAA6C,CAAA;AACjD,CAAC,EANW,oBAAoB,oCAApB,oBAAoB,QAM/B"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingTransportType = void 0;
4
+ var TrackingTransportType;
5
+ (function (TrackingTransportType) {
6
+ TrackingTransportType["WEBSOCKET"] = "WEBSOCKET";
7
+ TrackingTransportType["HTTP_POLLING"] = "HTTP_POLLING";
8
+ TrackingTransportType["TCP"] = "TCP";
9
+ TrackingTransportType["UDP"] = "UDP";
10
+ TrackingTransportType["MQTT"] = "MQTT";
11
+ })(TrackingTransportType || (exports.TrackingTransportType = TrackingTransportType = {}));
12
+ //# sourceMappingURL=tracking-transport-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC7B,gDAAuB,CAAA;IACvB,sDAA6B,CAAA;IAC7B,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;AACjB,CAAC,EANW,qBAAqB,qCAArB,qBAAqB,QAMhC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrackingUnitOnlineStatus = void 0;
4
+ var TrackingUnitOnlineStatus;
5
+ (function (TrackingUnitOnlineStatus) {
6
+ TrackingUnitOnlineStatus["ONLINE"] = "ONLINE";
7
+ TrackingUnitOnlineStatus["STALE"] = "STALE";
8
+ TrackingUnitOnlineStatus["OFFLINE"] = "OFFLINE";
9
+ })(TrackingUnitOnlineStatus || (exports.TrackingUnitOnlineStatus = TrackingUnitOnlineStatus = {}));
10
+ //# sourceMappingURL=tracking-unit-online-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-unit-online-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-unit-online-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,6CAAiB,CAAA;IACjB,2CAAe,CAAA;IACf,+CAAmB,CAAA;AACvB,CAAC,EAJW,wBAAwB,wCAAxB,wBAAwB,QAInC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/tracking-provider-code.enum"), exports);
19
+ __exportStar(require("./enums/tracking-transport-type.enum"), exports);
20
+ __exportStar(require("./enums/tracking-connection-status.enum"), exports);
21
+ __exportStar(require("./enums/tracking-unit-online-status.enum"), exports);
22
+ // Interfaces / DTOs
23
+ __exportStar(require("./interfaces/tracking-provider-connection.dto"), exports);
24
+ __exportStar(require("./interfaces/tracking-device-binding.dto"), exports);
25
+ __exportStar(require("./interfaces/tracking-position.dto"), exports);
26
+ __exportStar(require("./interfaces/tracking-socket-events"), exports);
27
+ __exportStar(require("./interfaces/tracking-operations.dto"), exports);
28
+ __exportStar(require("./interfaces/tracking-playback.dto"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/tracking/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,sEAAoD;AACpD,uEAAqD;AACrD,0EAAwD;AACxD,2EAAyD;AAEzD,oBAAoB;AACpB,gFAA8D;AAC9D,2EAAyD;AACzD,qEAAmD;AACnD,sEAAoD;AACpD,uEAAqD;AACrD,qEAAmD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-device-binding.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-device-binding.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-device-binding.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-operations.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-operations.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-operations.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-playback.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-playback.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-playback.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-position.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-position.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-position.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-provider-connection.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-connection.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-provider-connection.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tracking-socket-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-socket-events.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-socket-events.ts"],"names":[],"mappings":""}
package/dist/esm/index.js CHANGED
@@ -17,6 +17,7 @@ export * from './modules/web-notification/index';
17
17
  export * from './modules/notification/index';
18
18
  export * from './modules/chat/index';
19
19
  export * from './modules/country/index';
20
+ export * from './modules/tracking/index';
20
21
  // Interfaces
21
22
  export * from './modules/common/interfaces/server-message';
22
23
  export * from './modules/common/interfaces/pagination';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AAExC,aAAa;AACb,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,aAAa;AACb,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wCAAwC,CAAC"}
@@ -5,5 +5,10 @@ export var SocketEventName;
5
5
  SocketEventName["PUSH_NOTIFICATION_EVENT"] = "pushNotification.event";
6
6
  SocketEventName["TASK_EVENT"] = "task.event";
7
7
  SocketEventName["TRIP_EVENT"] = "trip.event";
8
+ // Response-unit tracking
9
+ SocketEventName["TRACKING_POSITION"] = "tracking:position";
10
+ SocketEventName["TRACKING_STATUS"] = "tracking:status";
11
+ SocketEventName["TRACKING_REMOVED"] = "tracking:removed";
12
+ SocketEventName["TRACKING_PROVIDER_HEALTH"] = "tracking:provider-health";
8
13
  })(SocketEventName || (SocketEventName = {}));
9
14
  //# sourceMappingURL=socket-event-name.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"socket-event-name.enum.js","sourceRoot":"","sources":["../../../../../src/modules/socket/enums/socket-event-name.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACvB,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;AAC7B,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B"}
1
+ {"version":3,"file":"socket-event-name.enum.js","sourceRoot":"","sources":["../../../../../src/modules/socket/enums/socket-event-name.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAWX;AAXD,WAAY,eAAe;IACvB,oDAAiC,CAAA;IACjC,mEAAgD,CAAA;IAChD,qEAAkD,CAAA;IAClD,4CAAyB,CAAA;IACzB,4CAAyB,CAAA;IACzB,yBAAyB;IACzB,0DAAuC,CAAA;IACvC,sDAAmC,CAAA;IACnC,wDAAqC,CAAA;IACrC,wEAAqD,CAAA;AACzD,CAAC,EAXW,eAAe,KAAf,eAAe,QAW1B"}
@@ -0,0 +1,12 @@
1
+ export var TrackingConnectionStatus;
2
+ (function (TrackingConnectionStatus) {
3
+ TrackingConnectionStatus["DISABLED"] = "DISABLED";
4
+ TrackingConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
5
+ TrackingConnectionStatus["CONNECTING"] = "CONNECTING";
6
+ TrackingConnectionStatus["AUTHENTICATING"] = "AUTHENTICATING";
7
+ TrackingConnectionStatus["CONNECTED"] = "CONNECTED";
8
+ TrackingConnectionStatus["DEGRADED"] = "DEGRADED";
9
+ TrackingConnectionStatus["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
10
+ TrackingConnectionStatus["ERROR"] = "ERROR";
11
+ })(TrackingConnectionStatus || (TrackingConnectionStatus = {}));
12
+ //# sourceMappingURL=tracking-connection-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-connection-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-connection-status.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,wBASX;AATD,WAAY,wBAAwB;IAChC,iDAAqB,CAAA;IACrB,yDAA6B,CAAA;IAC7B,qDAAyB,CAAA;IACzB,6DAAiC,CAAA;IACjC,mDAAuB,CAAA;IACvB,iDAAqB,CAAA;IACrB,2EAA+C,CAAA;IAC/C,2CAAe,CAAA;AACnB,CAAC,EATW,wBAAwB,KAAxB,wBAAwB,QASnC"}
@@ -0,0 +1,10 @@
1
+ /** Third-party tracking platform behind a provider connection (frontend mirror). */
2
+ export var TrackingProviderCode;
3
+ (function (TrackingProviderCode) {
4
+ TrackingProviderCode["TELOX"] = "TELOX";
5
+ TrackingProviderCode["WIALON"] = "WIALON";
6
+ TrackingProviderCode["TELTONIKA"] = "TELTONIKA";
7
+ TrackingProviderCode["GENERIC_WEBSOCKET"] = "GENERIC_WEBSOCKET";
8
+ TrackingProviderCode["GENERIC_HTTP_POLLING"] = "GENERIC_HTTP_POLLING";
9
+ })(TrackingProviderCode || (TrackingProviderCode = {}));
10
+ //# sourceMappingURL=tracking-provider-code.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC5B,uCAAe,CAAA;IACf,yCAAiB,CAAA;IACjB,+CAAuB,CAAA;IACvB,+DAAuC,CAAA;IACvC,qEAA6C,CAAA;AACjD,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B"}
@@ -0,0 +1,9 @@
1
+ export var TrackingTransportType;
2
+ (function (TrackingTransportType) {
3
+ TrackingTransportType["WEBSOCKET"] = "WEBSOCKET";
4
+ TrackingTransportType["HTTP_POLLING"] = "HTTP_POLLING";
5
+ TrackingTransportType["TCP"] = "TCP";
6
+ TrackingTransportType["UDP"] = "UDP";
7
+ TrackingTransportType["MQTT"] = "MQTT";
8
+ })(TrackingTransportType || (TrackingTransportType = {}));
9
+ //# sourceMappingURL=tracking-transport-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAMX;AAND,WAAY,qBAAqB;IAC7B,gDAAuB,CAAA;IACvB,sDAA6B,CAAA;IAC7B,oCAAW,CAAA;IACX,oCAAW,CAAA;IACX,sCAAa,CAAA;AACjB,CAAC,EANW,qBAAqB,KAArB,qBAAqB,QAMhC"}
@@ -0,0 +1,7 @@
1
+ export var TrackingUnitOnlineStatus;
2
+ (function (TrackingUnitOnlineStatus) {
3
+ TrackingUnitOnlineStatus["ONLINE"] = "ONLINE";
4
+ TrackingUnitOnlineStatus["STALE"] = "STALE";
5
+ TrackingUnitOnlineStatus["OFFLINE"] = "OFFLINE";
6
+ })(TrackingUnitOnlineStatus || (TrackingUnitOnlineStatus = {}));
7
+ //# sourceMappingURL=tracking-unit-online-status.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-unit-online-status.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-unit-online-status.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,wBAIX;AAJD,WAAY,wBAAwB;IAChC,6CAAiB,CAAA;IACjB,2CAAe,CAAA;IACf,+CAAmB,CAAA;AACvB,CAAC,EAJW,wBAAwB,KAAxB,wBAAwB,QAInC"}
@@ -0,0 +1,13 @@
1
+ // Enums
2
+ export * from './enums/tracking-provider-code.enum';
3
+ export * from './enums/tracking-transport-type.enum';
4
+ export * from './enums/tracking-connection-status.enum';
5
+ export * from './enums/tracking-unit-online-status.enum';
6
+ // Interfaces / DTOs
7
+ export * from './interfaces/tracking-provider-connection.dto';
8
+ export * from './interfaces/tracking-device-binding.dto';
9
+ export * from './interfaces/tracking-position.dto';
10
+ export * from './interfaces/tracking-socket-events';
11
+ export * from './interfaces/tracking-operations.dto';
12
+ export * from './interfaces/tracking-playback.dto';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/tracking/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AAEzD,oBAAoB;AACpB,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-device-binding.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-device-binding.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-device-binding.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-operations.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-operations.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-operations.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-playback.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-playback.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-playback.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-position.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-position.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-position.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-provider-connection.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-connection.dto.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-provider-connection.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tracking-socket-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-socket-events.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-socket-events.ts"],"names":[],"mappings":""}
@@ -16,5 +16,6 @@ export * from './modules/web-notification/index';
16
16
  export * from './modules/notification/index';
17
17
  export * from './modules/chat/index';
18
18
  export * from './modules/country/index';
19
+ export * from './modules/tracking/index';
19
20
  export * from './modules/common/interfaces/server-message';
20
21
  export * from './modules/common/interfaces/pagination';
@@ -3,5 +3,9 @@ export declare enum SocketEventName {
3
3
  WEB_NOTIFICATION_EVENT = "webNotification.event",
4
4
  PUSH_NOTIFICATION_EVENT = "pushNotification.event",
5
5
  TASK_EVENT = "task.event",
6
- TRIP_EVENT = "trip.event"
6
+ TRIP_EVENT = "trip.event",
7
+ TRACKING_POSITION = "tracking:position",
8
+ TRACKING_STATUS = "tracking:status",
9
+ TRACKING_REMOVED = "tracking:removed",
10
+ TRACKING_PROVIDER_HEALTH = "tracking:provider-health"
7
11
  }
@@ -0,0 +1,10 @@
1
+ export declare enum TrackingConnectionStatus {
2
+ DISABLED = "DISABLED",
3
+ DISCONNECTED = "DISCONNECTED",
4
+ CONNECTING = "CONNECTING",
5
+ AUTHENTICATING = "AUTHENTICATING",
6
+ CONNECTED = "CONNECTED",
7
+ DEGRADED = "DEGRADED",
8
+ AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED",
9
+ ERROR = "ERROR"
10
+ }
@@ -0,0 +1,8 @@
1
+ /** Third-party tracking platform behind a provider connection (frontend mirror). */
2
+ export declare enum TrackingProviderCode {
3
+ TELOX = "TELOX",
4
+ WIALON = "WIALON",
5
+ TELTONIKA = "TELTONIKA",
6
+ GENERIC_WEBSOCKET = "GENERIC_WEBSOCKET",
7
+ GENERIC_HTTP_POLLING = "GENERIC_HTTP_POLLING"
8
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum TrackingTransportType {
2
+ WEBSOCKET = "WEBSOCKET",
3
+ HTTP_POLLING = "HTTP_POLLING",
4
+ TCP = "TCP",
5
+ UDP = "UDP",
6
+ MQTT = "MQTT"
7
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum TrackingUnitOnlineStatus {
2
+ ONLINE = "ONLINE",
3
+ STALE = "STALE",
4
+ OFFLINE = "OFFLINE"
5
+ }
@@ -0,0 +1,10 @@
1
+ export * from './enums/tracking-provider-code.enum';
2
+ export * from './enums/tracking-transport-type.enum';
3
+ export * from './enums/tracking-connection-status.enum';
4
+ export * from './enums/tracking-unit-online-status.enum';
5
+ export * from './interfaces/tracking-provider-connection.dto';
6
+ export * from './interfaces/tracking-device-binding.dto';
7
+ export * from './interfaces/tracking-position.dto';
8
+ export * from './interfaces/tracking-socket-events';
9
+ export * from './interfaces/tracking-operations.dto';
10
+ export * from './interfaces/tracking-playback.dto';
@@ -0,0 +1,43 @@
1
+ export interface TrackingDeviceBindingDto {
2
+ id: number;
3
+ organizationId: number;
4
+ controlCentreId: number;
5
+ responseUnitId: number;
6
+ providerConnectionId: number;
7
+ externalUnitId: string;
8
+ externalDeviceId: string | null;
9
+ imei: string | null;
10
+ externalNickname: string | null;
11
+ enabled: boolean;
12
+ lastSeenAt: string | null;
13
+ createdAt: string;
14
+ updatedAt: string;
15
+ }
16
+ export interface CreateTrackingDeviceBindingDto {
17
+ providerConnectionId: number;
18
+ responseUnitId: number;
19
+ externalUnitId: string;
20
+ externalDeviceId?: string;
21
+ imei?: string;
22
+ externalNickname?: string;
23
+ }
24
+ export interface UpdateTrackingDeviceBindingDto {
25
+ externalDeviceId?: string;
26
+ imei?: string;
27
+ externalNickname?: string;
28
+ enabled?: boolean;
29
+ }
30
+ /** Admin diagnostic view of an external unit with no active binding. */
31
+ export interface TrackingUnmappedUnitDto {
32
+ id: number;
33
+ providerConnectionId: number;
34
+ organizationId: number;
35
+ externalUnitId: string;
36
+ externalNickname: string | null;
37
+ firstSeenAt: string;
38
+ lastSeenAt: string;
39
+ latestPayloadSummary: Record<string, unknown>;
40
+ occurrenceCount: number;
41
+ resolvedAt: string | null;
42
+ resolvedBy: number | null;
43
+ }
@@ -0,0 +1,124 @@
1
+ import { TrackingConnectionStatus } from '../enums/tracking-connection-status.enum';
2
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
3
+ /**
4
+ * Frontend contracts for the tracking operations dashboard + reconciliation.
5
+ * Browser-safe: no secrets, no auth frames, no Node-only types. Shapes mirror
6
+ * clarion-response-tracking's OperationsService / ReconciliationService responses.
7
+ */
8
+ export interface TrackingConnectionCountsDto {
9
+ total: number;
10
+ connected: number;
11
+ degraded: number;
12
+ authenticationFailed: number;
13
+ error: number;
14
+ disabled: number;
15
+ }
16
+ export interface TrackingUnitCountsDto {
17
+ mappedUnits: number;
18
+ unmappedUnits: number;
19
+ online: number;
20
+ stale: number;
21
+ offline: number;
22
+ }
23
+ export interface TrackingIngestionSummaryDto {
24
+ messagesReceived: number;
25
+ locationsReceived: number;
26
+ locationsNormalized: number;
27
+ locationsRejected: number;
28
+ duplicates: number;
29
+ outOfOrder: number;
30
+ unmappedSeen: number;
31
+ historyWriteFailures: number;
32
+ redisUpdateFailures: number;
33
+ kafkaPublishFailures: number;
34
+ leaseAcquireFailures: number;
35
+ leaseOwnershipChanges: number;
36
+ reconciliationDiscrepancies: number;
37
+ }
38
+ export interface TrackingOperationsSummaryDto {
39
+ connections: TrackingConnectionCountsDto;
40
+ units: TrackingUnitCountsDto;
41
+ ingestion: TrackingIngestionSummaryDto;
42
+ }
43
+ export interface TrackingProviderSummaryDto {
44
+ id: number;
45
+ name: string;
46
+ organizationId: number;
47
+ controlCentreId: number | null;
48
+ providerCode: TrackingProviderCode;
49
+ connectionStatus: TrackingConnectionStatus;
50
+ enabled: boolean;
51
+ lastConnectedAt: string | null;
52
+ lastEventAt: string | null;
53
+ lastErrorAt: string | null;
54
+ lastErrorCode: string | null;
55
+ /** Sanitized upstream — never contains credentials. */
56
+ lastErrorMessage: string | null;
57
+ /** Optional counts when the API augments provider rows. */
58
+ mappedUnits?: number;
59
+ unmappedUnits?: number;
60
+ reconnectCount?: number;
61
+ }
62
+ export interface TrackingUnitSummaryDto {
63
+ total: number;
64
+ online: number;
65
+ stale: number;
66
+ offline: number;
67
+ }
68
+ /**
69
+ * Per-connection readiness indicators, computed on the frontend from a provider
70
+ * connection + its health (or a future backend readiness endpoint).
71
+ */
72
+ export interface TrackingConfigReadinessDto {
73
+ connectionId: number;
74
+ endpointConfigured: boolean;
75
+ secretReferenceConfigured: boolean;
76
+ normalizationValid: boolean;
77
+ thresholdsValid: boolean;
78
+ enabled: boolean;
79
+ hasSuccessfulConnection: boolean;
80
+ hasRecentEvent: boolean;
81
+ }
82
+ /** Optional per-connection metrics (future endpoint; shape reserved). */
83
+ export interface TrackingProviderMetricsDto {
84
+ connectionId: number;
85
+ connectAttempts?: number;
86
+ successfulConnections?: number;
87
+ authenticationFailures?: number;
88
+ reconnects?: number;
89
+ lastEventAt?: string | null;
90
+ locationsReceived?: number;
91
+ locationsRejected?: number;
92
+ duplicates?: number;
93
+ outOfOrder?: number;
94
+ }
95
+ export type ReconciliationDiscrepancyType = 'missing-in-projection' | 'missing-in-source' | 'control-centre-mismatch' | 'invalid-binding';
96
+ export interface ResponseUnitReconciliationDiscrepancyDto {
97
+ responseUnitId: number;
98
+ type: ReconciliationDiscrepancyType;
99
+ detail?: string;
100
+ }
101
+ export interface ResponseUnitReconciliationResultDto {
102
+ dryRun: boolean;
103
+ organizationId?: number;
104
+ scanned: number;
105
+ created: number;
106
+ updated: number;
107
+ moved: number;
108
+ unchanged: number;
109
+ orphansDetected: number;
110
+ orphansMarkedDeleted: number;
111
+ invalidBindingsSurfaced: number;
112
+ pages: number;
113
+ errors: string[];
114
+ discrepancies?: ResponseUnitReconciliationDiscrepancyDto[];
115
+ }
116
+ export interface ReconcileRequestDto {
117
+ organizationId?: number;
118
+ }
119
+ export interface UnmappedUnitResolutionDto {
120
+ resolved: true;
121
+ }
122
+ export interface ReopenUnmappedUnitDto {
123
+ reopened: true;
124
+ }
@@ -0,0 +1,46 @@
1
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
2
+ import { TrackingUnitOnlineStatus } from '../enums/tracking-unit-online-status.enum';
3
+ /**
4
+ * Frontend playback contracts for tracking history. A "route" is the processed,
5
+ * client-side representation used by the playback UI — actual provider points
6
+ * plus detected long gaps. Interpolation is visual-only and NEVER sent back to
7
+ * the server / Kafka / Socket.IO.
8
+ */
9
+ export interface TrackingPlaybackPointDto {
10
+ eventId: string;
11
+ responseUnitId: number;
12
+ /** ISO 8601 UTC (actual provider event time — playback is time-driven). */
13
+ eventTime: string;
14
+ receivedAt?: string;
15
+ latitude: number;
16
+ longitude: number;
17
+ speedKph?: number | null;
18
+ /** Degrees clockwise from north, [0,360); null/undefined ⇒ do not rotate. */
19
+ courseDegrees?: number | null;
20
+ moving?: boolean | null;
21
+ accuracyMetres?: number | null;
22
+ status?: TrackingUnitOnlineStatus;
23
+ providerCode?: TrackingProviderCode;
24
+ /** True when the segment leading INTO this point exceeds the gap threshold. */
25
+ gapBefore?: boolean;
26
+ /** Seconds since the previous point (undefined for the first point). */
27
+ secondsSincePrevious?: number;
28
+ }
29
+ export interface TrackingHistoryGapDto {
30
+ /** Index (in the points array) of the point BEFORE the gap. */
31
+ fromIndex: number;
32
+ /** Index of the point AFTER the gap. */
33
+ toIndex: number;
34
+ fromEventTime: string;
35
+ toEventTime: string;
36
+ gapSeconds: number;
37
+ }
38
+ export interface TrackingPlaybackRouteDto {
39
+ responseUnitId: number;
40
+ points: TrackingPlaybackPointDto[];
41
+ gaps: TrackingHistoryGapDto[];
42
+ startEventTime: string | null;
43
+ endEventTime: string | null;
44
+ /** Total actual points (before any downsampling). */
45
+ totalPoints: number;
46
+ }
@@ -0,0 +1,70 @@
1
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
2
+ import { TrackingUnitOnlineStatus } from '../enums/tracking-unit-online-status.enum';
3
+ /** Current position of a response unit (from the snapshot endpoint / Redis). */
4
+ export interface ResponseUnitCurrentPositionDto {
5
+ organizationId: number;
6
+ controlCentreId: number;
7
+ responseUnitId: number;
8
+ providerCode: TrackingProviderCode;
9
+ providerConnectionId: string;
10
+ externalUnitId: string;
11
+ latitude: number;
12
+ longitude: number;
13
+ accuracyMetres?: number | null;
14
+ speedKph?: number | null;
15
+ courseDegrees?: number | null;
16
+ altitudeMetres?: number | null;
17
+ moving?: boolean | null;
18
+ ignitionOn?: boolean | null;
19
+ eventTime: string;
20
+ receivedAt: string;
21
+ lastPresenceAt?: string | null;
22
+ status: TrackingUnitOnlineStatus;
23
+ }
24
+ /** One historical track point. */
25
+ export interface ResponseUnitTrackingPointDto {
26
+ eventId: string;
27
+ responseUnitId: number;
28
+ eventTime: string;
29
+ receivedAt: string;
30
+ latitude: number;
31
+ longitude: number;
32
+ accuracyMetres: number | null;
33
+ speedKph: number | null;
34
+ courseDegrees: number | null;
35
+ altitudeMetres: number | null;
36
+ moving: boolean | null;
37
+ ignitionOn: boolean | null;
38
+ }
39
+ export interface ResponseUnitTrackingHistoryDto {
40
+ data: ResponseUnitTrackingPointDto[];
41
+ meta: {
42
+ total: number;
43
+ page: number;
44
+ limit: number;
45
+ totalPages: number;
46
+ hasNextPage: boolean;
47
+ hasPreviousPage: boolean;
48
+ };
49
+ }
50
+ export interface ResponseUnitTrackingHistoryQuery {
51
+ startDate?: string;
52
+ endDate?: string;
53
+ page?: number;
54
+ limit?: number;
55
+ }
56
+ export interface TrackingBoundingBox {
57
+ north: number;
58
+ south: number;
59
+ east: number;
60
+ west: number;
61
+ }
62
+ export interface TrackingCurrentPositionQuery {
63
+ controlCentreId?: number;
64
+ status?: TrackingUnitOnlineStatus;
65
+ north?: number;
66
+ south?: number;
67
+ east?: number;
68
+ west?: number;
69
+ }
70
+ export type TrackingHistoryQuery = ResponseUnitTrackingHistoryQuery;
@@ -0,0 +1,74 @@
1
+ import { TrackingConnectionStatus } from '../enums/tracking-connection-status.enum';
2
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
3
+ import { TrackingTransportType } from '../enums/tracking-transport-type.enum';
4
+ /**
5
+ * Frontend view of a provider connection. NEVER carries the secret value; the
6
+ * backend returns `secretConfigured` instead of `secretReference`.
7
+ */
8
+ export interface TrackingProviderConnectionDto {
9
+ id: number;
10
+ organizationId: number;
11
+ controlCentreId: number | null;
12
+ providerCode: TrackingProviderCode;
13
+ transportType: TrackingTransportType;
14
+ name: string;
15
+ endpoint: string;
16
+ externalDomain: string | null;
17
+ externalUsername: string | null;
18
+ secretConfigured: boolean;
19
+ configuration: Record<string, unknown>;
20
+ enabled: boolean;
21
+ connectionStatus: TrackingConnectionStatus;
22
+ lastConnectedAt: string | null;
23
+ lastDisconnectedAt: string | null;
24
+ lastEventAt: string | null;
25
+ lastErrorAt: string | null;
26
+ lastErrorCode: string | null;
27
+ lastErrorMessage: string | null;
28
+ createdAt: string;
29
+ updatedAt: string;
30
+ }
31
+ export interface CreateTrackingProviderConnectionDto {
32
+ organizationId?: number;
33
+ controlCentreId?: number;
34
+ providerCode: TrackingProviderCode;
35
+ transportType?: TrackingTransportType;
36
+ name: string;
37
+ endpoint: string;
38
+ externalDomain?: string;
39
+ externalUsername?: string;
40
+ /** A secret NAME/reference — never the value. */
41
+ secretReference: string;
42
+ configuration?: Record<string, unknown>;
43
+ enabled?: boolean;
44
+ }
45
+ export interface UpdateTrackingProviderConnectionDto {
46
+ transportType?: TrackingTransportType;
47
+ name?: string;
48
+ endpoint?: string;
49
+ externalDomain?: string;
50
+ externalUsername?: string;
51
+ secretReference?: string;
52
+ configuration?: Record<string, unknown>;
53
+ enabled?: boolean;
54
+ }
55
+ export interface TrackingProviderConnectionHealthDto {
56
+ id: number;
57
+ providerCode: TrackingProviderCode;
58
+ enabled: boolean;
59
+ connectionStatus: TrackingConnectionStatus;
60
+ lastConnectedAt: string | null;
61
+ lastDisconnectedAt: string | null;
62
+ lastEventAt: string | null;
63
+ lastErrorAt: string | null;
64
+ lastErrorCode: string | null;
65
+ lastErrorMessage: string | null;
66
+ }
67
+ /** Result of POST /provider-connections/:id/test (safe — no secrets). */
68
+ export interface TrackingProviderConnectionTestResultDto {
69
+ success: boolean;
70
+ authenticationFailed?: boolean;
71
+ connectionStatus: TrackingConnectionStatus;
72
+ message: string;
73
+ latencyMs?: number;
74
+ }
@@ -0,0 +1,49 @@
1
+ import { TrackingConnectionStatus } from '../enums/tracking-connection-status.enum';
2
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
3
+ import { TrackingUnitOnlineStatus } from '../enums/tracking-unit-online-status.enum';
4
+ /**
5
+ * Frontend-safe Socket.IO event payloads emitted by clarion-socket. These mirror
6
+ * the backend Tracking*SocketPayloadV1 shapes — only display fields, no secrets.
7
+ */
8
+ export interface TrackingPositionSocketEvent {
9
+ responseUnitId: number;
10
+ organizationId: number;
11
+ controlCentreId: number;
12
+ eventTime: string;
13
+ receivedAt: string;
14
+ latitude: number;
15
+ longitude: number;
16
+ accuracyMetres?: number;
17
+ speedKph?: number;
18
+ /** Degrees clockwise from north, [0,360). Omitted/undefined ⇒ do not rotate. */
19
+ courseDegrees?: number;
20
+ moving?: boolean;
21
+ ignitionOn?: boolean;
22
+ status: TrackingUnitOnlineStatus;
23
+ }
24
+ export interface TrackingStatusSocketEvent {
25
+ responseUnitId: number;
26
+ organizationId: number;
27
+ controlCentreId: number;
28
+ status: TrackingUnitOnlineStatus;
29
+ previousStatus?: TrackingUnitOnlineStatus;
30
+ lastEventTime?: string;
31
+ evaluatedAt: string;
32
+ }
33
+ export interface TrackingRemovedSocketEvent {
34
+ responseUnitId: number;
35
+ organizationId: number;
36
+ controlCentreId: number;
37
+ reason?: string;
38
+ evaluatedAt: string;
39
+ }
40
+ export interface TrackingProviderHealthSocketEvent {
41
+ providerConnectionId: string;
42
+ providerCode: TrackingProviderCode;
43
+ organizationId: number;
44
+ controlCentreId?: number;
45
+ connectionStatus: TrackingConnectionStatus;
46
+ lastEventAt?: string;
47
+ errorCode?: string;
48
+ evaluatedAt: string;
49
+ }
package/package.json CHANGED
@@ -1,45 +1,45 @@
1
- {
2
- "name": "clarion-shared-types",
3
- "version": "1.0.79",
4
- "main": "dist/cjs/index.js",
5
- "module": "dist/esm/index.js",
6
- "types": "dist/types/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/types/index.d.ts",
10
- "import": "./dist/esm/index.js",
11
- "require": "./dist/cjs/index.js"
12
- },
13
- "./dist/modules/*": {
14
- "types": "./dist/types/modules/*.d.ts",
15
- "import": "./dist/esm/modules/*.js",
16
- "require": "./dist/cjs/modules/*.js"
17
- }
18
- },
19
- "files": [
20
- "dist/**/*"
21
- ],
22
- "scripts": {
23
- "clean": "rimraf dist dist-test",
24
- "build:cjs": "tsc -p tsconfig.cjs.json",
25
- "build:esm": "tsc -p tsconfig.esm.json",
26
- "build:types": "tsc -p tsconfig.types.json",
27
- "build": "npm run clean && npm run build:types && npm run build:cjs && npm run build:esm",
28
- "prepublishOnly": "npm run build",
29
- "pretest": "rimraf dist-test",
30
- "test": "tsc -p tsconfig.spec.json && node dist-test/modules/country/__tests__/country.spec.js"
31
- },
32
- "keywords": [],
33
- "author": "vince_lawino",
34
- "license": "ISC",
35
- "description": "",
36
- "publishConfig": {
37
- "access": "public"
38
- },
39
- "devDependencies": {
40
- "@types/geojson": "^7946.0.16",
41
- "@types/node": "^20.11.2",
42
- "rimraf": "^5.0.5",
43
- "typescript": "^5.7.3"
44
- }
45
- }
1
+ {
2
+ "name": "clarion-shared-types",
3
+ "version": "1.0.81",
4
+ "main": "dist/cjs/index.js",
5
+ "module": "dist/esm/index.js",
6
+ "types": "dist/types/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/types/index.d.ts",
10
+ "import": "./dist/esm/index.js",
11
+ "require": "./dist/cjs/index.js"
12
+ },
13
+ "./dist/modules/*": {
14
+ "types": "./dist/types/modules/*.d.ts",
15
+ "import": "./dist/esm/modules/*.js",
16
+ "require": "./dist/cjs/modules/*.js"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist/**/*"
21
+ ],
22
+ "scripts": {
23
+ "clean": "rimraf dist dist-test",
24
+ "build:cjs": "tsc -p tsconfig.cjs.json",
25
+ "build:esm": "tsc -p tsconfig.esm.json",
26
+ "build:types": "tsc -p tsconfig.types.json",
27
+ "build": "npm run clean && npm run build:types && npm run build:cjs && npm run build:esm",
28
+ "prepublishOnly": "npm run build",
29
+ "pretest": "rimraf dist-test",
30
+ "test": "tsc -p tsconfig.spec.json && node --test \"dist-test/**/*.spec.js\""
31
+ },
32
+ "keywords": [],
33
+ "author": "vince_lawino",
34
+ "license": "ISC",
35
+ "description": "",
36
+ "publishConfig": {
37
+ "access": "public"
38
+ },
39
+ "devDependencies": {
40
+ "@types/geojson": "^7946.0.16",
41
+ "@types/node": "^20.11.2",
42
+ "rimraf": "^5.0.5",
43
+ "typescript": "^5.7.3"
44
+ }
45
+ }