grm-shared-library 1.1.241 → 1.1.243

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 (95) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/modules/dispatch/index.js +1 -0
  4. package/dist/cjs/modules/dispatch/index.js.map +1 -1
  5. package/dist/cjs/modules/dispatch/interfaces/dispatch-analytics.js +3 -0
  6. package/dist/cjs/modules/dispatch/interfaces/dispatch-analytics.js.map +1 -0
  7. package/dist/cjs/modules/permission/data/permissions.data.js +9 -0
  8. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  9. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +21 -0
  10. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  11. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +1 -0
  12. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  13. package/dist/cjs/modules/responder/constants/responder.const.js +124 -0
  14. package/dist/cjs/modules/responder/constants/responder.const.js.map +1 -0
  15. package/dist/cjs/modules/responder/dtos/responder.dto.js +582 -0
  16. package/dist/cjs/modules/responder/dtos/responder.dto.js.map +1 -0
  17. package/dist/cjs/modules/responder/enums/responder.enums.js +142 -0
  18. package/dist/cjs/modules/responder/enums/responder.enums.js.map +1 -0
  19. package/dist/cjs/modules/responder/index.js +29 -0
  20. package/dist/cjs/modules/responder/index.js.map +1 -0
  21. package/dist/cjs/modules/responder/interfaces/responder-dispatch.js +3 -0
  22. package/dist/cjs/modules/responder/interfaces/responder-dispatch.js.map +1 -0
  23. package/dist/cjs/modules/responder/interfaces/responder-policy.js +3 -0
  24. package/dist/cjs/modules/responder/interfaces/responder-policy.js.map +1 -0
  25. package/dist/cjs/modules/responder/interfaces/responder.js +3 -0
  26. package/dist/cjs/modules/responder/interfaces/responder.js.map +1 -0
  27. package/dist/cjs/modules/responder/utils/responder.util.js +65 -0
  28. package/dist/cjs/modules/responder/utils/responder.util.js.map +1 -0
  29. package/dist/cjs/modules/role/data/roles.data.js +30 -4
  30. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  31. package/dist/cjs/modules/tracking/dtos/units-analytics-query.dto.js +58 -0
  32. package/dist/cjs/modules/tracking/dtos/units-analytics-query.dto.js.map +1 -0
  33. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js +8 -0
  34. package/dist/cjs/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -1
  35. package/dist/cjs/modules/tracking/index.js +3 -0
  36. package/dist/cjs/modules/tracking/index.js.map +1 -1
  37. package/dist/cjs/modules/tracking/interfaces/tracking-analytics.js +14 -0
  38. package/dist/cjs/modules/tracking/interfaces/tracking-analytics.js.map +1 -0
  39. package/dist/esm/index.js +1 -0
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/modules/dispatch/index.js +1 -0
  42. package/dist/esm/modules/dispatch/index.js.map +1 -1
  43. package/dist/esm/modules/dispatch/interfaces/dispatch-analytics.js +2 -0
  44. package/dist/esm/modules/dispatch/interfaces/dispatch-analytics.js.map +1 -0
  45. package/dist/esm/modules/permission/data/permissions.data.js +9 -0
  46. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  47. package/dist/esm/modules/permission/enums/permission-actions.enum.js +21 -0
  48. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  49. package/dist/esm/modules/permission/enums/permissions-module.enum.js +1 -0
  50. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  51. package/dist/esm/modules/responder/constants/responder.const.js +121 -0
  52. package/dist/esm/modules/responder/constants/responder.const.js.map +1 -0
  53. package/dist/esm/modules/responder/dtos/responder.dto.js +560 -0
  54. package/dist/esm/modules/responder/dtos/responder.dto.js.map +1 -0
  55. package/dist/esm/modules/responder/enums/responder.enums.js +139 -0
  56. package/dist/esm/modules/responder/enums/responder.enums.js.map +1 -0
  57. package/dist/esm/modules/responder/index.js +13 -0
  58. package/dist/esm/modules/responder/index.js.map +1 -0
  59. package/dist/esm/modules/responder/interfaces/responder-dispatch.js +2 -0
  60. package/dist/esm/modules/responder/interfaces/responder-dispatch.js.map +1 -0
  61. package/dist/esm/modules/responder/interfaces/responder-policy.js +2 -0
  62. package/dist/esm/modules/responder/interfaces/responder-policy.js.map +1 -0
  63. package/dist/esm/modules/responder/interfaces/responder.js +2 -0
  64. package/dist/esm/modules/responder/interfaces/responder.js.map +1 -0
  65. package/dist/esm/modules/responder/utils/responder.util.js +59 -0
  66. package/dist/esm/modules/responder/utils/responder.util.js.map +1 -0
  67. package/dist/esm/modules/role/data/roles.data.js +29 -3
  68. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  69. package/dist/esm/modules/tracking/dtos/units-analytics-query.dto.js +54 -0
  70. package/dist/esm/modules/tracking/dtos/units-analytics-query.dto.js.map +1 -0
  71. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js +8 -0
  72. package/dist/esm/modules/tracking/enums/tracking-provider-code.enum.js.map +1 -1
  73. package/dist/esm/modules/tracking/index.js +3 -0
  74. package/dist/esm/modules/tracking/index.js.map +1 -1
  75. package/dist/esm/modules/tracking/interfaces/tracking-analytics.js +13 -0
  76. package/dist/esm/modules/tracking/interfaces/tracking-analytics.js.map +1 -0
  77. package/dist/types/index.d.ts +1 -0
  78. package/dist/types/modules/dispatch/index.d.ts +1 -0
  79. package/dist/types/modules/dispatch/interfaces/dispatch-analytics.d.ts +158 -0
  80. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +4 -0
  81. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +2 -1
  82. package/dist/types/modules/responder/constants/responder.const.d.ts +67 -0
  83. package/dist/types/modules/responder/dtos/responder.dto.d.ts +144 -0
  84. package/dist/types/modules/responder/enums/responder.enums.d.ts +128 -0
  85. package/dist/types/modules/responder/index.d.ts +7 -0
  86. package/dist/types/modules/responder/interfaces/responder-dispatch.d.ts +144 -0
  87. package/dist/types/modules/responder/interfaces/responder-policy.d.ts +55 -0
  88. package/dist/types/modules/responder/interfaces/responder.d.ts +113 -0
  89. package/dist/types/modules/responder/utils/responder.util.d.ts +24 -0
  90. package/dist/types/modules/role/data/roles.data.d.ts +7 -0
  91. package/dist/types/modules/tracking/dtos/units-analytics-query.dto.d.ts +17 -0
  92. package/dist/types/modules/tracking/enums/tracking-provider-code.enum.d.ts +9 -1
  93. package/dist/types/modules/tracking/index.d.ts +2 -0
  94. package/dist/types/modules/tracking/interfaces/tracking-analytics.d.ts +192 -0
  95. package/package.json +1 -1
