grm-shared-library 1.1.206 → 1.1.208

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 (35) hide show
  1. package/README.md +75 -0
  2. package/dist/cjs/modules/role/constants/roles-by-scope.js +2 -1
  3. package/dist/cjs/modules/role/constants/roles-by-scope.js.map +1 -1
  4. package/dist/cjs/modules/role/data/roles.data.js +30 -0
  5. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  6. package/dist/cjs/modules/role/enums/role.enum.js +1 -0
  7. package/dist/cjs/modules/role/enums/role.enum.js.map +1 -1
  8. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js +7 -4
  9. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -1
  10. package/dist/cjs/modules/tracking/enums/tracking-transport-type.enum.js +3 -3
  11. package/dist/cjs/modules/tracking/enums/tracking-transport-type.enum.js.map +1 -1
  12. package/dist/cjs/modules/tracking/index.js +2 -0
  13. package/dist/cjs/modules/tracking/index.js.map +1 -1
  14. package/dist/cjs/modules/tracking/interfaces/tracking-provider-descriptor.js +79 -0
  15. package/dist/cjs/modules/tracking/interfaces/tracking-provider-descriptor.js.map +1 -0
  16. package/dist/esm/modules/role/constants/roles-by-scope.js +2 -1
  17. package/dist/esm/modules/role/constants/roles-by-scope.js.map +1 -1
  18. package/dist/esm/modules/role/data/roles.data.js +30 -0
  19. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  20. package/dist/esm/modules/role/enums/role.enum.js +1 -0
  21. package/dist/esm/modules/role/enums/role.enum.js.map +1 -1
  22. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js +7 -4
  23. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -1
  24. package/dist/esm/modules/tracking/enums/tracking-transport-type.enum.js +3 -3
  25. package/dist/esm/modules/tracking/enums/tracking-transport-type.enum.js.map +1 -1
  26. package/dist/esm/modules/tracking/index.js +2 -0
  27. package/dist/esm/modules/tracking/index.js.map +1 -1
  28. package/dist/esm/modules/tracking/interfaces/tracking-provider-descriptor.js +75 -0
  29. package/dist/esm/modules/tracking/interfaces/tracking-provider-descriptor.js.map +1 -0
  30. package/dist/types/modules/role/enums/role.enum.d.ts +1 -0
  31. package/dist/types/modules/tracking/enums/tracking-provider-code.enum.d.ts +7 -4
  32. package/dist/types/modules/tracking/enums/tracking-transport-type.enum.d.ts +3 -3
  33. package/dist/types/modules/tracking/index.d.ts +1 -0
  34. package/dist/types/modules/tracking/interfaces/tracking-provider-descriptor.d.ts +117 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -3,6 +3,81 @@
3
3
  Common code for GRM — shared types, enums, interfaces, DTOs and constants for the
4
4
  Clarion / Upesy backend NestJS microservices.
5
5
 