@@ -0,0 +1,582 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResponderPolicyDto = exports.ResponderReporterContactPolicyDto = exports.ResponderEvidencePolicyDto = exports.ResponderReportPolicyDto = exports.ResponderChecklistItemDto = exports.ResponderDispatchPolicyDto = exports.ResponderArrivalPolicyDto = exports.ResponderLocationPolicyDto = exports.ReportResponderPositionsDto = exports.ResponderPositionSampleDto = exports.SubmitResponderReportDto = exports.ResponderChecklistAnswerDto = exports.RespondToDispatchDto = exports.ResponderLocationFixDto = exports.ResponderDispatchListQueryDto = exports.AddResponseUnitResponderDto = exports.EndResponderDutyByControlCentreDto = exports.EndResponderDutyDto = exports.StartResponderDutyDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const response_unit_dispatch_status_enum_1 = require("../../dispatch/enums/response-unit-dispatch-status.enum");
17
+ const responder_const_1 = require("../constants/responder.const");
18
+ const responder_enums_1 = require("../enums/responder.enums");
19
+ const L = responder_const_1.RESPONDER_FIELD_LIMITS;
20
+ const trimmed = ({ value }) => (typeof value === 'string' ? value.trim() : value);
21
+ // ── Duty ────────────────────────────────────────────────────────────────────
22
+ /** `POST /responder/duty` - go on duty with one of the caller's units. */
23
+ class StartResponderDutyDto {
24
+ }
25
+ exports.StartResponderDutyDto = StartResponderDutyDto;
26
+ __decorate([
27
+ (0, swagger_1.ApiProperty)({ example: 812 }),
28
+ (0, class_transformer_1.Type)(() => Number),
29
+ (0, class_validator_1.IsInt)(),
30
+ (0, class_validator_1.Min)(1),
31
+ __metadata("design:type", Number)
32
+ ], StartResponderDutyDto.prototype, "responseUnitId", void 0);
33
+ /** `POST /responder/duty/end` - go off duty. Idempotent: ending no duty is not an error. */
34
+ class EndResponderDutyDto {
35
+ }
36
+ exports.EndResponderDutyDto = EndResponderDutyDto;
37
+ __decorate([
38
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.dutyEndReason }),
39
+ (0, class_validator_1.IsOptional)(),
40
+ (0, class_transformer_1.Transform)(trimmed),
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.MaxLength)(L.dutyEndReason),
43
+ __metadata("design:type", String)
44
+ ], EndResponderDutyDto.prototype, "reason", void 0);
45
+ /** `POST /response-units/:id/responders/:userId/end-duty` - the control room ends someone's duty. */
46
+ class EndResponderDutyByControlCentreDto extends EndResponderDutyDto {
47
+ }
48
+ exports.EndResponderDutyByControlCentreDto = EndResponderDutyByControlCentreDto;
49
+ // ── Memberships (admin) ─────────────────────────────────────────────────────
50
+ /** `POST /response-units/:id/responders` - link a Responder account to a unit. */
51
+ class AddResponseUnitResponderDto {
52
+ }
53
+ exports.AddResponseUnitResponderDto = AddResponseUnitResponderDto;
54
+ __decorate([
55
+ (0, swagger_1.ApiProperty)({ example: 1802 }),
56
+ (0, class_transformer_1.Type)(() => Number),
57
+ (0, class_validator_1.IsInt)(),
58
+ (0, class_validator_1.Min)(1),
59
+ __metadata("design:type", Number)
60
+ ], AddResponseUnitResponderDto.prototype, "userId", void 0);
61
+ // ── Dispatches ──────────────────────────────────────────────────────────────
62
+ /** `GET /responder/dispatches`. Newest first. */
63
+ class ResponderDispatchListQueryDto {
64
+ }
65
+ exports.ResponderDispatchListQueryDto = ResponderDispatchListQueryDto;
66
+ __decorate([
67
+ (0, swagger_1.ApiPropertyOptional)({ enum: responder_enums_1.ResponderDispatchListState, default: responder_enums_1.ResponderDispatchListState.ACTIVE }),
68
+ (0, class_validator_1.IsOptional)(),
69
+ (0, class_validator_1.IsEnum)(responder_enums_1.ResponderDispatchListState),
70
+ __metadata("design:type", String)
71
+ ], ResponderDispatchListQueryDto.prototype, "state", void 0);
72
+ __decorate([
73
+ (0, swagger_1.ApiPropertyOptional)({ default: 1 }),
74
+ (0, class_validator_1.IsOptional)(),
75
+ (0, class_transformer_1.Type)(() => Number),
76
+ (0, class_validator_1.IsInt)(),
77
+ (0, class_validator_1.Min)(1),
78
+ __metadata("design:type", Number)
79
+ ], ResponderDispatchListQueryDto.prototype, "page", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiPropertyOptional)({ default: 20, maximum: L.dispatchPageSize }),
82
+ (0, class_validator_1.IsOptional)(),
83
+ (0, class_transformer_1.Type)(() => Number),
84
+ (0, class_validator_1.IsInt)(),
85
+ (0, class_validator_1.Min)(1),
86
+ (0, class_validator_1.Max)(L.dispatchPageSize),
87
+ __metadata("design:type", Number)
88
+ ], ResponderDispatchListQueryDto.prototype, "limit", void 0);
89
+ __decorate([
90
+ (0, swagger_1.ApiPropertyOptional)({ example: '#4821' }),
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsString)(),
93
+ (0, class_validator_1.MaxLength)(20),
94
+ __metadata("design:type", String)
95
+ ], ResponderDispatchListQueryDto.prototype, "search", void 0);
96
+ /** A position fix the phone took, sent as evidence with an action. */
97
+ class ResponderLocationFixDto {
98
+ }
99
+ exports.ResponderLocationFixDto = ResponderLocationFixDto;
100
+ __decorate([
101
+ (0, swagger_1.ApiProperty)(),
102
+ (0, class_transformer_1.Type)(() => Number),
103
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
104
+ (0, class_validator_1.Min)(-90),
105
+ (0, class_validator_1.Max)(90),
106
+ __metadata("design:type", Number)
107
+ ], ResponderLocationFixDto.prototype, "latitude", void 0);
108
+ __decorate([
109
+ (0, swagger_1.ApiProperty)(),
110
+ (0, class_transformer_1.Type)(() => Number),
111
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
112
+ (0, class_validator_1.Min)(-180),
113
+ (0, class_validator_1.Max)(180),
114
+ __metadata("design:type", Number)
115
+ ], ResponderLocationFixDto.prototype, "longitude", void 0);
116
+ __decorate([
117
+ (0, swagger_1.ApiPropertyOptional)(),
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_transformer_1.Type)(() => Number),
120
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
121
+ (0, class_validator_1.Min)(0),
122
+ __metadata("design:type", Number)
123
+ ], ResponderLocationFixDto.prototype, "accuracyMetres", void 0);
124
+ __decorate([
125
+ (0, swagger_1.ApiProperty)(),
126
+ (0, class_validator_1.IsISO8601)({ strict: true }),
127
+ __metadata("design:type", String)
128
+ ], ResponderLocationFixDto.prototype, "recordedAt", void 0);
129
+ /**
130
+ * `POST /responder/dispatches/:dispatchId/status` - acknowledge, set off,
131
+ * arrive, complete or decline.
132
+ *
133
+ * Idempotent by target: asking for the status the dispatch already has returns
134
+ * it unchanged (HTTP 200) instead of a conflict, so a retry after a lost
135
+ * response is safe. `clientActionId` is recorded with the change for the audit.
136
+ */
137
+ class RespondToDispatchDto {
138
+ }
139
+ exports.RespondToDispatchDto = RespondToDispatchDto;
140
+ __decorate([
141
+ (0, swagger_1.ApiProperty)({ enum: responder_const_1.RESPONDER_SETTABLE_DISPATCH_STATUSES }),
142
+ (0, class_validator_1.IsIn)(responder_const_1.RESPONDER_SETTABLE_DISPATCH_STATUSES),
143
+ __metadata("design:type", String)
144
+ ], RespondToDispatchDto.prototype, "status", void 0);
145
+ __decorate([
146
+ (0, swagger_1.ApiProperty)({ description: 'A uuid the app generates once per user action.' }),
147
+ (0, class_validator_1.IsUUID)(),
148
+ __metadata("design:type", String)
149
+ ], RespondToDispatchDto.prototype, "clientActionId", void 0);
150
+ __decorate([
151
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.statusReason }),
152
+ (0, class_validator_1.IsOptional)(),
153
+ (0, class_transformer_1.Transform)(trimmed),
154
+ (0, class_validator_1.IsString)(),
155
+ (0, class_validator_1.MaxLength)(L.statusReason),
156
+ __metadata("design:type", String)
157
+ ], RespondToDispatchDto.prototype, "reason", void 0);
158
+ __decorate([
159
+ (0, swagger_1.ApiPropertyOptional)({ type: ResponderLocationFixDto }),
160
+ (0, class_validator_1.IsOptional)(),
161
+ (0, class_validator_1.ValidateNested)(),
162
+ (0, class_transformer_1.Type)(() => ResponderLocationFixDto),
163
+ __metadata("design:type", ResponderLocationFixDto)
164
+ ], RespondToDispatchDto.prototype, "location", void 0);
165
+ __decorate([
166
+ (0, swagger_1.ApiPropertyOptional)({ enum: responder_enums_1.ResponderArrivalMethod }),
167
+ (0, class_validator_1.IsOptional)(),
168
+ (0, class_validator_1.IsEnum)(responder_enums_1.ResponderArrivalMethod),
169
+ __metadata("design:type", String)
170
+ ], RespondToDispatchDto.prototype, "arrivalMethod", void 0);
171
+ // ── Reports ─────────────────────────────────────────────────────────────────
172
+ class ResponderChecklistAnswerDto {
173
+ }
174
+ exports.ResponderChecklistAnswerDto = ResponderChecklistAnswerDto;
175
+ __decorate([
176
+ (0, swagger_1.ApiProperty)({ maxLength: L.reportChecklistItemId }),
177
+ (0, class_validator_1.IsString)(),
178
+ (0, class_validator_1.IsNotEmpty)(),
179
+ (0, class_validator_1.MaxLength)(L.reportChecklistItemId),
180
+ __metadata("design:type", String)
181
+ ], ResponderChecklistAnswerDto.prototype, "itemId", void 0);
182
+ __decorate([
183
+ (0, swagger_1.ApiProperty)(),
184
+ (0, class_validator_1.IsBoolean)(),
185
+ __metadata("design:type", Boolean)
186
+ ], ResponderChecklistAnswerDto.prototype, "checked", void 0);
187
+ /**
188
+ * `POST /responder/dispatches/:dispatchId/report` - submit, or amend, the
189
+ * response report. The first submission is idempotent on `clientReportId`; an
190
+ * amendment must name the `expectedVersion` it was edited from.
191
+ */
192
+ class SubmitResponderReportDto {
193
+ }
194
+ exports.SubmitResponderReportDto = SubmitResponderReportDto;
195
+ __decorate([
196
+ (0, swagger_1.ApiProperty)({ description: 'A uuid the app generates once per report draft.' }),
197
+ (0, class_validator_1.IsUUID)(),
198
+ __metadata("design:type", String)
199
+ ], SubmitResponderReportDto.prototype, "clientReportId", void 0);
200
+ __decorate([
201
+ (0, swagger_1.ApiPropertyOptional)(),
202
+ (0, class_validator_1.IsOptional)(),
203
+ (0, class_transformer_1.Type)(() => Number),
204
+ (0, class_validator_1.IsInt)(),
205
+ (0, class_validator_1.Min)(1),
206
+ __metadata("design:type", Number)
207
+ ], SubmitResponderReportDto.prototype, "expectedVersion", void 0);
208
+ __decorate([
209
+ (0, swagger_1.ApiProperty)({ maxLength: L.reportSummary }),
210
+ (0, class_transformer_1.Transform)(trimmed),
211
+ (0, class_validator_1.IsString)(),
212
+ (0, class_validator_1.IsNotEmpty)(),
213
+ (0, class_validator_1.MaxLength)(L.reportSummary),
214
+ __metadata("design:type", String)
215
+ ], SubmitResponderReportDto.prototype, "summary", void 0);
216
+ __decorate([
217
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.reportActionsTaken }),
218
+ (0, class_validator_1.IsOptional)(),
219
+ (0, class_transformer_1.Transform)(trimmed),
220
+ (0, class_validator_1.IsString)(),
221
+ (0, class_validator_1.MaxLength)(L.reportActionsTaken),
222
+ __metadata("design:type", String)
223
+ ], SubmitResponderReportDto.prototype, "actionsTaken", void 0);
224
+ __decorate([
225
+ (0, swagger_1.ApiProperty)({ enum: responder_enums_1.ResponderReportOutcome }),
226
+ (0, class_validator_1.IsEnum)(responder_enums_1.ResponderReportOutcome),
227
+ __metadata("design:type", String)
228
+ ], SubmitResponderReportDto.prototype, "outcome", void 0);
229
+ __decorate([
230
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.reportPersonsContacted }),
231
+ (0, class_validator_1.IsOptional)(),
232
+ (0, class_transformer_1.Transform)(trimmed),
233
+ (0, class_validator_1.IsString)(),
234
+ (0, class_validator_1.MaxLength)(L.reportPersonsContacted),
235
+ __metadata("design:type", String)
236
+ ], SubmitResponderReportDto.prototype, "personsContacted", void 0);
237
+ __decorate([
238
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.reportHandoverTo }),
239
+ (0, class_validator_1.IsOptional)(),
240
+ (0, class_transformer_1.Transform)(trimmed),
241
+ (0, class_validator_1.IsString)(),
242
+ (0, class_validator_1.MaxLength)(L.reportHandoverTo),
243
+ __metadata("design:type", String)
244
+ ], SubmitResponderReportDto.prototype, "handoverTo", void 0);
245
+ __decorate([
246
+ (0, swagger_1.ApiProperty)(),
247
+ (0, class_validator_1.IsBoolean)(),
248
+ __metadata("design:type", Boolean)
249
+ ], SubmitResponderReportDto.prototype, "followUpRequired", void 0);
250
+ __decorate([
251
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.reportFollowUpNotes }),
252
+ (0, class_validator_1.IsOptional)(),
253
+ (0, class_transformer_1.Transform)(trimmed),
254
+ (0, class_validator_1.IsString)(),
255
+ (0, class_validator_1.MaxLength)(L.reportFollowUpNotes),
256
+ __metadata("design:type", String)
257
+ ], SubmitResponderReportDto.prototype, "followUpNotes", void 0);
258
+ __decorate([
259
+ (0, swagger_1.ApiPropertyOptional)({ maxLength: L.reportRemarks }),
260
+ (0, class_validator_1.IsOptional)(),
261
+ (0, class_transformer_1.Transform)(trimmed),
262
+ (0, class_validator_1.IsString)(),
263
+ (0, class_validator_1.MaxLength)(L.reportRemarks),
264
+ __metadata("design:type", String)
265
+ ], SubmitResponderReportDto.prototype, "remarks", void 0);
266
+ __decorate([
267
+ (0, swagger_1.ApiPropertyOptional)({ type: [ResponderChecklistAnswerDto] }),
268
+ (0, class_validator_1.IsOptional)(),
269
+ (0, class_validator_1.IsArray)(),
270
+ (0, class_validator_1.ArrayMaxSize)(L.reportChecklistItems),
271
+ (0, class_validator_1.ValidateNested)({ each: true }),
272
+ (0, class_transformer_1.Type)(() => ResponderChecklistAnswerDto),
273
+ __metadata("design:type", Array)
274
+ ], SubmitResponderReportDto.prototype, "checklist", void 0);
275
+ __decorate([
276
+ (0, swagger_1.ApiPropertyOptional)({ type: [Number] }),
277
+ (0, class_validator_1.IsOptional)(),
278
+ (0, class_validator_1.IsArray)(),
279
+ (0, class_validator_1.ArrayMaxSize)(L.reportAttachments),
280
+ (0, class_transformer_1.Type)(() => Number),
281
+ (0, class_validator_1.IsInt)({ each: true }),
282
+ (0, class_validator_1.Min)(1, { each: true }),
283
+ __metadata("design:type", Array)
284
+ ], SubmitResponderReportDto.prototype, "attachmentIds", void 0);
285
+ // ── Positions ───────────────────────────────────────────────────────────────
286
+ class ResponderPositionSampleDto {
287
+ }
288
+ exports.ResponderPositionSampleDto = ResponderPositionSampleDto;
289
+ __decorate([
290
+ (0, swagger_1.ApiProperty)(),
291
+ (0, class_transformer_1.Type)(() => Number),
292
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
293
+ (0, class_validator_1.Min)(-90),
294
+ (0, class_validator_1.Max)(90),
295
+ __metadata("design:type", Number)
296
+ ], ResponderPositionSampleDto.prototype, "latitude", void 0);
297
+ __decorate([
298
+ (0, swagger_1.ApiProperty)(),
299
+ (0, class_transformer_1.Type)(() => Number),
300
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
301
+ (0, class_validator_1.Min)(-180),
302
+ (0, class_validator_1.Max)(180),
303
+ __metadata("design:type", Number)
304
+ ], ResponderPositionSampleDto.prototype, "longitude", void 0);
305
+ __decorate([
306
+ (0, swagger_1.ApiPropertyOptional)(),
307
+ (0, class_validator_1.IsOptional)(),
308
+ (0, class_transformer_1.Type)(() => Number),
309
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
310
+ (0, class_validator_1.Min)(0),
311
+ __metadata("design:type", Number)
312
+ ], ResponderPositionSampleDto.prototype, "accuracyMetres", void 0);
313
+ __decorate([
314
+ (0, swagger_1.ApiPropertyOptional)(),
315
+ (0, class_validator_1.IsOptional)(),
316
+ (0, class_transformer_1.Type)(() => Number),
317
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
318
+ __metadata("design:type", Number)
319
+ ], ResponderPositionSampleDto.prototype, "altitudeMetres", void 0);
320
+ __decorate([
321
+ (0, swagger_1.ApiPropertyOptional)(),
322
+ (0, class_validator_1.IsOptional)(),
323
+ (0, class_transformer_1.Type)(() => Number),
324
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
325
+ (0, class_validator_1.Min)(0),
326
+ __metadata("design:type", Number)
327
+ ], ResponderPositionSampleDto.prototype, "speedMetresPerSecond", void 0);
328
+ __decorate([
329
+ (0, swagger_1.ApiPropertyOptional)(),
330
+ (0, class_validator_1.IsOptional)(),
331
+ (0, class_transformer_1.Type)(() => Number),
332
+ (0, class_validator_1.IsNumber)({ allowNaN: false, allowInfinity: false }),
333
+ (0, class_validator_1.Min)(0),
334
+ (0, class_validator_1.Max)(360),
335
+ __metadata("design:type", Number)
336
+ ], ResponderPositionSampleDto.prototype, "headingDegrees", void 0);
337
+ __decorate([
338
+ (0, swagger_1.ApiProperty)(),
339
+ (0, class_validator_1.IsISO8601)({ strict: true }),
340
+ __metadata("design:type", String)
341
+ ], ResponderPositionSampleDto.prototype, "recordedAt", void 0);
342
+ __decorate([
343
+ (0, swagger_1.ApiPropertyOptional)(),
344
+ (0, class_validator_1.IsOptional)(),
345
+ (0, class_validator_1.IsBoolean)(),
346
+ __metadata("design:type", Boolean)
347
+ ], ResponderPositionSampleDto.prototype, "isMocked", void 0);
348
+ /**
349
+ * `POST /responder/positions` - positions of the unit the caller is on duty
350
+ * with. The server decides the unit from the caller's active duty session;
351
+ * the client never names one.
352
+ */
353
+ class ReportResponderPositionsDto {
354
+ }
355
+ exports.ReportResponderPositionsDto = ReportResponderPositionsDto;
356
+ __decorate([
357
+ (0, swagger_1.ApiProperty)({ type: [ResponderPositionSampleDto] }),
358
+ (0, class_validator_1.IsArray)(),
359
+ (0, class_validator_1.ArrayMinSize)(1),
360
+ (0, class_validator_1.ArrayMaxSize)(L.positionBatchSize),
361
+ (0, class_validator_1.ValidateNested)({ each: true }),
362
+ (0, class_transformer_1.Type)(() => ResponderPositionSampleDto),
363
+ __metadata("design:type", Array)
364
+ ], ReportResponderPositionsDto.prototype, "samples", void 0);
365
+ // ── Policy (organization override) ──────────────────────────────────────────
366
+ class ResponderLocationPolicyDto {
367
+ }
368
+ exports.ResponderLocationPolicyDto = ResponderLocationPolicyDto;
369
+ __decorate([
370
+ (0, class_validator_1.IsOptional)(),
371
+ (0, class_transformer_1.Type)(() => Number),
372
+ (0, class_validator_1.IsInt)(),
373
+ (0, class_validator_1.Min)(10),
374
+ (0, class_validator_1.Max)(900),
375
+ __metadata("design:type", Number)
376
+ ], ResponderLocationPolicyDto.prototype, "onDutyIntervalSeconds", void 0);
377
+ __decorate([
378
+ (0, class_validator_1.IsOptional)(),
379
+ (0, class_transformer_1.Type)(() => Number),
380
+ (0, class_validator_1.IsInt)(),
381
+ (0, class_validator_1.Min)(3),
382
+ (0, class_validator_1.Max)(300),
383
+ __metadata("design:type", Number)
384
+ ], ResponderLocationPolicyDto.prototype, "activeIntervalSeconds", void 0);
385
+ __decorate([
386
+ (0, class_validator_1.IsOptional)(),
387
+ (0, class_transformer_1.Type)(() => Number),
388
+ (0, class_validator_1.IsInt)(),
389
+ (0, class_validator_1.Min)(0),
390
+ (0, class_validator_1.Max)(500),
391
+ __metadata("design:type", Number)
392
+ ], ResponderLocationPolicyDto.prototype, "distanceFilterMetres", void 0);
393
+ __decorate([
394
+ (0, class_validator_1.IsOptional)(),
395
+ (0, class_transformer_1.Type)(() => Number),
396
+ (0, class_validator_1.IsInt)(),
397
+ (0, class_validator_1.Min)(5),
398
+ (0, class_validator_1.Max)(1000),
399
+ __metadata("design:type", Number)
400
+ ], ResponderLocationPolicyDto.prototype, "maxAccuracyMetres", void 0);
401
+ __decorate([
402
+ (0, class_validator_1.IsOptional)(),
403
+ (0, class_transformer_1.Type)(() => Number),
404
+ (0, class_validator_1.IsInt)(),
405
+ (0, class_validator_1.Min)(30),
406
+ (0, class_validator_1.Max)(3600),
407
+ __metadata("design:type", Number)
408
+ ], ResponderLocationPolicyDto.prototype, "staleAfterSeconds", void 0);
409
+ class ResponderArrivalPolicyDto {
410
+ }
411
+ exports.ResponderArrivalPolicyDto = ResponderArrivalPolicyDto;
412
+ __decorate([
413
+ (0, class_validator_1.IsOptional)(),
414
+ (0, class_transformer_1.Type)(() => Number),
415
+ (0, class_validator_1.IsInt)(),
416
+ (0, class_validator_1.Min)(25),
417
+ (0, class_validator_1.Max)(5000),
418
+ __metadata("design:type", Number)
419
+ ], ResponderArrivalPolicyDto.prototype, "radiusMetres", void 0);
420
+ __decorate([
421
+ (0, class_validator_1.IsOptional)(),
422
+ (0, class_validator_1.IsBoolean)(),
423
+ __metadata("design:type", Boolean)
424
+ ], ResponderArrivalPolicyDto.prototype, "allowManualConfirmation", void 0);
425
+ __decorate([
426
+ (0, class_validator_1.IsOptional)(),
427
+ (0, class_validator_1.IsBoolean)(),
428
+ __metadata("design:type", Boolean)
429
+ ], ResponderArrivalPolicyDto.prototype, "manualReasonRequired", void 0);
430
+ class ResponderDispatchPolicyDto {
431
+ }
432
+ exports.ResponderDispatchPolicyDto = ResponderDispatchPolicyDto;
433
+ __decorate([
434
+ (0, class_validator_1.IsOptional)(),
435
+ (0, class_validator_1.IsBoolean)(),
436
+ __metadata("design:type", Boolean)
437
+ ], ResponderDispatchPolicyDto.prototype, "allowDecline", void 0);
438
+ __decorate([
439
+ (0, class_validator_1.IsOptional)(),
440
+ (0, class_validator_1.IsBoolean)(),
441
+ __metadata("design:type", Boolean)
442
+ ], ResponderDispatchPolicyDto.prototype, "declineReasonRequired", void 0);
443
+ class ResponderChecklistItemDto {
444
+ }
445
+ exports.ResponderChecklistItemDto = ResponderChecklistItemDto;
446
+ __decorate([
447
+ (0, class_validator_1.IsString)(),
448
+ (0, class_validator_1.IsNotEmpty)(),
449
+ (0, class_validator_1.MaxLength)(L.reportChecklistItemId),
450
+ __metadata("design:type", String)
451
+ ], ResponderChecklistItemDto.prototype, "id", void 0);
452
+ __decorate([
453
+ (0, class_validator_1.IsString)(),
454
+ (0, class_validator_1.IsNotEmpty)(),
455
+ (0, class_validator_1.MaxLength)(L.reportChecklistItemLabel),
456
+ __metadata("design:type", String)
457
+ ], ResponderChecklistItemDto.prototype, "label", void 0);
458
+ __decorate([
459
+ (0, class_validator_1.IsBoolean)(),
460
+ __metadata("design:type", Boolean)
461
+ ], ResponderChecklistItemDto.prototype, "required", void 0);
462
+ class ResponderReportPolicyDto {
463
+ }
464
+ exports.ResponderReportPolicyDto = ResponderReportPolicyDto;
465
+ __decorate([
466
+ (0, class_validator_1.IsOptional)(),
467
+ (0, class_validator_1.IsBoolean)(),
468
+ __metadata("design:type", Boolean)
469
+ ], ResponderReportPolicyDto.prototype, "requiredToComplete", void 0);
470
+ __decorate([
471
+ (0, class_validator_1.IsOptional)(),
472
+ (0, class_validator_1.IsArray)(),
473
+ (0, class_validator_1.IsEnum)(responder_enums_1.ResponderReportField, { each: true }),
474
+ __metadata("design:type", Array)
475
+ ], ResponderReportPolicyDto.prototype, "requiredFields", void 0);
476
+ __decorate([
477
+ (0, class_validator_1.IsOptional)(),
478
+ (0, class_validator_1.IsArray)(),
479
+ (0, class_validator_1.ArrayMaxSize)(L.reportChecklistItems),
480
+ (0, class_validator_1.ValidateNested)({ each: true }),
481
+ (0, class_transformer_1.Type)(() => ResponderChecklistItemDto),
482
+ __metadata("design:type", Array)
483
+ ], ResponderReportPolicyDto.prototype, "checklist", void 0);
484
+ __decorate([
485
+ (0, class_validator_1.IsOptional)(),
486
+ (0, class_transformer_1.Type)(() => Number),
487
+ (0, class_validator_1.IsInt)(),
488
+ (0, class_validator_1.Min)(0),
489
+ (0, class_validator_1.Max)(20),
490
+ __metadata("design:type", Number)
491
+ ], ResponderReportPolicyDto.prototype, "minPhotos", void 0);
492
+ class ResponderEvidencePolicyDto {
493
+ }
494
+ exports.ResponderEvidencePolicyDto = ResponderEvidencePolicyDto;
495
+ __decorate([
496
+ (0, class_validator_1.IsOptional)(),
497
+ (0, class_validator_1.IsBoolean)(),
498
+ __metadata("design:type", Boolean)
499
+ ], ResponderEvidencePolicyDto.prototype, "allowPhotos", void 0);
500
+ __decorate([
501
+ (0, class_validator_1.IsOptional)(),
502
+ (0, class_validator_1.IsBoolean)(),
503
+ __metadata("design:type", Boolean)
504
+ ], ResponderEvidencePolicyDto.prototype, "allowDocuments", void 0);
505
+ __decorate([
506
+ (0, class_validator_1.IsOptional)(),
507
+ (0, class_validator_1.IsBoolean)(),
508
+ __metadata("design:type", Boolean)
509
+ ], ResponderEvidencePolicyDto.prototype, "allowVideo", void 0);
510
+ __decorate([
511
+ (0, class_validator_1.IsOptional)(),
512
+ (0, class_transformer_1.Type)(() => Number),
513
+ (0, class_validator_1.IsInt)(),
514
+ (0, class_validator_1.Min)(1),
515
+ (0, class_validator_1.Max)(10),
516
+ __metadata("design:type", Number)
517
+ ], ResponderEvidencePolicyDto.prototype, "maxImageMegabytes", void 0);
518
+ __decorate([
519
+ (0, class_validator_1.IsOptional)(),
520
+ (0, class_transformer_1.Type)(() => Number),
521
+ (0, class_validator_1.IsInt)(),
522
+ (0, class_validator_1.Min)(1),
523
+ (0, class_validator_1.Max)(100),
524
+ __metadata("design:type", Number)
525
+ ], ResponderEvidencePolicyDto.prototype, "maxDocumentMegabytes", void 0);
526
+ __decorate([
527
+ (0, class_validator_1.IsOptional)(),
528
+ (0, class_transformer_1.Type)(() => Number),
529
+ (0, class_validator_1.IsInt)(),
530
+ (0, class_validator_1.Min)(1),
531
+ (0, class_validator_1.Max)(500),
532
+ __metadata("design:type", Number)
533
+ ], ResponderEvidencePolicyDto.prototype, "maxVideoMegabytes", void 0);
534
+ class ResponderReporterContactPolicyDto {
535
+ }
536
+ exports.ResponderReporterContactPolicyDto = ResponderReporterContactPolicyDto;
537
+ __decorate([
538
+ (0, class_validator_1.IsOptional)(),
539
+ (0, class_validator_1.IsBoolean)(),
540
+ __metadata("design:type", Boolean)
541
+ ], ResponderReporterContactPolicyDto.prototype, "visible", void 0);
542
+ /** An organization's override of DEFAULT_RESPONDER_POLICY; every part optional. */
543
+ class ResponderPolicyDto {
544
+ }
545
+ exports.ResponderPolicyDto = ResponderPolicyDto;
546
+ __decorate([
547
+ (0, class_validator_1.IsOptional)(),
548
+ (0, class_validator_1.ValidateNested)(),
549
+ (0, class_transformer_1.Type)(() => ResponderLocationPolicyDto),
550
+ __metadata("design:type", ResponderLocationPolicyDto)
551
+ ], ResponderPolicyDto.prototype, "location", void 0);
552
+ __decorate([
553
+ (0, class_validator_1.IsOptional)(),
554
+ (0, class_validator_1.ValidateNested)(),
555
+ (0, class_transformer_1.Type)(() => ResponderArrivalPolicyDto),
556
+ __metadata("design:type", ResponderArrivalPolicyDto)
557
+ ], ResponderPolicyDto.prototype, "arrival", void 0);
558
+ __decorate([
559
+ (0, class_validator_1.IsOptional)(),
560
+ (0, class_validator_1.ValidateNested)(),
561
+ (0, class_transformer_1.Type)(() => ResponderDispatchPolicyDto),
562
+ __metadata("design:type", ResponderDispatchPolicyDto)
563
+ ], ResponderPolicyDto.prototype, "dispatch", void 0);
564
+ __decorate([
565
+ (0, class_validator_1.IsOptional)(),
566
+ (0, class_validator_1.ValidateNested)(),
567
+ (0, class_transformer_1.Type)(() => ResponderReportPolicyDto),
568
+ __metadata("design:type", ResponderReportPolicyDto)
569
+ ], ResponderPolicyDto.prototype, "report", void 0);
570
+ __decorate([
571
+ (0, class_validator_1.IsOptional)(),
572
+ (0, class_validator_1.ValidateNested)(),
573
+ (0, class_transformer_1.Type)(() => ResponderEvidencePolicyDto),
574
+ __metadata("design:type", ResponderEvidencePolicyDto)
575
+ ], ResponderPolicyDto.prototype, "evidence", void 0);
576
+ __decorate([
577
+ (0, class_validator_1.IsOptional)(),
578
+ (0, class_validator_1.ValidateNested)(),
579
+ (0, class_transformer_1.Type)(() => ResponderReporterContactPolicyDto),
580
+ __metadata("design:type", ResponderReporterContactPolicyDto)
581
+ ], ResponderPolicyDto.prototype, "reporterContact", void 0);
582
+ //# sourceMappingURL=responder.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responder.dto.js","sourceRoot":"","sources":["../../../../../src/modules/responder/dtos/responder.dto.ts"],"names":[],"mappings":"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"}