6
+ ## Calendar dates
7
+
8
+ One definition of what a date is, because there used to be four and they had
9
+ drifted apart.
10
+
11
+ ```ts
12
+ import {
13
+ ISO_CALENDAR_DATE_PATTERN, // the one regex - never write another
14
+ isCalendarDate, // a real YYYY-MM-DD day; rejects 2026-02-30
15
+ toCalendarDate, // Date | string -> YYYY-MM-DD | undefined
16
+ isPlausibleBirthDate, // not future, within 120 years, NO minimum age
17
+ calculateAge, isMinor, // whole years, UTC throughout
18
+ AGE_OF_MAJORITY_YEARS, // 18 - for COPY ONLY, never a validator
19
+ IsCalendarDate, IsBirthDate // class-validator decorators over the above
20
+ } from 'grm-shared-library';
21
+ ```
22
+
23
+ ### Why it refuses things
24
+
25
+ A calendar date has no time, no zone and no offset: somebody born on 17 April
26
+ 1990 was born on that day in Nairobi, in Kampala and in London alike. Every bug
27
+ this module exists to prevent comes from treating it as a moment.
28
+
29
+ The old conversion did `new Date(freeText)` and then `.toISOString()`. Under the
30
+ production pods` own `TZ=Africa/Nairobi`:
31
+
32
+ | input | old result | |
33
+ |---|---|---|
34
+ | `04/17/1990` | `1990-04-16` | a day early |
35
+ | `new Date(1990,3,17)` | `1990-04-16` | a day early - and this is what a date picker hands you |
36
+ | `17/04/1990` | `undefined` | the East African spelling, refused |
37
+ | `1990-04-17` | `1990-04-17` | correct |
38
+
39
+ `toCalendarDate` now accepts exactly three things and refuses everything else:
40
+
41
+ 1. `YYYY-MM-DD`
42
+ 2. a full ISO-8601 instant in **UTC** (`1990-04-17T00:00:00.000Z`)
43
+ 3. a `Date`, read in UTC - so build one with `Date.UTC`, never `new Date(y,m,d)`
44
+
45
+ An **offset** timestamp is refused too: `1990-04-17T00:00:00+03:00` is 16 April
46
+ in UTC, and only the sender knows which day they meant.
47
+
48
+ Free text is refused rather than guessed at. `04/17/1990` and `17/04/1990` are
49
+ the same eight characters in two orders, this platform serves Kenya, Uganda and
50
+ Tanzania where the second is the common spelling, and there is no reading of
51
+ that string that is safe to infer. A refused date surfaces as a field somebody
52
+ is asked to collect; a drifted one is a permanently wrong birthday at a partner
53
+ that cannot delete a member, on the record a paramedic uses to size a drug dose.
54
+
55
+ ### No minimum age
56
+
57
+ `isPlausibleBirthDate` refuses a future date and one beyond a human lifespan,
58
+ and imposes no lower bound. Dependants on a family emergency-cover plan are
59
+ children by design - that is the whole point of registering them with a
60
+ responder - so a minimum-age rule would refuse exactly the people the feature
61
+ exists for. `AGE_OF_MAJORITY_YEARS` is there for wording, not for gating.
62
+
63
+ ### A decorator alone guarantees nothing
64
+
65
+ `@IsCalendarDate` / `@IsBirthDate` are real validators, but on this platform
66
+ they are not enforcement on their own: clarion-authentication registers **no**
67
+ global `ValidationPipe`, the spreadsheet importer builds plain objects a pipe
68
+ never sees, and internal service-to-service calls bypass HTTP entirely. Any
69
+ service that OWNS a date must re-check it in the service layer, the way
70
+ `UserService.updateCountry` re-checks `isSupportedCountryCode`.
71
+
72
+ ### Postgres round trip
73
+
74
+ A `type: date` column returns a **string** through this stack, not a `Date`:
75
+ `pg` parses OID 1082 into a local-midnight `Date` and TypeORM reads it back with
76
+ local components, so the two cancel out. It is correct, but correct by
77
+ cancellation - never pass a value from a date column into `new Date()`.
78
+
79
+ ---
80
+
6
81
  ## Country & Currency (multi-country foundation)
7
82
 
8
83
  Platform-level primitives for country-aware emergency response, newsfeed,
@@ -7,7 +7,8 @@ exports.ORGANIZATION_ROLES = [
7
7
  role_enum_1.Roles.ORGANIZATION_ADMIN,
8
8
  role_enum_1.Roles.ORGANIZATION_USER,
9
9
  role_enum_1.Roles.ORGANIZATION_BILLING_ADMIN,
10
- role_enum_1.Roles.ORGANIZATION_NEWSFEED_ADMIN
10
+ role_enum_1.Roles.ORGANIZATION_NEWSFEED_ADMIN,
11
+ role_enum_1.Roles.ORGANIZATION_PARTNERSHIPS_ADMIN
11
12
  ];
12
13
  exports.CONTROL_CENTRE_ROLES = [
13
14
  role_enum_1.Roles.CONTROL_CENTRE_ADMIN,
@@ -1 +1 @@
1
- {"version":3,"file":"roles-by-scope.js","sourceRoot":"","sources":["../../../../../src/modules/role/constants/roles-by-scope.ts"],"names":[],"mappings":";;;AAAA,kDAA2C;AAE9B,QAAA,kBAAkB,GAAa;IACxC,iBAAK,CAAC,kBAAkB;IACxB,iBAAK,CAAC,kBAAkB;IACxB,iBAAK,CAAC,iBAAiB;IACvB,iBAAK,CAAC,0BAA0B;IAChC,iBAAK,CAAC,2BAA2B;CACpC,CAAC;AAEW,QAAA,oBAAoB,GAAa;IAC1C,iBAAK,CAAC,oBAAoB;IAC1B,iBAAK,CAAC,mBAAmB;IACzB,iBAAK,CAAC,SAAS;CAClB,CAAC;AAEW,QAAA,YAAY,GAAa;IAClC,iBAAK,CAAC,WAAW;CACpB,CAAC"}
1
+ {"version":3,"file":"roles-by-scope.js","sourceRoot":"","sources":["../../../../../src/modules/role/constants/roles-by-scope.ts"],"names":[],"mappings":";;;AAAA,kDAA2C;AAE9B,QAAA,kBAAkB,GAAa;IACxC,iBAAK,CAAC,kBAAkB;IACxB,iBAAK,CAAC,kBAAkB;IACxB,iBAAK,CAAC,iBAAiB;IACvB,iBAAK,CAAC,0BAA0B;IAChC,iBAAK,CAAC,2BAA2B;IACjC,iBAAK,CAAC,+BAA+B;CACxC,CAAC;AAEW,QAAA,oBAAoB,GAAa;IAC1C,iBAAK,CAAC,oBAAoB;IAC1B,iBAAK,CAAC,mBAAmB;IACzB,iBAAK,CAAC,SAAS;CAClB,CAAC;AAEW,QAAA,YAAY,GAAa;IAClC,iBAAK,CAAC,WAAW;CACpB,CAAC"}
@@ -200,6 +200,36 @@ exports.ROLES_DATA = [
200
200
  permission_1.PermissionActions.READ_RESPONSE_UNIT
201
201
  ]
202
202
  },
203
+ {
204
+ name: role_enum_1.Roles.ORGANIZATION_PARTNERSHIPS_ADMIN,
205
+ description: 'Organization Partnerships Admin: Manage partnerships with third-party responders - their configuration, coverage, dispatches and member registration',
206
+ permissions: [
207
+ //Partner: every action in the Partner permission module. Pinned by
208
+ //roles.spec.ts, so an action added to that module later has to be
209
+ //granted here - or deliberately withheld - rather than silently missed.
210
+ permission_1.PermissionActions.CREATE_PARTNER,
211
+ permission_1.PermissionActions.READ_PARTNER,
212
+ permission_1.PermissionActions.UPDATE_PARTNER,
213
+ permission_1.PermissionActions.DELETE_PARTNER,
214
+ //Partner dispatch
215
+ permission_1.PermissionActions.READ_PARTNER_DISPATCH,
216
+ permission_1.PermissionActions.APPROVE_PARTNER_DISPATCH,
217
+ permission_1.PermissionActions.UPDATE_PARTNER_DISPATCH,
218
+ permission_1.PermissionActions.CANCEL_PARTNER_DISPATCH,
219
+ permission_1.PermissionActions.RESEND_PARTNER_DISPATCH,
220
+ //Partner membership: includes reading and correcting a member's date
221
+ //of birth. Registering people with a partner is this role's job.
222
+ permission_1.PermissionActions.READ_PARTNER_MEMBERSHIP,
223
+ permission_1.PermissionActions.MANAGE_PARTNER_MEMBERSHIP,
224
+ //Billing: which packages a partnership registers subscribers of.
225
+ //Read-only - this role configures partnerships, not the packages.
226
+ permission_1.PermissionActions.READ_PACKAGE,
227
+ //Incident Category Type: which incident types and categories a
228
+ //partnership's coverage rules route to that partner. Read-only, and
229
+ //the taxonomy only - not the incidents themselves.
230
+ permission_1.PermissionActions.READ_INCIDENT_CATEGORY_TYPE
231
+ ]
232
+ },
203
233
  {
204
234
  name: role_enum_1.Roles.CONTROL_CENTRE_ADMIN,
205
235
  description: 'Control Centre Admin: Manage Control Centre',
@@ -1 +1 @@
1
- {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ var Roles;
9
9
  Roles["ORGANIZATION_USER"] = "Organization:User";
10
10
  Roles["ORGANIZATION_BILLING_ADMIN"] = "Organization:Billing-Admin";
11
11
  Roles["ORGANIZATION_NEWSFEED_ADMIN"] = "Organization:Newsfeed-Admin";
12
+ Roles["ORGANIZATION_PARTNERSHIPS_ADMIN"] = "Organization:Partnerships-Admin";
12
13
  Roles["CONTROL_CENTRE_ADMIN"] = "Control-Centre:Admin";
13
14
  Roles["CONTROL_CENTRE_USER"] = "Control-Centre:User";
14
15
  Roles["RESPONDER"] = "Responder";
@@ -1 +1 @@
1
- {"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../../src/modules/role/enums/role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,KAWX;AAXD,WAAY,KAAK;IACb,oCAA2B,CAAA;IAC3B,kDAAyC,CAAA;IACzC,kDAAyC,CAAA;IACzC,gDAAuC,CAAA;IACvC,kEAAyD,CAAA;IACzD,oEAA2D,CAAA;IAC3D,sDAA6C,CAAA;IAC7C,oDAA2C,CAAA;IAC3C,gCAAuB,CAAA;IACvB,oCAA2B,CAAA;AAC/B,CAAC,EAXW,KAAK,qBAAL,KAAK,QAWhB;AAED;;GAEG"}
1
+ {"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../../src/modules/role/enums/role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,KAYX;AAZD,WAAY,KAAK;IACb,oCAA2B,CAAA;IAC3B,kDAAyC,CAAA;IACzC,kDAAyC,CAAA;IACzC,gDAAuC,CAAA;IACvC,kEAAyD,CAAA;IACzD,oEAA2D,CAAA;IAC3D,4EAAmE,CAAA;IACnE,sDAA6C,CAAA;IAC7C,oDAA2C,CAAA;IAC3C,gCAAuB,CAAA;IACvB,oCAA2B,CAAA;AAC/B,CAAC,EAZW,KAAK,qBAAL,KAAK,QAYhB;AAED;;GAEG"}
@@ -8,15 +8,18 @@ exports.TrackingProviderCode = void 0;
8
8
  * per-provider adapter inside clarion-response-tracking understands the raw
9
9
  * wire format.
10
10
  *
11
- * Only {@link TrackingProviderCode.TELOX} has a working adapter in Phase 1. The
12
- * remaining values are reserved so future adapters can be added without changing
13
- * the shared contracts, database columns or Kafka events.
11
+ * {@link TrackingProviderCode.TELOX} and {@link TrackingProviderCode.WIALON} have
12
+ * working adapters. The remaining values are reserved so future adapters can be
13
+ * added without changing the shared contracts, database columns or Kafka events.
14
+ *
15
+ * A value here does NOT mean the provider can be connected — ask the service
16
+ * (`GET /tracking/providers`, see TrackingProviderDescriptor) which adapters exist.
14
17
  */
15
18
  var TrackingProviderCode;
16
19
  (function (TrackingProviderCode) {
17
20
  /** Telox WebSocket platform (G4S Phase 1 integration). */
18
21
  TrackingProviderCode["TELOX"] = "TELOX";
19
- /** Wialon (reserved — not implemented in Phase 1). */
22
+ /** Wialon Hosting / Wialon Local, polled over the Remote API. */
20
23
  TrackingProviderCode["WIALON"] = "WIALON";
21
24
  /** Teltonika direct device ingestion (reserved — not implemented in Phase 1). */
22
25
  TrackingProviderCode["TELTONIKA"] = "TELTONIKA";
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC5B,0DAA0D;IAC1D,uCAAe,CAAA;IACf,sDAAsD;IACtD,yCAAiB,CAAA;IACjB,iFAAiF;IACjF,+CAAuB,CAAA;IACvB,4CAA4C;IAC5C,+DAAuC,CAAA;IACvC,+CAA+C;IAC/C,qEAA6C,CAAA;AACjD,CAAC,EAXW,oBAAoB,oCAApB,oBAAoB,QAW/B"}
1
+ {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC5B,0DAA0D;IAC1D,uCAAe,CAAA;IACf,iEAAiE;IACjE,yCAAiB,CAAA;IACjB,iFAAiF;IACjF,+CAAuB,CAAA;IACvB,4CAA4C;IAC5C,+DAAuC,CAAA;IACvC,+CAA+C;IAC/C,qEAA6C,CAAA;AACjD,CAAC,EAXW,oBAAoB,oCAApB,oBAAoB,QAW/B"}
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TrackingTransportType = void 0;
4
4
  /**
5
5
  * How a provider connection physically transports telemetry into
6
- * clarion-response-tracking. Phase 1 implements only {@link WEBSOCKET} (Telox);
7
- * the remaining values are reserved for future adapters.
6
+ * clarion-response-tracking. {@link WEBSOCKET} (Telox) and {@link HTTP_POLLING}
7
+ * (Wialon) are implemented; the remaining values are reserved for future adapters.
8
8
  */
9
9
  var TrackingTransportType;
10
10
  (function (TrackingTransportType) {
11
11
  /** Outbound WebSocket client maintained by the connector worker (Telox). */
12
12
  TrackingTransportType["WEBSOCKET"] = "WEBSOCKET";
13
- /** Outbound HTTP polling loop. */
13
+ /** Outbound HTTP polling loop maintained by the connector worker (Wialon). */
14
14
  TrackingTransportType["HTTP_POLLING"] = "HTTP_POLLING";
15
15
  /** Inbound TCP listener (direct device ingestion). */
16
16
  TrackingTransportType["TCP"] = "TCP";
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,4EAA4E;IAC5E,gDAAuB,CAAA;IACvB,kCAAkC;IAClC,sDAA6B,CAAA;IAC7B,sDAAsD;IACtD,oCAAW,CAAA;IACX,sDAAsD;IACtD,oCAAW,CAAA;IACX,yBAAyB;IACzB,sCAAa,CAAA;AACjB,CAAC,EAXW,qBAAqB,qCAArB,qBAAqB,QAWhC"}
1
+ {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,4EAA4E;IAC5E,gDAAuB,CAAA;IACvB,8EAA8E;IAC9E,sDAA6B,CAAA;IAC7B,sDAAsD;IACtD,oCAAW,CAAA;IACX,sDAAsD;IACtD,oCAAW,CAAA;IACX,yBAAyB;IACzB,sCAAa,CAAA;AACjB,CAAC,EAXW,qBAAqB,qCAArB,qBAAqB,QAWhC"}
@@ -32,6 +32,8 @@ __exportStar(require("./interfaces/response-unit-lifecycle-events"), exports);
32
32
  __exportStar(require("./interfaces/tracking-unit-current-state"), exports);
33
33
  __exportStar(require("./interfaces/tracking-socket-payloads"), exports);
34
34
  __exportStar(require("./interfaces/tracking-realtime-envelope"), exports);
35
+ // Interfaces — provider catalog (what each adapter needs from an operator)
36
+ __exportStar(require("./interfaces/tracking-provider-descriptor"), exports);
35
37
  // Constants
36
38
  __exportStar(require("./constants/tracking-kafka.const"), exports);
37
39
  // Utilities
@@ -1 +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;AACzD,sEAAoD;AAEpD,+CAA+C;AAC/C,+EAA6D;AAC7D,+EAA6D;AAC7D,6EAA2D;AAC3D,iFAA+D;AAC/D,iFAA+D;AAC/D,iFAA+D;AAC/D,8EAA4D;AAE5D,+CAA+C;AAC/C,2EAAyD;AACzD,wEAAsD;AACtD,0EAAwD;AAExD,YAAY;AACZ,mEAAiD;AAEjD,YAAY;AACZ,iEAA+C;AAC/C,mEAAiD"}
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;AACzD,sEAAoD;AAEpD,+CAA+C;AAC/C,+EAA6D;AAC7D,+EAA6D;AAC7D,6EAA2D;AAC3D,iFAA+D;AAC/D,iFAA+D;AAC/D,iFAA+D;AAC/D,8EAA4D;AAE5D,+CAA+C;AAC/C,2EAAyD;AACzD,wEAAsD;AACtD,0EAAwD;AAExD,2EAA2E;AAC3E,4EAA0D;AAE1D,YAAY;AACZ,mEAAiD;AAEjD,YAAY;AACZ,iEAA+C;AAC/C,mEAAiD"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildDefaultTrackingProviderConfiguration = buildDefaultTrackingProviderConfiguration;
4
+ exports.validateTrackingProviderSettings = validateTrackingProviderSettings;
5
+ /**
6
+ * The `configuration` a connection gets when the operator supplies none: every
7
+ * setting at its default. Stored explicitly on the connection so that readers
8
+ * which know nothing about adapters (the status evaluator, ingestion guards) see
9
+ * the provider's thresholds rather than the service-wide fallbacks.
10
+ */
11
+ function buildDefaultTrackingProviderConfiguration(descriptor) {
12
+ const configuration = {};
13
+ for (const setting of descriptor.settings) {
14
+ configuration[setting.key] = setting.defaultValue;
15
+ }
16
+ return configuration;
17
+ }
18
+ function isBlank(value) {
19
+ return value === undefined || value === null || value === '';
20
+ }
21
+ /**
22
+ * Validate a raw `configuration` blob against a provider's setting descriptors.
23
+ * Returns human-readable errors (empty ⇒ valid). Absent keys are valid — they
24
+ * take their default. Keys the descriptor does not know are ignored, not
25
+ * rejected: a connection saved before a setting was retired must stay editable.
26
+ *
27
+ * Cross-field rules (e.g. "offline must not precede stale") are the adapter's.
28
+ */
29
+ function validateTrackingProviderSettings(settings, configuration) {
30
+ var _a;
31
+ const errors = [];
32
+ const config = configuration !== null && configuration !== void 0 ? configuration : {};
33
+ for (const setting of settings) {
34
+ const raw = config[setting.key];
35
+ if (isBlank(raw))
36
+ continue;
37
+ switch (setting.type) {
38
+ case 'number': {
39
+ const value = typeof raw === 'string' ? Number(raw) : raw;
40
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
41
+ errors.push(`${setting.key} must be a finite number`);
42
+ break;
43
+ }
44
+ if (setting.integer && !Number.isInteger(value)) {
45
+ errors.push(`${setting.key} must be a whole number`);
46
+ }
47
+ if (setting.min !== undefined && value < setting.min) {
48
+ errors.push(`${setting.key} must be at least ${setting.min}`);
49
+ }
50
+ if (setting.max !== undefined && value > setting.max) {
51
+ errors.push(`${setting.key} must be at most ${setting.max}`);
52
+ }
53
+ break;
54
+ }
55
+ case 'boolean':
56
+ if (typeof raw !== 'boolean' && raw !== 'true' && raw !== 'false') {
57
+ errors.push(`${setting.key} must be a boolean`);
58
+ }
59
+ break;
60
+ case 'select': {
61
+ const allowed = ((_a = setting.options) !== null && _a !== void 0 ? _a : []).map((option) => option.value);
62
+ if (!allowed.includes(String(raw))) {
63
+ errors.push(`${setting.key} must be one of ${allowed.join(', ')}`);
64
+ }
65
+ break;
66
+ }
67
+ case 'text':
68
+ if (typeof raw !== 'string') {
69
+ errors.push(`${setting.key} must be text`);
70
+ }
71
+ else if (setting.maxLength !== undefined && raw.length > setting.maxLength) {
72
+ errors.push(`${setting.key} must be at most ${setting.maxLength} characters`);
73
+ }
74
+ break;
75
+ }
76
+ }
77
+ return errors;
78
+ }
79
+ //# sourceMappingURL=tracking-provider-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-descriptor.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-provider-descriptor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ export const ORGANIZATION_ROLES = [
4
4
  Roles.ORGANIZATION_ADMIN,
5
5
  Roles.ORGANIZATION_USER,
6
6
  Roles.ORGANIZATION_BILLING_ADMIN,
7
- Roles.ORGANIZATION_NEWSFEED_ADMIN
7
+ Roles.ORGANIZATION_NEWSFEED_ADMIN,
8
+ Roles.ORGANIZATION_PARTNERSHIPS_ADMIN
8
9
  ];
9
10
  export const CONTROL_CENTRE_ROLES = [
10
11
  Roles.CONTROL_CENTRE_ADMIN,
@@ -1 +1 @@
1
- {"version":3,"file":"roles-by-scope.js","sourceRoot":"","sources":["../../../../../src/modules/role/constants/roles-by-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAa;IACxC,KAAK,CAAC,kBAAkB;IACxB,KAAK,CAAC,kBAAkB;IACxB,KAAK,CAAC,iBAAiB;IACvB,KAAK,CAAC,0BAA0B;IAChC,KAAK,CAAC,2BAA2B;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC1C,KAAK,CAAC,oBAAoB;IAC1B,KAAK,CAAC,mBAAmB;IACzB,KAAK,CAAC,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAa;IAClC,KAAK,CAAC,WAAW;CACpB,CAAC"}
1
+ {"version":3,"file":"roles-by-scope.js","sourceRoot":"","sources":["../../../../../src/modules/role/constants/roles-by-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAa;IACxC,KAAK,CAAC,kBAAkB;IACxB,KAAK,CAAC,kBAAkB;IACxB,KAAK,CAAC,iBAAiB;IACvB,KAAK,CAAC,0BAA0B;IAChC,KAAK,CAAC,2BAA2B;IACjC,KAAK,CAAC,+BAA+B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAa;IAC1C,KAAK,CAAC,oBAAoB;IAC1B,KAAK,CAAC,mBAAmB;IACzB,KAAK,CAAC,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAa;IAClC,KAAK,CAAC,WAAW;CACpB,CAAC"}
@@ -197,6 +197,36 @@ export const ROLES_DATA = [
197
197
  PermissionActions.READ_RESPONSE_UNIT
198
198
  ]
199
199
  },
200
+ {
201
+ name: Roles.ORGANIZATION_PARTNERSHIPS_ADMIN,
202
+ description: 'Organization Partnerships Admin: Manage partnerships with third-party responders - their configuration, coverage, dispatches and member registration',
203
+ permissions: [
204
+ //Partner: every action in the Partner permission module. Pinned by
205
+ //roles.spec.ts, so an action added to that module later has to be
206
+ //granted here - or deliberately withheld - rather than silently missed.
207
+ PermissionActions.CREATE_PARTNER,
208
+ PermissionActions.READ_PARTNER,
209
+ PermissionActions.UPDATE_PARTNER,
210
+ PermissionActions.DELETE_PARTNER,
211
+ //Partner dispatch
212
+ PermissionActions.READ_PARTNER_DISPATCH,
213
+ PermissionActions.APPROVE_PARTNER_DISPATCH,
214
+ PermissionActions.UPDATE_PARTNER_DISPATCH,
215
+ PermissionActions.CANCEL_PARTNER_DISPATCH,
216
+ PermissionActions.RESEND_PARTNER_DISPATCH,
217
+ //Partner membership: includes reading and correcting a member's date
218
+ //of birth. Registering people with a partner is this role's job.
219
+ PermissionActions.READ_PARTNER_MEMBERSHIP,
220
+ PermissionActions.MANAGE_PARTNER_MEMBERSHIP,
221
+ //Billing: which packages a partnership registers subscribers of.
222
+ //Read-only - this role configures partnerships, not the packages.
223
+ PermissionActions.READ_PACKAGE,
224
+ //Incident Category Type: which incident types and categories a
225
+ //partnership's coverage rules route to that partner. Read-only, and
226
+ //the taxonomy only - not the incidents themselves.
227
+ PermissionActions.READ_INCIDENT_CATEGORY_TYPE
228
+ ]
229
+ },
200
230
  {
201
231
  name: Roles.CONTROL_CENTRE_ADMIN,
202
232
  description: 'Control Centre Admin: Manage Control Centre',
@@ -1 +1 @@
1
- {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.data.js","sourceRoot":"","sources":["../../../../../src/modules/role/data/roles.data.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export var Roles;
6
6
  Roles["ORGANIZATION_USER"] = "Organization:User";
7
7
  Roles["ORGANIZATION_BILLING_ADMIN"] = "Organization:Billing-Admin";
8
8
  Roles["ORGANIZATION_NEWSFEED_ADMIN"] = "Organization:Newsfeed-Admin";
9
+ Roles["ORGANIZATION_PARTNERSHIPS_ADMIN"] = "Organization:Partnerships-Admin";
9
10
  Roles["CONTROL_CENTRE_ADMIN"] = "Control-Centre:Admin";
10
11
  Roles["CONTROL_CENTRE_USER"] = "Control-Centre:User";
11
12
  Roles["RESPONDER"] = "Responder";
@@ -1 +1 @@
1
- {"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../../src/modules/role/enums/role.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAWX;AAXD,WAAY,KAAK;IACb,oCAA2B,CAAA;IAC3B,kDAAyC,CAAA;IACzC,kDAAyC,CAAA;IACzC,gDAAuC,CAAA;IACvC,kEAAyD,CAAA;IACzD,oEAA2D,CAAA;IAC3D,sDAA6C,CAAA;IAC7C,oDAA2C,CAAA;IAC3C,gCAAuB,CAAA;IACvB,oCAA2B,CAAA;AAC/B,CAAC,EAXW,KAAK,KAAL,KAAK,QAWhB;AAED;;GAEG"}
1
+ {"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../../src/modules/role/enums/role.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAYX;AAZD,WAAY,KAAK;IACb,oCAA2B,CAAA;IAC3B,kDAAyC,CAAA;IACzC,kDAAyC,CAAA;IACzC,gDAAuC,CAAA;IACvC,kEAAyD,CAAA;IACzD,oEAA2D,CAAA;IAC3D,4EAAmE,CAAA;IACnE,sDAA6C,CAAA;IAC7C,oDAA2C,CAAA;IAC3C,gCAAuB,CAAA;IACvB,oCAA2B,CAAA;AAC/B,CAAC,EAZW,KAAK,KAAL,KAAK,QAYhB;AAED;;GAEG"}
@@ -5,15 +5,18 @@
5
5
  * per-provider adapter inside clarion-response-tracking understands the raw
6
6
  * wire format.
7
7
  *
8
- * Only {@link TrackingProviderCode.TELOX} has a working adapter in Phase 1. The
9
- * remaining values are reserved so future adapters can be added without changing
10
- * the shared contracts, database columns or Kafka events.
8
+ * {@link TrackingProviderCode.TELOX} and {@link TrackingProviderCode.WIALON} have
9
+ * working adapters. The remaining values are reserved so future adapters can be
10
+ * added without changing the shared contracts, database columns or Kafka events.
11
+ *
12
+ * A value here does NOT mean the provider can be connected — ask the service
13
+ * (`GET /tracking/providers`, see TrackingProviderDescriptor) which adapters exist.
11
14
  */
12
15
  export var TrackingProviderCode;
13
16
  (function (TrackingProviderCode) {
14
17
  /** Telox WebSocket platform (G4S Phase 1 integration). */
15
18
  TrackingProviderCode["TELOX"] = "TELOX";
16
- /** Wialon (reserved — not implemented in Phase 1). */
19
+ /** Wialon Hosting / Wialon Local, polled over the Remote API. */
17
20
  TrackingProviderCode["WIALON"] = "WIALON";
18
21
  /** Teltonika direct device ingestion (reserved — not implemented in Phase 1). */
19
22
  TrackingProviderCode["TELTONIKA"] = "TELTONIKA";
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC5B,0DAA0D;IAC1D,uCAAe,CAAA;IACf,sDAAsD;IACtD,yCAAiB,CAAA;IACjB,iFAAiF;IACjF,+CAAuB,CAAA;IACvB,4CAA4C;IAC5C,+DAAuC,CAAA;IACvC,+CAA+C;IAC/C,qEAA6C,CAAA;AACjD,CAAC,EAXW,oBAAoB,KAApB,oBAAoB,QAW/B"}
1
+ {"version":3,"file":"tracking-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-provider-code.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAN,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC5B,0DAA0D;IAC1D,uCAAe,CAAA;IACf,iEAAiE;IACjE,yCAAiB,CAAA;IACjB,iFAAiF;IACjF,+CAAuB,CAAA;IACvB,4CAA4C;IAC5C,+DAAuC,CAAA;IACvC,+CAA+C;IAC/C,qEAA6C,CAAA;AACjD,CAAC,EAXW,oBAAoB,KAApB,oBAAoB,QAW/B"}
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * How a provider connection physically transports telemetry into
3
- * clarion-response-tracking. Phase 1 implements only {@link WEBSOCKET} (Telox);
4
- * the remaining values are reserved for future adapters.
3
+ * clarion-response-tracking. {@link WEBSOCKET} (Telox) and {@link HTTP_POLLING}
4
+ * (Wialon) are implemented; the remaining values are reserved for future adapters.
5
5
  */
6
6
  export var TrackingTransportType;
7
7
  (function (TrackingTransportType) {
8
8
  /** Outbound WebSocket client maintained by the connector worker (Telox). */
9
9
  TrackingTransportType["WEBSOCKET"] = "WEBSOCKET";
10
- /** Outbound HTTP polling loop. */
10
+ /** Outbound HTTP polling loop maintained by the connector worker (Wialon). */
11
11
  TrackingTransportType["HTTP_POLLING"] = "HTTP_POLLING";
12
12
  /** Inbound TCP listener (direct device ingestion). */
13
13
  TrackingTransportType["TCP"] = "TCP";
@@ -1 +1 @@
1
- {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,4EAA4E;IAC5E,gDAAuB,CAAA;IACvB,kCAAkC;IAClC,sDAA6B,CAAA;IAC7B,sDAAsD;IACtD,oCAAW,CAAA;IACX,sDAAsD;IACtD,oCAAW,CAAA;IACX,yBAAyB;IACzB,sCAAa,CAAA;AACjB,CAAC,EAXW,qBAAqB,KAArB,qBAAqB,QAWhC"}
1
+ {"version":3,"file":"tracking-transport-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/enums/tracking-transport-type.enum.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,qBAWX;AAXD,WAAY,qBAAqB;IAC7B,4EAA4E;IAC5E,gDAAuB,CAAA;IACvB,8EAA8E;IAC9E,sDAA6B,CAAA;IAC7B,sDAAsD;IACtD,oCAAW,CAAA;IACX,sDAAsD;IACtD,oCAAW,CAAA;IACX,yBAAyB;IACzB,sCAAa,CAAA;AACjB,CAAC,EAXW,qBAAqB,KAArB,qBAAqB,QAWhC"}
@@ -16,6 +16,8 @@ export * from './interfaces/response-unit-lifecycle-events';
16
16
  export * from './interfaces/tracking-unit-current-state';
17
17
  export * from './interfaces/tracking-socket-payloads';
18
18
  export * from './interfaces/tracking-realtime-envelope';
19
+ // Interfaces — provider catalog (what each adapter needs from an operator)
20
+ export * from './interfaces/tracking-provider-descriptor';
19
21
  // Constants
20
22
  export * from './constants/tracking-kafka.const';
21
23
  // Utilities
@@ -1 +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;AACzD,cAAc,qCAAqC,CAAC;AAEpD,+CAA+C;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;AAE5D,+CAA+C;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAExD,YAAY;AACZ,cAAc,kCAAkC,CAAC;AAEjD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
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;AACzD,cAAc,qCAAqC,CAAC;AAEpD,+CAA+C;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;AAE5D,+CAA+C;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAExD,2EAA2E;AAC3E,cAAc,2CAA2C,CAAC;AAE1D,YAAY;AACZ,cAAc,kCAAkC,CAAC;AAEjD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * The `configuration` a connection gets when the operator supplies none: every
3
+ * setting at its default. Stored explicitly on the connection so that readers
4
+ * which know nothing about adapters (the status evaluator, ingestion guards) see
5
+ * the provider's thresholds rather than the service-wide fallbacks.
6
+ */
7
+ export function buildDefaultTrackingProviderConfiguration(descriptor) {
8
+ const configuration = {};
9
+ for (const setting of descriptor.settings) {
10
+ configuration[setting.key] = setting.defaultValue;
11
+ }
12
+ return configuration;
13
+ }
14
+ function isBlank(value) {
15
+ return value === undefined || value === null || value === '';
16
+ }
17
+ /**
18
+ * Validate a raw `configuration` blob against a provider's setting descriptors.
19
+ * Returns human-readable errors (empty ⇒ valid). Absent keys are valid — they
20
+ * take their default. Keys the descriptor does not know are ignored, not
21
+ * rejected: a connection saved before a setting was retired must stay editable.
22
+ *
23
+ * Cross-field rules (e.g. "offline must not precede stale") are the adapter's.
24
+ */
25
+ export function validateTrackingProviderSettings(settings, configuration) {
26
+ var _a;
27
+ const errors = [];
28
+ const config = configuration !== null && configuration !== void 0 ? configuration : {};
29
+ for (const setting of settings) {
30
+ const raw = config[setting.key];
31
+ if (isBlank(raw))
32
+ continue;
33
+ switch (setting.type) {
34
+ case 'number': {
35
+ const value = typeof raw === 'string' ? Number(raw) : raw;
36
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
37
+ errors.push(`${setting.key} must be a finite number`);
38
+ break;
39
+ }
40
+ if (setting.integer && !Number.isInteger(value)) {
41
+ errors.push(`${setting.key} must be a whole number`);
42
+ }
43
+ if (setting.min !== undefined && value < setting.min) {
44
+ errors.push(`${setting.key} must be at least ${setting.min}`);
45
+ }
46
+ if (setting.max !== undefined && value > setting.max) {
47
+ errors.push(`${setting.key} must be at most ${setting.max}`);
48
+ }
49
+ break;
50
+ }
51
+ case 'boolean':
52
+ if (typeof raw !== 'boolean' && raw !== 'true' && raw !== 'false') {
53
+ errors.push(`${setting.key} must be a boolean`);
54
+ }
55
+ break;
56
+ case 'select': {
57
+ const allowed = ((_a = setting.options) !== null && _a !== void 0 ? _a : []).map((option) => option.value);
58
+ if (!allowed.includes(String(raw))) {
59
+ errors.push(`${setting.key} must be one of ${allowed.join(', ')}`);
60
+ }
61
+ break;
62
+ }
63
+ case 'text':
64
+ if (typeof raw !== 'string') {
65
+ errors.push(`${setting.key} must be text`);
66
+ }
67
+ else if (setting.maxLength !== undefined && raw.length > setting.maxLength) {
68
+ errors.push(`${setting.key} must be at most ${setting.maxLength} characters`);
69
+ }
70
+ break;
71
+ }
72
+ }
73
+ return errors;
74
+ }
75
+ //# sourceMappingURL=tracking-provider-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracking-provider-descriptor.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/interfaces/tracking-provider-descriptor.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare enum Roles {
5
5
  ORGANIZATION_USER = "Organization:User",
6
6
  ORGANIZATION_BILLING_ADMIN = "Organization:Billing-Admin",
7
7
  ORGANIZATION_NEWSFEED_ADMIN = "Organization:Newsfeed-Admin",
8
+ ORGANIZATION_PARTNERSHIPS_ADMIN = "Organization:Partnerships-Admin",
8
9
  CONTROL_CENTRE_ADMIN = "Control-Centre:Admin",
9
10
  CONTROL_CENTRE_USER = "Control-Centre:User",
10
11
  RESPONDER = "Responder",
@@ -5,14 +5,17 @@
5
5
  * per-provider adapter inside clarion-response-tracking understands the raw
6
6
  * wire format.
7
7
  *
8
- * Only {@link TrackingProviderCode.TELOX} has a working adapter in Phase 1. The
9
- * remaining values are reserved so future adapters can be added without changing
10
- * the shared contracts, database columns or Kafka events.
8
+ * {@link TrackingProviderCode.TELOX} and {@link TrackingProviderCode.WIALON} have
9
+ * working adapters. The remaining values are reserved so future adapters can be
10
+ * added without changing the shared contracts, database columns or Kafka events.
11
+ *
12
+ * A value here does NOT mean the provider can be connected — ask the service
13
+ * (`GET /tracking/providers`, see TrackingProviderDescriptor) which adapters exist.
11
14
  */
12
15
  export declare enum TrackingProviderCode {
13
16
  /** Telox WebSocket platform (G4S Phase 1 integration). */
14
17
  TELOX = "TELOX",
15
- /** Wialon (reserved — not implemented in Phase 1). */
18
+ /** Wialon Hosting / Wialon Local, polled over the Remote API. */
16
19
  WIALON = "WIALON",
17
20
  /** Teltonika direct device ingestion (reserved — not implemented in Phase 1). */
18
21
  TELTONIKA = "TELTONIKA",
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * How a provider connection physically transports telemetry into
3
- * clarion-response-tracking. Phase 1 implements only {@link WEBSOCKET} (Telox);
4
- * the remaining values are reserved for future adapters.
3
+ * clarion-response-tracking. {@link WEBSOCKET} (Telox) and {@link HTTP_POLLING}
4
+ * (Wialon) are implemented; the remaining values are reserved for future adapters.
5
5
  */
6
6
  export declare enum TrackingTransportType {
7
7
  /** Outbound WebSocket client maintained by the connector worker (Telox). */
8
8
  WEBSOCKET = "WEBSOCKET",
9
- /** Outbound HTTP polling loop. */
9
+ /** Outbound HTTP polling loop maintained by the connector worker (Wialon). */
10
10
  HTTP_POLLING = "HTTP_POLLING",
11
11
  /** Inbound TCP listener (direct device ingestion). */
12
12
  TCP = "TCP",
@@ -13,6 +13,7 @@ export * from './interfaces/response-unit-lifecycle-events';
13
13
  export * from './interfaces/tracking-unit-current-state';
14
14
  export * from './interfaces/tracking-socket-payloads';
15
15
  export * from './interfaces/tracking-realtime-envelope';
16
+ export * from './interfaces/tracking-provider-descriptor';
16
17
  export * from './constants/tracking-kafka.const';
17
18
  export * from './utils/tracking-event-id.util';
18
19
  export * from './utils/tracking-validation.util';
@@ -0,0 +1,117 @@
1
+ import { TrackingProviderCode } from '../enums/tracking-provider-code.enum';
2
+ import { TrackingTransportType } from '../enums/tracking-transport-type.enum';
3
+ /**
4
+ * Self-description of a tracking provider, published by clarion-response-tracking
5
+ * (`GET /tracking/providers`) and rendered by the admin client.
6
+ *
7
+ * Why it exists: every provider needs different things from an operator. Telox
8
+ * wants a WebSocket URL, a username, a domain and a password; Wialon wants an
9
+ * HTTPS host and an API token and has no domain at all; and each scales its raw
10
+ * telemetry differently. Encoding that in the client meant a form that only fit
11
+ * one provider and defaults that had to be kept in step with the service by hand.
12
+ * With a descriptor the service that owns the adapter is the single source of
13
+ * truth: adding a provider changes no client code, and a default can never drift.
14
+ *
15
+ * Only providers with a registered adapter are described, so the catalog also
16
+ * answers "which providers can I actually connect?" — the enum alone cannot,
17
+ * because it reserves codes for adapters that do not exist yet.
18
+ *
19
+ * SECURITY: a descriptor is static metadata. It never carries a secret, a secret
20
+ * reference, or anything tenant-specific.
21
+ */
22
+ export type TrackingProviderSettingType = 'number' | 'boolean' | 'select' | 'text';
23
+ export interface TrackingProviderSettingOption {
24
+ value: string;
25
+ label: string;
26
+ }
27
+ /** One key of a provider connection's `configuration` blob. */
28
+ export interface TrackingProviderSettingDescriptor {
29
+ /** The `configuration` key this setting is stored under. */
30
+ key: string;
31
+ label: string;
32
+ type: TrackingProviderSettingType;
33
+ /** Key of the {@link TrackingProviderSettingGroupDescriptor} it is shown under. */
34
+ group: string;
35
+ /** Applied by the service when the key is absent, and pre-filled by the client. */
36
+ defaultValue: number | boolean | string;
37
+ description?: string;
38
+ /** Display unit, e.g. `s`, `m`, `km/h`. */
39
+ unit?: string;
40
+ /** `number` settings only. Bounds are inclusive and enforced by the service. */
41
+ min?: number;
42
+ max?: number;
43
+ step?: number;
44
+ /** `number` settings only: reject fractional values. */
45
+ integer?: boolean;
46
+ /** `text` settings only. */
47
+ maxLength?: number;
48
+ /** `select` settings only: the closed set of accepted values. */
49
+ options?: TrackingProviderSettingOption[];
50
+ }
51
+ export interface TrackingProviderSettingGroupDescriptor {
52
+ key: string;
53
+ label: string;
54
+ description?: string;
55
+ }
56
+ /** An optional connection field whose meaning (or existence) depends on the provider. */
57
+ export interface TrackingProviderFieldDescriptor {
58
+ /** false ⇒ the provider has no such concept: hide the field and send nothing. */
59
+ used: boolean;
60
+ required: boolean;
61
+ label: string;
62
+ placeholder?: string;
63
+ description?: string;
64
+ }
65
+ export interface TrackingProviderEndpointDescriptor {
66
+ label: string;
67
+ placeholder: string;
68
+ description?: string;
69
+ /** Pre-filled for providers with one well-known public endpoint. */
70
+ defaultValue?: string;
71
+ /** Accepted URL schemes, with the trailing colon: `wss:`, `https:`… */
72
+ protocols: string[];
73
+ }
74
+ /** What the referenced secret must contain. Describes the secret; never holds it. */
75
+ export interface TrackingProviderSecretDescriptor {
76
+ label: string;
77
+ description: string;
78
+ placeholder?: string;
79
+ }
80
+ /** How the provider identifies a unit — what an operator binds to a response unit. */
81
+ export interface TrackingProviderExternalUnitDescriptor {
82
+ label: string;
83
+ description: string;
84
+ placeholder?: string;
85
+ }
86
+ export interface TrackingProviderDescriptor {
87
+ providerCode: TrackingProviderCode;
88
+ displayName: string;
89
+ description: string;
90
+ /** Supported transports; the first is the default. */
91
+ transportTypes: TrackingTransportType[];
92
+ endpoint: TrackingProviderEndpointDescriptor;
93
+ externalUsername: TrackingProviderFieldDescriptor;
94
+ externalDomain: TrackingProviderFieldDescriptor;
95
+ secret: TrackingProviderSecretDescriptor;
96
+ externalUnitId: TrackingProviderExternalUnitDescriptor;
97
+ /** Display order of the setting groups. */
98
+ settingGroups: TrackingProviderSettingGroupDescriptor[];
99
+ settings: TrackingProviderSettingDescriptor[];
100
+ documentationUrl?: string;
101
+ }
102
+ /**
103
+ * The `configuration` a connection gets when the operator supplies none: every
104
+ * setting at its default. Stored explicitly on the connection so that readers
105
+ * which know nothing about adapters (the status evaluator, ingestion guards) see
106
+ * the provider's thresholds rather than the service-wide fallbacks.
107
+ */
108
+ export declare function buildDefaultTrackingProviderConfiguration(descriptor: Pick<TrackingProviderDescriptor, 'settings'>): Record<string, number | boolean | string>;
109
+ /**
110
+ * Validate a raw `configuration` blob against a provider's setting descriptors.
111
+ * Returns human-readable errors (empty ⇒ valid). Absent keys are valid — they
112
+ * take their default. Keys the descriptor does not know are ignored, not
113
+ * rejected: a connection saved before a setting was retired must stay editable.
114
+ *
115
+ * Cross-field rules (e.g. "offline must not precede stale") are the adapter's.
116
+ */
117
+ export declare function validateTrackingProviderSettings(settings: readonly TrackingProviderSettingDescriptor[], configuration: Record<string, unknown> | null | undefined): string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grm-shared-library",
3
- "version": "1.1.206",
3
+ "version": "1.1.208",
4
4
  "main": "dist/cjs/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "types": "dist/types/index.d.ts",