@opencrvs/toolkit 1.9.3-rc.ae9ad24 → 1.9.3-rc.b3cc1e4
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.
- package/dist/commons/api/router.d.ts +28089 -2317
- package/dist/commons/conditionals/conditionals.d.ts +10 -1
- package/dist/commons/conditionals/validate.d.ts +11 -4
- package/dist/commons/events/ActionConfig.d.ts +23121 -1547
- package/dist/commons/events/ActionDocument.d.ts +840 -1849
- package/dist/commons/events/ActionInput.d.ts +290 -1066
- package/dist/commons/events/ActionType.d.ts +91 -8
- package/dist/commons/events/AdvancedSearchConfig.d.ts +222 -1238
- package/dist/commons/events/CompositeFieldValue.d.ts +25 -176
- package/dist/commons/events/Conditional.d.ts +26 -38
- package/dist/commons/events/Constants.d.ts +1 -1
- package/dist/commons/events/CountryConfigQueryInput.d.ts +931 -4169
- package/dist/commons/events/CreatedAtLocation.d.ts +1 -1
- package/dist/commons/events/DeduplicationConfig.d.ts +15 -150
- package/dist/commons/events/Draft.d.ts +72 -105
- package/dist/commons/events/DynamicFieldValue.d.ts +7 -91
- package/dist/commons/events/EventConfig.d.ts +18321 -2120
- package/dist/commons/events/EventConfigInput.d.ts +1 -1
- package/dist/commons/events/EventDocument.d.ts +336 -1326
- package/dist/commons/events/EventIndex.d.ts +197 -967
- package/dist/commons/events/EventInput.d.ts +2 -8
- package/dist/commons/events/EventMetadata.d.ts +106 -346
- package/dist/commons/events/FieldConfig.d.ts +4173 -11778
- package/dist/commons/events/FieldType.d.ts +9 -4
- package/dist/commons/events/FieldTypeMapping.d.ts +172 -811
- package/dist/commons/events/FieldValue.d.ts +82 -355
- package/dist/commons/events/Flag.d.ts +70 -0
- package/dist/commons/events/FormConfig.d.ts +12876 -721
- package/dist/commons/events/PageConfig.d.ts +8604 -319
- package/dist/commons/events/SummaryConfig.d.ts +14 -161
- package/dist/commons/events/TemplateConfig.d.ts +3 -3
- package/dist/commons/events/TranslationConfig.d.ts +2 -2
- package/dist/commons/events/WorkqueueColumnConfig.d.ts +74 -37
- package/dist/commons/events/WorkqueueConfig.d.ts +1695 -7156
- package/dist/commons/events/deduplication.d.ts +3 -3
- package/dist/commons/events/defineConfig.d.ts +25160 -152
- package/dist/commons/events/event.d.ts +4 -4
- package/dist/commons/events/index.d.ts +1 -0
- package/dist/commons/events/locations.d.ts +15 -19
- package/dist/commons/events/scopes.d.ts +3 -1
- package/dist/commons/events/state/availableActions.d.ts +2 -1
- package/dist/commons/events/state/flags.d.ts +21 -3
- package/dist/commons/events/state/index.d.ts +23 -19
- package/dist/commons/events/state/utils.d.ts +142 -110
- package/dist/commons/events/test.utils.d.ts +23 -6
- package/dist/commons/events/transactions.d.ts +1 -1
- package/dist/commons/events/utils.d.ts +50372 -361
- package/dist/commons/notification/UserNotifications.d.ts +55 -636
- package/dist/conditionals/index.d.ts.map +1 -1
- package/dist/conditionals/index.js +38 -5
- package/dist/events/deduplication.d.ts +3 -3
- package/dist/events/index.js +1813 -1493
- package/dist/notification/index.d.ts.map +1 -1
- package/dist/notification/index.js +1464 -1388
- package/dist/scopes/index.d.ts +138 -138
- package/dist/scopes/index.d.ts.map +1 -1
- package/dist/scopes/index.js +123 -93
- package/package.json +5 -5
|
@@ -38,6 +38,7 @@ __export(notification_exports, {
|
|
|
38
38
|
triggerUserEventNotification: () => triggerUserEventNotification
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(notification_exports);
|
|
41
|
+
var z40 = __toESM(require("zod/v4"));
|
|
41
42
|
|
|
42
43
|
// ../commons/src/url.ts
|
|
43
44
|
function joinUrl(base, path) {
|
|
@@ -47,30 +48,28 @@ function joinUrl(base, path) {
|
|
|
47
48
|
|
|
48
49
|
// ../commons/src/events/Constants.ts
|
|
49
50
|
var TENNIS_CLUB_MEMBERSHIP = "tennis-club-membership";
|
|
50
|
-
var
|
|
51
|
+
var CHILD_ONBOARDING_EVENT = "child-onboarding";
|
|
51
52
|
|
|
52
53
|
// ../commons/src/events/ActionConfig.ts
|
|
53
|
-
var
|
|
54
|
+
var z21 = __toESM(require("zod/v4"));
|
|
54
55
|
|
|
55
56
|
// ../commons/src/events/TranslationConfig.ts
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
var TranslationConfig = import_zod.z.object({
|
|
60
|
-
id: import_zod.z.string().describe(
|
|
57
|
+
var z = __toESM(require("zod/v4"));
|
|
58
|
+
var TranslationConfig = z.object({
|
|
59
|
+
id: z.string().describe(
|
|
61
60
|
"The identifier of the translation referred in translation CSV files"
|
|
62
61
|
),
|
|
63
|
-
defaultMessage:
|
|
64
|
-
description:
|
|
62
|
+
defaultMessage: z.string().describe("Default translation message"),
|
|
63
|
+
description: z.string().describe(
|
|
65
64
|
"Describe the translation for a translator to be able to identify it."
|
|
66
65
|
)
|
|
67
|
-
}).
|
|
66
|
+
}).meta({
|
|
68
67
|
description: "Translation configuration",
|
|
69
|
-
|
|
68
|
+
id: "TranslationConfig"
|
|
70
69
|
});
|
|
71
70
|
|
|
72
71
|
// ../commons/src/events/ActionType.ts
|
|
73
|
-
var
|
|
72
|
+
var z2 = __toESM(require("zod/v4"));
|
|
74
73
|
var ActionType = {
|
|
75
74
|
// Pre-declaration actions
|
|
76
75
|
DELETE: "DELETE",
|
|
@@ -80,6 +79,7 @@ var ActionType = {
|
|
|
80
79
|
DECLARE: "DECLARE",
|
|
81
80
|
VALIDATE: "VALIDATE",
|
|
82
81
|
REGISTER: "REGISTER",
|
|
82
|
+
EDIT: "EDIT",
|
|
83
83
|
// Declaration system actions. Non-configurable.
|
|
84
84
|
DUPLICATE_DETECTED: "DUPLICATE_DETECTED",
|
|
85
85
|
REJECT: "REJECT",
|
|
@@ -95,11 +95,14 @@ var ActionType = {
|
|
|
95
95
|
// General actions
|
|
96
96
|
READ: "READ",
|
|
97
97
|
ASSIGN: "ASSIGN",
|
|
98
|
-
UNASSIGN: "UNASSIGN"
|
|
98
|
+
UNASSIGN: "UNASSIGN",
|
|
99
|
+
// Custom action
|
|
100
|
+
CUSTOM: "CUSTOM"
|
|
99
101
|
};
|
|
100
102
|
var ConfirmableActions = [
|
|
101
103
|
ActionType.NOTIFY,
|
|
102
104
|
ActionType.DECLARE,
|
|
105
|
+
ActionType.EDIT,
|
|
103
106
|
ActionType.VALIDATE,
|
|
104
107
|
ActionType.REGISTER,
|
|
105
108
|
ActionType.REJECT,
|
|
@@ -107,13 +110,15 @@ var ConfirmableActions = [
|
|
|
107
110
|
ActionType.PRINT_CERTIFICATE,
|
|
108
111
|
ActionType.REQUEST_CORRECTION,
|
|
109
112
|
ActionType.APPROVE_CORRECTION,
|
|
110
|
-
ActionType.REJECT_CORRECTION
|
|
113
|
+
ActionType.REJECT_CORRECTION,
|
|
114
|
+
ActionType.CUSTOM
|
|
111
115
|
];
|
|
112
|
-
var ActionTypes =
|
|
116
|
+
var ActionTypes = z2.enum([
|
|
113
117
|
"DELETE",
|
|
114
118
|
"CREATE",
|
|
115
119
|
"NOTIFY",
|
|
116
120
|
"DECLARE",
|
|
121
|
+
"EDIT",
|
|
117
122
|
"VALIDATE",
|
|
118
123
|
"REGISTER",
|
|
119
124
|
"DUPLICATE_DETECTED",
|
|
@@ -127,13 +132,15 @@ var ActionTypes = import_zod2.z.enum([
|
|
|
127
132
|
"APPROVE_CORRECTION",
|
|
128
133
|
"READ",
|
|
129
134
|
"ASSIGN",
|
|
130
|
-
"UNASSIGN"
|
|
135
|
+
"UNASSIGN",
|
|
136
|
+
"CUSTOM"
|
|
131
137
|
]);
|
|
132
138
|
var ClientSpecificAction = {
|
|
133
139
|
REVIEW_CORRECTION_REQUEST: "REVIEW_CORRECTION_REQUEST"
|
|
134
140
|
};
|
|
135
141
|
var declarationActionValues = [
|
|
136
142
|
ActionTypes.enum.DECLARE,
|
|
143
|
+
ActionTypes.enum.EDIT,
|
|
137
144
|
ActionTypes.enum.VALIDATE,
|
|
138
145
|
ActionTypes.enum.REGISTER,
|
|
139
146
|
ActionTypes.enum.NOTIFY,
|
|
@@ -155,13 +162,14 @@ var writeActions = ActionTypes.exclude([
|
|
|
155
162
|
ActionType.UNASSIGN
|
|
156
163
|
]);
|
|
157
164
|
var workqueueActions = ActionTypes.exclude([
|
|
165
|
+
ActionType.READ,
|
|
158
166
|
ActionType.CREATE,
|
|
159
167
|
ActionType.NOTIFY,
|
|
160
168
|
ActionType.DUPLICATE_DETECTED,
|
|
161
|
-
ActionType.REJECT,
|
|
162
169
|
ActionType.MARK_AS_NOT_DUPLICATE,
|
|
163
170
|
ActionType.REJECT_CORRECTION,
|
|
164
|
-
ActionType.APPROVE_CORRECTION
|
|
171
|
+
ActionType.APPROVE_CORRECTION,
|
|
172
|
+
ActionType.CUSTOM
|
|
165
173
|
]);
|
|
166
174
|
var META_ACTIONS = [
|
|
167
175
|
ActionType.ASSIGN,
|
|
@@ -170,59 +178,57 @@ var META_ACTIONS = [
|
|
|
170
178
|
];
|
|
171
179
|
|
|
172
180
|
// ../commons/src/events/FieldConfig.ts
|
|
173
|
-
var
|
|
181
|
+
var z16 = __toESM(require("zod/v4"));
|
|
174
182
|
|
|
175
183
|
// ../commons/src/events/Conditional.ts
|
|
176
|
-
var
|
|
177
|
-
var
|
|
178
|
-
(0, import_zod_openapi2.extendZodWithOpenApi)(import_zod3.z);
|
|
179
|
-
var Conditional = import_zod3.z.custom((val) => typeof val === "object" && val !== null).openapi({
|
|
184
|
+
var z3 = __toESM(require("zod/v4"));
|
|
185
|
+
var Conditional = z3.any().describe("JSONSchema").meta({
|
|
180
186
|
description: "JSON schema conditional configuration",
|
|
181
|
-
|
|
187
|
+
id: "Conditional"
|
|
182
188
|
});
|
|
183
189
|
var ConditionalType = {
|
|
184
190
|
SHOW: "SHOW",
|
|
185
191
|
ENABLE: "ENABLE",
|
|
186
192
|
DISPLAY_ON_REVIEW: "DISPLAY_ON_REVIEW"
|
|
187
193
|
};
|
|
188
|
-
var ShowConditional =
|
|
189
|
-
type:
|
|
194
|
+
var ShowConditional = z3.object({
|
|
195
|
+
type: z3.literal(ConditionalType.SHOW),
|
|
190
196
|
conditional: Conditional
|
|
191
197
|
}).describe(
|
|
192
198
|
"If 'SHOW' conditional is defined, the component is shown to the user only if the condition is met"
|
|
193
199
|
);
|
|
194
|
-
var EnableConditional =
|
|
195
|
-
type:
|
|
200
|
+
var EnableConditional = z3.object({
|
|
201
|
+
type: z3.literal(ConditionalType.ENABLE),
|
|
196
202
|
conditional: Conditional
|
|
197
203
|
}).describe(
|
|
198
204
|
"If 'ENABLE' conditional is defined, the component is enabled only if the condition is met"
|
|
199
205
|
);
|
|
200
|
-
var ActionConditional =
|
|
206
|
+
var ActionConditional = z3.discriminatedUnion("type", [
|
|
201
207
|
// Action can be shown / hidden
|
|
202
208
|
ShowConditional,
|
|
203
209
|
// Action can be shown to the user in the list but as disabled
|
|
204
210
|
EnableConditional
|
|
205
211
|
]);
|
|
206
|
-
var DisplayOnReviewConditional =
|
|
207
|
-
type:
|
|
212
|
+
var DisplayOnReviewConditional = z3.object({
|
|
213
|
+
type: z3.literal(ConditionalType.DISPLAY_ON_REVIEW),
|
|
208
214
|
conditional: Conditional
|
|
209
215
|
}).describe(
|
|
210
216
|
"If 'DISPLAY_ON_REVIEW' conditional is defined, the component is shown on the review page only if both the 'DISPLAY_ON_REVIEW' and 'SHOW' conditions are met. This should only be used for fields within declaration forms, as they are the only ones with review pages."
|
|
211
217
|
);
|
|
212
|
-
var FieldConditional =
|
|
218
|
+
var FieldConditional = z3.discriminatedUnion("type", [
|
|
213
219
|
// Field input can be shown / hidden
|
|
214
220
|
ShowConditional,
|
|
215
221
|
// Field input can be shown to the user but as disabled
|
|
216
222
|
EnableConditional,
|
|
217
223
|
// Field output can be shown / hidden on the review page
|
|
218
224
|
DisplayOnReviewConditional
|
|
219
|
-
]).
|
|
225
|
+
]).meta({
|
|
220
226
|
description: "Field conditional configuration",
|
|
221
|
-
|
|
227
|
+
id: "FieldConditional"
|
|
222
228
|
});
|
|
223
229
|
|
|
224
230
|
// ../commons/src/events/FieldType.ts
|
|
225
|
-
var
|
|
231
|
+
var z4 = __toESM(require("zod/v4"));
|
|
226
232
|
var FieldType = {
|
|
227
233
|
NAME: "NAME",
|
|
228
234
|
PHONE: "PHONE",
|
|
@@ -264,9 +270,10 @@ var FieldType = {
|
|
|
264
270
|
QUERY_PARAM_READER: "QUERY_PARAM_READER",
|
|
265
271
|
QR_READER: "QR_READER",
|
|
266
272
|
ID_READER: "ID_READER",
|
|
267
|
-
LOADER: "LOADER"
|
|
273
|
+
LOADER: "LOADER",
|
|
274
|
+
ALPHA_HIDDEN: "ALPHA_HIDDEN"
|
|
268
275
|
};
|
|
269
|
-
var FileFieldType =
|
|
276
|
+
var FileFieldType = z4.enum([
|
|
270
277
|
FieldType.FILE,
|
|
271
278
|
FieldType.FILE_WITH_OPTIONS,
|
|
272
279
|
FieldType.SIGNATURE
|
|
@@ -289,146 +296,146 @@ var FieldTypesToHideInReview = [
|
|
|
289
296
|
FieldType.LOADER,
|
|
290
297
|
FieldType.HTTP,
|
|
291
298
|
FieldType.QUERY_PARAM_READER,
|
|
292
|
-
FieldType.DATA
|
|
299
|
+
FieldType.DATA,
|
|
300
|
+
FieldType.ALPHA_HIDDEN
|
|
293
301
|
];
|
|
294
302
|
|
|
295
303
|
// ../commons/src/events/FieldValue.ts
|
|
296
|
-
var
|
|
304
|
+
var z7 = __toESM(require("zod/v4"));
|
|
297
305
|
|
|
298
306
|
// ../commons/src/documents.ts
|
|
299
|
-
var
|
|
300
|
-
var
|
|
301
|
-
(0, import_zod_openapi3.extendZodWithOpenApi)(import_zod5.z);
|
|
302
|
-
var FullDocumentUrl = import_zod5.z.string().brand("FullDocumentUrl").describe(
|
|
307
|
+
var z5 = __toESM(require("zod/v4"));
|
|
308
|
+
var FullDocumentUrl = z5.string().brand("FullDocumentUrl").describe(
|
|
303
309
|
"A full url with protocol, host, bucket name, starting from the root of the S3 server, https://minio.opencrvs.com/bucket-name/document-id.jpg"
|
|
304
310
|
);
|
|
305
|
-
var FullDocumentPath =
|
|
311
|
+
var FullDocumentPath = z5.string().overwrite((val) => val.startsWith("/") ? val : `/${val}`).meta({ effectType: "input", type: "string" }).describe(
|
|
306
312
|
"A full absolute path with bucket name, starting from the root of the S3 server, /bucket-name/document-id.jpg"
|
|
307
313
|
);
|
|
308
|
-
var DocumentPath =
|
|
314
|
+
var DocumentPath = z5.string().brand("DocumentPath").describe(
|
|
309
315
|
"A full identifier starting from the root of the S3 bucket, e.g. /document-id.jpg or /directory/document-id.jpg but never /bucket-name/document-id.jpg"
|
|
310
316
|
);
|
|
311
317
|
|
|
312
318
|
// ../commons/src/events/CompositeFieldValue.ts
|
|
313
|
-
var
|
|
319
|
+
var z6 = __toESM(require("zod/v4"));
|
|
314
320
|
var AddressType = {
|
|
315
321
|
DOMESTIC: "DOMESTIC",
|
|
316
322
|
INTERNATIONAL: "INTERNATIONAL"
|
|
317
323
|
};
|
|
318
|
-
var FileFieldValue =
|
|
324
|
+
var FileFieldValue = z6.object({
|
|
319
325
|
path: FullDocumentPath,
|
|
320
|
-
originalFilename:
|
|
321
|
-
type:
|
|
326
|
+
originalFilename: z6.string(),
|
|
327
|
+
type: z6.string()
|
|
322
328
|
});
|
|
323
|
-
var NameFieldValue =
|
|
324
|
-
firstname:
|
|
325
|
-
surname:
|
|
326
|
-
middlename:
|
|
329
|
+
var NameFieldValue = z6.object({
|
|
330
|
+
firstname: z6.string(),
|
|
331
|
+
surname: z6.string(),
|
|
332
|
+
middlename: z6.string().optional()
|
|
327
333
|
});
|
|
328
|
-
var NameFieldUpdateValue =
|
|
329
|
-
firstname:
|
|
330
|
-
surname:
|
|
331
|
-
middlename:
|
|
332
|
-
}).or(
|
|
333
|
-
var StreetLevelDetailsValue =
|
|
334
|
-
var StreetLevelDetailsUpdateValue =
|
|
335
|
-
var BaseAddressFieldValue =
|
|
336
|
-
country:
|
|
334
|
+
var NameFieldUpdateValue = z6.object({
|
|
335
|
+
firstname: z6.string().nullish(),
|
|
336
|
+
surname: z6.string().nullish(),
|
|
337
|
+
middlename: z6.string().nullish()
|
|
338
|
+
}).or(z6.null()).or(z6.undefined());
|
|
339
|
+
var StreetLevelDetailsValue = z6.record(z6.string(), z6.string()).optional();
|
|
340
|
+
var StreetLevelDetailsUpdateValue = z6.record(z6.string(), z6.string().nullable()).nullish();
|
|
341
|
+
var BaseAddressFieldValue = z6.object({
|
|
342
|
+
country: z6.string(),
|
|
337
343
|
streetLevelDetails: StreetLevelDetailsValue
|
|
338
344
|
});
|
|
339
|
-
var BaseAddressFieldUpdateValue =
|
|
340
|
-
country:
|
|
345
|
+
var BaseAddressFieldUpdateValue = z6.object({
|
|
346
|
+
country: z6.string().nullish(),
|
|
341
347
|
streetLevelDetails: StreetLevelDetailsUpdateValue
|
|
342
348
|
});
|
|
343
349
|
var DomesticAddressFieldValue = BaseAddressFieldValue.extend({
|
|
344
|
-
addressType:
|
|
345
|
-
administrativeArea:
|
|
350
|
+
addressType: z6.literal(AddressType.DOMESTIC),
|
|
351
|
+
administrativeArea: z6.string().uuid()
|
|
346
352
|
});
|
|
347
353
|
var InternationalAddressFieldValue = BaseAddressFieldValue.extend({
|
|
348
|
-
addressType:
|
|
354
|
+
addressType: z6.literal(AddressType.INTERNATIONAL)
|
|
349
355
|
});
|
|
350
|
-
var AddressFieldValue =
|
|
356
|
+
var AddressFieldValue = z6.discriminatedUnion("addressType", [
|
|
351
357
|
DomesticAddressFieldValue,
|
|
352
358
|
InternationalAddressFieldValue
|
|
353
359
|
]);
|
|
354
360
|
var DomesticAddressUpdateFieldValue = BaseAddressFieldUpdateValue.extend({
|
|
355
|
-
addressType:
|
|
356
|
-
administrativeArea:
|
|
361
|
+
addressType: z6.literal(AddressType.DOMESTIC),
|
|
362
|
+
administrativeArea: z6.string().uuid().nullish()
|
|
357
363
|
/* Leaf level admin structure */
|
|
358
364
|
});
|
|
359
365
|
var InternationalAddressUpdateFieldValue = BaseAddressFieldUpdateValue.extend(
|
|
360
366
|
{
|
|
361
|
-
addressType:
|
|
367
|
+
addressType: z6.literal(AddressType.INTERNATIONAL)
|
|
362
368
|
}
|
|
363
369
|
);
|
|
364
|
-
var AddressFieldUpdateValue =
|
|
370
|
+
var AddressFieldUpdateValue = z6.discriminatedUnion("addressType", [
|
|
365
371
|
DomesticAddressUpdateFieldValue,
|
|
366
372
|
InternationalAddressUpdateFieldValue
|
|
367
373
|
]).nullish();
|
|
368
|
-
var FileFieldValueWithOption =
|
|
374
|
+
var FileFieldValueWithOption = z6.object({
|
|
369
375
|
path: FullDocumentPath,
|
|
370
|
-
originalFilename:
|
|
371
|
-
type:
|
|
372
|
-
option:
|
|
376
|
+
originalFilename: z6.string(),
|
|
377
|
+
type: z6.string(),
|
|
378
|
+
option: z6.string()
|
|
373
379
|
});
|
|
374
|
-
var FileFieldWithOptionValue =
|
|
375
|
-
var HttpFieldValue =
|
|
376
|
-
loading:
|
|
377
|
-
error:
|
|
378
|
-
data:
|
|
380
|
+
var FileFieldWithOptionValue = z6.array(FileFieldValueWithOption);
|
|
381
|
+
var HttpFieldValue = z6.object({
|
|
382
|
+
loading: z6.boolean(),
|
|
383
|
+
error: z6.object({ statusCode: z6.number(), message: z6.string() }).nullish(),
|
|
384
|
+
data: z6.any()
|
|
379
385
|
});
|
|
380
|
-
var HttpFieldUpdateValue =
|
|
381
|
-
loading:
|
|
382
|
-
error:
|
|
383
|
-
data:
|
|
384
|
-
}).or(
|
|
385
|
-
var QueryParamReaderFieldValue =
|
|
386
|
-
data:
|
|
386
|
+
var HttpFieldUpdateValue = z6.object({
|
|
387
|
+
loading: z6.boolean().nullish(),
|
|
388
|
+
error: z6.object({ statusCode: z6.number(), message: z6.string() }).nullish(),
|
|
389
|
+
data: z6.any().nullish()
|
|
390
|
+
}).or(z6.null()).or(z6.undefined());
|
|
391
|
+
var QueryParamReaderFieldValue = z6.object({
|
|
392
|
+
data: z6.record(z6.string(), z6.string())
|
|
387
393
|
}).nullish();
|
|
388
|
-
var QueryParamReaderFieldUpdateValue =
|
|
389
|
-
data:
|
|
394
|
+
var QueryParamReaderFieldUpdateValue = z6.object({
|
|
395
|
+
data: z6.record(z6.string(), z6.string())
|
|
390
396
|
});
|
|
391
|
-
var ReadDataValue =
|
|
392
|
-
data:
|
|
397
|
+
var ReadDataValue = z6.object({
|
|
398
|
+
data: z6.any()
|
|
393
399
|
});
|
|
394
400
|
var QrReaderFieldValue = ReadDataValue;
|
|
395
401
|
var IdReaderFieldValue = ReadDataValue;
|
|
396
402
|
|
|
397
403
|
// ../commons/src/events/FieldValue.ts
|
|
398
|
-
var TextValue =
|
|
404
|
+
var TextValue = z7.string();
|
|
405
|
+
var HiddenFieldValue = z7.string();
|
|
399
406
|
var NonEmptyTextValue = TextValue.min(1);
|
|
400
|
-
var DateValue =
|
|
401
|
-
var AgeValue =
|
|
402
|
-
age:
|
|
403
|
-
asOfDateRef:
|
|
407
|
+
var DateValue = z7.iso.date().describe("Date in the format YYYY-MM-DD");
|
|
408
|
+
var AgeValue = z7.object({
|
|
409
|
+
age: z7.number(),
|
|
410
|
+
asOfDateRef: z7.string()
|
|
404
411
|
});
|
|
405
412
|
var AgeUpdateValue = AgeValue.optional().nullable();
|
|
406
|
-
var TimeValue =
|
|
407
|
-
var DatetimeValue =
|
|
408
|
-
var SelectDateRangeValue =
|
|
413
|
+
var TimeValue = z7.string().regex(/^([01][0-9]|2[0-3]):[0-5][0-9]$/);
|
|
414
|
+
var DatetimeValue = z7.iso.datetime();
|
|
415
|
+
var SelectDateRangeValue = z7.enum([
|
|
409
416
|
"last7Days",
|
|
410
417
|
"last30Days",
|
|
411
418
|
"last90Days",
|
|
412
419
|
"last365Days"
|
|
413
420
|
]);
|
|
414
|
-
var DateRangeFieldValue =
|
|
421
|
+
var DateRangeFieldValue = z7.object({
|
|
415
422
|
start: DateValue,
|
|
416
423
|
end: DateValue
|
|
417
424
|
}).or(DateValue).describe(
|
|
418
425
|
"Date range with start and end dates in the format YYYY-MM-DD. Inclusive start, exclusive end."
|
|
419
426
|
);
|
|
420
|
-
var EmailValue =
|
|
421
|
-
var CheckboxFieldValue =
|
|
422
|
-
var NumberFieldValue =
|
|
423
|
-
var SignatureFieldValue =
|
|
424
|
-
var ButtonFieldValue =
|
|
425
|
-
var VerificationStatusValue =
|
|
427
|
+
var EmailValue = z7.email();
|
|
428
|
+
var CheckboxFieldValue = z7.boolean();
|
|
429
|
+
var NumberFieldValue = z7.number();
|
|
430
|
+
var SignatureFieldValue = z7.string();
|
|
431
|
+
var ButtonFieldValue = z7.number();
|
|
432
|
+
var VerificationStatusValue = z7.enum([
|
|
426
433
|
"verified",
|
|
427
434
|
"authenticated",
|
|
428
435
|
"failed",
|
|
429
436
|
"pending"
|
|
430
437
|
]);
|
|
431
|
-
var FieldValuesWithoutDataField =
|
|
438
|
+
var FieldValuesWithoutDataField = z7.union([
|
|
432
439
|
AddressFieldValue,
|
|
433
440
|
TextValue,
|
|
434
441
|
DateValue,
|
|
@@ -449,10 +456,10 @@ var FieldValuesWithoutDataField = import_zod7.z.union([
|
|
|
449
456
|
QrReaderFieldValue,
|
|
450
457
|
IdReaderFieldValue
|
|
451
458
|
]);
|
|
452
|
-
var DataFieldValue =
|
|
453
|
-
data:
|
|
459
|
+
var DataFieldValue = z7.object({
|
|
460
|
+
data: z7.record(z7.string(), FieldValuesWithoutDataField)
|
|
454
461
|
}).nullish();
|
|
455
|
-
var FieldValue =
|
|
462
|
+
var FieldValue = z7.union([
|
|
456
463
|
FieldValuesWithoutDataField,
|
|
457
464
|
DataFieldValue
|
|
458
465
|
]);
|
|
@@ -472,22 +479,38 @@ var PRIORITY_ORDER = [
|
|
|
472
479
|
"DataFieldValue"
|
|
473
480
|
];
|
|
474
481
|
function schemaPriority(schema) {
|
|
475
|
-
const name = schema.
|
|
482
|
+
const name = schema.description;
|
|
483
|
+
if (!name) {
|
|
484
|
+
return 9999;
|
|
485
|
+
}
|
|
476
486
|
const idx = PRIORITY_ORDER.indexOf(name);
|
|
477
487
|
return idx === -1 ? 9999 : idx;
|
|
478
488
|
}
|
|
479
489
|
function safeUnion(schemas) {
|
|
480
|
-
return
|
|
490
|
+
return z7.any().superRefine((val, ctx) => {
|
|
481
491
|
const successful = schemas.filter((s) => s.safeParse(val).success);
|
|
482
492
|
if (successful.length === 1) {
|
|
483
|
-
return
|
|
493
|
+
return;
|
|
484
494
|
}
|
|
485
495
|
if (successful.length === 0) {
|
|
486
|
-
|
|
496
|
+
ctx.addIssue({
|
|
497
|
+
code: "invalid_type",
|
|
498
|
+
expected: "custom",
|
|
499
|
+
message: "Value does not match any schema"
|
|
500
|
+
});
|
|
501
|
+
return;
|
|
487
502
|
}
|
|
488
503
|
successful.sort((a, b) => schemaPriority(a) - schemaPriority(b));
|
|
489
504
|
const best = successful[0];
|
|
490
|
-
|
|
505
|
+
if (!best.safeParse(val).success) {
|
|
506
|
+
ctx.addIssue({
|
|
507
|
+
expected: "custom",
|
|
508
|
+
code: "invalid_type",
|
|
509
|
+
message: "Value did not match the best schema"
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}).meta({
|
|
513
|
+
description: "Value that matches exactly one of the possible schema types (TextValue, DateValue, DateRangeFieldValue). The best matching schema is chosen by priority."
|
|
491
514
|
});
|
|
492
515
|
}
|
|
493
516
|
var FieldUpdateValue = safeUnion([
|
|
@@ -505,24 +528,22 @@ var FieldUpdateValue = safeUnion([
|
|
|
505
528
|
DataFieldValue.describe("DataFieldValue"),
|
|
506
529
|
NameFieldUpdateValue.describe("NameFieldUpdateValue"),
|
|
507
530
|
HttpFieldUpdateValue.describe("HttpFieldUpdateValue"),
|
|
508
|
-
QueryParamReaderFieldUpdateValue.describe("QueryParamReaderFieldUpdateValue")
|
|
531
|
+
QueryParamReaderFieldUpdateValue.describe("QueryParamReaderFieldUpdateValue"),
|
|
532
|
+
HiddenFieldValue.describe("HiddenFieldValue")
|
|
509
533
|
]);
|
|
510
534
|
|
|
511
|
-
// ../commons/src/events/FieldConfig.ts
|
|
512
|
-
var import_zod_openapi6 = require("zod-openapi");
|
|
513
|
-
|
|
514
535
|
// ../commons/src/uuid.ts
|
|
515
536
|
var import_uuid = require("uuid");
|
|
516
|
-
var
|
|
517
|
-
var UUID =
|
|
537
|
+
var z8 = __toESM(require("zod/v4"));
|
|
538
|
+
var UUID = z8.uuid().brand("UUID");
|
|
518
539
|
function getUUID() {
|
|
519
540
|
return (0, import_uuid.v4)();
|
|
520
541
|
}
|
|
521
542
|
|
|
522
543
|
// ../commons/src/events/serializers/user/serializer.ts
|
|
523
|
-
var
|
|
524
|
-
var SerializedUserField =
|
|
525
|
-
$userField:
|
|
544
|
+
var z9 = __toESM(require("zod/v4"));
|
|
545
|
+
var SerializedUserField = z9.object({
|
|
546
|
+
$userField: z9.enum([
|
|
526
547
|
"id",
|
|
527
548
|
"name",
|
|
528
549
|
"role",
|
|
@@ -530,7 +551,7 @@ var SerializedUserField = import_zod9.z.object({
|
|
|
530
551
|
"avatar",
|
|
531
552
|
"primaryOfficeId"
|
|
532
553
|
]),
|
|
533
|
-
$location:
|
|
554
|
+
$location: z9.string().optional()
|
|
534
555
|
});
|
|
535
556
|
function userSerializer(userField) {
|
|
536
557
|
return {
|
|
@@ -550,24 +571,23 @@ function userSerializer(userField) {
|
|
|
550
571
|
}
|
|
551
572
|
|
|
552
573
|
// ../commons/src/events/EventIndex.ts
|
|
553
|
-
var
|
|
574
|
+
var import_v4 = require("zod/v4");
|
|
554
575
|
|
|
555
576
|
// ../commons/src/events/EventMetadata.ts
|
|
556
|
-
var
|
|
577
|
+
var z14 = __toESM(require("zod/v4"));
|
|
557
578
|
|
|
558
579
|
// ../commons/src/events/ActionDocument.ts
|
|
559
|
-
var
|
|
560
|
-
var import_zod_openapi4 = require("zod-openapi");
|
|
580
|
+
var z12 = __toESM(require("zod/v4"));
|
|
561
581
|
|
|
562
582
|
// ../commons/src/events/CreatedAtLocation.ts
|
|
563
583
|
var CreatedAtLocation = UUID.nullish();
|
|
564
584
|
|
|
565
585
|
// ../commons/src/authentication.ts
|
|
566
586
|
var import_jwt_decode = __toESM(require("jwt-decode"));
|
|
567
|
-
var
|
|
587
|
+
var z11 = __toESM(require("zod/v4"));
|
|
568
588
|
|
|
569
589
|
// ../commons/src/scopes.ts
|
|
570
|
-
var
|
|
590
|
+
var z10 = __toESM(require("zod/v4"));
|
|
571
591
|
var SCOPES = {
|
|
572
592
|
// TODO v1.8 legacy scopes
|
|
573
593
|
BYPASSRATELIMIT: "bypassratelimit",
|
|
@@ -646,91 +666,91 @@ var SCOPES = {
|
|
|
646
666
|
// data seeding
|
|
647
667
|
USER_DATA_SEEDING: "user.data-seeding"
|
|
648
668
|
};
|
|
649
|
-
var LegacyScopes =
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
669
|
+
var LegacyScopes = z10.union([
|
|
670
|
+
z10.literal(SCOPES.BYPASSRATELIMIT),
|
|
671
|
+
z10.literal(SCOPES.REGISTER),
|
|
672
|
+
z10.literal(SCOPES.DEMO),
|
|
673
|
+
z10.literal(SCOPES.CONFIG)
|
|
654
674
|
]);
|
|
655
|
-
var IntegrationScopes =
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
675
|
+
var IntegrationScopes = z10.union([
|
|
676
|
+
z10.literal(SCOPES.WEBHOOK),
|
|
677
|
+
z10.literal(SCOPES.NATIONALID),
|
|
678
|
+
z10.literal(SCOPES.NOTIFICATION_API),
|
|
679
|
+
z10.literal(SCOPES.RECORDSEARCH)
|
|
660
680
|
]);
|
|
661
|
-
var InternalOperationsScopes =
|
|
662
|
-
|
|
663
|
-
|
|
681
|
+
var InternalOperationsScopes = z10.union([
|
|
682
|
+
z10.literal(SCOPES.RECORD_REINDEX),
|
|
683
|
+
z10.literal(SCOPES.RECORD_IMPORT)
|
|
664
684
|
]);
|
|
665
|
-
var DeclareScopes =
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
685
|
+
var DeclareScopes = z10.union([
|
|
686
|
+
z10.literal(SCOPES.RECORD_DECLARE_BIRTH),
|
|
687
|
+
z10.literal(SCOPES.RECORD_DECLARE_BIRTH_MY_JURISDICTION),
|
|
688
|
+
z10.literal(SCOPES.RECORD_DECLARE_DEATH),
|
|
689
|
+
z10.literal(SCOPES.RECORD_DECLARE_DEATH_MY_JURISDICTION),
|
|
690
|
+
z10.literal(SCOPES.RECORD_DECLARE_MARRIAGE),
|
|
691
|
+
z10.literal(SCOPES.RECORD_DECLARE_MARRIAGE_MY_JURISDICTION),
|
|
692
|
+
z10.literal(SCOPES.RECORD_SUBMIT_INCOMPLETE),
|
|
693
|
+
z10.literal(SCOPES.RECORD_SUBMIT_FOR_REVIEW)
|
|
674
694
|
]);
|
|
675
|
-
var UnassignScope =
|
|
676
|
-
var ValidateScopes =
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
695
|
+
var UnassignScope = z10.literal(SCOPES.RECORD_UNASSIGN_OTHERS);
|
|
696
|
+
var ValidateScopes = z10.union([
|
|
697
|
+
z10.literal(SCOPES.RECORD_SUBMIT_FOR_APPROVAL),
|
|
698
|
+
z10.literal(SCOPES.RECORD_SUBMIT_FOR_UPDATES),
|
|
699
|
+
z10.literal(SCOPES.RECORD_DECLARATION_EDIT),
|
|
700
|
+
z10.literal(SCOPES.RECORD_REVIEW_DUPLICATES),
|
|
701
|
+
z10.literal(SCOPES.RECORD_DECLARATION_ARCHIVE),
|
|
702
|
+
z10.literal(SCOPES.RECORD_DECLARATION_REINSTATE)
|
|
683
703
|
]);
|
|
684
|
-
var RegisterScope =
|
|
685
|
-
var CorrectionScopes =
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
704
|
+
var RegisterScope = z10.literal(SCOPES.RECORD_REGISTER);
|
|
705
|
+
var CorrectionScopes = z10.union([
|
|
706
|
+
z10.literal(SCOPES.RECORD_REGISTRATION_REQUEST_CORRECTION),
|
|
707
|
+
z10.literal(SCOPES.RECORD_REGISTRATION_CORRECT),
|
|
708
|
+
z10.literal(SCOPES.RECORD_CONFIRM_REGISTRATION),
|
|
709
|
+
z10.literal(SCOPES.RECORD_REJECT_REGISTRATION)
|
|
690
710
|
]);
|
|
691
|
-
var SearchScopes =
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
711
|
+
var SearchScopes = z10.union([
|
|
712
|
+
z10.literal(SCOPES.SEARCH_BIRTH_MY_JURISDICTION),
|
|
713
|
+
z10.literal(SCOPES.SEARCH_BIRTH),
|
|
714
|
+
z10.literal(SCOPES.SEARCH_DEATH_MY_JURISDICTION),
|
|
715
|
+
z10.literal(SCOPES.SEARCH_DEATH),
|
|
716
|
+
z10.literal(SCOPES.SEARCH_MARRIAGE_MY_JURISDICTION),
|
|
717
|
+
z10.literal(SCOPES.SEARCH_MARRIAGE)
|
|
698
718
|
]);
|
|
699
|
-
var AuditScopes =
|
|
700
|
-
var PerformanceScopes =
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
719
|
+
var AuditScopes = z10.literal(SCOPES.RECORD_READ);
|
|
720
|
+
var PerformanceScopes = z10.union([
|
|
721
|
+
z10.literal(SCOPES.PERFORMANCE_READ),
|
|
722
|
+
z10.literal(SCOPES.PERFORMANCE_READ_DASHBOARDS),
|
|
723
|
+
z10.literal(SCOPES.PERFORMANCE_EXPORT_VITAL_STATISTICS)
|
|
704
724
|
]);
|
|
705
|
-
var OrganisationScopes =
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
725
|
+
var OrganisationScopes = z10.union([
|
|
726
|
+
z10.literal(SCOPES.ORGANISATION_READ_LOCATIONS),
|
|
727
|
+
z10.literal(SCOPES.ORGANISATION_READ_LOCATIONS_MY_OFFICE),
|
|
728
|
+
z10.literal(SCOPES.ORGANISATION_READ_LOCATIONS_MY_JURISDICTION)
|
|
709
729
|
]);
|
|
710
|
-
var UserScopes =
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
730
|
+
var UserScopes = z10.union([
|
|
731
|
+
z10.literal(SCOPES.USER_READ),
|
|
732
|
+
z10.literal(SCOPES.USER_READ_MY_OFFICE),
|
|
733
|
+
z10.literal(SCOPES.USER_READ_MY_JURISDICTION),
|
|
734
|
+
z10.literal(SCOPES.USER_READ_ONLY_MY_AUDIT),
|
|
735
|
+
z10.literal(SCOPES.USER_CREATE),
|
|
736
|
+
z10.literal(SCOPES.USER_CREATE_MY_JURISDICTION),
|
|
737
|
+
z10.literal(SCOPES.USER_UPDATE),
|
|
738
|
+
z10.literal(SCOPES.USER_UPDATE_MY_JURISDICTION)
|
|
719
739
|
]);
|
|
720
|
-
var ConfigScope =
|
|
721
|
-
var DataSeedingScope =
|
|
722
|
-
var LiteralScopes =
|
|
740
|
+
var ConfigScope = z10.literal(SCOPES.CONFIG_UPDATE_ALL);
|
|
741
|
+
var DataSeedingScope = z10.literal(SCOPES.USER_DATA_SEEDING);
|
|
742
|
+
var LiteralScopes = z10.union([
|
|
723
743
|
LegacyScopes,
|
|
724
744
|
IntegrationScopes,
|
|
725
745
|
UnassignScope,
|
|
726
746
|
DeclareScopes,
|
|
727
747
|
ValidateScopes,
|
|
728
748
|
RegisterScope,
|
|
729
|
-
|
|
749
|
+
z10.literal(SCOPES.RECORD_PRINT_ISSUE_CERTIFIED_COPIES),
|
|
730
750
|
CorrectionScopes,
|
|
731
751
|
SearchScopes,
|
|
732
752
|
AuditScopes,
|
|
733
|
-
|
|
753
|
+
z10.literal(SCOPES.PROFILE_ELECTRONIC_SIGNATURE),
|
|
734
754
|
PerformanceScopes,
|
|
735
755
|
OrganisationScopes,
|
|
736
756
|
UserScopes,
|
|
@@ -739,37 +759,38 @@ var LiteralScopes = import_zod10.z.union([
|
|
|
739
759
|
InternalOperationsScopes
|
|
740
760
|
]);
|
|
741
761
|
var rawConfigurableScopeRegex = /^([a-zA-Z][a-zA-Z0-9.-]*(?:\.[a-zA-Z0-9.-]+)*)\[((?:\w+=[\w.-]+(?:\|[\w.-]+)*)(?:,[\w]+=[\w.-]+(?:\|[\w.-]+)*)*)\]$/;
|
|
742
|
-
var rawConfigurableScope =
|
|
743
|
-
var CreateUserScope =
|
|
744
|
-
type:
|
|
745
|
-
options:
|
|
746
|
-
role:
|
|
762
|
+
var rawConfigurableScope = z10.string().regex(rawConfigurableScopeRegex);
|
|
763
|
+
var CreateUserScope = z10.object({
|
|
764
|
+
type: z10.literal("user.create"),
|
|
765
|
+
options: z10.object({
|
|
766
|
+
role: z10.array(z10.string())
|
|
747
767
|
})
|
|
748
768
|
});
|
|
749
|
-
var EditUserScope =
|
|
750
|
-
type:
|
|
751
|
-
options:
|
|
752
|
-
role:
|
|
769
|
+
var EditUserScope = z10.object({
|
|
770
|
+
type: z10.literal("user.edit"),
|
|
771
|
+
options: z10.object({
|
|
772
|
+
role: z10.array(z10.string())
|
|
753
773
|
})
|
|
754
774
|
});
|
|
755
|
-
var WorkqueueScope =
|
|
756
|
-
type:
|
|
757
|
-
options:
|
|
758
|
-
id:
|
|
775
|
+
var WorkqueueScope = z10.object({
|
|
776
|
+
type: z10.literal("workqueue"),
|
|
777
|
+
options: z10.object({
|
|
778
|
+
id: z10.array(z10.string())
|
|
759
779
|
})
|
|
760
780
|
});
|
|
761
|
-
var SearchScope =
|
|
762
|
-
type:
|
|
763
|
-
options:
|
|
764
|
-
event:
|
|
765
|
-
access:
|
|
781
|
+
var SearchScope = z10.object({
|
|
782
|
+
type: z10.literal("search"),
|
|
783
|
+
options: z10.object({
|
|
784
|
+
event: z10.array(z10.string()).length(1),
|
|
785
|
+
access: z10.array(z10.enum(["my-jurisdiction", "all"])).length(1)
|
|
766
786
|
})
|
|
767
787
|
});
|
|
768
|
-
var RecordScopeType =
|
|
788
|
+
var RecordScopeType = z10.enum([
|
|
769
789
|
"record.create",
|
|
770
790
|
"record.read",
|
|
771
791
|
"record.declare",
|
|
772
792
|
"record.notify",
|
|
793
|
+
"record.declared.edit",
|
|
773
794
|
"record.declared.validate",
|
|
774
795
|
"record.declared.reject",
|
|
775
796
|
"record.declared.archive",
|
|
@@ -780,27 +801,40 @@ var RecordScopeType = import_zod10.z.enum([
|
|
|
780
801
|
"record.registered.correct",
|
|
781
802
|
"record.unassign-others"
|
|
782
803
|
]);
|
|
783
|
-
var RecordScope =
|
|
804
|
+
var RecordScope = z10.object({
|
|
784
805
|
type: RecordScopeType,
|
|
785
|
-
options:
|
|
786
|
-
event:
|
|
806
|
+
options: z10.object({
|
|
807
|
+
event: z10.array(z10.string()).describe("Event type, e.g. birth, death")
|
|
787
808
|
})
|
|
788
809
|
}).describe(
|
|
789
810
|
"Scopes used to check user's permission to perform actions on a record."
|
|
790
811
|
);
|
|
791
|
-
var
|
|
812
|
+
var CustomActionScope = z10.object({
|
|
813
|
+
type: z10.literal("record.custom-action"),
|
|
814
|
+
options: z10.object({
|
|
815
|
+
event: z10.array(z10.string()).describe("Allowed event type, e.g. birth, death"),
|
|
816
|
+
customActionType: z10.array(z10.string()).describe("Allowed custom action types")
|
|
817
|
+
})
|
|
818
|
+
});
|
|
819
|
+
var ConfigurableRawScopes = z10.discriminatedUnion("type", [
|
|
792
820
|
SearchScope,
|
|
793
821
|
CreateUserScope,
|
|
794
822
|
EditUserScope,
|
|
795
823
|
WorkqueueScope,
|
|
796
|
-
RecordScope
|
|
824
|
+
RecordScope,
|
|
825
|
+
CustomActionScope
|
|
826
|
+
]);
|
|
827
|
+
var ConfigurableActionScopes = z10.discriminatedUnion("type", [
|
|
828
|
+
// @TODO - Record scope holds non-action scopes as well e.g., `record.read`
|
|
829
|
+
RecordScope,
|
|
830
|
+
CustomActionScope
|
|
797
831
|
]);
|
|
798
832
|
var scopes = Object.values(SCOPES);
|
|
799
|
-
var ActionScopes =
|
|
833
|
+
var ActionScopes = z10.union([
|
|
800
834
|
DeclareScopes,
|
|
801
835
|
ValidateScopes,
|
|
802
836
|
RegisterScope,
|
|
803
|
-
|
|
837
|
+
z10.literal(SCOPES.RECORD_PRINT_ISSUE_CERTIFIED_COPIES),
|
|
804
838
|
CorrectionScopes
|
|
805
839
|
]);
|
|
806
840
|
|
|
@@ -934,15 +968,14 @@ var DEFAULT_ROLES_DEFINITION = [
|
|
|
934
968
|
]
|
|
935
969
|
}
|
|
936
970
|
];
|
|
937
|
-
var TokenUserType =
|
|
938
|
-
var TokenWithBearer =
|
|
971
|
+
var TokenUserType = z11.enum(["user", "system"]);
|
|
972
|
+
var TokenWithBearer = z11.string().regex(/^Bearer\s/);
|
|
939
973
|
|
|
940
974
|
// ../commons/src/events/ActionDocument.ts
|
|
941
|
-
(
|
|
942
|
-
var ActionUpdate = import_zod12.z.record(import_zod12.z.string(), FieldUpdateValue).describe(
|
|
975
|
+
var ActionUpdate = z12.record(z12.string(), FieldUpdateValue).describe(
|
|
943
976
|
"Record of field-level changes made by an action. Supports partial updates and nullable values."
|
|
944
977
|
);
|
|
945
|
-
var EventState =
|
|
978
|
+
var EventState = z12.record(z12.string(), FieldValue).describe(
|
|
946
979
|
"Aggregate representation of event data after all actions have been applied, with all updates consolidated and null values removed."
|
|
947
980
|
);
|
|
948
981
|
var ActionStatus = {
|
|
@@ -950,16 +983,16 @@ var ActionStatus = {
|
|
|
950
983
|
Accepted: "Accepted",
|
|
951
984
|
Rejected: "Rejected"
|
|
952
985
|
};
|
|
953
|
-
var ActionBase =
|
|
986
|
+
var ActionBase = z12.object({
|
|
954
987
|
id: UUID.describe("Unique identifier of the action."),
|
|
955
|
-
transactionId:
|
|
988
|
+
transactionId: z12.string().describe("Unique identifier of the transaction."),
|
|
956
989
|
createdByUserType: TokenUserType.describe(
|
|
957
990
|
"Indicates whether the action was created by a human-user or by a system-user."
|
|
958
991
|
),
|
|
959
|
-
createdAt:
|
|
960
|
-
createdBy:
|
|
961
|
-
createdByRole:
|
|
962
|
-
createdBySignature:
|
|
992
|
+
createdAt: z12.string().datetime().describe("Timestamp indicating when the action was created."),
|
|
993
|
+
createdBy: z12.string().describe("Identifier of the user who created the action."),
|
|
994
|
+
createdByRole: z12.string().describe("Role of the user who created the action."),
|
|
995
|
+
createdBySignature: z12.string().nullish().describe("Reference to the signature of the user who created the action."),
|
|
963
996
|
createdAtLocation: CreatedAtLocation.describe(
|
|
964
997
|
"Reference to the location of the user who created the action."
|
|
965
998
|
),
|
|
@@ -967,7 +1000,7 @@ var ActionBase = import_zod12.z.object({
|
|
|
967
1000
|
"Declaration data defined by the ActionConfig. Supports partial updates."
|
|
968
1001
|
),
|
|
969
1002
|
annotation: ActionUpdate.optional().nullable().describe("Action-specific metadata used to annotate the event."),
|
|
970
|
-
status:
|
|
1003
|
+
status: z12.enum([
|
|
971
1004
|
ActionStatus.Requested,
|
|
972
1005
|
ActionStatus.Accepted,
|
|
973
1006
|
ActionStatus.Rejected
|
|
@@ -978,172 +1011,188 @@ var ActionBase = import_zod12.z.object({
|
|
|
978
1011
|
"Reference to the original action asynchronously accepted or rejected by a third-party integration."
|
|
979
1012
|
)
|
|
980
1013
|
});
|
|
981
|
-
var AssignedAction = ActionBase.
|
|
982
|
-
|
|
983
|
-
type:
|
|
984
|
-
assignedTo:
|
|
1014
|
+
var AssignedAction = ActionBase.extend(
|
|
1015
|
+
z12.object({
|
|
1016
|
+
type: z12.literal(ActionType.ASSIGN),
|
|
1017
|
+
assignedTo: z12.string().describe("Identifier of the user to whom the action is assigned.")
|
|
985
1018
|
// TODO move into 'content' property
|
|
986
|
-
})
|
|
1019
|
+
}).shape
|
|
987
1020
|
);
|
|
988
|
-
var UnassignedAction = ActionBase.
|
|
989
|
-
|
|
990
|
-
type:
|
|
991
|
-
})
|
|
1021
|
+
var UnassignedAction = ActionBase.extend(
|
|
1022
|
+
z12.object({
|
|
1023
|
+
type: z12.literal(ActionType.UNASSIGN)
|
|
1024
|
+
}).shape
|
|
992
1025
|
);
|
|
993
|
-
var RegisterAction = ActionBase.
|
|
994
|
-
|
|
995
|
-
type:
|
|
996
|
-
registrationNumber:
|
|
1026
|
+
var RegisterAction = ActionBase.extend(
|
|
1027
|
+
z12.object({
|
|
1028
|
+
type: z12.literal(ActionType.REGISTER),
|
|
1029
|
+
registrationNumber: z12.string().optional().describe(
|
|
997
1030
|
"Registration number of the event. Always present for accepted registrations."
|
|
998
1031
|
)
|
|
999
1032
|
// TODO move into 'content' property
|
|
1000
|
-
})
|
|
1033
|
+
}).shape
|
|
1001
1034
|
);
|
|
1002
|
-
var DeclareAction = ActionBase.
|
|
1003
|
-
|
|
1004
|
-
type:
|
|
1005
|
-
})
|
|
1035
|
+
var DeclareAction = ActionBase.extend(
|
|
1036
|
+
z12.object({
|
|
1037
|
+
type: z12.literal(ActionType.DECLARE)
|
|
1038
|
+
}).shape
|
|
1006
1039
|
);
|
|
1007
|
-
var ValidateAction = ActionBase.
|
|
1008
|
-
|
|
1009
|
-
type:
|
|
1010
|
-
})
|
|
1040
|
+
var ValidateAction = ActionBase.extend(
|
|
1041
|
+
z12.object({
|
|
1042
|
+
type: z12.literal(ActionType.VALIDATE)
|
|
1043
|
+
}).shape
|
|
1011
1044
|
);
|
|
1012
|
-
var ReasonContent =
|
|
1013
|
-
reason:
|
|
1045
|
+
var ReasonContent = z12.object({
|
|
1046
|
+
reason: z12.string().min(1, { error: "Message cannot be empty" }).describe(
|
|
1014
1047
|
"Message describing the reason for rejecting or archiving the event."
|
|
1015
1048
|
)
|
|
1016
1049
|
});
|
|
1017
|
-
var RejectAction = ActionBase.
|
|
1018
|
-
|
|
1019
|
-
type:
|
|
1050
|
+
var RejectAction = ActionBase.extend(
|
|
1051
|
+
z12.object({
|
|
1052
|
+
type: z12.literal(ActionType.REJECT),
|
|
1020
1053
|
content: ReasonContent
|
|
1021
|
-
})
|
|
1054
|
+
}).shape
|
|
1022
1055
|
);
|
|
1023
|
-
var PotentialDuplicate =
|
|
1056
|
+
var PotentialDuplicate = z12.object({
|
|
1024
1057
|
id: UUID,
|
|
1025
|
-
trackingId:
|
|
1058
|
+
trackingId: z12.string()
|
|
1026
1059
|
});
|
|
1027
|
-
var DuplicateDetectedAction = ActionBase.
|
|
1028
|
-
|
|
1029
|
-
type:
|
|
1030
|
-
content:
|
|
1031
|
-
duplicates:
|
|
1060
|
+
var DuplicateDetectedAction = ActionBase.extend(
|
|
1061
|
+
z12.object({
|
|
1062
|
+
type: z12.literal(ActionType.DUPLICATE_DETECTED),
|
|
1063
|
+
content: z12.object({
|
|
1064
|
+
duplicates: z12.array(PotentialDuplicate)
|
|
1032
1065
|
})
|
|
1033
|
-
})
|
|
1066
|
+
}).shape
|
|
1034
1067
|
);
|
|
1035
|
-
var MarkNotDuplicateAction = ActionBase.
|
|
1036
|
-
|
|
1037
|
-
type:
|
|
1038
|
-
})
|
|
1068
|
+
var MarkNotDuplicateAction = ActionBase.extend(
|
|
1069
|
+
z12.object({
|
|
1070
|
+
type: z12.literal(ActionType.MARK_AS_NOT_DUPLICATE)
|
|
1071
|
+
}).shape
|
|
1039
1072
|
);
|
|
1040
|
-
var MarkAsDuplicateAction = ActionBase.
|
|
1041
|
-
|
|
1042
|
-
type:
|
|
1043
|
-
content:
|
|
1073
|
+
var MarkAsDuplicateAction = ActionBase.extend(
|
|
1074
|
+
z12.object({
|
|
1075
|
+
type: z12.literal(ActionType.MARK_AS_DUPLICATE),
|
|
1076
|
+
content: z12.object({
|
|
1044
1077
|
duplicateOf: UUID
|
|
1045
1078
|
}).optional()
|
|
1046
|
-
})
|
|
1079
|
+
}).shape
|
|
1047
1080
|
);
|
|
1048
|
-
var ArchiveAction = ActionBase.
|
|
1049
|
-
|
|
1050
|
-
type:
|
|
1081
|
+
var ArchiveAction = ActionBase.extend(
|
|
1082
|
+
z12.object({
|
|
1083
|
+
type: z12.literal(ActionType.ARCHIVE),
|
|
1051
1084
|
content: ReasonContent
|
|
1052
|
-
})
|
|
1085
|
+
}).shape
|
|
1053
1086
|
);
|
|
1054
|
-
var CreatedAction = ActionBase.
|
|
1055
|
-
|
|
1056
|
-
type:
|
|
1057
|
-
})
|
|
1087
|
+
var CreatedAction = ActionBase.extend(
|
|
1088
|
+
z12.object({
|
|
1089
|
+
type: z12.literal(ActionType.CREATE)
|
|
1090
|
+
}).shape
|
|
1058
1091
|
);
|
|
1059
|
-
var NotifiedAction = ActionBase.
|
|
1060
|
-
|
|
1061
|
-
type:
|
|
1062
|
-
})
|
|
1092
|
+
var NotifiedAction = ActionBase.extend(
|
|
1093
|
+
z12.object({
|
|
1094
|
+
type: z12.literal(ActionType.NOTIFY)
|
|
1095
|
+
}).shape
|
|
1096
|
+
);
|
|
1097
|
+
var EditAction = ActionBase.extend(
|
|
1098
|
+
z12.object({
|
|
1099
|
+
type: z12.literal(ActionType.EDIT),
|
|
1100
|
+
content: z12.object({
|
|
1101
|
+
comment: z12.string().describe("Comment for the edit action.").optional()
|
|
1102
|
+
})
|
|
1103
|
+
}).shape
|
|
1063
1104
|
);
|
|
1064
|
-
var PrintContent =
|
|
1065
|
-
templateId:
|
|
1105
|
+
var PrintContent = z12.object({
|
|
1106
|
+
templateId: z12.string().optional()
|
|
1066
1107
|
});
|
|
1067
|
-
var PrintCertificateAction = ActionBase.
|
|
1068
|
-
|
|
1069
|
-
type:
|
|
1108
|
+
var PrintCertificateAction = ActionBase.extend(
|
|
1109
|
+
z12.object({
|
|
1110
|
+
type: z12.literal(ActionType.PRINT_CERTIFICATE),
|
|
1070
1111
|
content: PrintContent.optional().nullable()
|
|
1071
|
-
})
|
|
1112
|
+
}).shape
|
|
1072
1113
|
);
|
|
1073
|
-
var RequestedCorrectionAction = ActionBase.
|
|
1074
|
-
|
|
1075
|
-
type:
|
|
1076
|
-
})
|
|
1114
|
+
var RequestedCorrectionAction = ActionBase.extend(
|
|
1115
|
+
z12.object({
|
|
1116
|
+
type: z12.literal(ActionType.REQUEST_CORRECTION)
|
|
1117
|
+
}).shape
|
|
1077
1118
|
);
|
|
1078
|
-
var ApprovedCorrectionAction = ActionBase.
|
|
1079
|
-
|
|
1080
|
-
type:
|
|
1081
|
-
requestId:
|
|
1119
|
+
var ApprovedCorrectionAction = ActionBase.extend(
|
|
1120
|
+
z12.object({
|
|
1121
|
+
type: z12.literal(ActionType.APPROVE_CORRECTION),
|
|
1122
|
+
requestId: z12.string()
|
|
1082
1123
|
// TODO move into 'content' property
|
|
1083
|
-
})
|
|
1124
|
+
}).shape
|
|
1084
1125
|
);
|
|
1085
|
-
var RejectedCorrectionAction = ActionBase.
|
|
1086
|
-
|
|
1087
|
-
type:
|
|
1088
|
-
requestId:
|
|
1126
|
+
var RejectedCorrectionAction = ActionBase.extend(
|
|
1127
|
+
z12.object({
|
|
1128
|
+
type: z12.literal(ActionType.REJECT_CORRECTION),
|
|
1129
|
+
requestId: z12.string(),
|
|
1089
1130
|
// TODO move into 'content' property
|
|
1090
1131
|
content: ReasonContent
|
|
1091
|
-
})
|
|
1132
|
+
}).shape
|
|
1092
1133
|
);
|
|
1093
|
-
var ReadAction = ActionBase.
|
|
1094
|
-
|
|
1095
|
-
type:
|
|
1134
|
+
var ReadAction = ActionBase.extend(
|
|
1135
|
+
z12.object({
|
|
1136
|
+
type: z12.literal(ActionType.READ)
|
|
1137
|
+
}).shape
|
|
1138
|
+
);
|
|
1139
|
+
var CustomAction = ActionBase.merge(
|
|
1140
|
+
z12.object({
|
|
1141
|
+
type: z12.literal(ActionType.CUSTOM),
|
|
1142
|
+
customActionType: z12.string()
|
|
1096
1143
|
})
|
|
1097
1144
|
);
|
|
1098
|
-
var ActionDocument =
|
|
1099
|
-
CreatedAction.
|
|
1100
|
-
ValidateAction.
|
|
1101
|
-
RejectAction.
|
|
1102
|
-
DuplicateDetectedAction.
|
|
1103
|
-
MarkNotDuplicateAction.
|
|
1104
|
-
MarkAsDuplicateAction.
|
|
1105
|
-
ArchiveAction.
|
|
1106
|
-
NotifiedAction.
|
|
1107
|
-
RegisterAction.
|
|
1108
|
-
DeclareAction.
|
|
1109
|
-
AssignedAction.
|
|
1110
|
-
RequestedCorrectionAction.
|
|
1111
|
-
ApprovedCorrectionAction.
|
|
1112
|
-
RejectedCorrectionAction.
|
|
1113
|
-
UnassignedAction.
|
|
1114
|
-
PrintCertificateAction.
|
|
1115
|
-
ReadAction.
|
|
1116
|
-
|
|
1117
|
-
|
|
1145
|
+
var ActionDocument = z12.discriminatedUnion("type", [
|
|
1146
|
+
CreatedAction.meta({ id: "CreatedAction" }),
|
|
1147
|
+
ValidateAction.meta({ id: "ValidateAction" }),
|
|
1148
|
+
RejectAction.meta({ id: "RejectAction" }),
|
|
1149
|
+
DuplicateDetectedAction.meta({ id: "DuplicateDetectedAction" }),
|
|
1150
|
+
MarkNotDuplicateAction.meta({ id: "MarkNotDuplicateAction" }),
|
|
1151
|
+
MarkAsDuplicateAction.meta({ id: "MarkAsDuplicateAction" }),
|
|
1152
|
+
ArchiveAction.meta({ id: "ArchiveAction" }),
|
|
1153
|
+
NotifiedAction.meta({ id: "NotifiedAction" }),
|
|
1154
|
+
RegisterAction.meta({ id: "RegisterAction" }),
|
|
1155
|
+
DeclareAction.meta({ id: "DeclareAction" }),
|
|
1156
|
+
AssignedAction.meta({ id: "AssignedAction" }),
|
|
1157
|
+
RequestedCorrectionAction.meta({ id: "RequestedCorrectionAction" }),
|
|
1158
|
+
ApprovedCorrectionAction.meta({ id: "ApprovedCorrectionAction" }),
|
|
1159
|
+
RejectedCorrectionAction.meta({ id: "RejectedCorrectionAction" }),
|
|
1160
|
+
UnassignedAction.meta({ id: "UnassignedAction" }),
|
|
1161
|
+
PrintCertificateAction.meta({ id: "PrintCertificateAction" }),
|
|
1162
|
+
ReadAction.meta({ id: "ReadAction" }),
|
|
1163
|
+
EditAction.meta({ id: "EditAction" }),
|
|
1164
|
+
CustomAction.meta({ id: "CustomAction" })
|
|
1165
|
+
]).meta({
|
|
1166
|
+
id: "ActionDocument"
|
|
1118
1167
|
});
|
|
1119
1168
|
var AsyncRejectActionDocument = ActionBase.omit({
|
|
1120
1169
|
declaration: true,
|
|
1121
1170
|
annotation: true
|
|
1122
|
-
}).
|
|
1123
|
-
|
|
1124
|
-
type:
|
|
1125
|
-
status:
|
|
1126
|
-
})
|
|
1171
|
+
}).extend(
|
|
1172
|
+
z12.object({
|
|
1173
|
+
type: z12.enum(ConfirmableActions),
|
|
1174
|
+
status: z12.literal(ActionStatus.Rejected)
|
|
1175
|
+
}).shape
|
|
1127
1176
|
);
|
|
1128
|
-
var Action =
|
|
1177
|
+
var Action = z12.union([ActionDocument, AsyncRejectActionDocument]);
|
|
1129
1178
|
|
|
1130
|
-
// ../commons/src/events/
|
|
1131
|
-
var
|
|
1132
|
-
"CREATED",
|
|
1133
|
-
"NOTIFIED",
|
|
1134
|
-
"DECLARED",
|
|
1135
|
-
"VALIDATED",
|
|
1136
|
-
"REGISTERED",
|
|
1137
|
-
"ARCHIVED"
|
|
1138
|
-
]);
|
|
1179
|
+
// ../commons/src/events/Flag.ts
|
|
1180
|
+
var z13 = __toESM(require("zod/v4"));
|
|
1139
1181
|
var InherentFlags = {
|
|
1140
1182
|
PENDING_CERTIFICATION: "pending-certification",
|
|
1141
1183
|
INCOMPLETE: "incomplete",
|
|
1142
1184
|
REJECTED: "rejected",
|
|
1143
1185
|
CORRECTION_REQUESTED: "correction-requested",
|
|
1144
|
-
POTENTIAL_DUPLICATE: "potential-duplicate"
|
|
1186
|
+
POTENTIAL_DUPLICATE: "potential-duplicate",
|
|
1187
|
+
/**
|
|
1188
|
+
* This flag is set by the Edit-action and removed after the declaration or registration.
|
|
1189
|
+
* A record should never stay with the EDIT_IN_PROGRESS flag, since it should always be declared or registered right after.
|
|
1190
|
+
*
|
|
1191
|
+
* We only use this flag to determine that a DECLARE or REGISTER action is allowed next.
|
|
1192
|
+
*/
|
|
1193
|
+
EDIT_IN_PROGRESS: "edit-in-progress"
|
|
1145
1194
|
};
|
|
1146
|
-
var ActionFlag =
|
|
1195
|
+
var ActionFlag = z13.string().regex(
|
|
1147
1196
|
new RegExp(
|
|
1148
1197
|
`^(${Object.values(ActionType).join("|").toLowerCase()}):(${Object.values(
|
|
1149
1198
|
ActionStatus
|
|
@@ -1151,59 +1200,90 @@ var ActionFlag = import_zod13.z.string().regex(
|
|
|
1151
1200
|
),
|
|
1152
1201
|
"Flag must be in the format ActionType:ActionStatus (lowerCase)"
|
|
1153
1202
|
);
|
|
1154
|
-
var
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1203
|
+
var CustomFlag = z13.string().refine((val) => !Object.values(InherentFlags).includes(val), {
|
|
1204
|
+
message: `Custom flag cannot be one of the inherent flags: ${Object.values(
|
|
1205
|
+
InherentFlags
|
|
1206
|
+
).join(", ")}`
|
|
1207
|
+
}).refine((val) => !ActionFlag.safeParse(val).success, {
|
|
1208
|
+
message: "Custom flag cannot match the ActionFlag pattern (ActionType:ActionStatus)."
|
|
1209
|
+
}).describe("Custom flag identifier defined by the country config.");
|
|
1210
|
+
var Flag = ActionFlag.or(z13.enum(InherentFlags)).or(CustomFlag);
|
|
1211
|
+
var FlagConfig = z13.object({
|
|
1212
|
+
id: CustomFlag,
|
|
1213
|
+
requiresAction: z13.boolean().describe(
|
|
1214
|
+
"Indicates if this flag expects an action to be performed to be cleared."
|
|
1215
|
+
),
|
|
1216
|
+
label: TranslationConfig.describe("Human readable label of the flag.")
|
|
1217
|
+
});
|
|
1218
|
+
var ActionFlagConfig = z13.object({
|
|
1219
|
+
id: Flag,
|
|
1220
|
+
operation: z13.enum(["add", "remove"]).describe("Operation to perform on the flag."),
|
|
1221
|
+
conditional: Conditional.optional().describe(
|
|
1222
|
+
"When conditional is met, the operation is performed on the flag. If not provided, the operation is performed unconditionally."
|
|
1223
|
+
)
|
|
1224
|
+
});
|
|
1225
|
+
|
|
1226
|
+
// ../commons/src/events/EventMetadata.ts
|
|
1227
|
+
var EventStatus = z14.enum([
|
|
1228
|
+
"CREATED",
|
|
1229
|
+
"NOTIFIED",
|
|
1230
|
+
"DECLARED",
|
|
1231
|
+
"REGISTERED",
|
|
1232
|
+
"ARCHIVED"
|
|
1233
|
+
]);
|
|
1234
|
+
var ZodDate = z14.iso.date();
|
|
1235
|
+
var ActionCreationMetadata = z14.object({
|
|
1236
|
+
createdAt: z14.iso.datetime().describe("The timestamp when the action request was created."),
|
|
1237
|
+
createdBy: z14.string().describe("ID of the user who created the action request."),
|
|
1159
1238
|
createdAtLocation: CreatedAtLocation.describe(
|
|
1160
1239
|
"Location of the user who created the action request."
|
|
1161
1240
|
),
|
|
1162
|
-
createdByUserType:
|
|
1163
|
-
acceptedAt:
|
|
1164
|
-
createdByRole:
|
|
1165
|
-
createdBySignature:
|
|
1241
|
+
createdByUserType: z14.enum(["user", "system"]).nullish().describe("Whether the user is a normal user or a system."),
|
|
1242
|
+
acceptedAt: z14.iso.datetime().describe("Timestamp when the action request was accepted."),
|
|
1243
|
+
createdByRole: z14.string().describe("Role of the user at the time of action request creation."),
|
|
1244
|
+
createdBySignature: z14.string().nullish().describe("Signature of the user who created the action request.")
|
|
1166
1245
|
});
|
|
1167
1246
|
var RegistrationCreationMetadata = ActionCreationMetadata.extend({
|
|
1168
|
-
registrationNumber:
|
|
1247
|
+
registrationNumber: z14.string().describe(
|
|
1169
1248
|
"Registration number of the event. Always present for accepted registrations."
|
|
1170
1249
|
)
|
|
1171
1250
|
});
|
|
1172
|
-
var LegalStatuses =
|
|
1251
|
+
var LegalStatuses = z14.object({
|
|
1173
1252
|
[EventStatus.enum.DECLARED]: ActionCreationMetadata.nullish(),
|
|
1174
1253
|
[EventStatus.enum.REGISTERED]: RegistrationCreationMetadata.nullish()
|
|
1175
1254
|
});
|
|
1176
|
-
var EventMetadata =
|
|
1255
|
+
var EventMetadata = z14.object({
|
|
1177
1256
|
id: UUID,
|
|
1178
|
-
type:
|
|
1257
|
+
type: z14.string().describe("The type of event, such as birth, death, or marriage."),
|
|
1179
1258
|
status: EventStatus,
|
|
1180
1259
|
legalStatuses: LegalStatuses.describe(
|
|
1181
1260
|
"Metadata related to the legal registration of the event, such as who registered it and when."
|
|
1182
1261
|
),
|
|
1183
|
-
createdAt:
|
|
1262
|
+
createdAt: z14.iso.datetime().describe("The timestamp when the event was first created and saved."),
|
|
1184
1263
|
dateOfEvent: ZodDate.nullish(),
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1264
|
+
placeOfEvent: CreatedAtLocation,
|
|
1265
|
+
createdBy: z14.string().describe("ID of the user who created the event."),
|
|
1266
|
+
createdByUserType: z14.enum(["user", "system"]).nullish().describe("Whether the user is a normal user or a system."),
|
|
1267
|
+
updatedByUserRole: z14.string().describe("Role of the user who last changed the status."),
|
|
1188
1268
|
createdAtLocation: CreatedAtLocation.describe(
|
|
1189
1269
|
"Location of the user who created the event."
|
|
1190
1270
|
),
|
|
1191
|
-
createdBySignature:
|
|
1271
|
+
createdBySignature: z14.string().nullish().describe("Signature of the user who created the event."),
|
|
1192
1272
|
updatedAtLocation: UUID.nullish().describe(
|
|
1193
1273
|
"Location of the user who last changed the status."
|
|
1194
1274
|
),
|
|
1195
|
-
updatedAt:
|
|
1275
|
+
updatedAt: z14.iso.datetime().describe(
|
|
1196
1276
|
"Timestamp of the most recent *accepted* status change. Possibly 3rd party update, if action is validation asynchronously."
|
|
1197
1277
|
),
|
|
1198
|
-
assignedTo:
|
|
1199
|
-
updatedBy:
|
|
1200
|
-
trackingId:
|
|
1278
|
+
assignedTo: z14.string().nullish().describe("ID of the user currently assigned to the event."),
|
|
1279
|
+
updatedBy: z14.string().nullish().describe("ID of the user who last changed the status."),
|
|
1280
|
+
trackingId: z14.string().describe(
|
|
1201
1281
|
"System-generated tracking ID used by informants or registrars to look up the event."
|
|
1202
1282
|
),
|
|
1203
|
-
potentialDuplicates:
|
|
1283
|
+
potentialDuplicates: z14.array(PotentialDuplicate).describe(
|
|
1204
1284
|
"List of event IDs and their tracking IDs that this event could be a duplicate of."
|
|
1205
1285
|
),
|
|
1206
|
-
flags:
|
|
1286
|
+
flags: z14.array(Flag)
|
|
1207
1287
|
});
|
|
1208
1288
|
var EventMetadataKeysArray = [
|
|
1209
1289
|
"id",
|
|
@@ -1211,6 +1291,7 @@ var EventMetadataKeysArray = [
|
|
|
1211
1291
|
"status",
|
|
1212
1292
|
"createdAt",
|
|
1213
1293
|
"dateOfEvent",
|
|
1294
|
+
"placeOfEvent",
|
|
1214
1295
|
"createdBy",
|
|
1215
1296
|
"createdByUserType",
|
|
1216
1297
|
"updatedByUserRole",
|
|
@@ -1223,130 +1304,128 @@ var EventMetadataKeysArray = [
|
|
|
1223
1304
|
"legalStatuses",
|
|
1224
1305
|
"flags"
|
|
1225
1306
|
];
|
|
1226
|
-
var EventMetadataKeys =
|
|
1307
|
+
var EventMetadataKeys = z14.enum(EventMetadataKeysArray);
|
|
1227
1308
|
|
|
1228
1309
|
// ../commons/src/events/EventIndex.ts
|
|
1229
|
-
var import_zod_openapi5 = require("zod-openapi");
|
|
1230
|
-
(0, import_zod_openapi5.extendZodWithOpenApi)(import_zod14.z);
|
|
1231
1310
|
var EventIndex = EventMetadata.extend({
|
|
1232
1311
|
declaration: EventState
|
|
1233
|
-
}).
|
|
1234
|
-
|
|
1312
|
+
}).meta({
|
|
1313
|
+
id: "EventIndex"
|
|
1235
1314
|
});
|
|
1236
|
-
var EventSearchIndex =
|
|
1237
|
-
|
|
1238
|
-
type:
|
|
1315
|
+
var EventSearchIndex = import_v4.z.record(import_v4.z.string(), import_v4.z.any()).and(
|
|
1316
|
+
import_v4.z.object({
|
|
1317
|
+
type: import_v4.z.string()
|
|
1239
1318
|
// Ensures "type" (event-id) exists and is a string
|
|
1240
1319
|
})
|
|
1241
|
-
).
|
|
1242
|
-
|
|
1320
|
+
).meta({
|
|
1321
|
+
id: "EventSearchIndex"
|
|
1243
1322
|
});
|
|
1244
|
-
var Fuzzy =
|
|
1245
|
-
|
|
1323
|
+
var Fuzzy = import_v4.z.object({ type: import_v4.z.literal("fuzzy"), term: import_v4.z.string() }).meta({
|
|
1324
|
+
id: "Fuzzy"
|
|
1246
1325
|
});
|
|
1247
|
-
var Exact =
|
|
1248
|
-
|
|
1326
|
+
var Exact = import_v4.z.object({ type: import_v4.z.literal("exact"), term: import_v4.z.string() }).meta({
|
|
1327
|
+
id: "Exact"
|
|
1249
1328
|
});
|
|
1250
|
-
var ExactStatus =
|
|
1251
|
-
type:
|
|
1329
|
+
var ExactStatus = import_v4.z.object({
|
|
1330
|
+
type: import_v4.z.literal("exact"),
|
|
1252
1331
|
term: EventStatus
|
|
1253
|
-
}).
|
|
1254
|
-
|
|
1332
|
+
}).meta({
|
|
1333
|
+
id: "ExactStatus"
|
|
1255
1334
|
});
|
|
1256
|
-
var ExactUserType =
|
|
1257
|
-
type:
|
|
1335
|
+
var ExactUserType = import_v4.z.object({
|
|
1336
|
+
type: import_v4.z.literal("exact"),
|
|
1258
1337
|
term: TokenUserType
|
|
1259
|
-
}).
|
|
1260
|
-
|
|
1338
|
+
}).meta({
|
|
1339
|
+
id: "ExactUserType"
|
|
1261
1340
|
});
|
|
1262
|
-
var AnyOf =
|
|
1263
|
-
type:
|
|
1264
|
-
terms:
|
|
1265
|
-
}).
|
|
1266
|
-
|
|
1341
|
+
var AnyOf = import_v4.z.object({
|
|
1342
|
+
type: import_v4.z.literal("anyOf"),
|
|
1343
|
+
terms: import_v4.z.array(import_v4.z.string())
|
|
1344
|
+
}).meta({
|
|
1345
|
+
id: "AnyOf"
|
|
1267
1346
|
});
|
|
1268
|
-
var AnyOfStatus =
|
|
1269
|
-
type:
|
|
1270
|
-
terms:
|
|
1271
|
-
}).
|
|
1272
|
-
|
|
1347
|
+
var AnyOfStatus = import_v4.z.object({
|
|
1348
|
+
type: import_v4.z.literal("anyOf"),
|
|
1349
|
+
terms: import_v4.z.array(EventStatus)
|
|
1350
|
+
}).meta({
|
|
1351
|
+
id: "AnyOfStatus"
|
|
1273
1352
|
});
|
|
1274
|
-
var Range =
|
|
1275
|
-
type:
|
|
1276
|
-
gte:
|
|
1277
|
-
lte:
|
|
1278
|
-
}).
|
|
1279
|
-
|
|
1353
|
+
var Range = import_v4.z.object({
|
|
1354
|
+
type: import_v4.z.literal("range"),
|
|
1355
|
+
gte: import_v4.z.string(),
|
|
1356
|
+
lte: import_v4.z.string()
|
|
1357
|
+
}).meta({
|
|
1358
|
+
id: "Range"
|
|
1280
1359
|
});
|
|
1281
|
-
var ContainsFlags =
|
|
1282
|
-
anyOf:
|
|
1283
|
-
noneOf:
|
|
1284
|
-
}).
|
|
1285
|
-
|
|
1360
|
+
var ContainsFlags = import_v4.z.object({
|
|
1361
|
+
anyOf: import_v4.z.array(Flag).optional(),
|
|
1362
|
+
noneOf: import_v4.z.array(Flag).optional()
|
|
1363
|
+
}).meta({
|
|
1364
|
+
id: "ContainsFlags"
|
|
1286
1365
|
});
|
|
1287
|
-
var Within =
|
|
1288
|
-
|
|
1366
|
+
var Within = import_v4.z.object({ type: import_v4.z.literal("within"), location: import_v4.z.string() }).meta({
|
|
1367
|
+
id: "Within"
|
|
1289
1368
|
});
|
|
1290
|
-
var RangeDate =
|
|
1291
|
-
type:
|
|
1292
|
-
gte:
|
|
1293
|
-
lte:
|
|
1294
|
-
}).
|
|
1369
|
+
var RangeDate = import_v4.z.object({
|
|
1370
|
+
type: import_v4.z.literal("range"),
|
|
1371
|
+
gte: import_v4.z.iso.date().or(import_v4.z.iso.datetime()),
|
|
1372
|
+
lte: import_v4.z.iso.date().or(import_v4.z.iso.datetime())
|
|
1373
|
+
}).meta({ id: "RangeDate" });
|
|
1295
1374
|
var ExactDate = Exact.extend({
|
|
1296
|
-
term:
|
|
1297
|
-
}).
|
|
1298
|
-
|
|
1375
|
+
term: import_v4.z.iso.date().or(import_v4.z.iso.datetime())
|
|
1376
|
+
}).meta({
|
|
1377
|
+
id: "ExactDate"
|
|
1299
1378
|
});
|
|
1300
|
-
var TimePeriod =
|
|
1301
|
-
type:
|
|
1379
|
+
var TimePeriod = import_v4.z.object({
|
|
1380
|
+
type: import_v4.z.literal("timePeriod"),
|
|
1302
1381
|
term: SelectDateRangeValue
|
|
1303
|
-
}).
|
|
1304
|
-
|
|
1382
|
+
}).meta({
|
|
1383
|
+
id: "TimePeriod"
|
|
1305
1384
|
});
|
|
1306
|
-
var DateCondition =
|
|
1307
|
-
|
|
1385
|
+
var DateCondition = import_v4.z.union([ExactDate, RangeDate, TimePeriod]).meta({
|
|
1386
|
+
id: "DateCondition"
|
|
1308
1387
|
});
|
|
1309
|
-
var QueryInput =
|
|
1310
|
-
() =>
|
|
1311
|
-
|
|
1312
|
-
|
|
1388
|
+
var QueryInput = import_v4.z.lazy(
|
|
1389
|
+
() => import_v4.z.union([
|
|
1390
|
+
import_v4.z.discriminatedUnion("type", [Fuzzy, Exact, Range, Within, AnyOf]),
|
|
1391
|
+
import_v4.z.record(import_v4.z.string(), QueryInput)
|
|
1313
1392
|
])
|
|
1314
|
-
).
|
|
1315
|
-
|
|
1393
|
+
).meta({
|
|
1394
|
+
id: "QueryInput"
|
|
1316
1395
|
});
|
|
1317
|
-
var QueryExpression =
|
|
1318
|
-
id:
|
|
1319
|
-
eventType:
|
|
1320
|
-
status:
|
|
1321
|
-
createdAt:
|
|
1322
|
-
updatedAt:
|
|
1323
|
-
"legalStatuses.REGISTERED.acceptedAt":
|
|
1324
|
-
"legalStatuses.DECLARED.createdAtLocation":
|
|
1325
|
-
|
|
1396
|
+
var QueryExpression = import_v4.z.object({
|
|
1397
|
+
id: import_v4.z.optional(import_v4.z.string()),
|
|
1398
|
+
eventType: import_v4.z.string(),
|
|
1399
|
+
status: import_v4.z.optional(import_v4.z.union([AnyOfStatus, ExactStatus])),
|
|
1400
|
+
createdAt: import_v4.z.optional(DateCondition),
|
|
1401
|
+
updatedAt: import_v4.z.optional(DateCondition),
|
|
1402
|
+
"legalStatuses.REGISTERED.acceptedAt": import_v4.z.optional(DateCondition),
|
|
1403
|
+
"legalStatuses.DECLARED.createdAtLocation": import_v4.z.optional(
|
|
1404
|
+
import_v4.z.union([Within, Exact])
|
|
1326
1405
|
),
|
|
1327
|
-
"legalStatuses.REGISTERED.createdAtLocation":
|
|
1328
|
-
|
|
1406
|
+
"legalStatuses.REGISTERED.createdAtLocation": import_v4.z.optional(
|
|
1407
|
+
import_v4.z.union([Within, Exact])
|
|
1329
1408
|
),
|
|
1330
|
-
"legalStatuses.REGISTERED.registrationNumber":
|
|
1331
|
-
createdAtLocation:
|
|
1332
|
-
updatedAtLocation:
|
|
1333
|
-
assignedTo:
|
|
1334
|
-
createdByUserType:
|
|
1335
|
-
createdBy:
|
|
1336
|
-
updatedBy:
|
|
1337
|
-
trackingId:
|
|
1338
|
-
flags:
|
|
1409
|
+
"legalStatuses.REGISTERED.registrationNumber": import_v4.z.optional(Exact),
|
|
1410
|
+
createdAtLocation: import_v4.z.optional(import_v4.z.union([Within, Exact])),
|
|
1411
|
+
updatedAtLocation: import_v4.z.optional(import_v4.z.union([Within, Exact])),
|
|
1412
|
+
assignedTo: import_v4.z.optional(Exact),
|
|
1413
|
+
createdByUserType: import_v4.z.optional(ExactUserType),
|
|
1414
|
+
createdBy: import_v4.z.optional(Exact),
|
|
1415
|
+
updatedBy: import_v4.z.optional(Exact),
|
|
1416
|
+
trackingId: import_v4.z.optional(Exact),
|
|
1417
|
+
flags: import_v4.z.optional(ContainsFlags),
|
|
1339
1418
|
// @todo: The type for this comes out as "any"
|
|
1340
1419
|
data: QueryInput
|
|
1341
1420
|
}).partial().refine((obj) => Object.values(obj).some((val) => val !== void 0), {
|
|
1342
|
-
|
|
1343
|
-
}).
|
|
1344
|
-
|
|
1421
|
+
error: "At least one query field must be specified."
|
|
1422
|
+
}).meta({
|
|
1423
|
+
id: "QueryExpression"
|
|
1345
1424
|
});
|
|
1346
|
-
var QueryType =
|
|
1347
|
-
() =>
|
|
1348
|
-
type:
|
|
1349
|
-
clauses:
|
|
1425
|
+
var QueryType = import_v4.z.lazy(
|
|
1426
|
+
() => import_v4.z.object({
|
|
1427
|
+
type: import_v4.z.literal("and").or(import_v4.z.literal("or")).meta({ default: "and" }),
|
|
1428
|
+
clauses: import_v4.z.array(import_v4.z.union([QueryExpression, QueryType])).nonempty("At least one clause is required.").meta({
|
|
1350
1429
|
default: [
|
|
1351
1430
|
{
|
|
1352
1431
|
eventType: TENNIS_CLUB_MEMBERSHIP,
|
|
@@ -1364,8 +1443,8 @@ var QueryType = import_zod14.z.lazy(
|
|
|
1364
1443
|
]
|
|
1365
1444
|
})
|
|
1366
1445
|
})
|
|
1367
|
-
).
|
|
1368
|
-
|
|
1446
|
+
).meta({
|
|
1447
|
+
id: "QueryType"
|
|
1369
1448
|
});
|
|
1370
1449
|
function parseStringifiedQueryField(val) {
|
|
1371
1450
|
if (typeof val === "string") {
|
|
@@ -1373,8 +1452,8 @@ function parseStringifiedQueryField(val) {
|
|
|
1373
1452
|
}
|
|
1374
1453
|
return val;
|
|
1375
1454
|
}
|
|
1376
|
-
var SearchQuery =
|
|
1377
|
-
query:
|
|
1455
|
+
var SearchQuery = import_v4.z.object({
|
|
1456
|
+
query: import_v4.z.preprocess(parseStringifiedQueryField, QueryType).meta({
|
|
1378
1457
|
default: {
|
|
1379
1458
|
type: "and",
|
|
1380
1459
|
clauses: [
|
|
@@ -1394,190 +1473,184 @@ var SearchQuery = import_zod14.z.object({
|
|
|
1394
1473
|
]
|
|
1395
1474
|
}
|
|
1396
1475
|
}),
|
|
1397
|
-
limit:
|
|
1398
|
-
offset:
|
|
1399
|
-
sort:
|
|
1476
|
+
limit: import_v4.z.number().optional().default(100),
|
|
1477
|
+
offset: import_v4.z.number().optional().default(0),
|
|
1478
|
+
sort: import_v4.z.preprocess(
|
|
1400
1479
|
parseStringifiedQueryField,
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
field:
|
|
1404
|
-
direction:
|
|
1480
|
+
import_v4.z.array(
|
|
1481
|
+
import_v4.z.object({
|
|
1482
|
+
field: import_v4.z.string(),
|
|
1483
|
+
direction: import_v4.z.enum(["asc", "desc"]).default("asc")
|
|
1405
1484
|
})
|
|
1406
1485
|
)
|
|
1407
1486
|
).optional()
|
|
1408
|
-
}).
|
|
1409
|
-
|
|
1487
|
+
}).meta({
|
|
1488
|
+
id: "SearchQuery"
|
|
1410
1489
|
});
|
|
1411
1490
|
|
|
1412
1491
|
// ../commons/src/events/FieldConfig.ts
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
(val) => !val.includes("_"),
|
|
1423
|
-
(val) => ({
|
|
1424
|
-
message: `id: '${val}' must not contain underscores '_'`
|
|
1425
|
-
})
|
|
1426
|
-
).describe("Unique identifier for the field");
|
|
1427
|
-
var FieldReference = import_zod15.z.object({
|
|
1492
|
+
var FieldId = z16.string().superRefine((val, ctx) => {
|
|
1493
|
+
if (val.includes("_")) {
|
|
1494
|
+
ctx.addIssue({
|
|
1495
|
+
code: z16.ZodIssueCode.custom,
|
|
1496
|
+
message: `id: '${val}' must not contain underscores '_'`
|
|
1497
|
+
});
|
|
1498
|
+
}
|
|
1499
|
+
}).describe("Unique identifier for the field");
|
|
1500
|
+
var FieldReference = z16.object({
|
|
1428
1501
|
$$field: FieldId,
|
|
1429
|
-
$$subfield:
|
|
1502
|
+
$$subfield: z16.array(z16.string()).optional().describe(
|
|
1430
1503
|
'If the FieldValue is an object, subfield can be used to refer to e.g. `["foo", "bar"]` in `{ foo: { bar: 3 } }`'
|
|
1431
1504
|
)
|
|
1432
1505
|
}).describe("Reference to a field by its ID");
|
|
1433
|
-
var ValidationConfig =
|
|
1506
|
+
var ValidationConfig = z16.object({
|
|
1434
1507
|
validator: Conditional,
|
|
1435
1508
|
message: TranslationConfig
|
|
1436
1509
|
});
|
|
1437
|
-
var requiredSchema =
|
|
1438
|
-
|
|
1439
|
-
|
|
1510
|
+
var requiredSchema = z16.union([
|
|
1511
|
+
z16.boolean(),
|
|
1512
|
+
z16.object({
|
|
1440
1513
|
message: TranslationConfig.describe("Custom required validation message")
|
|
1441
1514
|
})
|
|
1442
1515
|
]).default(false).optional();
|
|
1443
|
-
var BaseField =
|
|
1516
|
+
var BaseField = z16.object({
|
|
1444
1517
|
id: FieldId.describe("Unique identifier of the field."),
|
|
1445
1518
|
label: TranslationConfig.describe("Human-readable label of the field."),
|
|
1446
|
-
parent: FieldReference.or(
|
|
1519
|
+
parent: FieldReference.or(z16.array(FieldReference)).optional().describe(
|
|
1447
1520
|
"Reference to the parent field or fields. When a parent field changes, this field is reset."
|
|
1448
1521
|
),
|
|
1449
1522
|
required: requiredSchema.describe(
|
|
1450
1523
|
"Indicates whether the field is mandatory."
|
|
1451
1524
|
),
|
|
1452
|
-
conditionals:
|
|
1525
|
+
conditionals: z16.array(FieldConditional).default([]).optional().describe(
|
|
1453
1526
|
"Conditions determining when the field is shown or enabled. By default, the field is always shown and enabled."
|
|
1454
1527
|
),
|
|
1455
|
-
secured:
|
|
1528
|
+
secured: z16.boolean().default(false).optional().describe(
|
|
1456
1529
|
"Indicates whether the field is secured. Secured fields are not indexed for search and are only visible when explicitly assigned."
|
|
1457
1530
|
),
|
|
1458
1531
|
placeholder: TranslationConfig.optional(),
|
|
1459
|
-
validation:
|
|
1532
|
+
validation: z16.array(ValidationConfig).default([]).optional().describe("Additional validation rules applied to the field."),
|
|
1460
1533
|
helperText: TranslationConfig.optional(),
|
|
1461
|
-
hideLabel:
|
|
1462
|
-
uncorrectable:
|
|
1534
|
+
hideLabel: z16.boolean().default(false).optional(),
|
|
1535
|
+
uncorrectable: z16.boolean().default(false).optional().describe(
|
|
1463
1536
|
"Indicates whether the field can be modified during record correction."
|
|
1464
1537
|
),
|
|
1465
|
-
value: FieldReference.or(
|
|
1538
|
+
value: FieldReference.or(z16.array(FieldReference)).optional().describe(
|
|
1466
1539
|
"Reference to the source field or fields. When a value is defined, it is copied from the parent field when changed. If multiple references are provided, the first truthy value is used."
|
|
1467
1540
|
),
|
|
1468
|
-
analytics:
|
|
1541
|
+
analytics: z16.boolean().default(false).optional().describe(
|
|
1469
1542
|
"Indicates whether the field is included in analytics. When enabled, its value becomes available in the analytics dashboard."
|
|
1470
1543
|
)
|
|
1471
1544
|
}).describe("Common properties shared across all field types.");
|
|
1472
1545
|
var Divider = BaseField.extend({
|
|
1473
|
-
type:
|
|
1546
|
+
type: z16.literal(FieldType.DIVIDER)
|
|
1474
1547
|
});
|
|
1475
1548
|
var TextField = BaseField.extend({
|
|
1476
|
-
type:
|
|
1549
|
+
type: z16.literal(FieldType.TEXT),
|
|
1477
1550
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1478
|
-
configuration:
|
|
1479
|
-
maxLength:
|
|
1480
|
-
type:
|
|
1551
|
+
configuration: z16.object({
|
|
1552
|
+
maxLength: z16.number().optional().describe("Maximum length of the text"),
|
|
1553
|
+
type: z16.enum(["text", "password"]).optional(),
|
|
1481
1554
|
prefix: TranslationConfig.optional(),
|
|
1482
1555
|
postfix: TranslationConfig.optional()
|
|
1483
1556
|
}).default({ type: "text" }).optional()
|
|
1484
1557
|
}).describe("Text input");
|
|
1485
1558
|
var NumberField = BaseField.extend({
|
|
1486
|
-
type:
|
|
1559
|
+
type: z16.literal(FieldType.NUMBER),
|
|
1487
1560
|
defaultValue: NumberFieldValue.optional(),
|
|
1488
|
-
configuration:
|
|
1489
|
-
min:
|
|
1490
|
-
max:
|
|
1561
|
+
configuration: z16.object({
|
|
1562
|
+
min: z16.number().optional().describe("Minimum value"),
|
|
1563
|
+
max: z16.number().optional().describe("Maximum value"),
|
|
1491
1564
|
prefix: TranslationConfig.optional(),
|
|
1492
1565
|
postfix: TranslationConfig.optional()
|
|
1493
1566
|
}).optional()
|
|
1494
1567
|
}).describe("Number input");
|
|
1495
1568
|
var TextAreaField = BaseField.extend({
|
|
1496
|
-
type:
|
|
1569
|
+
type: z16.literal(FieldType.TEXTAREA),
|
|
1497
1570
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1498
|
-
configuration:
|
|
1499
|
-
maxLength:
|
|
1500
|
-
rows:
|
|
1501
|
-
cols:
|
|
1571
|
+
configuration: z16.object({
|
|
1572
|
+
maxLength: z16.number().optional().describe("Maximum length of the text"),
|
|
1573
|
+
rows: z16.number().optional().describe("Number of visible text lines"),
|
|
1574
|
+
cols: z16.number().optional().describe("Number of visible columns"),
|
|
1502
1575
|
prefix: TranslationConfig.optional(),
|
|
1503
1576
|
postfix: TranslationConfig.optional()
|
|
1504
1577
|
}).default({ rows: 4 }).optional()
|
|
1505
1578
|
}).describe("Multiline text input");
|
|
1506
|
-
var ImageMimeType =
|
|
1579
|
+
var ImageMimeType = z16.enum([
|
|
1507
1580
|
"image/png",
|
|
1508
1581
|
"image/jpg",
|
|
1509
1582
|
"image/jpeg",
|
|
1510
1583
|
"image/svg+xml"
|
|
1511
1584
|
]);
|
|
1512
|
-
var DocumentMimeType =
|
|
1585
|
+
var DocumentMimeType = z16.enum([
|
|
1513
1586
|
"application/pdf",
|
|
1514
1587
|
"application/msword",
|
|
1515
1588
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
1516
1589
|
"application/vnd.oasis.opendocument.text"
|
|
1517
1590
|
]);
|
|
1518
|
-
var MimeType =
|
|
1591
|
+
var MimeType = z16.enum([
|
|
1519
1592
|
...ImageMimeType.options,
|
|
1520
1593
|
...DocumentMimeType.options
|
|
1521
1594
|
]);
|
|
1522
1595
|
var DEFAULT_MAX_FILE_SIZE_BYTES = 5 * 1024 * 1024;
|
|
1523
1596
|
var SignatureField = BaseField.extend({
|
|
1524
|
-
type:
|
|
1597
|
+
type: z16.literal(FieldType.SIGNATURE),
|
|
1525
1598
|
signaturePromptLabel: TranslationConfig.describe(
|
|
1526
1599
|
"Title of the signature modal"
|
|
1527
1600
|
),
|
|
1528
1601
|
defaultValue: SignatureFieldValue.optional(),
|
|
1529
|
-
configuration:
|
|
1530
|
-
maxFileSize:
|
|
1602
|
+
configuration: z16.object({
|
|
1603
|
+
maxFileSize: z16.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1531
1604
|
acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature")
|
|
1532
1605
|
}).default({
|
|
1533
1606
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1534
1607
|
})
|
|
1535
1608
|
}).describe("Signature input field");
|
|
1536
1609
|
var EmailField = BaseField.extend({
|
|
1537
|
-
type:
|
|
1538
|
-
configuration:
|
|
1539
|
-
maxLength:
|
|
1540
|
-
}).default({ maxLength:
|
|
1610
|
+
type: z16.literal(FieldType.EMAIL),
|
|
1611
|
+
configuration: z16.object({
|
|
1612
|
+
maxLength: z16.number().optional().describe("Maximum length of the text")
|
|
1613
|
+
}).default({ maxLength: 255 }).optional(),
|
|
1541
1614
|
defaultValue: NonEmptyTextValue.optional()
|
|
1542
1615
|
});
|
|
1543
1616
|
var DateField = BaseField.extend({
|
|
1544
|
-
type:
|
|
1617
|
+
type: z16.literal(FieldType.DATE),
|
|
1545
1618
|
defaultValue: DateValue.optional(),
|
|
1546
|
-
configuration:
|
|
1619
|
+
configuration: z16.object({
|
|
1547
1620
|
notice: TranslationConfig.describe(
|
|
1548
1621
|
"Text to display above the date input"
|
|
1549
1622
|
).optional()
|
|
1550
1623
|
}).optional()
|
|
1551
1624
|
}).describe("A single date input (yyyy-MM-dd)");
|
|
1552
1625
|
var AgeField = BaseField.extend({
|
|
1553
|
-
type:
|
|
1626
|
+
type: z16.literal(FieldType.AGE),
|
|
1554
1627
|
defaultValue: NumberFieldValue.optional(),
|
|
1555
|
-
configuration:
|
|
1628
|
+
configuration: z16.object({
|
|
1556
1629
|
asOfDate: FieldReference,
|
|
1557
1630
|
prefix: TranslationConfig.optional(),
|
|
1558
1631
|
postfix: TranslationConfig.optional()
|
|
1559
1632
|
})
|
|
1560
1633
|
}).describe("An age input field which uses the current date as the asOfDate");
|
|
1561
1634
|
var TimeField = BaseField.extend({
|
|
1562
|
-
type:
|
|
1635
|
+
type: z16.literal(FieldType.TIME),
|
|
1563
1636
|
defaultValue: TimeValue.optional(),
|
|
1564
|
-
configuration:
|
|
1565
|
-
use12HourFormat:
|
|
1637
|
+
configuration: z16.object({
|
|
1638
|
+
use12HourFormat: z16.boolean().optional().describe("Whether to use 12-hour format"),
|
|
1566
1639
|
notice: TranslationConfig.describe(
|
|
1567
1640
|
"Text to display above the time input"
|
|
1568
1641
|
).optional()
|
|
1569
1642
|
}).optional()
|
|
1570
1643
|
}).describe("A single date input (HH-mm)");
|
|
1571
1644
|
var DateRangeField = BaseField.extend({
|
|
1572
|
-
type:
|
|
1645
|
+
type: z16.literal(FieldType.DATE_RANGE),
|
|
1573
1646
|
defaultValue: DateRangeFieldValue.optional(),
|
|
1574
|
-
configuration:
|
|
1647
|
+
configuration: z16.object({
|
|
1575
1648
|
notice: TranslationConfig.describe(
|
|
1576
1649
|
"Text to display above the date input"
|
|
1577
1650
|
).optional()
|
|
1578
1651
|
}).optional()
|
|
1579
1652
|
}).describe("A date range input ({ start: yyyy-MM-dd, end: yyyy-MM-dd })");
|
|
1580
|
-
var HtmlFontVariant =
|
|
1653
|
+
var HtmlFontVariant = z16.enum([
|
|
1581
1654
|
"reg12",
|
|
1582
1655
|
"reg14",
|
|
1583
1656
|
"reg16",
|
|
@@ -1587,31 +1660,31 @@ var HtmlFontVariant = import_zod15.z.enum([
|
|
|
1587
1660
|
"h2",
|
|
1588
1661
|
"h1"
|
|
1589
1662
|
]);
|
|
1590
|
-
var ParagraphConfiguration =
|
|
1591
|
-
styles:
|
|
1663
|
+
var ParagraphConfiguration = z16.object({
|
|
1664
|
+
styles: z16.object({
|
|
1592
1665
|
fontVariant: HtmlFontVariant.optional().describe(
|
|
1593
1666
|
"Font variant to use for the paragraph text"
|
|
1594
1667
|
),
|
|
1595
|
-
hint:
|
|
1668
|
+
hint: z16.boolean().optional().describe("When true, paragraph is styled as a hint with grey color")
|
|
1596
1669
|
}).optional()
|
|
1597
1670
|
}).default({});
|
|
1598
1671
|
var Paragraph = BaseField.extend({
|
|
1599
|
-
type:
|
|
1672
|
+
type: z16.literal(FieldType.PARAGRAPH),
|
|
1600
1673
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1601
1674
|
configuration: ParagraphConfiguration
|
|
1602
1675
|
}).describe("A read-only HTML <p> paragraph");
|
|
1603
1676
|
var PageHeader = BaseField.extend({
|
|
1604
|
-
type:
|
|
1677
|
+
type: z16.literal(FieldType.PAGE_HEADER),
|
|
1605
1678
|
defaultValue: NonEmptyTextValue.optional()
|
|
1606
1679
|
}).describe("A read-only header component for form pages");
|
|
1607
1680
|
var File = BaseField.extend({
|
|
1608
|
-
type:
|
|
1681
|
+
type: z16.literal(FieldType.FILE),
|
|
1609
1682
|
defaultValue: FileFieldValue.optional(),
|
|
1610
|
-
configuration:
|
|
1611
|
-
maxFileSize:
|
|
1683
|
+
configuration: z16.object({
|
|
1684
|
+
maxFileSize: z16.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1612
1685
|
acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature"),
|
|
1613
|
-
style:
|
|
1614
|
-
width:
|
|
1686
|
+
style: z16.object({
|
|
1687
|
+
width: z16.enum(["full", "auto"]).optional().describe(
|
|
1615
1688
|
"Whether the file upload button should take the full width of the container or not"
|
|
1616
1689
|
)
|
|
1617
1690
|
}).optional(),
|
|
@@ -1620,34 +1693,34 @@ var File = BaseField.extend({
|
|
|
1620
1693
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1621
1694
|
})
|
|
1622
1695
|
}).describe("File upload");
|
|
1623
|
-
var SelectOption =
|
|
1624
|
-
value:
|
|
1625
|
-
label:
|
|
1696
|
+
var SelectOption = z16.object({
|
|
1697
|
+
value: z16.string().describe("The value of the option"),
|
|
1698
|
+
label: z16.union([z16.string(), TranslationConfig]).describe("The label of the option")
|
|
1626
1699
|
});
|
|
1627
1700
|
var RadioGroup = BaseField.extend({
|
|
1628
|
-
type:
|
|
1701
|
+
type: z16.literal(FieldType.RADIO_GROUP),
|
|
1629
1702
|
defaultValue: TextValue.optional(),
|
|
1630
|
-
options:
|
|
1631
|
-
configuration:
|
|
1632
|
-
styles:
|
|
1633
|
-
size:
|
|
1703
|
+
options: z16.array(SelectOption).describe("A list of options"),
|
|
1704
|
+
configuration: z16.object({
|
|
1705
|
+
styles: z16.object({
|
|
1706
|
+
size: z16.enum(["NORMAL", "LARGE"]).optional()
|
|
1634
1707
|
}).optional()
|
|
1635
1708
|
}).optional()
|
|
1636
1709
|
}).describe("Grouped radio options");
|
|
1637
1710
|
var BulletList = BaseField.extend({
|
|
1638
|
-
type:
|
|
1711
|
+
type: z16.literal(FieldType.BULLET_LIST),
|
|
1639
1712
|
defaultValue: TextValue.optional(),
|
|
1640
|
-
items:
|
|
1641
|
-
configuration:
|
|
1642
|
-
styles:
|
|
1713
|
+
items: z16.array(TranslationConfig).describe("A list of items"),
|
|
1714
|
+
configuration: z16.object({
|
|
1715
|
+
styles: z16.object({
|
|
1643
1716
|
fontVariant: HtmlFontVariant.optional()
|
|
1644
1717
|
}).optional()
|
|
1645
1718
|
}).default({})
|
|
1646
1719
|
}).describe("A list of bullet points");
|
|
1647
1720
|
var Select = BaseField.extend({
|
|
1648
|
-
type:
|
|
1721
|
+
type: z16.literal(FieldType.SELECT),
|
|
1649
1722
|
defaultValue: TextValue.optional(),
|
|
1650
|
-
options:
|
|
1723
|
+
options: z16.array(SelectOption).describe("A list of options"),
|
|
1651
1724
|
noOptionsMessage: TranslationConfig.optional().describe(
|
|
1652
1725
|
`
|
|
1653
1726
|
A translation configuration object used to display a message when no options are available.
|
|
@@ -1659,34 +1732,34 @@ var Select = BaseField.extend({
|
|
|
1659
1732
|
`
|
|
1660
1733
|
)
|
|
1661
1734
|
}).describe("Select input");
|
|
1662
|
-
var SelectDateRangeOption =
|
|
1735
|
+
var SelectDateRangeOption = z16.object({
|
|
1663
1736
|
value: SelectDateRangeValue.describe("The value of the option"),
|
|
1664
1737
|
label: TranslationConfig.describe("The label of the option")
|
|
1665
1738
|
});
|
|
1666
1739
|
var SelectDateRangeField = BaseField.extend({
|
|
1667
|
-
type:
|
|
1740
|
+
type: z16.literal(FieldType.SELECT_DATE_RANGE),
|
|
1668
1741
|
defaultValue: SelectDateRangeValue.optional(),
|
|
1669
|
-
options:
|
|
1742
|
+
options: z16.array(SelectDateRangeOption).describe("A list of options")
|
|
1670
1743
|
}).describe("Select input with date range options");
|
|
1671
|
-
var NameConfig =
|
|
1672
|
-
firstname:
|
|
1673
|
-
middlename:
|
|
1674
|
-
surname:
|
|
1744
|
+
var NameConfig = z16.object({
|
|
1745
|
+
firstname: z16.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
|
|
1746
|
+
middlename: z16.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional(),
|
|
1747
|
+
surname: z16.object({ required: requiredSchema, label: TranslationConfig.optional() }).optional()
|
|
1675
1748
|
});
|
|
1676
1749
|
var NameField = BaseField.extend({
|
|
1677
|
-
type:
|
|
1678
|
-
defaultValue:
|
|
1750
|
+
type: z16.literal(FieldType.NAME),
|
|
1751
|
+
defaultValue: z16.object({
|
|
1679
1752
|
firstname: NonEmptyTextValue.optional(),
|
|
1680
1753
|
middlename: NonEmptyTextValue.optional(),
|
|
1681
1754
|
surname: NonEmptyTextValue.optional()
|
|
1682
1755
|
}).optional(),
|
|
1683
|
-
configuration:
|
|
1756
|
+
configuration: z16.object({
|
|
1684
1757
|
name: NameConfig.default({
|
|
1685
1758
|
firstname: { required: true },
|
|
1686
1759
|
surname: { required: true }
|
|
1687
1760
|
}).optional(),
|
|
1688
|
-
order:
|
|
1689
|
-
maxLength:
|
|
1761
|
+
order: z16.array(z16.enum(["firstname", "middlename", "surname"])).optional(),
|
|
1762
|
+
maxLength: z16.number().optional().describe("Maximum length of the text"),
|
|
1690
1763
|
prefix: TranslationConfig.optional(),
|
|
1691
1764
|
postfix: TranslationConfig.optional()
|
|
1692
1765
|
}).default({
|
|
@@ -1698,142 +1771,142 @@ var NameField = BaseField.extend({
|
|
|
1698
1771
|
}).describe("Name input field");
|
|
1699
1772
|
var PhoneField = BaseField.extend({
|
|
1700
1773
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1701
|
-
type:
|
|
1774
|
+
type: z16.literal(FieldType.PHONE)
|
|
1702
1775
|
}).describe("Phone input field");
|
|
1703
1776
|
var IdField = BaseField.extend({
|
|
1704
1777
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1705
|
-
type:
|
|
1778
|
+
type: z16.literal(FieldType.ID)
|
|
1706
1779
|
}).describe("ID input field");
|
|
1707
1780
|
var Checkbox = BaseField.extend({
|
|
1708
|
-
type:
|
|
1781
|
+
type: z16.literal(FieldType.CHECKBOX),
|
|
1709
1782
|
defaultValue: CheckboxFieldValue.default(false)
|
|
1710
1783
|
}).describe("Boolean checkbox field");
|
|
1711
1784
|
var Country = BaseField.extend({
|
|
1712
|
-
type:
|
|
1785
|
+
type: z16.literal(FieldType.COUNTRY),
|
|
1713
1786
|
defaultValue: NonEmptyTextValue.optional()
|
|
1714
1787
|
}).describe("Country select field");
|
|
1715
|
-
var AdministrativeAreas =
|
|
1788
|
+
var AdministrativeAreas = z16.enum([
|
|
1716
1789
|
"ADMIN_STRUCTURE",
|
|
1717
1790
|
"HEALTH_FACILITY",
|
|
1718
1791
|
"CRVS_OFFICE"
|
|
1719
1792
|
]);
|
|
1720
|
-
var AdministrativeAreaConfiguration =
|
|
1721
|
-
partOf:
|
|
1722
|
-
$declaration:
|
|
1793
|
+
var AdministrativeAreaConfiguration = z16.object({
|
|
1794
|
+
partOf: z16.object({
|
|
1795
|
+
$declaration: z16.string()
|
|
1723
1796
|
}).optional().describe("Parent location"),
|
|
1724
1797
|
type: AdministrativeAreas
|
|
1725
1798
|
}).describe("Administrative area options");
|
|
1726
1799
|
var AdministrativeArea = BaseField.extend({
|
|
1727
|
-
type:
|
|
1800
|
+
type: z16.literal(FieldType.ADMINISTRATIVE_AREA),
|
|
1728
1801
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1729
1802
|
configuration: AdministrativeAreaConfiguration
|
|
1730
1803
|
}).describe("Administrative area input field e.g. facility, office");
|
|
1731
1804
|
var LocationInput = BaseField.extend({
|
|
1732
|
-
type:
|
|
1805
|
+
type: z16.literal(FieldType.LOCATION),
|
|
1733
1806
|
defaultValue: NonEmptyTextValue.optional(),
|
|
1734
|
-
configuration:
|
|
1735
|
-
searchableResource:
|
|
1807
|
+
configuration: z16.object({
|
|
1808
|
+
searchableResource: z16.array(z16.enum(["locations", "facilities", "offices"]))
|
|
1736
1809
|
})
|
|
1737
1810
|
}).describe("Input field for a location");
|
|
1738
1811
|
var FileUploadWithOptions = BaseField.extend({
|
|
1739
|
-
type:
|
|
1740
|
-
options:
|
|
1812
|
+
type: z16.literal(FieldType.FILE_WITH_OPTIONS),
|
|
1813
|
+
options: z16.array(SelectOption).describe("A list of options"),
|
|
1741
1814
|
defaultValue: FileFieldWithOptionValue.optional(),
|
|
1742
|
-
configuration:
|
|
1743
|
-
maxFileSize:
|
|
1815
|
+
configuration: z16.object({
|
|
1816
|
+
maxFileSize: z16.number().describe("Maximum file size in bytes").default(DEFAULT_MAX_FILE_SIZE_BYTES),
|
|
1744
1817
|
acceptedFileTypes: MimeType.array().optional().describe("List of allowed file formats for the signature")
|
|
1745
1818
|
}).default({
|
|
1746
1819
|
maxFileSize: DEFAULT_MAX_FILE_SIZE_BYTES
|
|
1747
1820
|
})
|
|
1748
1821
|
});
|
|
1749
1822
|
var Facility = BaseField.extend({
|
|
1750
|
-
type:
|
|
1823
|
+
type: z16.literal(FieldType.FACILITY),
|
|
1751
1824
|
defaultValue: NonEmptyTextValue.optional()
|
|
1752
1825
|
}).describe("Input field for a facility");
|
|
1753
1826
|
var Office = BaseField.extend({
|
|
1754
|
-
type:
|
|
1827
|
+
type: z16.literal(FieldType.OFFICE),
|
|
1755
1828
|
defaultValue: NonEmptyTextValue.optional()
|
|
1756
1829
|
}).describe("Input field for an office");
|
|
1757
1830
|
var DefaultAddressFieldValue = DomesticAddressFieldValue.extend({
|
|
1758
|
-
administrativeArea:
|
|
1831
|
+
administrativeArea: z16.union([UUID, SerializedUserField]).optional()
|
|
1759
1832
|
});
|
|
1760
1833
|
var Address = BaseField.extend({
|
|
1761
|
-
type:
|
|
1762
|
-
configuration:
|
|
1763
|
-
lineSeparator:
|
|
1764
|
-
fields:
|
|
1765
|
-
administrativeLevels:
|
|
1766
|
-
streetAddressForm:
|
|
1767
|
-
|
|
1768
|
-
id:
|
|
1834
|
+
type: z16.literal(FieldType.ADDRESS),
|
|
1835
|
+
configuration: z16.object({
|
|
1836
|
+
lineSeparator: z16.string().optional(),
|
|
1837
|
+
fields: z16.array(z16.enum(["country", "administrativeArea"])).optional(),
|
|
1838
|
+
administrativeLevels: z16.array(z16.string()).optional(),
|
|
1839
|
+
streetAddressForm: z16.array(
|
|
1840
|
+
z16.object({
|
|
1841
|
+
id: z16.string(),
|
|
1769
1842
|
required: requiredSchema,
|
|
1770
1843
|
label: TranslationConfig,
|
|
1771
|
-
type:
|
|
1772
|
-
conditionals:
|
|
1844
|
+
type: z16.literal(FieldType.TEXT),
|
|
1845
|
+
conditionals: z16.array(FieldConditional).default([]).optional(),
|
|
1773
1846
|
parent: FieldReference.optional()
|
|
1774
1847
|
})
|
|
1775
1848
|
).optional()
|
|
1776
1849
|
}).optional(),
|
|
1777
1850
|
defaultValue: DefaultAddressFieldValue.optional()
|
|
1778
1851
|
}).describe("Address input field \u2013 a combination of location and text fields");
|
|
1779
|
-
var StaticDataEntry =
|
|
1780
|
-
id:
|
|
1852
|
+
var StaticDataEntry = z16.object({
|
|
1853
|
+
id: z16.string().describe("ID for the data entry."),
|
|
1781
1854
|
label: TranslationConfig,
|
|
1782
|
-
value: TranslationConfig.or(
|
|
1855
|
+
value: TranslationConfig.or(z16.string()).or(FieldReference)
|
|
1783
1856
|
}).describe("Static data entry");
|
|
1784
|
-
var DataEntry =
|
|
1857
|
+
var DataEntry = z16.union([StaticDataEntry, z16.object({ fieldId: z16.string() })]).describe(
|
|
1785
1858
|
"Data entry can be either a static data entry, or a reference to another field in the current form or the declaration."
|
|
1786
1859
|
);
|
|
1787
1860
|
var DataField = BaseField.extend({
|
|
1788
|
-
type:
|
|
1789
|
-
configuration:
|
|
1861
|
+
type: z16.literal(FieldType.DATA),
|
|
1862
|
+
configuration: z16.object({
|
|
1790
1863
|
subtitle: TranslationConfig.optional(),
|
|
1791
|
-
data:
|
|
1864
|
+
data: z16.array(DataEntry)
|
|
1792
1865
|
})
|
|
1793
1866
|
}).describe("Data field for displaying read-only data");
|
|
1794
1867
|
var ButtonField = BaseField.extend({
|
|
1795
|
-
type:
|
|
1868
|
+
type: z16.literal(FieldType.BUTTON),
|
|
1796
1869
|
defaultValue: ButtonFieldValue.optional(),
|
|
1797
|
-
configuration:
|
|
1798
|
-
icon:
|
|
1870
|
+
configuration: z16.object({
|
|
1871
|
+
icon: z16.string().optional().describe(
|
|
1799
1872
|
"Icon for the button. You can find icons from OpenCRVS UI-Kit."
|
|
1800
1873
|
),
|
|
1801
|
-
loading:
|
|
1874
|
+
loading: z16.boolean().optional().describe("Whether the button is in a loading state and shows a spinner"),
|
|
1802
1875
|
text: TranslationConfig.describe("Text to display on the button")
|
|
1803
1876
|
})
|
|
1804
1877
|
}).describe("Generic button without any built-in functionality");
|
|
1805
1878
|
var AlphaPrintButton = BaseField.extend({
|
|
1806
|
-
type:
|
|
1807
|
-
configuration:
|
|
1808
|
-
template:
|
|
1879
|
+
type: z16.literal(FieldType.ALPHA_PRINT_BUTTON),
|
|
1880
|
+
configuration: z16.object({
|
|
1881
|
+
template: z16.string().describe("Template ID from countryconfig templates to use for printing"),
|
|
1809
1882
|
buttonLabel: TranslationConfig.optional().describe(
|
|
1810
1883
|
"Label for the print button"
|
|
1811
1884
|
)
|
|
1812
1885
|
})
|
|
1813
1886
|
}).describe("Print button field for printing certificates");
|
|
1814
1887
|
var HttpField = BaseField.extend({
|
|
1815
|
-
type:
|
|
1888
|
+
type: z16.literal(FieldType.HTTP),
|
|
1816
1889
|
defaultValue: HttpFieldValue.optional(),
|
|
1817
|
-
configuration:
|
|
1890
|
+
configuration: z16.object({
|
|
1818
1891
|
trigger: FieldReference,
|
|
1819
|
-
url:
|
|
1820
|
-
method:
|
|
1821
|
-
headers:
|
|
1822
|
-
body:
|
|
1823
|
-
errorValue:
|
|
1824
|
-
params:
|
|
1825
|
-
timeout:
|
|
1892
|
+
url: z16.string().describe("URL to send the HTTP request to"),
|
|
1893
|
+
method: z16.enum(["GET", "POST", "PUT", "DELETE"]),
|
|
1894
|
+
headers: z16.record(z16.string(), z16.string()).optional(),
|
|
1895
|
+
body: z16.record(z16.string(), z16.any()).optional(),
|
|
1896
|
+
errorValue: z16.any().optional().describe("Value to set if the request fails"),
|
|
1897
|
+
params: z16.record(z16.string(), z16.union([z16.string(), FieldReference])).optional(),
|
|
1898
|
+
timeout: z16.number().default(15e3).describe("Request timeout in milliseconds")
|
|
1826
1899
|
})
|
|
1827
1900
|
}).describe("HTTP request function triggered by a button click or other event");
|
|
1828
1901
|
var SearchField = HttpField.extend({
|
|
1829
|
-
type:
|
|
1902
|
+
type: z16.literal(FieldType.SEARCH),
|
|
1830
1903
|
configuration: SearchQuery.pick({
|
|
1831
1904
|
query: true,
|
|
1832
1905
|
limit: true,
|
|
1833
1906
|
offset: true
|
|
1834
1907
|
}).extend({
|
|
1835
1908
|
validation: ValidationConfig,
|
|
1836
|
-
indicators:
|
|
1909
|
+
indicators: z16.object({
|
|
1837
1910
|
loading: TranslationConfig.optional().describe(
|
|
1838
1911
|
"Text to display while the search is in progress"
|
|
1839
1912
|
),
|
|
@@ -1848,7 +1921,7 @@ var SearchField = HttpField.extend({
|
|
|
1848
1921
|
),
|
|
1849
1922
|
confirmButton: TranslationConfig.optional(),
|
|
1850
1923
|
clearButton: TranslationConfig.optional(),
|
|
1851
|
-
clearModal:
|
|
1924
|
+
clearModal: z16.object({
|
|
1852
1925
|
title: TranslationConfig.optional(),
|
|
1853
1926
|
description: TranslationConfig.optional(),
|
|
1854
1927
|
cancel: TranslationConfig.optional(),
|
|
@@ -1859,17 +1932,17 @@ var SearchField = HttpField.extend({
|
|
|
1859
1932
|
})
|
|
1860
1933
|
});
|
|
1861
1934
|
var LinkButtonField = BaseField.extend({
|
|
1862
|
-
type:
|
|
1863
|
-
configuration:
|
|
1864
|
-
url:
|
|
1935
|
+
type: z16.literal(FieldType.LINK_BUTTON),
|
|
1936
|
+
configuration: z16.object({
|
|
1937
|
+
url: z16.string().describe("URL to open"),
|
|
1865
1938
|
text: TranslationConfig.describe("Text to display on the button"),
|
|
1866
|
-
icon:
|
|
1939
|
+
icon: z16.string().optional().describe("Icon for the button. You can find icons from OpenCRVS UI-Kit.")
|
|
1867
1940
|
})
|
|
1868
1941
|
}).describe("Button that opens a link");
|
|
1869
1942
|
var VerificationStatus = BaseField.extend({
|
|
1870
|
-
type:
|
|
1943
|
+
type: z16.literal(FieldType.VERIFICATION_STATUS),
|
|
1871
1944
|
defaultValue: VerificationStatusValue.optional(),
|
|
1872
|
-
configuration:
|
|
1945
|
+
configuration: z16.object({
|
|
1873
1946
|
status: TranslationConfig.describe("Text to display on the status pill."),
|
|
1874
1947
|
description: TranslationConfig.describe(
|
|
1875
1948
|
"Explaining text on the banner in form."
|
|
@@ -1877,38 +1950,49 @@ var VerificationStatus = BaseField.extend({
|
|
|
1877
1950
|
})
|
|
1878
1951
|
});
|
|
1879
1952
|
var QueryParamReaderField = BaseField.extend({
|
|
1880
|
-
type:
|
|
1881
|
-
configuration:
|
|
1882
|
-
pickParams:
|
|
1953
|
+
type: z16.literal(FieldType.QUERY_PARAM_READER),
|
|
1954
|
+
configuration: z16.object({
|
|
1955
|
+
pickParams: z16.array(z16.string()).describe("List of query parameters to read from the URL")
|
|
1883
1956
|
})
|
|
1884
1957
|
}).describe(
|
|
1885
1958
|
"A field that maps URL query params into form values and clears them afterward"
|
|
1886
1959
|
);
|
|
1887
1960
|
var QrReaderField = BaseField.extend({
|
|
1888
|
-
type:
|
|
1961
|
+
type: z16.literal(FieldType.QR_READER),
|
|
1889
1962
|
defaultValue: QrReaderFieldValue.optional(),
|
|
1890
|
-
configuration:
|
|
1891
|
-
validator:
|
|
1892
|
-
|
|
1893
|
-
|
|
1963
|
+
configuration: z16.object({
|
|
1964
|
+
validator: z16.any().meta({
|
|
1965
|
+
description: "JSON Schema to validate the scanned QR code data against before populating the form fields.",
|
|
1966
|
+
id: "QrReaderFieldValidator"
|
|
1967
|
+
})
|
|
1894
1968
|
}).optional()
|
|
1969
|
+
}).meta({
|
|
1970
|
+
description: "Configuration for QR code reader field, including optional JSON Schema validator.",
|
|
1971
|
+
id: "QrReaderField"
|
|
1895
1972
|
});
|
|
1896
1973
|
var IdReaderField = BaseField.extend({
|
|
1897
|
-
type:
|
|
1974
|
+
type: z16.literal(FieldType.ID_READER),
|
|
1898
1975
|
defaultValue: IdReaderFieldValue.optional(),
|
|
1899
|
-
methods:
|
|
1900
|
-
|
|
1976
|
+
methods: z16.array(
|
|
1977
|
+
z16.union([QrReaderField, LinkButtonField]).describe("Methods for reading an ID")
|
|
1901
1978
|
)
|
|
1902
1979
|
});
|
|
1903
1980
|
var LoaderField = BaseField.extend({
|
|
1904
|
-
type:
|
|
1905
|
-
configuration:
|
|
1981
|
+
type: z16.literal(FieldType.LOADER),
|
|
1982
|
+
configuration: z16.object({
|
|
1906
1983
|
text: TranslationConfig.describe("Display text above the loading spinner")
|
|
1907
1984
|
})
|
|
1908
1985
|
}).describe(
|
|
1909
1986
|
"A non-interactive field that indicates an in progress operation in form"
|
|
1910
1987
|
);
|
|
1911
|
-
var
|
|
1988
|
+
var HiddenField = BaseField.extend({
|
|
1989
|
+
type: z16.literal(FieldType.ALPHA_HIDDEN),
|
|
1990
|
+
required: z16.boolean().default(false).optional(),
|
|
1991
|
+
defaultValue: TextValue.optional()
|
|
1992
|
+
}).describe(
|
|
1993
|
+
"A non-interactive, hidden field that only hold a value in the form"
|
|
1994
|
+
);
|
|
1995
|
+
var FieldConfig = z16.discriminatedUnion("type", [
|
|
1912
1996
|
Address,
|
|
1913
1997
|
TextField,
|
|
1914
1998
|
NumberField,
|
|
@@ -1947,83 +2031,80 @@ var FieldConfig = import_zod15.z.discriminatedUnion("type", [
|
|
|
1947
2031
|
IdReaderField,
|
|
1948
2032
|
QueryParamReaderField,
|
|
1949
2033
|
LoaderField,
|
|
1950
|
-
SearchField
|
|
1951
|
-
|
|
2034
|
+
SearchField,
|
|
2035
|
+
HiddenField
|
|
2036
|
+
]).meta({
|
|
1952
2037
|
description: "Form field configuration",
|
|
1953
|
-
|
|
2038
|
+
id: "FieldConfig"
|
|
1954
2039
|
});
|
|
1955
|
-
var AnyFileField =
|
|
2040
|
+
var AnyFileField = z16.discriminatedUnion("type", [
|
|
1956
2041
|
SignatureField,
|
|
1957
2042
|
File,
|
|
1958
2043
|
FileUploadWithOptions
|
|
1959
2044
|
]);
|
|
1960
2045
|
|
|
1961
2046
|
// ../commons/src/events/FormConfig.ts
|
|
1962
|
-
var
|
|
2047
|
+
var z18 = __toESM(require("zod/v4"));
|
|
1963
2048
|
|
|
1964
2049
|
// ../commons/src/events/PageConfig.ts
|
|
1965
|
-
var
|
|
1966
|
-
var
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
var PageConfigBase = import_zod16.z.object({
|
|
1970
|
-
id: import_zod16.z.string().describe("Unique identifier for the page"),
|
|
2050
|
+
var z17 = __toESM(require("zod/v4"));
|
|
2051
|
+
var PageTypes = z17.enum(["FORM", "VERIFICATION"]);
|
|
2052
|
+
var PageConfigBase = z17.object({
|
|
2053
|
+
id: z17.string().describe("Unique identifier for the page"),
|
|
1971
2054
|
title: TranslationConfig.describe("Header title of the page"),
|
|
1972
|
-
requireCompletionToContinue:
|
|
2055
|
+
requireCompletionToContinue: z17.boolean().default(false).describe(
|
|
1973
2056
|
"If true, all required fields must be filled before continuing to the next page"
|
|
1974
2057
|
),
|
|
1975
|
-
fields:
|
|
2058
|
+
fields: z17.array(FieldConfig).describe("Fields to be rendered on the page"),
|
|
1976
2059
|
conditional: Conditional.optional().describe(
|
|
1977
2060
|
"Page will be shown if condition is met. If conditional is not defined, the page will be always shown."
|
|
1978
2061
|
)
|
|
1979
|
-
}).
|
|
2062
|
+
}).meta({
|
|
1980
2063
|
description: "Form page configuration",
|
|
1981
|
-
|
|
2064
|
+
id: "FormPageConfig"
|
|
1982
2065
|
});
|
|
1983
2066
|
var FormPageConfig = PageConfigBase.extend({
|
|
1984
|
-
type:
|
|
2067
|
+
type: z17.literal(PageTypes.enum.FORM).default(PageTypes.enum.FORM)
|
|
1985
2068
|
});
|
|
1986
|
-
var VerificationActionConfig =
|
|
1987
|
-
verify:
|
|
1988
|
-
cancel:
|
|
2069
|
+
var VerificationActionConfig = z17.object({
|
|
2070
|
+
verify: z17.object({ label: TranslationConfig }),
|
|
2071
|
+
cancel: z17.object({
|
|
1989
2072
|
label: TranslationConfig,
|
|
1990
|
-
confirmation:
|
|
2073
|
+
confirmation: z17.object({
|
|
1991
2074
|
title: TranslationConfig,
|
|
1992
2075
|
body: TranslationConfig
|
|
1993
2076
|
})
|
|
1994
2077
|
})
|
|
1995
|
-
}).describe("Actions available on the verification page").
|
|
2078
|
+
}).describe("Actions available on the verification page").meta({
|
|
1996
2079
|
description: "Verification action configuration",
|
|
1997
|
-
|
|
2080
|
+
id: "VerificationActionConfig"
|
|
1998
2081
|
});
|
|
1999
2082
|
var VerificationPageConfig = FormPageConfig.extend({
|
|
2000
|
-
type:
|
|
2083
|
+
type: z17.literal(PageTypes.enum.VERIFICATION),
|
|
2001
2084
|
actions: VerificationActionConfig
|
|
2002
2085
|
});
|
|
2003
|
-
var PageConfig =
|
|
2086
|
+
var PageConfig = z17.discriminatedUnion("type", [
|
|
2004
2087
|
FormPageConfig,
|
|
2005
2088
|
VerificationPageConfig
|
|
2006
2089
|
]);
|
|
2007
2090
|
|
|
2008
2091
|
// ../commons/src/events/FormConfig.ts
|
|
2009
|
-
var DeclarationFormConfig =
|
|
2092
|
+
var DeclarationFormConfig = z18.object({
|
|
2010
2093
|
label: TranslationConfig.describe("Human readable description of the form"),
|
|
2011
|
-
pages:
|
|
2094
|
+
pages: z18.array(FormPageConfig)
|
|
2012
2095
|
}).describe("Configuration of the declaration form.");
|
|
2013
|
-
var ActionFormConfig =
|
|
2096
|
+
var ActionFormConfig = z18.object({
|
|
2014
2097
|
label: TranslationConfig.describe("Human readable description of the form"),
|
|
2015
|
-
pages:
|
|
2098
|
+
pages: z18.array(PageConfig)
|
|
2016
2099
|
}).describe(
|
|
2017
2100
|
"Configuration of the form used for system actions beyond declaration, supporting a wider range of page types."
|
|
2018
2101
|
);
|
|
2019
|
-
var FormConfig =
|
|
2102
|
+
var FormConfig = z18.union([DeclarationFormConfig, ActionFormConfig]);
|
|
2020
2103
|
|
|
2021
2104
|
// ../commons/src/events/DeduplicationConfig.ts
|
|
2022
|
-
var
|
|
2023
|
-
var
|
|
2024
|
-
|
|
2025
|
-
var FieldReference2 = import_zod18.z.string();
|
|
2026
|
-
var Matcher = import_zod18.z.object({
|
|
2105
|
+
var z19 = __toESM(require("zod/v4"));
|
|
2106
|
+
var FieldReference2 = z19.string();
|
|
2107
|
+
var Matcher = z19.object({
|
|
2027
2108
|
/**
|
|
2028
2109
|
* Reference to the field used in matching.
|
|
2029
2110
|
*
|
|
@@ -2031,68 +2112,68 @@ var Matcher = import_zod18.z.object({
|
|
|
2031
2112
|
* be used as the origin date to calculate the distance from.
|
|
2032
2113
|
*/
|
|
2033
2114
|
fieldId: FieldReference2,
|
|
2034
|
-
options:
|
|
2035
|
-
boost:
|
|
2115
|
+
options: z19.object({
|
|
2116
|
+
boost: z19.number().optional()
|
|
2036
2117
|
}).optional().default({
|
|
2037
2118
|
boost: 1
|
|
2038
2119
|
})
|
|
2039
2120
|
});
|
|
2040
2121
|
var FuzzyMatcher = Matcher.extend({
|
|
2041
|
-
type:
|
|
2042
|
-
options:
|
|
2122
|
+
type: z19.literal("fuzzy"),
|
|
2123
|
+
options: z19.object({
|
|
2043
2124
|
/**
|
|
2044
2125
|
* Names of length 3 or less characters = 0 edits allowed
|
|
2045
2126
|
* Names of length 4 - 6 characters = 1 edit allowed
|
|
2046
2127
|
* Names of length >7 characters = 2 edits allowed
|
|
2047
2128
|
*/
|
|
2048
|
-
fuzziness:
|
|
2049
|
-
boost:
|
|
2129
|
+
fuzziness: z19.union([z19.string(), z19.number()]).optional().default("AUTO:4,7"),
|
|
2130
|
+
boost: z19.number().optional().default(1)
|
|
2050
2131
|
}).optional().default({
|
|
2051
2132
|
fuzziness: "AUTO:4,7",
|
|
2052
2133
|
boost: 1
|
|
2053
2134
|
})
|
|
2054
2135
|
});
|
|
2055
2136
|
var StrictMatcher = Matcher.extend({
|
|
2056
|
-
type:
|
|
2057
|
-
options:
|
|
2058
|
-
boost:
|
|
2137
|
+
type: z19.literal("strict"),
|
|
2138
|
+
options: z19.object({
|
|
2139
|
+
boost: z19.number().optional().default(1),
|
|
2059
2140
|
/**
|
|
2060
2141
|
* The constant value to be present in the field for both records
|
|
2061
2142
|
*/
|
|
2062
|
-
value:
|
|
2143
|
+
value: z19.string().optional()
|
|
2063
2144
|
}).optional().default({
|
|
2064
2145
|
boost: 1
|
|
2065
2146
|
})
|
|
2066
2147
|
});
|
|
2067
2148
|
var DateRangeMatcher = Matcher.extend({
|
|
2068
|
-
type:
|
|
2069
|
-
options:
|
|
2149
|
+
type: z19.literal("dateRange"),
|
|
2150
|
+
options: z19.object({
|
|
2070
2151
|
/**
|
|
2071
2152
|
* The distance pivot in days. Distance from the origin (the value of
|
|
2072
2153
|
* fieldId) at which relevance scores receive half of the boost value
|
|
2073
2154
|
*/
|
|
2074
|
-
pivot:
|
|
2075
|
-
days:
|
|
2076
|
-
boost:
|
|
2155
|
+
pivot: z19.number().optional(),
|
|
2156
|
+
days: z19.number(),
|
|
2157
|
+
boost: z19.number().optional().default(1)
|
|
2077
2158
|
})
|
|
2078
2159
|
});
|
|
2079
|
-
var Not =
|
|
2080
|
-
type:
|
|
2160
|
+
var Not = z19.object({
|
|
2161
|
+
type: z19.literal("not"),
|
|
2081
2162
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
2082
|
-
clause:
|
|
2163
|
+
clause: z19.lazy(() => Clause)
|
|
2083
2164
|
});
|
|
2084
|
-
var And =
|
|
2085
|
-
type:
|
|
2165
|
+
var And = z19.object({
|
|
2166
|
+
type: z19.literal("and"),
|
|
2086
2167
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
2087
|
-
clauses:
|
|
2168
|
+
clauses: z19.lazy(() => Clause.array())
|
|
2088
2169
|
});
|
|
2089
|
-
var Or =
|
|
2090
|
-
type:
|
|
2170
|
+
var Or = z19.object({
|
|
2171
|
+
type: z19.literal("or"),
|
|
2091
2172
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
2092
|
-
clauses:
|
|
2173
|
+
clauses: z19.lazy(() => Clause.array())
|
|
2093
2174
|
});
|
|
2094
|
-
var Clause =
|
|
2095
|
-
() =>
|
|
2175
|
+
var Clause = z19.lazy(
|
|
2176
|
+
() => z19.discriminatedUnion("type", [
|
|
2096
2177
|
Not,
|
|
2097
2178
|
And,
|
|
2098
2179
|
Or,
|
|
@@ -2100,193 +2181,299 @@ var Clause = import_zod18.z.lazy(
|
|
|
2100
2181
|
StrictMatcher,
|
|
2101
2182
|
DateRangeMatcher
|
|
2102
2183
|
])
|
|
2103
|
-
).
|
|
2104
|
-
|
|
2184
|
+
).meta({
|
|
2185
|
+
id: "Clause"
|
|
2105
2186
|
});
|
|
2106
|
-
var DeduplicationConfig =
|
|
2107
|
-
id:
|
|
2187
|
+
var DeduplicationConfig = z19.object({
|
|
2188
|
+
id: z19.string(),
|
|
2108
2189
|
label: TranslationConfig,
|
|
2109
2190
|
query: Clause
|
|
2110
2191
|
});
|
|
2111
2192
|
|
|
2193
|
+
// ../commons/src/icons.ts
|
|
2194
|
+
var z20 = __toESM(require("zod/v4"));
|
|
2195
|
+
var AvailableIcons = z20.enum([
|
|
2196
|
+
"Archived",
|
|
2197
|
+
"Assigned",
|
|
2198
|
+
"Certified",
|
|
2199
|
+
"Close",
|
|
2200
|
+
"Collapse",
|
|
2201
|
+
"Draft",
|
|
2202
|
+
"DuplicateYellow",
|
|
2203
|
+
"Expand",
|
|
2204
|
+
"ExternalValidate",
|
|
2205
|
+
"FilledCheck",
|
|
2206
|
+
"InReview",
|
|
2207
|
+
"Offline",
|
|
2208
|
+
"Registered",
|
|
2209
|
+
"RequiresUpdates",
|
|
2210
|
+
"Sent",
|
|
2211
|
+
"Validated",
|
|
2212
|
+
"WaitingApproval",
|
|
2213
|
+
"ChartActivity",
|
|
2214
|
+
"Activity",
|
|
2215
|
+
"Archive",
|
|
2216
|
+
"ArchiveTray",
|
|
2217
|
+
"ArrowLeft",
|
|
2218
|
+
"ArrowRight",
|
|
2219
|
+
"Buildings",
|
|
2220
|
+
"Circle",
|
|
2221
|
+
"CaretDown",
|
|
2222
|
+
"CaretLeft",
|
|
2223
|
+
"CaretRight",
|
|
2224
|
+
"ChartBar",
|
|
2225
|
+
"ChartLine",
|
|
2226
|
+
"ChatCircle",
|
|
2227
|
+
"CheckSquare",
|
|
2228
|
+
"Compass",
|
|
2229
|
+
"Check",
|
|
2230
|
+
"Copy",
|
|
2231
|
+
"Database",
|
|
2232
|
+
"DotsThreeVertical",
|
|
2233
|
+
"ArrowCounterClockwise",
|
|
2234
|
+
"MagnifyingGlassMinus",
|
|
2235
|
+
"MagnifyingGlassPlus",
|
|
2236
|
+
"Export",
|
|
2237
|
+
"Eye",
|
|
2238
|
+
"EyeSlash",
|
|
2239
|
+
"Envelope",
|
|
2240
|
+
"File",
|
|
2241
|
+
"FileSearch",
|
|
2242
|
+
"FileMinus",
|
|
2243
|
+
"FilePlus",
|
|
2244
|
+
"FileText",
|
|
2245
|
+
"FileX",
|
|
2246
|
+
"Handshake",
|
|
2247
|
+
"Gear",
|
|
2248
|
+
"GitBranch",
|
|
2249
|
+
"IdentificationCard",
|
|
2250
|
+
"List",
|
|
2251
|
+
"ListBullets",
|
|
2252
|
+
"Lock",
|
|
2253
|
+
"MagnifyingGlass",
|
|
2254
|
+
"MapPin",
|
|
2255
|
+
"Medal",
|
|
2256
|
+
"NotePencil",
|
|
2257
|
+
"Paperclip",
|
|
2258
|
+
"PaperPlaneTilt",
|
|
2259
|
+
"Pen",
|
|
2260
|
+
"Pencil",
|
|
2261
|
+
"PencilSimpleLine",
|
|
2262
|
+
"Phone",
|
|
2263
|
+
"Plus",
|
|
2264
|
+
"Printer",
|
|
2265
|
+
"SignOut",
|
|
2266
|
+
"Stamp",
|
|
2267
|
+
"Star",
|
|
2268
|
+
"Target",
|
|
2269
|
+
"TextT",
|
|
2270
|
+
"Trash",
|
|
2271
|
+
"UploadSimple",
|
|
2272
|
+
"User",
|
|
2273
|
+
"UserPlus",
|
|
2274
|
+
"Users",
|
|
2275
|
+
"WarningCircle",
|
|
2276
|
+
"X",
|
|
2277
|
+
"ChatText",
|
|
2278
|
+
"CircleWavyCheck",
|
|
2279
|
+
"CircleWavyQuestion",
|
|
2280
|
+
"ArchiveBox",
|
|
2281
|
+
"ArrowCircleDown",
|
|
2282
|
+
"FileArrowUp",
|
|
2283
|
+
"FileDotted",
|
|
2284
|
+
"Files",
|
|
2285
|
+
"PencilLine",
|
|
2286
|
+
"PencilCircle",
|
|
2287
|
+
"UserCircle",
|
|
2288
|
+
"Clock",
|
|
2289
|
+
"QrCode",
|
|
2290
|
+
"Webcam",
|
|
2291
|
+
"Sun",
|
|
2292
|
+
"DeviceTabletCamera",
|
|
2293
|
+
"Globe",
|
|
2294
|
+
"Fingerprint",
|
|
2295
|
+
"PushPin",
|
|
2296
|
+
"Timer"
|
|
2297
|
+
]);
|
|
2298
|
+
|
|
2112
2299
|
// ../commons/src/events/ActionConfig.ts
|
|
2113
|
-
var
|
|
2114
|
-
(0, import_zod_openapi9.extendZodWithOpenApi)(import_zod19.z);
|
|
2115
|
-
var DeclarationReviewConfig = import_zod19.z.object({
|
|
2300
|
+
var DeclarationReviewConfig = z21.object({
|
|
2116
2301
|
title: TranslationConfig.describe("Title of the review page"),
|
|
2117
|
-
fields:
|
|
2302
|
+
fields: z21.array(FieldConfig).describe("Fields displayed on the review page for annotations.")
|
|
2118
2303
|
}).describe(
|
|
2119
2304
|
"Configuration of the declaration review page for collecting event-related metadata."
|
|
2120
2305
|
);
|
|
2121
|
-
var ActionConfigBase =
|
|
2122
|
-
label: TranslationConfig.describe("Human readable description of the action")
|
|
2306
|
+
var ActionConfigBase = z21.object({
|
|
2307
|
+
label: TranslationConfig.describe("Human readable description of the action"),
|
|
2308
|
+
flags: z21.array(ActionFlagConfig).optional().default([]).describe("Flag actions which are executed when the action is performed."),
|
|
2309
|
+
auditHistoryLabel: TranslationConfig.describe(
|
|
2310
|
+
'The label to show in audit history for this action. For example "Approved".'
|
|
2311
|
+
).optional(),
|
|
2312
|
+
supportingCopy: TranslationConfig.optional().describe(
|
|
2313
|
+
"Text displayed on the confirmation"
|
|
2314
|
+
),
|
|
2315
|
+
icon: AvailableIcons.describe("Icon representing the action").optional(),
|
|
2316
|
+
conditionals: z21.array(ActionConditional).optional().describe("Conditionals which can disable or hide actions.")
|
|
2123
2317
|
});
|
|
2124
2318
|
var DeclarationActionBase = ActionConfigBase.extend({
|
|
2125
|
-
review: DeclarationReviewConfig,
|
|
2126
2319
|
deduplication: DeduplicationConfig.optional()
|
|
2127
2320
|
});
|
|
2128
|
-
var ReadActionConfig = ActionConfigBase.
|
|
2129
|
-
|
|
2130
|
-
type:
|
|
2321
|
+
var ReadActionConfig = ActionConfigBase.extend(
|
|
2322
|
+
z21.object({
|
|
2323
|
+
type: z21.literal(ActionType.READ),
|
|
2131
2324
|
review: DeclarationReviewConfig.describe(
|
|
2132
2325
|
"Configuration of the review page for read-only view."
|
|
2133
|
-
)
|
|
2134
|
-
|
|
2135
|
-
)
|
|
2136
|
-
var DeclareConfig = DeclarationActionBase.merge(
|
|
2137
|
-
import_zod19.z.object({
|
|
2138
|
-
type: import_zod19.z.literal(ActionType.DECLARE)
|
|
2139
|
-
})
|
|
2140
|
-
);
|
|
2141
|
-
var ValidateConfig = DeclarationActionBase.merge(
|
|
2142
|
-
import_zod19.z.object({
|
|
2143
|
-
type: import_zod19.z.literal(ActionType.VALIDATE)
|
|
2144
|
-
})
|
|
2326
|
+
),
|
|
2327
|
+
conditionals: z21.never().optional().describe("Read-action can not be disabled or hidden with conditionals.")
|
|
2328
|
+
}).shape
|
|
2145
2329
|
);
|
|
2146
|
-
var
|
|
2147
|
-
|
|
2148
|
-
type:
|
|
2149
|
-
|
|
2330
|
+
var DeclareConfig = DeclarationActionBase.extend(
|
|
2331
|
+
z21.object({
|
|
2332
|
+
type: z21.literal(ActionType.DECLARE),
|
|
2333
|
+
review: DeclarationReviewConfig.describe(
|
|
2334
|
+
"Configuration of the review page fields."
|
|
2335
|
+
)
|
|
2336
|
+
}).shape
|
|
2150
2337
|
);
|
|
2151
|
-
var
|
|
2152
|
-
|
|
2153
|
-
type:
|
|
2154
|
-
})
|
|
2338
|
+
var RejectConfig = ActionConfigBase.extend(
|
|
2339
|
+
z21.object({
|
|
2340
|
+
type: z21.literal(ActionType.REJECT)
|
|
2341
|
+
}).shape
|
|
2155
2342
|
);
|
|
2156
|
-
var
|
|
2157
|
-
|
|
2158
|
-
type:
|
|
2159
|
-
})
|
|
2343
|
+
var ValidateConfig = DeclarationActionBase.extend(
|
|
2344
|
+
z21.object({
|
|
2345
|
+
type: z21.literal(ActionType.VALIDATE)
|
|
2346
|
+
}).shape
|
|
2160
2347
|
);
|
|
2161
|
-
var
|
|
2162
|
-
|
|
2163
|
-
type:
|
|
2164
|
-
})
|
|
2348
|
+
var RegisterConfig = DeclarationActionBase.extend(
|
|
2349
|
+
z21.object({
|
|
2350
|
+
type: z21.literal(ActionType.REGISTER)
|
|
2351
|
+
}).shape
|
|
2165
2352
|
);
|
|
2166
|
-
var PrintCertificateActionConfig = ActionConfigBase.
|
|
2167
|
-
|
|
2168
|
-
type:
|
|
2353
|
+
var PrintCertificateActionConfig = ActionConfigBase.extend(
|
|
2354
|
+
z21.object({
|
|
2355
|
+
type: z21.literal(ActionType.PRINT_CERTIFICATE),
|
|
2169
2356
|
printForm: ActionFormConfig
|
|
2170
|
-
})
|
|
2357
|
+
}).shape
|
|
2171
2358
|
);
|
|
2172
|
-
var RequestCorrectionConfig = ActionConfigBase.
|
|
2173
|
-
|
|
2174
|
-
type:
|
|
2359
|
+
var RequestCorrectionConfig = ActionConfigBase.extend(
|
|
2360
|
+
z21.object({
|
|
2361
|
+
type: z21.literal(ActionType.REQUEST_CORRECTION),
|
|
2175
2362
|
correctionForm: ActionFormConfig
|
|
2176
|
-
})
|
|
2177
|
-
);
|
|
2178
|
-
var RejectCorrectionConfig = ActionConfigBase.merge(
|
|
2179
|
-
import_zod19.z.object({
|
|
2180
|
-
type: import_zod19.z.literal(ActionType.REJECT_CORRECTION)
|
|
2181
|
-
})
|
|
2363
|
+
}).shape
|
|
2182
2364
|
);
|
|
2183
|
-
var
|
|
2184
|
-
|
|
2185
|
-
type:
|
|
2365
|
+
var CustomActionConfig = ActionConfigBase.merge(
|
|
2366
|
+
z21.object({
|
|
2367
|
+
type: z21.literal(ActionType.CUSTOM),
|
|
2368
|
+
customActionType: z21.string().describe("Type identifier of the custom action."),
|
|
2369
|
+
/** Custom action form configuration supports a simple array of field configs, which should be rendered on the action modal. In the future, we might add support for pages etc. */
|
|
2370
|
+
form: z21.array(FieldConfig).describe(
|
|
2371
|
+
"Form configuration for the custom action. The form configured here will be used on the custom action confirmation modal."
|
|
2372
|
+
)
|
|
2186
2373
|
})
|
|
2187
2374
|
);
|
|
2188
|
-
var ActionConfig =
|
|
2375
|
+
var ActionConfig = z21.discriminatedUnion("type", [
|
|
2189
2376
|
/*
|
|
2190
2377
|
* OpenAPI references are defined here so our generated OpenAPI spec knows to reuse the models
|
|
2191
2378
|
* and treat them as "models" instead of duplicating the data structure in each endpoint.
|
|
2192
2379
|
*/
|
|
2193
|
-
ReadActionConfig.
|
|
2194
|
-
DeclareConfig.
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
PrintCertificateActionConfig.openapi({
|
|
2201
|
-
ref: "PrintCertificateActionConfig"
|
|
2380
|
+
ReadActionConfig.meta({ id: "ReadActionConfig" }),
|
|
2381
|
+
DeclareConfig.meta({ id: "DeclareActionConfig" }),
|
|
2382
|
+
RejectConfig.meta({ id: "RejectActionConfig" }),
|
|
2383
|
+
ValidateConfig.meta({ id: "ValidateActionConfig" }),
|
|
2384
|
+
RegisterConfig.meta({ id: "RegisterActionConfig" }),
|
|
2385
|
+
PrintCertificateActionConfig.meta({
|
|
2386
|
+
id: "PrintCertificateActionConfig"
|
|
2202
2387
|
}),
|
|
2203
|
-
RequestCorrectionConfig.
|
|
2204
|
-
|
|
2205
|
-
ApproveCorrectionConfig.openapi({ ref: "ApproveCorrectionActionConfig" })
|
|
2388
|
+
RequestCorrectionConfig.meta({ id: "RequestCorrectionActionConfig" }),
|
|
2389
|
+
CustomActionConfig.meta({ id: "CustomActionConfig" })
|
|
2206
2390
|
]).describe(
|
|
2207
2391
|
"Configuration of an action available for an event. Data collected depends on the action type and is accessible through the annotation property in ActionDocument."
|
|
2208
|
-
).
|
|
2209
|
-
var
|
|
2392
|
+
).meta({ id: "ActionConfig" });
|
|
2393
|
+
var actionConfigTypes = new Set(
|
|
2394
|
+
ActionConfig.options.map((opt) => opt.shape.type.value)
|
|
2395
|
+
);
|
|
2396
|
+
var DeclarationActionConfig = z21.discriminatedUnion("type", [
|
|
2210
2397
|
DeclareConfig,
|
|
2211
2398
|
ValidateConfig,
|
|
2212
2399
|
RegisterConfig
|
|
2213
2400
|
]);
|
|
2214
2401
|
|
|
2215
2402
|
// ../commons/src/events/offline/CertificateConfig.ts
|
|
2216
|
-
var
|
|
2217
|
-
var FontFamily =
|
|
2218
|
-
normal:
|
|
2219
|
-
bold:
|
|
2220
|
-
italics:
|
|
2221
|
-
bolditalics:
|
|
2403
|
+
var z22 = __toESM(require("zod/v4"));
|
|
2404
|
+
var FontFamily = z22.object({
|
|
2405
|
+
normal: z22.string(),
|
|
2406
|
+
bold: z22.string(),
|
|
2407
|
+
italics: z22.string(),
|
|
2408
|
+
bolditalics: z22.string()
|
|
2222
2409
|
});
|
|
2223
|
-
var CertificateConfig =
|
|
2224
|
-
id:
|
|
2225
|
-
event:
|
|
2226
|
-
isV2Template:
|
|
2410
|
+
var CertificateConfig = z22.object({
|
|
2411
|
+
id: z22.string(),
|
|
2412
|
+
event: z22.string(),
|
|
2413
|
+
isV2Template: z22.boolean().optional(),
|
|
2227
2414
|
label: TranslationConfig,
|
|
2228
|
-
isDefault:
|
|
2229
|
-
fee:
|
|
2230
|
-
onTime:
|
|
2231
|
-
late:
|
|
2232
|
-
delayed:
|
|
2415
|
+
isDefault: z22.boolean(),
|
|
2416
|
+
fee: z22.object({
|
|
2417
|
+
onTime: z22.number(),
|
|
2418
|
+
late: z22.number(),
|
|
2419
|
+
delayed: z22.number()
|
|
2233
2420
|
}),
|
|
2234
|
-
svgUrl:
|
|
2235
|
-
fonts:
|
|
2236
|
-
conditionals:
|
|
2421
|
+
svgUrl: z22.string(),
|
|
2422
|
+
fonts: z22.record(z22.string(), FontFamily).optional(),
|
|
2423
|
+
conditionals: z22.array(ShowConditional).optional()
|
|
2237
2424
|
});
|
|
2238
2425
|
var CertificateTemplateConfig = CertificateConfig.extend({
|
|
2239
|
-
hash:
|
|
2240
|
-
svg:
|
|
2426
|
+
hash: z22.string().optional(),
|
|
2427
|
+
svg: z22.string()
|
|
2241
2428
|
});
|
|
2242
2429
|
|
|
2243
2430
|
// ../commons/src/events/offline/LanguageConfig.ts
|
|
2244
|
-
var
|
|
2245
|
-
var LanguageConfig =
|
|
2246
|
-
lang:
|
|
2431
|
+
var z23 = __toESM(require("zod/v4"));
|
|
2432
|
+
var LanguageConfig = z23.object({
|
|
2433
|
+
lang: z23.string(),
|
|
2247
2434
|
/**
|
|
2248
2435
|
* client.csv contents
|
|
2249
2436
|
*/
|
|
2250
|
-
messages:
|
|
2437
|
+
messages: z23.record(z23.string(), z23.string())
|
|
2251
2438
|
});
|
|
2252
2439
|
|
|
2253
2440
|
// ../commons/src/events/EventConfig.ts
|
|
2254
|
-
var
|
|
2441
|
+
var z29 = __toESM(require("zod/v4"));
|
|
2255
2442
|
|
|
2256
2443
|
// ../commons/src/events/SummaryConfig.ts
|
|
2257
|
-
var
|
|
2258
|
-
var BaseField2 =
|
|
2444
|
+
var z24 = __toESM(require("zod/v4"));
|
|
2445
|
+
var BaseField2 = z24.object({
|
|
2259
2446
|
emptyValueMessage: TranslationConfig.optional().describe(
|
|
2260
2447
|
"Default message displayed when the field value is empty."
|
|
2261
2448
|
),
|
|
2262
|
-
conditionals:
|
|
2449
|
+
conditionals: z24.array(ShowConditional).default([]).optional()
|
|
2263
2450
|
});
|
|
2264
2451
|
var ReferenceField = BaseField2.extend({
|
|
2265
|
-
fieldId:
|
|
2452
|
+
fieldId: z24.string(),
|
|
2266
2453
|
label: TranslationConfig.optional().describe(
|
|
2267
2454
|
"Overrides the default label from the referenced field when provided."
|
|
2268
2455
|
)
|
|
2269
2456
|
}).describe("Field referencing existing event data by field ID.");
|
|
2270
2457
|
var Field = BaseField2.extend({
|
|
2271
|
-
id:
|
|
2458
|
+
id: z24.string().describe("Identifier of the summary field."),
|
|
2272
2459
|
value: TranslationConfig.describe(
|
|
2273
2460
|
'Field value template supporting variables from configuration and EventMetadata (e.g. "{informant.phoneNo} {informant.email}").'
|
|
2274
2461
|
),
|
|
2275
2462
|
label: TranslationConfig
|
|
2276
2463
|
}).describe("Custom field defined for the summary view.");
|
|
2277
|
-
var SummaryConfig =
|
|
2278
|
-
fields:
|
|
2464
|
+
var SummaryConfig = z24.object({
|
|
2465
|
+
fields: z24.array(z24.union([Field, ReferenceField])).describe("Fields displayed in the event summary view.")
|
|
2279
2466
|
}).describe("Configuration of the event summary section.");
|
|
2280
2467
|
|
|
2281
2468
|
// ../commons/src/events/AdvancedSearchConfig.ts
|
|
2282
|
-
var
|
|
2283
|
-
var MatchType =
|
|
2284
|
-
var BaseField3 =
|
|
2285
|
-
config:
|
|
2469
|
+
var z25 = __toESM(require("zod/v4"));
|
|
2470
|
+
var MatchType = z25.enum(["fuzzy", "exact", "range", "within"]);
|
|
2471
|
+
var BaseField3 = z25.object({
|
|
2472
|
+
config: z25.object({
|
|
2286
2473
|
type: MatchType.describe(
|
|
2287
2474
|
"Determines the search type of field. How to match value."
|
|
2288
2475
|
),
|
|
2289
|
-
searchFields:
|
|
2476
|
+
searchFields: z25.array(z25.string()).optional().describe(
|
|
2290
2477
|
`
|
|
2291
2478
|
Defines multiple form fields that should be searched when this field has a value.
|
|
2292
2479
|
All specified fields will be combined using OR logic.
|
|
@@ -2296,7 +2483,7 @@ var BaseField3 = import_zod23.z.object({
|
|
|
2296
2483
|
`
|
|
2297
2484
|
)
|
|
2298
2485
|
}),
|
|
2299
|
-
type:
|
|
2486
|
+
type: z25.nativeEnum(FieldType).optional().describe(
|
|
2300
2487
|
`
|
|
2301
2488
|
Explicitly specify the field type for searchFields.
|
|
2302
2489
|
This is required when searchFields is defined, to show the correct control in the UI.
|
|
@@ -2310,7 +2497,7 @@ var BaseField3 = import_zod23.z.object({
|
|
|
2310
2497
|
This is required when searchFields is defined.
|
|
2311
2498
|
`
|
|
2312
2499
|
),
|
|
2313
|
-
options:
|
|
2500
|
+
options: z25.array(SelectOption).optional(),
|
|
2314
2501
|
searchCriteriaLabelPrefix: TranslationConfig.optional().describe(
|
|
2315
2502
|
`
|
|
2316
2503
|
This property determines whether to add a prefix (such as "Child" or "Applicant") before the field label
|
|
@@ -2331,7 +2518,7 @@ var BaseField3 = import_zod23.z.object({
|
|
|
2331
2518
|
in the country-config > event.advancedSearch configuration. For example: field("child.dob", { searchCriteriaLabelPrefix: TranslationConfig }).
|
|
2332
2519
|
`
|
|
2333
2520
|
),
|
|
2334
|
-
conditionals:
|
|
2521
|
+
conditionals: z25.array(FieldConditional).optional().describe(
|
|
2335
2522
|
`
|
|
2336
2523
|
In advanced search, we sometimes need to override the default field visibility conditionals.
|
|
2337
2524
|
|
|
@@ -2345,59 +2532,61 @@ var BaseField3 = import_zod23.z.object({
|
|
|
2345
2532
|
are always rendered in the advanced search form.
|
|
2346
2533
|
`
|
|
2347
2534
|
),
|
|
2348
|
-
validations:
|
|
2535
|
+
validations: z25.array(ValidationConfig).optional().describe(
|
|
2349
2536
|
`Option for overriding the field validations specifically for advanced search form.`
|
|
2350
2537
|
)
|
|
2351
2538
|
});
|
|
2352
|
-
var SearchQueryParams =
|
|
2353
|
-
eventType:
|
|
2539
|
+
var SearchQueryParams = z25.object({
|
|
2540
|
+
eventType: z25.string().optional().describe(
|
|
2354
2541
|
"Defines type of event so that when redirecting to Advanced Search page, appropriate tab can be selected"
|
|
2355
2542
|
)
|
|
2356
2543
|
}).catchall(FieldValue);
|
|
2357
2544
|
var FieldConfigSchema = BaseField3.extend({
|
|
2358
|
-
fieldId:
|
|
2359
|
-
fieldType:
|
|
2545
|
+
fieldId: z25.string(),
|
|
2546
|
+
fieldType: z25.literal("field")
|
|
2360
2547
|
});
|
|
2361
|
-
var EventFieldIdInput =
|
|
2548
|
+
var EventFieldIdInput = z25.enum([
|
|
2362
2549
|
"trackingId",
|
|
2363
2550
|
"status",
|
|
2364
2551
|
"legalStatuses.REGISTERED.acceptedAt",
|
|
2365
2552
|
"legalStatuses.REGISTERED.createdAtLocation",
|
|
2553
|
+
"legalStatuses.REGISTERED.registrationNumber",
|
|
2366
2554
|
"updatedAt"
|
|
2367
2555
|
]);
|
|
2368
2556
|
var METADATA_FIELD_PREFIX = "event.";
|
|
2369
|
-
var EventFieldId =
|
|
2557
|
+
var EventFieldId = z25.enum([
|
|
2370
2558
|
`${METADATA_FIELD_PREFIX}trackingId`,
|
|
2371
2559
|
`${METADATA_FIELD_PREFIX}status`,
|
|
2372
2560
|
`${METADATA_FIELD_PREFIX}legalStatuses.REGISTERED.acceptedAt`,
|
|
2373
2561
|
`${METADATA_FIELD_PREFIX}legalStatuses.REGISTERED.createdAtLocation`,
|
|
2562
|
+
`${METADATA_FIELD_PREFIX}legalStatuses.REGISTERED.registrationNumber`,
|
|
2374
2563
|
`${METADATA_FIELD_PREFIX}updatedAt`
|
|
2375
2564
|
]);
|
|
2376
2565
|
var EventFieldConfigSchema = BaseField3.extend({
|
|
2377
2566
|
fieldId: EventFieldId,
|
|
2378
|
-
fieldType:
|
|
2567
|
+
fieldType: z25.literal("event")
|
|
2379
2568
|
});
|
|
2380
|
-
var AdvancedSearchField =
|
|
2569
|
+
var AdvancedSearchField = z25.discriminatedUnion("fieldType", [FieldConfigSchema, EventFieldConfigSchema]).superRefine((data, ctx) => {
|
|
2381
2570
|
if (data.config.searchFields && data.config.searchFields.length > 0) {
|
|
2382
2571
|
if (!data.label) {
|
|
2383
2572
|
ctx.addIssue({
|
|
2384
|
-
code:
|
|
2573
|
+
code: z25.ZodIssueCode.custom,
|
|
2385
2574
|
message: "label is required when config.searchFields is defined.",
|
|
2386
2575
|
path: ["label"]
|
|
2387
2576
|
});
|
|
2388
2577
|
}
|
|
2389
2578
|
if (!data.type) {
|
|
2390
2579
|
ctx.addIssue({
|
|
2391
|
-
code:
|
|
2580
|
+
code: z25.ZodIssueCode.custom,
|
|
2392
2581
|
message: "type is required when config.searchFields is defined.",
|
|
2393
2582
|
path: ["type"]
|
|
2394
2583
|
});
|
|
2395
2584
|
}
|
|
2396
2585
|
}
|
|
2397
2586
|
});
|
|
2398
|
-
var AdvancedSearchConfig =
|
|
2587
|
+
var AdvancedSearchConfig = z25.object({
|
|
2399
2588
|
title: TranslationConfig.describe("Advanced search tab title"),
|
|
2400
|
-
fields:
|
|
2589
|
+
fields: z25.array(AdvancedSearchField).describe("Advanced search fields within the tab.")
|
|
2401
2590
|
});
|
|
2402
2591
|
|
|
2403
2592
|
// ../commons/src/events/utils.ts
|
|
@@ -2406,11 +2595,11 @@ var import_lodash = require("lodash");
|
|
|
2406
2595
|
// ../commons/src/conditionals/validate.ts
|
|
2407
2596
|
var import__ = __toESM(require("ajv/dist/2019"));
|
|
2408
2597
|
var import_ajv_formats = __toESM(require("ajv-formats"));
|
|
2409
|
-
var
|
|
2598
|
+
var z27 = __toESM(require("zod/v4"));
|
|
2410
2599
|
var import_date_fns = require("date-fns");
|
|
2411
2600
|
|
|
2412
2601
|
// ../commons/src/events/DynamicFieldValue.ts
|
|
2413
|
-
var
|
|
2602
|
+
var z26 = __toESM(require("zod/v4"));
|
|
2414
2603
|
|
|
2415
2604
|
// ../commons/src/conditionals/validate.ts
|
|
2416
2605
|
var ajv = new import__.default({
|
|
@@ -2419,9 +2608,9 @@ var ajv = new import__.default({
|
|
|
2419
2608
|
strict: false
|
|
2420
2609
|
// Allow minContains and other newer features
|
|
2421
2610
|
});
|
|
2422
|
-
var DataContext =
|
|
2423
|
-
rootData:
|
|
2424
|
-
$leafAdminStructureLocationIds:
|
|
2611
|
+
var DataContext = z27.object({
|
|
2612
|
+
rootData: z27.object({
|
|
2613
|
+
$leafAdminStructureLocationIds: z27.array(z27.object({ id: UUID }))
|
|
2425
2614
|
})
|
|
2426
2615
|
});
|
|
2427
2616
|
function resolveDataPath(rootData, dataPath, instancePath) {
|
|
@@ -2498,12 +2687,12 @@ ajv.addKeyword({
|
|
|
2498
2687
|
});
|
|
2499
2688
|
|
|
2500
2689
|
// ../commons/src/utils.ts
|
|
2501
|
-
var
|
|
2502
|
-
var FullNameV1 =
|
|
2503
|
-
|
|
2504
|
-
use:
|
|
2505
|
-
family:
|
|
2506
|
-
given:
|
|
2690
|
+
var z28 = __toESM(require("zod/v4"));
|
|
2691
|
+
var FullNameV1 = z28.array(
|
|
2692
|
+
z28.object({
|
|
2693
|
+
use: z28.string(),
|
|
2694
|
+
family: z28.string(),
|
|
2695
|
+
given: z28.array(z28.string())
|
|
2507
2696
|
})
|
|
2508
2697
|
);
|
|
2509
2698
|
function omitKeyDeep(obj, keyToRemove) {
|
|
@@ -2524,9 +2713,6 @@ function omitKeyDeep(obj, keyToRemove) {
|
|
|
2524
2713
|
|
|
2525
2714
|
// ../commons/src/events/utils.ts
|
|
2526
2715
|
var import_date_fns2 = require("date-fns");
|
|
2527
|
-
function isDeclarationActionConfig(action) {
|
|
2528
|
-
return DeclarationActions.safeParse(action.type).success;
|
|
2529
|
-
}
|
|
2530
2716
|
function getDeclarationFields(configuration) {
|
|
2531
2717
|
return configuration.declaration.pages.flatMap(({ fields }) => fields);
|
|
2532
2718
|
}
|
|
@@ -2537,7 +2723,7 @@ var getActionAnnotationFields = (actionConfig) => {
|
|
|
2537
2723
|
if (actionConfig.type === ActionType.PRINT_CERTIFICATE) {
|
|
2538
2724
|
return actionConfig.printForm.pages.flatMap(({ fields }) => fields);
|
|
2539
2725
|
}
|
|
2540
|
-
if (
|
|
2726
|
+
if ("review" in actionConfig) {
|
|
2541
2727
|
return actionConfig.review.fields;
|
|
2542
2728
|
}
|
|
2543
2729
|
return [];
|
|
@@ -2558,15 +2744,16 @@ var EXCLUDED_ACTIONS = [
|
|
|
2558
2744
|
];
|
|
2559
2745
|
|
|
2560
2746
|
// ../commons/src/events/EventConfig.ts
|
|
2561
|
-
var
|
|
2562
|
-
|
|
2563
|
-
var EventConfig = import_zod26.z.object({
|
|
2564
|
-
id: import_zod26.z.string().describe(
|
|
2747
|
+
var EventConfig = z29.object({
|
|
2748
|
+
id: z29.string().describe(
|
|
2565
2749
|
'Machine-readable identifier of the event (e.g. "birth", "death").'
|
|
2566
2750
|
),
|
|
2567
2751
|
dateOfEvent: FieldReference.optional().describe(
|
|
2568
2752
|
"Reference to the field capturing the date of the event (e.g. date of birth). Defaults to the event creation date if unspecified."
|
|
2569
2753
|
),
|
|
2754
|
+
placeOfEvent: FieldReference.optional().describe(
|
|
2755
|
+
"Reference to the field capturing the place of the event (e.g. place of birth). Defaults to the meta.createdAtLocation if unspecified."
|
|
2756
|
+
),
|
|
2570
2757
|
title: TranslationConfig.describe(
|
|
2571
2758
|
'Title template for the singular event, supporting variables (e.g. "{applicant.name.firstname} {applicant.name.surname}").'
|
|
2572
2759
|
),
|
|
@@ -2579,14 +2766,17 @@ var EventConfig = import_zod26.z.object({
|
|
|
2579
2766
|
label: TranslationConfig.describe(
|
|
2580
2767
|
"Human-readable label for the event type."
|
|
2581
2768
|
),
|
|
2582
|
-
actions:
|
|
2769
|
+
actions: z29.array(ActionConfig).describe(
|
|
2583
2770
|
"Configuration of system-defined actions associated with the event."
|
|
2584
2771
|
),
|
|
2585
2772
|
declaration: DeclarationFormConfig.describe(
|
|
2586
2773
|
"Configuration of the form used to gather event data."
|
|
2587
2774
|
),
|
|
2588
|
-
advancedSearch:
|
|
2775
|
+
advancedSearch: z29.array(AdvancedSearchConfig).optional().default([]).describe(
|
|
2589
2776
|
"Configuration of fields available in the advanced search feature."
|
|
2777
|
+
),
|
|
2778
|
+
flags: z29.array(FlagConfig).optional().default([]).describe(
|
|
2779
|
+
"Configuration of flags associated with the actions of this event type."
|
|
2590
2780
|
)
|
|
2591
2781
|
}).superRefine((event2, ctx) => {
|
|
2592
2782
|
const allFields = findAllFields(event2);
|
|
@@ -2638,8 +2828,37 @@ var EventConfig = import_zod26.z.object({
|
|
|
2638
2828
|
});
|
|
2639
2829
|
}
|
|
2640
2830
|
}
|
|
2641
|
-
|
|
2642
|
-
|
|
2831
|
+
if (event2.placeOfEvent) {
|
|
2832
|
+
const eventPlaceFieldId = getDeclarationFields(event2).find(
|
|
2833
|
+
({ id }) => id === event2.placeOfEvent?.$$field
|
|
2834
|
+
);
|
|
2835
|
+
if (!eventPlaceFieldId) {
|
|
2836
|
+
ctx.addIssue({
|
|
2837
|
+
code: "custom",
|
|
2838
|
+
message: `Place of event field id must match a field id in the event.declaration fields.
|
|
2839
|
+
Invalid place of event field ID for event ${event2.id}: ${event2.placeOfEvent.$$field}`,
|
|
2840
|
+
path: ["placeOfEvent"]
|
|
2841
|
+
});
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2844
|
+
const isInherentFlag = (value) => Object.values(InherentFlags).includes(value);
|
|
2845
|
+
const configuredFlagIds = event2.flags.map((flag2) => flag2.id);
|
|
2846
|
+
const actionFlagIds = event2.actions.flatMap(
|
|
2847
|
+
(action) => action.flags.map((flag2) => flag2.id)
|
|
2848
|
+
);
|
|
2849
|
+
for (const actionFlagId of actionFlagIds) {
|
|
2850
|
+
const isConfigured = configuredFlagIds.includes(actionFlagId);
|
|
2851
|
+
const isInherent = isInherentFlag(actionFlagId);
|
|
2852
|
+
if (!isConfigured && !isInherent) {
|
|
2853
|
+
ctx.addIssue({
|
|
2854
|
+
code: "custom",
|
|
2855
|
+
message: `Action flag id must match an inherent flag or a configured flag in the flags array. Invalid action flag ID for event '${event2.id}': '${actionFlagId}'`,
|
|
2856
|
+
path: ["actions"]
|
|
2857
|
+
});
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2860
|
+
}).meta({
|
|
2861
|
+
id: "EventConfig"
|
|
2643
2862
|
}).describe("Configuration defining an event type.");
|
|
2644
2863
|
|
|
2645
2864
|
// ../commons/src/events/EventConfigInput.ts
|
|
@@ -2648,7 +2867,7 @@ var defineActionForm = (actionForm) => ActionFormConfig.parse(actionForm);
|
|
|
2648
2867
|
var defineFormPage = (formPage) => FormPageConfig.parse(formPage);
|
|
2649
2868
|
|
|
2650
2869
|
// ../commons/src/events/WorkqueueConfig.ts
|
|
2651
|
-
var
|
|
2870
|
+
var z32 = __toESM(require("zod/v4"));
|
|
2652
2871
|
|
|
2653
2872
|
// ../commons/src/conditionals/conditionals.ts
|
|
2654
2873
|
var objectHash = __toESM(require("object-hash"));
|
|
@@ -2686,7 +2905,7 @@ function not(condition) {
|
|
|
2686
2905
|
required: []
|
|
2687
2906
|
});
|
|
2688
2907
|
}
|
|
2689
|
-
function
|
|
2908
|
+
function never2() {
|
|
2690
2909
|
return not(alwaysTrue());
|
|
2691
2910
|
}
|
|
2692
2911
|
function jsonFieldPath(field3) {
|
|
@@ -2856,6 +3075,21 @@ function defineComparison(field3, value, keyword) {
|
|
|
2856
3075
|
required: [field3.$$field]
|
|
2857
3076
|
});
|
|
2858
3077
|
}
|
|
3078
|
+
function flag(flagvalue) {
|
|
3079
|
+
return defineConditional({
|
|
3080
|
+
type: "object",
|
|
3081
|
+
properties: {
|
|
3082
|
+
$flags: {
|
|
3083
|
+
type: "array",
|
|
3084
|
+
contains: {
|
|
3085
|
+
type: "string",
|
|
3086
|
+
const: flagvalue
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
},
|
|
3090
|
+
required: ["$flags"]
|
|
3091
|
+
});
|
|
3092
|
+
}
|
|
2859
3093
|
function createFieldConditionals(fieldId) {
|
|
2860
3094
|
const getDayRange = (field3, days, clause, referenceDate) => ({
|
|
2861
3095
|
type: "object",
|
|
@@ -3395,17 +3629,17 @@ var event = Object.assign(eventFn, {
|
|
|
3395
3629
|
});
|
|
3396
3630
|
|
|
3397
3631
|
// ../commons/src/events/WorkqueueColumnConfig.ts
|
|
3398
|
-
var
|
|
3632
|
+
var z30 = __toESM(require("zod/v4"));
|
|
3399
3633
|
var WorkqueueColumnKeysArray = [
|
|
3400
3634
|
...EventMetadataKeysArray,
|
|
3401
3635
|
"title",
|
|
3402
3636
|
"outbox"
|
|
3403
3637
|
];
|
|
3404
|
-
var WorkqueueColumnKeys =
|
|
3405
|
-
var WorkqueueColumnValue =
|
|
3638
|
+
var WorkqueueColumnKeys = z30.enum(WorkqueueColumnKeysArray);
|
|
3639
|
+
var WorkqueueColumnValue = z30.object({
|
|
3406
3640
|
$event: WorkqueueColumnKeys
|
|
3407
3641
|
});
|
|
3408
|
-
var WorkqueueColumn =
|
|
3642
|
+
var WorkqueueColumn = z30.object({
|
|
3409
3643
|
label: TranslationConfig,
|
|
3410
3644
|
value: WorkqueueColumnValue
|
|
3411
3645
|
});
|
|
@@ -3416,158 +3650,54 @@ function defineWorkqueuesColumns(workqueueColumns) {
|
|
|
3416
3650
|
}
|
|
3417
3651
|
|
|
3418
3652
|
// ../commons/src/events/CountryConfigQueryInput.ts
|
|
3419
|
-
var
|
|
3420
|
-
var SerializableExact =
|
|
3421
|
-
type:
|
|
3422
|
-
term:
|
|
3653
|
+
var z31 = __toESM(require("zod/v4"));
|
|
3654
|
+
var SerializableExact = z31.object({
|
|
3655
|
+
type: z31.literal("exact"),
|
|
3656
|
+
term: z31.union([z31.string(), SerializedUserField])
|
|
3423
3657
|
});
|
|
3424
|
-
var SerializableWithin =
|
|
3425
|
-
type:
|
|
3426
|
-
location:
|
|
3658
|
+
var SerializableWithin = z31.object({
|
|
3659
|
+
type: z31.literal("within"),
|
|
3660
|
+
location: z31.union([z31.string(), SerializedUserField])
|
|
3427
3661
|
});
|
|
3428
|
-
var SerializedQueryExpression =
|
|
3429
|
-
eventType:
|
|
3430
|
-
status:
|
|
3431
|
-
createdAt:
|
|
3432
|
-
updatedAt:
|
|
3433
|
-
"legalStatuses.REGISTERED.createdAt":
|
|
3434
|
-
"legalStatuses.REGISTERED.createdAtLocation":
|
|
3435
|
-
|
|
3662
|
+
var SerializedQueryExpression = z31.object({
|
|
3663
|
+
eventType: z31.string(),
|
|
3664
|
+
status: z31.optional(z31.union([AnyOfStatus, ExactStatus])),
|
|
3665
|
+
createdAt: z31.optional(DateCondition),
|
|
3666
|
+
updatedAt: z31.optional(DateCondition),
|
|
3667
|
+
"legalStatuses.REGISTERED.createdAt": z31.optional(DateCondition),
|
|
3668
|
+
"legalStatuses.REGISTERED.createdAtLocation": z31.optional(
|
|
3669
|
+
z31.union([Within, Exact])
|
|
3436
3670
|
),
|
|
3437
|
-
"legalStatuses.REGISTERED.registrationNumber":
|
|
3438
|
-
createdAtLocation:
|
|
3439
|
-
|
|
3671
|
+
"legalStatuses.REGISTERED.registrationNumber": z31.optional(Exact),
|
|
3672
|
+
createdAtLocation: z31.optional(
|
|
3673
|
+
z31.union([SerializableWithin, SerializableExact])
|
|
3440
3674
|
),
|
|
3441
|
-
updatedAtLocation:
|
|
3442
|
-
|
|
3675
|
+
updatedAtLocation: z31.optional(
|
|
3676
|
+
z31.union([SerializableWithin, SerializableExact])
|
|
3443
3677
|
),
|
|
3444
|
-
assignedTo:
|
|
3445
|
-
createdBy:
|
|
3678
|
+
assignedTo: z31.optional(SerializableExact),
|
|
3679
|
+
createdBy: z31.optional(SerializableExact),
|
|
3446
3680
|
createdByUserType: ExactUserType,
|
|
3447
|
-
updatedBy:
|
|
3448
|
-
trackingId:
|
|
3449
|
-
flags:
|
|
3681
|
+
updatedBy: z31.optional(SerializableExact),
|
|
3682
|
+
trackingId: z31.optional(Exact),
|
|
3683
|
+
flags: z31.optional(ContainsFlags),
|
|
3450
3684
|
data: QueryInput
|
|
3451
3685
|
}).partial();
|
|
3452
|
-
var Or2 =
|
|
3453
|
-
type:
|
|
3454
|
-
clauses:
|
|
3686
|
+
var Or2 = z31.object({
|
|
3687
|
+
type: z31.literal("or"),
|
|
3688
|
+
clauses: z31.array(SerializedQueryExpression)
|
|
3455
3689
|
});
|
|
3456
|
-
var And2 =
|
|
3457
|
-
type:
|
|
3458
|
-
clauses:
|
|
3690
|
+
var And2 = z31.object({
|
|
3691
|
+
type: z31.literal("and"),
|
|
3692
|
+
clauses: z31.array(SerializedQueryExpression)
|
|
3459
3693
|
});
|
|
3460
|
-
var CountryConfigQueryType =
|
|
3461
|
-
var CountryConfigQueryInputType =
|
|
3694
|
+
var CountryConfigQueryType = z31.discriminatedUnion("type", [And2, Or2]);
|
|
3695
|
+
var CountryConfigQueryInputType = z31.union([
|
|
3462
3696
|
SerializedQueryExpression,
|
|
3463
3697
|
And2,
|
|
3464
3698
|
Or2
|
|
3465
3699
|
]);
|
|
3466
3700
|
|
|
3467
|
-
// ../commons/src/icons.ts
|
|
3468
|
-
var import_zod29 = require("zod");
|
|
3469
|
-
var AvailableIcons = import_zod29.z.enum([
|
|
3470
|
-
"Archived",
|
|
3471
|
-
"Assigned",
|
|
3472
|
-
"Certified",
|
|
3473
|
-
"Close",
|
|
3474
|
-
"Collapse",
|
|
3475
|
-
"Draft",
|
|
3476
|
-
"DuplicateYellow",
|
|
3477
|
-
"Expand",
|
|
3478
|
-
"ExternalValidate",
|
|
3479
|
-
"FilledCheck",
|
|
3480
|
-
"InReview",
|
|
3481
|
-
"Offline",
|
|
3482
|
-
"Registered",
|
|
3483
|
-
"RequiresUpdates",
|
|
3484
|
-
"Sent",
|
|
3485
|
-
"Validated",
|
|
3486
|
-
"WaitingApproval",
|
|
3487
|
-
"ChartActivity",
|
|
3488
|
-
"Activity",
|
|
3489
|
-
"Archive",
|
|
3490
|
-
"ArchiveTray",
|
|
3491
|
-
"ArrowLeft",
|
|
3492
|
-
"ArrowRight",
|
|
3493
|
-
"Buildings",
|
|
3494
|
-
"Circle",
|
|
3495
|
-
"CaretDown",
|
|
3496
|
-
"CaretLeft",
|
|
3497
|
-
"CaretRight",
|
|
3498
|
-
"ChartBar",
|
|
3499
|
-
"ChartLine",
|
|
3500
|
-
"ChatCircle",
|
|
3501
|
-
"CheckSquare",
|
|
3502
|
-
"Compass",
|
|
3503
|
-
"Check",
|
|
3504
|
-
"Copy",
|
|
3505
|
-
"Database",
|
|
3506
|
-
"DotsThreeVertical",
|
|
3507
|
-
"ArrowCounterClockwise",
|
|
3508
|
-
"MagnifyingGlassMinus",
|
|
3509
|
-
"MagnifyingGlassPlus",
|
|
3510
|
-
"Export",
|
|
3511
|
-
"Eye",
|
|
3512
|
-
"EyeSlash",
|
|
3513
|
-
"Envelope",
|
|
3514
|
-
"File",
|
|
3515
|
-
"FileSearch",
|
|
3516
|
-
"FileMinus",
|
|
3517
|
-
"FilePlus",
|
|
3518
|
-
"FileText",
|
|
3519
|
-
"FileX",
|
|
3520
|
-
"Handshake",
|
|
3521
|
-
"Gear",
|
|
3522
|
-
"GitBranch",
|
|
3523
|
-
"IdentificationCard",
|
|
3524
|
-
"List",
|
|
3525
|
-
"ListBullets",
|
|
3526
|
-
"Lock",
|
|
3527
|
-
"MagnifyingGlass",
|
|
3528
|
-
"MapPin",
|
|
3529
|
-
"Medal",
|
|
3530
|
-
"NotePencil",
|
|
3531
|
-
"Paperclip",
|
|
3532
|
-
"PaperPlaneTilt",
|
|
3533
|
-
"Pen",
|
|
3534
|
-
"Pencil",
|
|
3535
|
-
"PencilSimpleLine",
|
|
3536
|
-
"Phone",
|
|
3537
|
-
"Plus",
|
|
3538
|
-
"Printer",
|
|
3539
|
-
"SignOut",
|
|
3540
|
-
"Star",
|
|
3541
|
-
"Target",
|
|
3542
|
-
"TextT",
|
|
3543
|
-
"Trash",
|
|
3544
|
-
"UploadSimple",
|
|
3545
|
-
"User",
|
|
3546
|
-
"UserPlus",
|
|
3547
|
-
"Users",
|
|
3548
|
-
"WarningCircle",
|
|
3549
|
-
"X",
|
|
3550
|
-
"CircleWavyCheck",
|
|
3551
|
-
"CircleWavyQuestion",
|
|
3552
|
-
"ArchiveBox",
|
|
3553
|
-
"ArrowCircleDown",
|
|
3554
|
-
"FileArrowUp",
|
|
3555
|
-
"FileDotted",
|
|
3556
|
-
"Files",
|
|
3557
|
-
"PencilLine",
|
|
3558
|
-
"PencilCircle",
|
|
3559
|
-
"UserCircle",
|
|
3560
|
-
"Clock",
|
|
3561
|
-
"QrCode",
|
|
3562
|
-
"Webcam",
|
|
3563
|
-
"Sun",
|
|
3564
|
-
"DeviceTabletCamera",
|
|
3565
|
-
"Globe",
|
|
3566
|
-
"Fingerprint",
|
|
3567
|
-
"PushPin",
|
|
3568
|
-
"Timer"
|
|
3569
|
-
]);
|
|
3570
|
-
|
|
3571
3701
|
// ../commons/src/events/WorkqueueConfig.ts
|
|
3572
3702
|
var mandatoryColumns = defineWorkqueuesColumns([
|
|
3573
3703
|
{
|
|
@@ -3587,23 +3717,24 @@ var mandatoryColumns = defineWorkqueuesColumns([
|
|
|
3587
3717
|
value: event.field("updatedAt")
|
|
3588
3718
|
}
|
|
3589
3719
|
]);
|
|
3590
|
-
var WorkqueueActionsWithDefault =
|
|
3720
|
+
var WorkqueueActionsWithDefault = z32.enum([
|
|
3591
3721
|
...workqueueActions.options,
|
|
3592
|
-
"DEFAULT"
|
|
3722
|
+
"DEFAULT",
|
|
3723
|
+
ActionType.READ
|
|
3593
3724
|
]);
|
|
3594
|
-
var WorkqueueConfig =
|
|
3595
|
-
slug:
|
|
3725
|
+
var WorkqueueConfig = z32.object({
|
|
3726
|
+
slug: z32.string().describe("Determines the url of the workqueue."),
|
|
3596
3727
|
name: TranslationConfig.describe(
|
|
3597
3728
|
"Title of the workflow (both in navigation and on the page)"
|
|
3598
3729
|
),
|
|
3599
3730
|
query: CountryConfigQueryType,
|
|
3600
|
-
actions:
|
|
3601
|
-
|
|
3731
|
+
actions: z32.array(
|
|
3732
|
+
z32.object({
|
|
3602
3733
|
type: WorkqueueActionsWithDefault,
|
|
3603
|
-
conditionals:
|
|
3734
|
+
conditionals: z32.array(Conditional).optional()
|
|
3604
3735
|
})
|
|
3605
3736
|
),
|
|
3606
|
-
columns:
|
|
3737
|
+
columns: z32.array(WorkqueueColumn).default(mandatoryColumns),
|
|
3607
3738
|
icon: AvailableIcons,
|
|
3608
3739
|
emptyMessage: TranslationConfig.optional()
|
|
3609
3740
|
}).describe("Configuration for workqueue.");
|
|
@@ -3611,26 +3742,26 @@ var WorkqueueConfigWithoutQuery = WorkqueueConfig.omit({
|
|
|
3611
3742
|
query: true,
|
|
3612
3743
|
columns: true
|
|
3613
3744
|
});
|
|
3614
|
-
var WorkqueueConfigInput =
|
|
3615
|
-
slug:
|
|
3745
|
+
var WorkqueueConfigInput = z32.object({
|
|
3746
|
+
slug: z32.string().describe("Determines the url of the workqueue."),
|
|
3616
3747
|
name: TranslationConfig.describe(
|
|
3617
3748
|
"Title of the workflow (both in navigation and on the page)"
|
|
3618
3749
|
),
|
|
3619
3750
|
query: CountryConfigQueryInputType,
|
|
3620
|
-
actions:
|
|
3621
|
-
|
|
3751
|
+
actions: z32.array(
|
|
3752
|
+
z32.object({
|
|
3622
3753
|
type: WorkqueueActionsWithDefault,
|
|
3623
|
-
conditionals:
|
|
3754
|
+
conditionals: z32.array(Conditional).optional()
|
|
3624
3755
|
})
|
|
3625
3756
|
),
|
|
3626
|
-
columns:
|
|
3757
|
+
columns: z32.array(WorkqueueColumn).default(mandatoryColumns),
|
|
3627
3758
|
icon: AvailableIcons,
|
|
3628
3759
|
emptyMessage: TranslationConfig.optional()
|
|
3629
3760
|
});
|
|
3630
|
-
var WorkqueueCountInput =
|
|
3631
|
-
|
|
3761
|
+
var WorkqueueCountInput = z32.array(
|
|
3762
|
+
z32.object({ slug: z32.string(), query: QueryType })
|
|
3632
3763
|
);
|
|
3633
|
-
var WorkqueueCountOutput =
|
|
3764
|
+
var WorkqueueCountOutput = z32.record(z32.string(), z32.number());
|
|
3634
3765
|
|
|
3635
3766
|
// ../commons/src/events/workqueueDefaultColumns.ts
|
|
3636
3767
|
var defaultWorkqueueColumns = [
|
|
@@ -3653,47 +3784,45 @@ var defaultWorkqueueColumns = [
|
|
|
3653
3784
|
];
|
|
3654
3785
|
|
|
3655
3786
|
// ../commons/src/events/Draft.ts
|
|
3656
|
-
var
|
|
3787
|
+
var z34 = __toESM(require("zod/v4"));
|
|
3657
3788
|
|
|
3658
3789
|
// ../commons/src/events/ActionInput.ts
|
|
3659
|
-
var
|
|
3660
|
-
var
|
|
3661
|
-
(0, import_zod_openapi11.extendZodWithOpenApi)(import_zod31.z);
|
|
3662
|
-
var BaseActionInput = import_zod31.z.object({
|
|
3790
|
+
var z33 = __toESM(require("zod/v4"));
|
|
3791
|
+
var BaseActionInput = z33.object({
|
|
3663
3792
|
eventId: UUID,
|
|
3664
|
-
transactionId:
|
|
3793
|
+
transactionId: z33.string(),
|
|
3665
3794
|
declaration: ActionUpdate.default({}),
|
|
3666
3795
|
annotation: ActionUpdate.optional(),
|
|
3667
3796
|
originalActionId: UUID.optional(),
|
|
3668
3797
|
// should not be part of base action.
|
|
3669
|
-
keepAssignment:
|
|
3798
|
+
keepAssignment: z33.boolean().optional(),
|
|
3670
3799
|
// For normal users, the createdAtLocation is resolved on the backend from the user's primaryOfficeId.
|
|
3671
3800
|
createdAtLocation: CreatedAtLocation.describe(
|
|
3672
3801
|
"A valid office location ID. This is required for system users performing actions. The provided location must be a leaf-location, i.e. it must not have any children locations."
|
|
3673
3802
|
)
|
|
3674
3803
|
});
|
|
3675
|
-
var CreateActionInput = BaseActionInput.
|
|
3676
|
-
|
|
3677
|
-
type:
|
|
3804
|
+
var CreateActionInput = BaseActionInput.extend(
|
|
3805
|
+
z33.object({
|
|
3806
|
+
type: z33.literal(ActionType.CREATE).default(ActionType.CREATE),
|
|
3678
3807
|
createdAtLocation: CreatedAtLocation
|
|
3679
|
-
})
|
|
3808
|
+
}).shape
|
|
3680
3809
|
);
|
|
3681
|
-
var RegisterActionInput = BaseActionInput.
|
|
3682
|
-
|
|
3683
|
-
type:
|
|
3684
|
-
registrationNumber:
|
|
3685
|
-
})
|
|
3686
|
-
).strict();
|
|
3687
|
-
var ValidateActionInput = BaseActionInput.merge(
|
|
3688
|
-
import_zod31.z.object({
|
|
3689
|
-
type: import_zod31.z.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
|
|
3690
|
-
})
|
|
3810
|
+
var RegisterActionInput = BaseActionInput.extend(
|
|
3811
|
+
z33.strictObject({
|
|
3812
|
+
type: z33.literal(ActionType.REGISTER).default(ActionType.REGISTER),
|
|
3813
|
+
registrationNumber: z33.string().optional()
|
|
3814
|
+
}).shape
|
|
3691
3815
|
);
|
|
3692
|
-
var
|
|
3693
|
-
|
|
3694
|
-
type:
|
|
3695
|
-
})
|
|
3696
|
-
)
|
|
3816
|
+
var ValidateActionInput = BaseActionInput.extend(
|
|
3817
|
+
z33.object({
|
|
3818
|
+
type: z33.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
|
|
3819
|
+
}).shape
|
|
3820
|
+
);
|
|
3821
|
+
var NotifyActionInput = BaseActionInput.extend(
|
|
3822
|
+
z33.object({
|
|
3823
|
+
type: z33.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
|
|
3824
|
+
}).shape
|
|
3825
|
+
).meta({
|
|
3697
3826
|
default: {
|
|
3698
3827
|
eventId: "<event-id-here>",
|
|
3699
3828
|
transactionId: getUUID(),
|
|
@@ -3702,135 +3831,151 @@ var NotifyActionInput = BaseActionInput.merge(
|
|
|
3702
3831
|
type: ActionType.NOTIFY
|
|
3703
3832
|
}
|
|
3704
3833
|
});
|
|
3705
|
-
var DeclareActionInput = BaseActionInput.
|
|
3706
|
-
|
|
3707
|
-
type:
|
|
3708
|
-
})
|
|
3834
|
+
var DeclareActionInput = BaseActionInput.extend(
|
|
3835
|
+
z33.object({
|
|
3836
|
+
type: z33.literal(ActionType.DECLARE).default(ActionType.DECLARE)
|
|
3837
|
+
}).shape
|
|
3838
|
+
);
|
|
3839
|
+
var EditActionInput = BaseActionInput.extend(
|
|
3840
|
+
z33.object({
|
|
3841
|
+
type: z33.literal(ActionType.EDIT).default(ActionType.EDIT),
|
|
3842
|
+
content: z33.object({
|
|
3843
|
+
comment: z33.string().describe("Comment for the edit action.").optional()
|
|
3844
|
+
})
|
|
3845
|
+
}).shape
|
|
3709
3846
|
);
|
|
3710
|
-
var PrintCertificateActionInput = BaseActionInput.
|
|
3711
|
-
|
|
3712
|
-
type:
|
|
3847
|
+
var PrintCertificateActionInput = BaseActionInput.extend(
|
|
3848
|
+
z33.object({
|
|
3849
|
+
type: z33.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
|
|
3713
3850
|
content: PrintContent.optional()
|
|
3714
|
-
})
|
|
3851
|
+
}).shape
|
|
3715
3852
|
);
|
|
3716
|
-
var RejectDeclarationActionInput = BaseActionInput.
|
|
3717
|
-
|
|
3718
|
-
type:
|
|
3853
|
+
var RejectDeclarationActionInput = BaseActionInput.extend(
|
|
3854
|
+
z33.object({
|
|
3855
|
+
type: z33.literal(ActionType.REJECT).default(ActionType.REJECT),
|
|
3719
3856
|
content: ReasonContent
|
|
3720
|
-
})
|
|
3857
|
+
}).shape
|
|
3721
3858
|
);
|
|
3722
|
-
var DuplicateDetectedActionInput = BaseActionInput.
|
|
3723
|
-
|
|
3724
|
-
type:
|
|
3725
|
-
content:
|
|
3726
|
-
duplicates:
|
|
3859
|
+
var DuplicateDetectedActionInput = BaseActionInput.extend(
|
|
3860
|
+
z33.object({
|
|
3861
|
+
type: z33.literal(ActionType.DUPLICATE_DETECTED).default(ActionType.DUPLICATE_DETECTED),
|
|
3862
|
+
content: z33.object({
|
|
3863
|
+
duplicates: z33.array(PotentialDuplicate)
|
|
3727
3864
|
})
|
|
3728
|
-
})
|
|
3865
|
+
}).shape
|
|
3729
3866
|
);
|
|
3730
|
-
var MarkAsDuplicateActionInput = BaseActionInput.
|
|
3731
|
-
|
|
3732
|
-
type:
|
|
3733
|
-
content:
|
|
3867
|
+
var MarkAsDuplicateActionInput = BaseActionInput.extend(
|
|
3868
|
+
z33.object({
|
|
3869
|
+
type: z33.literal(ActionType.MARK_AS_DUPLICATE).default(ActionType.MARK_AS_DUPLICATE),
|
|
3870
|
+
content: z33.object({
|
|
3734
3871
|
duplicateOf: UUID
|
|
3735
3872
|
}).optional()
|
|
3736
|
-
})
|
|
3873
|
+
}).shape
|
|
3737
3874
|
);
|
|
3738
|
-
var MarkNotDuplicateActionInput = BaseActionInput.
|
|
3739
|
-
|
|
3740
|
-
type:
|
|
3741
|
-
})
|
|
3875
|
+
var MarkNotDuplicateActionInput = BaseActionInput.extend(
|
|
3876
|
+
z33.object({
|
|
3877
|
+
type: z33.literal(ActionType.MARK_AS_NOT_DUPLICATE).default(ActionType.MARK_AS_NOT_DUPLICATE)
|
|
3878
|
+
}).shape
|
|
3742
3879
|
);
|
|
3743
|
-
var ArchiveActionInput = BaseActionInput.
|
|
3744
|
-
|
|
3745
|
-
type:
|
|
3880
|
+
var ArchiveActionInput = BaseActionInput.extend(
|
|
3881
|
+
z33.object({
|
|
3882
|
+
type: z33.literal(ActionType.ARCHIVE).default(ActionType.ARCHIVE),
|
|
3746
3883
|
content: ReasonContent
|
|
3747
|
-
})
|
|
3884
|
+
}).shape
|
|
3748
3885
|
);
|
|
3749
|
-
var AssignActionInput = BaseActionInput.
|
|
3750
|
-
|
|
3751
|
-
type:
|
|
3752
|
-
assignedTo:
|
|
3753
|
-
})
|
|
3886
|
+
var AssignActionInput = BaseActionInput.extend(
|
|
3887
|
+
z33.object({
|
|
3888
|
+
type: z33.literal(ActionType.ASSIGN),
|
|
3889
|
+
assignedTo: z33.string()
|
|
3890
|
+
}).shape
|
|
3754
3891
|
);
|
|
3755
|
-
var UnassignActionInput = BaseActionInput.
|
|
3756
|
-
|
|
3757
|
-
type:
|
|
3758
|
-
assignedTo:
|
|
3759
|
-
})
|
|
3892
|
+
var UnassignActionInput = BaseActionInput.extend(
|
|
3893
|
+
z33.object({
|
|
3894
|
+
type: z33.literal(ActionType.UNASSIGN).default(ActionType.UNASSIGN),
|
|
3895
|
+
assignedTo: z33.literal(null).default(null)
|
|
3896
|
+
}).shape
|
|
3760
3897
|
);
|
|
3761
|
-
var RequestCorrectionActionInput = BaseActionInput.
|
|
3762
|
-
|
|
3763
|
-
type:
|
|
3764
|
-
})
|
|
3898
|
+
var RequestCorrectionActionInput = BaseActionInput.extend(
|
|
3899
|
+
z33.object({
|
|
3900
|
+
type: z33.literal(ActionType.REQUEST_CORRECTION).default(ActionType.REQUEST_CORRECTION)
|
|
3901
|
+
}).shape
|
|
3765
3902
|
);
|
|
3766
|
-
var RejectCorrectionActionInput = BaseActionInput.
|
|
3767
|
-
|
|
3768
|
-
requestId:
|
|
3769
|
-
type:
|
|
3903
|
+
var RejectCorrectionActionInput = BaseActionInput.extend(
|
|
3904
|
+
z33.object({
|
|
3905
|
+
requestId: z33.string(),
|
|
3906
|
+
type: z33.literal(ActionType.REJECT_CORRECTION).default(ActionType.REJECT_CORRECTION),
|
|
3770
3907
|
content: ReasonContent
|
|
3771
|
-
})
|
|
3908
|
+
}).shape
|
|
3772
3909
|
);
|
|
3773
|
-
var ApproveCorrectionActionInput = BaseActionInput.
|
|
3774
|
-
|
|
3775
|
-
requestId:
|
|
3776
|
-
type:
|
|
3777
|
-
})
|
|
3910
|
+
var ApproveCorrectionActionInput = BaseActionInput.extend(
|
|
3911
|
+
z33.object({
|
|
3912
|
+
requestId: z33.string(),
|
|
3913
|
+
type: z33.literal(ActionType.APPROVE_CORRECTION).default(ActionType.APPROVE_CORRECTION)
|
|
3914
|
+
}).shape
|
|
3778
3915
|
);
|
|
3779
|
-
var ReadActionInput = BaseActionInput.
|
|
3780
|
-
|
|
3781
|
-
type:
|
|
3782
|
-
})
|
|
3916
|
+
var ReadActionInput = BaseActionInput.extend(
|
|
3917
|
+
z33.object({
|
|
3918
|
+
type: z33.literal(ActionType.READ).default(ActionType.READ)
|
|
3919
|
+
}).shape
|
|
3920
|
+
);
|
|
3921
|
+
var DeleteActionInput = z33.object({ eventId: UUID });
|
|
3922
|
+
var CustomActionInput = BaseActionInput.extend(
|
|
3923
|
+
z33.object({
|
|
3924
|
+
type: z33.literal(ActionType.CUSTOM).default(ActionType.CUSTOM),
|
|
3925
|
+
customActionType: z33.string().describe("Name of the custom action.")
|
|
3926
|
+
}).shape
|
|
3783
3927
|
);
|
|
3784
|
-
var
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
ref: "RejectDeclarationActionInput"
|
|
3928
|
+
var ActionInput = z33.discriminatedUnion("type", [
|
|
3929
|
+
CreateActionInput.meta({ id: "CreateActionInput" }),
|
|
3930
|
+
ValidateActionInput.meta({ id: "ValidateActionInput" }),
|
|
3931
|
+
RegisterActionInput.meta({ id: "RegisterActionInput" }),
|
|
3932
|
+
NotifyActionInput.meta({ id: "NotifyActionInput" }),
|
|
3933
|
+
DeclareActionInput.meta({ id: "DeclareActionInput" }),
|
|
3934
|
+
RejectDeclarationActionInput.meta({
|
|
3935
|
+
id: "RejectDeclarationActionInput"
|
|
3793
3936
|
}),
|
|
3794
|
-
DuplicateDetectedActionInput.
|
|
3795
|
-
|
|
3937
|
+
DuplicateDetectedActionInput.meta({
|
|
3938
|
+
id: "DuplicateDetectedActionInput"
|
|
3796
3939
|
}),
|
|
3797
|
-
MarkAsDuplicateActionInput.
|
|
3798
|
-
|
|
3940
|
+
MarkAsDuplicateActionInput.meta({
|
|
3941
|
+
id: "MarkAsDuplicateActionInput"
|
|
3799
3942
|
}),
|
|
3800
|
-
MarkNotDuplicateActionInput.
|
|
3801
|
-
|
|
3943
|
+
MarkNotDuplicateActionInput.meta({
|
|
3944
|
+
id: "MarkNotDuplicateActionInput"
|
|
3802
3945
|
}),
|
|
3803
|
-
ArchiveActionInput.
|
|
3804
|
-
AssignActionInput.
|
|
3805
|
-
UnassignActionInput.
|
|
3806
|
-
PrintCertificateActionInput.
|
|
3807
|
-
RequestCorrectionActionInput.
|
|
3808
|
-
|
|
3946
|
+
ArchiveActionInput.meta({ id: "ArchiveActionInput" }),
|
|
3947
|
+
AssignActionInput.meta({ id: "AssignActionInput" }),
|
|
3948
|
+
UnassignActionInput.meta({ id: "UnassignActionInput" }),
|
|
3949
|
+
PrintCertificateActionInput.meta({ id: "PrintCertificateActionInput" }),
|
|
3950
|
+
RequestCorrectionActionInput.meta({
|
|
3951
|
+
id: "RequestCorrectionActionInput"
|
|
3809
3952
|
}),
|
|
3810
|
-
RejectCorrectionActionInput.
|
|
3811
|
-
ApproveCorrectionActionInput.
|
|
3812
|
-
|
|
3953
|
+
RejectCorrectionActionInput.meta({ id: "RejectCorrectionActionInput" }),
|
|
3954
|
+
ApproveCorrectionActionInput.meta({
|
|
3955
|
+
id: "ApproveCorrectionActionInput"
|
|
3813
3956
|
}),
|
|
3814
|
-
ReadActionInput.
|
|
3815
|
-
|
|
3816
|
-
|
|
3957
|
+
ReadActionInput.meta({ id: "ReadActionInput" }),
|
|
3958
|
+
CustomActionInput.meta({ id: "CustomActionInput" }),
|
|
3959
|
+
EditActionInput.meta({ id: "EditActionInput" })
|
|
3960
|
+
]).meta({
|
|
3961
|
+
id: "ActionInput"
|
|
3817
3962
|
});
|
|
3818
3963
|
|
|
3819
3964
|
// ../commons/src/events/Draft.ts
|
|
3820
|
-
var Draft =
|
|
3965
|
+
var Draft = z34.object({
|
|
3821
3966
|
id: UUID,
|
|
3822
3967
|
eventId: UUID,
|
|
3823
|
-
transactionId:
|
|
3824
|
-
createdAt:
|
|
3968
|
+
transactionId: z34.string(),
|
|
3969
|
+
createdAt: z34.string().datetime(),
|
|
3825
3970
|
action: ActionBase.extend({
|
|
3826
|
-
type: ActionTypes.exclude([ActionTypes.
|
|
3971
|
+
type: ActionTypes.exclude([ActionTypes.enum.DELETE])
|
|
3827
3972
|
}).omit({ id: true, createdAtLocation: true })
|
|
3828
3973
|
}).describe(
|
|
3829
3974
|
"A temporary storage for an action. Stored with details of the event, creator and creation time."
|
|
3830
3975
|
);
|
|
3831
3976
|
var DraftInput = BaseActionInput.extend({
|
|
3832
|
-
type: ActionTypes.exclude([ActionTypes.
|
|
3833
|
-
status:
|
|
3977
|
+
type: ActionTypes.exclude([ActionTypes.enum.DELETE]),
|
|
3978
|
+
status: z34.enum([
|
|
3834
3979
|
ActionStatus.Requested,
|
|
3835
3980
|
ActionStatus.Accepted,
|
|
3836
3981
|
ActionStatus.Rejected
|
|
@@ -3838,32 +3983,30 @@ var DraftInput = BaseActionInput.extend({
|
|
|
3838
3983
|
});
|
|
3839
3984
|
|
|
3840
3985
|
// ../commons/src/events/EventInput.ts
|
|
3841
|
-
var
|
|
3986
|
+
var z35 = __toESM(require("zod/v4"));
|
|
3842
3987
|
var import_uuid10 = require("uuid");
|
|
3843
|
-
var EventInput =
|
|
3844
|
-
transactionId:
|
|
3845
|
-
type:
|
|
3846
|
-
}).
|
|
3988
|
+
var EventInput = z35.object({
|
|
3989
|
+
transactionId: z35.string(),
|
|
3990
|
+
type: z35.string()
|
|
3991
|
+
}).meta({ default: { transactionId: (0, import_uuid10.v4)(), type: "birth" } });
|
|
3847
3992
|
|
|
3848
3993
|
// ../commons/src/events/EventDocument.ts
|
|
3849
|
-
var
|
|
3850
|
-
var
|
|
3851
|
-
(0, import_zod_openapi12.extendZodWithOpenApi)(import_zod34.z);
|
|
3852
|
-
var EventDocument = import_zod34.z.object({
|
|
3994
|
+
var z36 = __toESM(require("zod/v4"));
|
|
3995
|
+
var EventDocument = z36.object({
|
|
3853
3996
|
id: UUID.describe("Unique identifier of the event."),
|
|
3854
|
-
type:
|
|
3855
|
-
createdAt:
|
|
3856
|
-
updatedAt:
|
|
3997
|
+
type: z36.string().describe("Type of the event (e.g. birth, death, marriage)."),
|
|
3998
|
+
createdAt: z36.string().datetime().describe("Timestamp indicating when the event was created."),
|
|
3999
|
+
updatedAt: z36.string().datetime().describe(
|
|
3857
4000
|
"Timestamp of the last update, excluding changes from actions."
|
|
3858
4001
|
),
|
|
3859
|
-
actions:
|
|
3860
|
-
trackingId:
|
|
4002
|
+
actions: z36.array(Action).describe("Ordered list of actions associated with the event."),
|
|
4003
|
+
trackingId: z36.string().describe(
|
|
3861
4004
|
"System-generated tracking identifier used to look up the event."
|
|
3862
4005
|
)
|
|
3863
|
-
}).
|
|
4006
|
+
}).meta({ id: "EventDocument" });
|
|
3864
4007
|
|
|
3865
4008
|
// ../commons/src/events/state/index.ts
|
|
3866
|
-
var
|
|
4009
|
+
var import_lodash4 = require("lodash");
|
|
3867
4010
|
|
|
3868
4011
|
// ../commons/src/events/state/utils.ts
|
|
3869
4012
|
var import_lodash2 = require("lodash");
|
|
@@ -3876,9 +4019,14 @@ var updateActions = ActionTypes.extract([
|
|
|
3876
4019
|
ActionType.REJECT,
|
|
3877
4020
|
ActionType.ARCHIVE,
|
|
3878
4021
|
ActionType.PRINT_CERTIFICATE,
|
|
3879
|
-
ActionType.REQUEST_CORRECTION
|
|
4022
|
+
ActionType.REQUEST_CORRECTION,
|
|
4023
|
+
ActionType.CUSTOM
|
|
3880
4024
|
]);
|
|
3881
4025
|
|
|
4026
|
+
// ../commons/src/events/state/flags.ts
|
|
4027
|
+
var import_lodash3 = require("lodash");
|
|
4028
|
+
var import_date_fns3 = require("date-fns");
|
|
4029
|
+
|
|
3882
4030
|
// ../commons/src/events/defineConfig.ts
|
|
3883
4031
|
var defineConfig = (config) => {
|
|
3884
4032
|
const input = EventConfig.parse(config);
|
|
@@ -3886,7 +4034,7 @@ var defineConfig = (config) => {
|
|
|
3886
4034
|
};
|
|
3887
4035
|
|
|
3888
4036
|
// ../commons/src/events/test.utils.ts
|
|
3889
|
-
var
|
|
4037
|
+
var import_lodash5 = require("lodash");
|
|
3890
4038
|
var import_date_fns4 = require("date-fns");
|
|
3891
4039
|
|
|
3892
4040
|
// ../commons/src/field-config/field-configuration.ts
|
|
@@ -3908,7 +4056,6 @@ function field(fieldId, options = {}) {
|
|
|
3908
4056
|
}
|
|
3909
4057
|
|
|
3910
4058
|
// ../commons/src/fixtures/forms.ts
|
|
3911
|
-
var import_date_fns3 = require("date-fns");
|
|
3912
4059
|
var PRINT_CERTIFICATE_FORM = defineActionForm({
|
|
3913
4060
|
label: {
|
|
3914
4061
|
id: "event.tennis-club-membership.action.certificate.form.label",
|
|
@@ -3919,6 +4066,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
|
|
|
3919
4066
|
{
|
|
3920
4067
|
id: "collector",
|
|
3921
4068
|
type: PageTypes.enum.FORM,
|
|
4069
|
+
requireCompletionToContinue: true,
|
|
3922
4070
|
title: {
|
|
3923
4071
|
id: "event.tennis-club-membership.action.certificate.form.section.who.title",
|
|
3924
4072
|
defaultMessage: "Print certified copy",
|
|
@@ -4526,6 +4674,7 @@ var PRINT_CERTIFICATE_FORM = defineActionForm({
|
|
|
4526
4674
|
{
|
|
4527
4675
|
id: "collector.identity.verify",
|
|
4528
4676
|
type: PageTypes.enum.VERIFICATION,
|
|
4677
|
+
requireCompletionToContinue: true,
|
|
4529
4678
|
conditional: field("collector.requesterId").isEqualTo("INFORMANT"),
|
|
4530
4679
|
title: {
|
|
4531
4680
|
id: "event.tennis-club-membership.action.print.verifyIdentity",
|
|
@@ -4706,7 +4855,7 @@ var TENNIS_CLUB_DECLARATION_FORM = defineDeclarationForm({
|
|
|
4706
4855
|
conditionals: [
|
|
4707
4856
|
{
|
|
4708
4857
|
type: ConditionalType.DISPLAY_ON_REVIEW,
|
|
4709
|
-
conditional:
|
|
4858
|
+
conditional: never2()
|
|
4710
4859
|
}
|
|
4711
4860
|
]
|
|
4712
4861
|
},
|
|
@@ -5089,119 +5238,16 @@ var TENNIS_CLUB_DECLARATION_FORM = defineDeclarationForm({
|
|
|
5089
5238
|
}
|
|
5090
5239
|
}
|
|
5091
5240
|
],
|
|
5092
|
-
conditional: not(
|
|
5241
|
+
conditional: not(never2())
|
|
5093
5242
|
// Intentional always-true page conditional to exercise interactions between page-level and field-level conditionals in tests
|
|
5094
5243
|
}
|
|
5095
5244
|
]
|
|
5096
5245
|
});
|
|
5097
|
-
var statusOptions = [
|
|
5098
|
-
{
|
|
5099
|
-
value: "ALL",
|
|
5100
|
-
label: {
|
|
5101
|
-
defaultMessage: "Any status",
|
|
5102
|
-
description: "Option for form field: status of record",
|
|
5103
|
-
id: "advancedSearch.form.recordStatusAny"
|
|
5104
|
-
}
|
|
5105
|
-
},
|
|
5106
|
-
{
|
|
5107
|
-
value: EventStatus.enum.CREATED,
|
|
5108
|
-
label: {
|
|
5109
|
-
defaultMessage: "Draft",
|
|
5110
|
-
description: "Option for form field: status of record",
|
|
5111
|
-
id: "advancedSearch.form.recordStatusCreated"
|
|
5112
|
-
}
|
|
5113
|
-
},
|
|
5114
|
-
{
|
|
5115
|
-
value: EventStatus.enum.NOTIFIED,
|
|
5116
|
-
label: {
|
|
5117
|
-
defaultMessage: "Notified",
|
|
5118
|
-
description: "Option for form field: status of record",
|
|
5119
|
-
id: "advancedSearch.form.recordStatusNotified"
|
|
5120
|
-
}
|
|
5121
|
-
},
|
|
5122
|
-
{
|
|
5123
|
-
value: EventStatus.enum.DECLARED,
|
|
5124
|
-
label: {
|
|
5125
|
-
defaultMessage: "Declared",
|
|
5126
|
-
description: "Option for form field: status of record",
|
|
5127
|
-
id: "advancedSearch.form.recordStatusDeclared"
|
|
5128
|
-
}
|
|
5129
|
-
},
|
|
5130
|
-
{
|
|
5131
|
-
value: EventStatus.enum.VALIDATED,
|
|
5132
|
-
label: {
|
|
5133
|
-
defaultMessage: "Validated",
|
|
5134
|
-
description: "Option for form field: status of record",
|
|
5135
|
-
id: "advancedSearch.form.recordStatusValidated"
|
|
5136
|
-
}
|
|
5137
|
-
},
|
|
5138
|
-
{
|
|
5139
|
-
value: EventStatus.enum.REGISTERED,
|
|
5140
|
-
label: {
|
|
5141
|
-
defaultMessage: "Registered",
|
|
5142
|
-
description: "Option for form field: status of record",
|
|
5143
|
-
id: "advancedSearch.form.recordStatusRegistered"
|
|
5144
|
-
}
|
|
5145
|
-
},
|
|
5146
|
-
{
|
|
5147
|
-
value: EventStatus.enum.ARCHIVED,
|
|
5148
|
-
label: {
|
|
5149
|
-
defaultMessage: "Archived",
|
|
5150
|
-
description: "Option for form field: status of record",
|
|
5151
|
-
id: "advancedSearch.form.recordStatusArchived"
|
|
5152
|
-
}
|
|
5153
|
-
}
|
|
5154
|
-
];
|
|
5155
|
-
var timePeriodOptions = [
|
|
5156
|
-
{
|
|
5157
|
-
label: {
|
|
5158
|
-
defaultMessage: "Last 7 days",
|
|
5159
|
-
description: "Label for option of time period select: last 7 days",
|
|
5160
|
-
id: "form.section.label.timePeriodLast7Days"
|
|
5161
|
-
},
|
|
5162
|
-
value: `${(0, import_date_fns3.format)((0, import_date_fns3.subDays)(/* @__PURE__ */ new Date(), 7), "yyyy-MM-dd")},${(0, import_date_fns3.format)(
|
|
5163
|
-
/* @__PURE__ */ new Date(),
|
|
5164
|
-
"yyyy-MM-dd"
|
|
5165
|
-
)}`
|
|
5166
|
-
},
|
|
5167
|
-
{
|
|
5168
|
-
label: {
|
|
5169
|
-
defaultMessage: "Last 30 days",
|
|
5170
|
-
description: "Label for option of time period select: last 30 days",
|
|
5171
|
-
id: "form.section.label.timePeriodLast30Days"
|
|
5172
|
-
},
|
|
5173
|
-
value: `${(0, import_date_fns3.format)((0, import_date_fns3.subMonths)(/* @__PURE__ */ new Date(), 1), "yyyy-MM-dd")},${(0, import_date_fns3.format)(
|
|
5174
|
-
/* @__PURE__ */ new Date(),
|
|
5175
|
-
"yyyy-MM-dd"
|
|
5176
|
-
)}`
|
|
5177
|
-
},
|
|
5178
|
-
{
|
|
5179
|
-
label: {
|
|
5180
|
-
defaultMessage: "Last 90 days",
|
|
5181
|
-
description: "Label for option of time period select: last 90 days",
|
|
5182
|
-
id: "form.section.label.timePeriodLast90Days"
|
|
5183
|
-
},
|
|
5184
|
-
value: `${(0, import_date_fns3.format)((0, import_date_fns3.subQuarters)(/* @__PURE__ */ new Date(), 1), "yyyy-MM-dd")},${(0, import_date_fns3.format)(
|
|
5185
|
-
/* @__PURE__ */ new Date(),
|
|
5186
|
-
"yyyy-MM-dd"
|
|
5187
|
-
)}`
|
|
5188
|
-
},
|
|
5189
|
-
{
|
|
5190
|
-
label: {
|
|
5191
|
-
defaultMessage: "Last year",
|
|
5192
|
-
description: "Label for option of time period select: last year",
|
|
5193
|
-
id: "form.section.label.timePeriodLastYear"
|
|
5194
|
-
},
|
|
5195
|
-
value: `${(0, import_date_fns3.format)((0, import_date_fns3.subYears)(/* @__PURE__ */ new Date(), 1), "yyyy-MM-dd")},${(0, import_date_fns3.format)(
|
|
5196
|
-
/* @__PURE__ */ new Date(),
|
|
5197
|
-
"yyyy-MM-dd"
|
|
5198
|
-
)}`
|
|
5199
|
-
}
|
|
5200
|
-
];
|
|
5201
5246
|
|
|
5202
5247
|
// ../commons/src/fixtures/tennis-club-membership-event.ts
|
|
5203
5248
|
var tennisClubMembershipEvent = defineConfig({
|
|
5204
5249
|
id: TENNIS_CLUB_MEMBERSHIP,
|
|
5250
|
+
declaration: TENNIS_CLUB_DECLARATION_FORM,
|
|
5205
5251
|
label: {
|
|
5206
5252
|
defaultMessage: "Tennis club membership application",
|
|
5207
5253
|
description: "This is what this event is referred as in the system",
|
|
@@ -5232,6 +5278,17 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5232
5278
|
}
|
|
5233
5279
|
]
|
|
5234
5280
|
},
|
|
5281
|
+
flags: [
|
|
5282
|
+
{
|
|
5283
|
+
id: "validated",
|
|
5284
|
+
label: {
|
|
5285
|
+
id: "event.tennis-club-membership.flag.validated",
|
|
5286
|
+
defaultMessage: "Validated",
|
|
5287
|
+
description: "Flag label for validated"
|
|
5288
|
+
},
|
|
5289
|
+
requiresAction: true
|
|
5290
|
+
}
|
|
5291
|
+
],
|
|
5235
5292
|
actions: [
|
|
5236
5293
|
{
|
|
5237
5294
|
type: ActionType.READ,
|
|
@@ -5258,7 +5315,19 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5258
5315
|
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5259
5316
|
id: "event.tennis-club-membership.action.validate.label"
|
|
5260
5317
|
},
|
|
5261
|
-
|
|
5318
|
+
flags: [{ id: "validated", operation: "add" }],
|
|
5319
|
+
conditionals: [
|
|
5320
|
+
{ type: ConditionalType.SHOW, conditional: not(flag("validated")) }
|
|
5321
|
+
]
|
|
5322
|
+
},
|
|
5323
|
+
{
|
|
5324
|
+
type: ActionType.REJECT,
|
|
5325
|
+
label: {
|
|
5326
|
+
defaultMessage: "Reject",
|
|
5327
|
+
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5328
|
+
id: "event.tennis-club-membership.action.reject.label"
|
|
5329
|
+
},
|
|
5330
|
+
flags: [{ id: "validated", operation: "remove" }]
|
|
5262
5331
|
},
|
|
5263
5332
|
{
|
|
5264
5333
|
type: ActionType.REGISTER,
|
|
@@ -5266,8 +5335,7 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5266
5335
|
defaultMessage: "Register",
|
|
5267
5336
|
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5268
5337
|
id: "event.tennis-club-membership.action.register.label"
|
|
5269
|
-
}
|
|
5270
|
-
review: TENNIS_CLUB_DECLARATION_REVIEW
|
|
5338
|
+
}
|
|
5271
5339
|
},
|
|
5272
5340
|
{
|
|
5273
5341
|
type: ActionType.REQUEST_CORRECTION,
|
|
@@ -5470,14 +5538,6 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5470
5538
|
]
|
|
5471
5539
|
}
|
|
5472
5540
|
},
|
|
5473
|
-
{
|
|
5474
|
-
type: ActionType.APPROVE_CORRECTION,
|
|
5475
|
-
label: {
|
|
5476
|
-
defaultMessage: "Approve correction",
|
|
5477
|
-
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5478
|
-
id: "event.tennis-club-membership.action.correction.approve.label"
|
|
5479
|
-
}
|
|
5480
|
-
},
|
|
5481
5541
|
{
|
|
5482
5542
|
type: ActionType.PRINT_CERTIFICATE,
|
|
5483
5543
|
label: {
|
|
@@ -5486,22 +5546,6 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5486
5546
|
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5487
5547
|
},
|
|
5488
5548
|
printForm: PRINT_CERTIFICATE_FORM
|
|
5489
|
-
},
|
|
5490
|
-
{
|
|
5491
|
-
type: ActionType.ARCHIVE,
|
|
5492
|
-
label: {
|
|
5493
|
-
id: "event.tennis-club-membership.action.archive.label",
|
|
5494
|
-
defaultMessage: "Archive",
|
|
5495
|
-
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5496
|
-
}
|
|
5497
|
-
},
|
|
5498
|
-
{
|
|
5499
|
-
type: ActionType.REJECT,
|
|
5500
|
-
label: {
|
|
5501
|
-
id: "event.tennis-club-membership.action.reject.label",
|
|
5502
|
-
defaultMessage: "Reject",
|
|
5503
|
-
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5504
|
-
}
|
|
5505
5549
|
}
|
|
5506
5550
|
],
|
|
5507
5551
|
advancedSearch: [
|
|
@@ -5538,8 +5582,7 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5538
5582
|
},
|
|
5539
5583
|
fields: [field("recommender.name").fuzzy()]
|
|
5540
5584
|
}
|
|
5541
|
-
]
|
|
5542
|
-
declaration: TENNIS_CLUB_DECLARATION_FORM
|
|
5585
|
+
]
|
|
5543
5586
|
});
|
|
5544
5587
|
|
|
5545
5588
|
// ../commons/src/fixtures/football-club-membership-event.ts
|
|
@@ -5613,8 +5656,7 @@ var footballClubMembershipEvent = defineConfig({
|
|
|
5613
5656
|
defaultMessage: "Validate",
|
|
5614
5657
|
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5615
5658
|
id: "event.football-club-membership.action.validate.label"
|
|
5616
|
-
}
|
|
5617
|
-
review: TENNIS_CLUB_DECLARATION_REVIEW
|
|
5659
|
+
}
|
|
5618
5660
|
},
|
|
5619
5661
|
{
|
|
5620
5662
|
type: ActionType.REGISTER,
|
|
@@ -5622,8 +5664,7 @@ var footballClubMembershipEvent = defineConfig({
|
|
|
5622
5664
|
defaultMessage: "Register",
|
|
5623
5665
|
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5624
5666
|
id: "event.football-club-membership.action.register.label"
|
|
5625
|
-
}
|
|
5626
|
-
review: TENNIS_CLUB_DECLARATION_REVIEW
|
|
5667
|
+
}
|
|
5627
5668
|
},
|
|
5628
5669
|
{
|
|
5629
5670
|
type: ActionType.REQUEST_CORRECTION,
|
|
@@ -5829,14 +5870,6 @@ var footballClubMembershipEvent = defineConfig({
|
|
|
5829
5870
|
]
|
|
5830
5871
|
}
|
|
5831
5872
|
},
|
|
5832
|
-
{
|
|
5833
|
-
type: ActionType.APPROVE_CORRECTION,
|
|
5834
|
-
label: {
|
|
5835
|
-
defaultMessage: "Approve correction",
|
|
5836
|
-
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5837
|
-
id: "event.football-club-membership.action.correction.approve.label"
|
|
5838
|
-
}
|
|
5839
|
-
},
|
|
5840
5873
|
{
|
|
5841
5874
|
type: ActionType.PRINT_CERTIFICATE,
|
|
5842
5875
|
label: {
|
|
@@ -5845,22 +5878,6 @@ var footballClubMembershipEvent = defineConfig({
|
|
|
5845
5878
|
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5846
5879
|
},
|
|
5847
5880
|
printForm: PRINT_CERTIFICATE_FORM
|
|
5848
|
-
},
|
|
5849
|
-
{
|
|
5850
|
-
type: ActionType.ARCHIVE,
|
|
5851
|
-
label: {
|
|
5852
|
-
id: "event.football-club-membership.action.archive.label",
|
|
5853
|
-
defaultMessage: "Archive",
|
|
5854
|
-
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5855
|
-
}
|
|
5856
|
-
},
|
|
5857
|
-
{
|
|
5858
|
-
type: ActionType.REJECT,
|
|
5859
|
-
label: {
|
|
5860
|
-
id: "event.football-club-membership.action.reject.label",
|
|
5861
|
-
defaultMessage: "Reject",
|
|
5862
|
-
description: "This is shown as the action name anywhere the user can trigger the action from"
|
|
5863
|
-
}
|
|
5864
5881
|
}
|
|
5865
5882
|
],
|
|
5866
5883
|
advancedSearch: [
|
|
@@ -5960,7 +5977,7 @@ var libraryMembershipEvent = defineConfig({
|
|
|
5960
5977
|
declaration: libraryMembershipForm
|
|
5961
5978
|
});
|
|
5962
5979
|
|
|
5963
|
-
// ../commons/src/fixtures/
|
|
5980
|
+
// ../commons/src/fixtures/child-onboarding-event.ts
|
|
5964
5981
|
function generateTranslationConfig(message) {
|
|
5965
5982
|
return {
|
|
5966
5983
|
defaultMessage: message,
|
|
@@ -5989,6 +6006,61 @@ var child = defineFormPage({
|
|
|
5989
6006
|
secured: true,
|
|
5990
6007
|
validation: [],
|
|
5991
6008
|
label: generateTranslationConfig("Date of birth")
|
|
6009
|
+
},
|
|
6010
|
+
{
|
|
6011
|
+
id: "child.placeOfBirth",
|
|
6012
|
+
analytics: true,
|
|
6013
|
+
type: FieldType.SELECT,
|
|
6014
|
+
required: true,
|
|
6015
|
+
secured: true,
|
|
6016
|
+
label: {
|
|
6017
|
+
defaultMessage: "Place of delivery",
|
|
6018
|
+
description: "This is the label for the field",
|
|
6019
|
+
id: "event.birth.action.declare.form.section.child.field.placeOfBirth.label"
|
|
6020
|
+
},
|
|
6021
|
+
options: [
|
|
6022
|
+
{
|
|
6023
|
+
value: "child.placeOfBirth-SELECT-2",
|
|
6024
|
+
label: generateTranslationConfig("Health Institution")
|
|
6025
|
+
},
|
|
6026
|
+
{
|
|
6027
|
+
value: "PRIVATE_HOME",
|
|
6028
|
+
label: generateTranslationConfig("Residential address")
|
|
6029
|
+
}
|
|
6030
|
+
]
|
|
6031
|
+
},
|
|
6032
|
+
{
|
|
6033
|
+
id: "child.birthLocation",
|
|
6034
|
+
analytics: true,
|
|
6035
|
+
type: "FACILITY",
|
|
6036
|
+
required: true,
|
|
6037
|
+
secured: true,
|
|
6038
|
+
label: generateTranslationConfig("Health Institution"),
|
|
6039
|
+
conditionals: [
|
|
6040
|
+
{
|
|
6041
|
+
type: "SHOW",
|
|
6042
|
+
conditional: field("child.placeOfBirth").isEqualTo(
|
|
6043
|
+
"child.placeOfBirth-SELECT-2"
|
|
6044
|
+
)
|
|
6045
|
+
}
|
|
6046
|
+
]
|
|
6047
|
+
},
|
|
6048
|
+
{
|
|
6049
|
+
id: "child.birthLocation.privateHome",
|
|
6050
|
+
analytics: true,
|
|
6051
|
+
type: FieldType.ADDRESS,
|
|
6052
|
+
secured: true,
|
|
6053
|
+
hideLabel: true,
|
|
6054
|
+
label: generateTranslationConfig("Child's address"),
|
|
6055
|
+
conditionals: [
|
|
6056
|
+
{
|
|
6057
|
+
type: "SHOW",
|
|
6058
|
+
conditional: field("child.placeOfBirth").isEqualTo("PRIVATE_HOME")
|
|
6059
|
+
}
|
|
6060
|
+
],
|
|
6061
|
+
configuration: {
|
|
6062
|
+
streetAddressForm: []
|
|
6063
|
+
}
|
|
5992
6064
|
}
|
|
5993
6065
|
]
|
|
5994
6066
|
});
|
|
@@ -6065,7 +6137,7 @@ var mother = defineFormPage({
|
|
|
6065
6137
|
}
|
|
6066
6138
|
]
|
|
6067
6139
|
});
|
|
6068
|
-
var
|
|
6140
|
+
var CHILD_ONBOARDING_DECLARATION_REVIEW = {
|
|
6069
6141
|
title: generateTranslationConfig(
|
|
6070
6142
|
"{child.name.firstname, select, __EMPTY__ {Birth declaration} other {{child.name.surname, select, __EMPTY__ {Birth declaration for {child.name.firstname}} other {Birth declaration for {child.name.firstname} {child.name.surname}}}}}"
|
|
6071
6143
|
),
|
|
@@ -6085,12 +6157,12 @@ var BIRTH_DECLARATION_REVIEW = {
|
|
|
6085
6157
|
}
|
|
6086
6158
|
]
|
|
6087
6159
|
};
|
|
6088
|
-
var
|
|
6160
|
+
var CHILD_ONBOARDING_DECLARATION_FORM = defineDeclarationForm({
|
|
6089
6161
|
label: generateTranslationConfig("Birth decalration form"),
|
|
6090
6162
|
pages: [child, mother]
|
|
6091
6163
|
});
|
|
6092
|
-
var
|
|
6093
|
-
id:
|
|
6164
|
+
var ChildOnboardingEvent = defineConfig({
|
|
6165
|
+
id: CHILD_ONBOARDING_EVENT,
|
|
6094
6166
|
title: generateTranslationConfig(
|
|
6095
6167
|
"{child.name.firstname} {child.name.surname}"
|
|
6096
6168
|
),
|
|
@@ -6098,35 +6170,33 @@ var v2BirthEvent = defineConfig({
|
|
|
6098
6170
|
summary: {
|
|
6099
6171
|
fields: []
|
|
6100
6172
|
},
|
|
6101
|
-
declaration:
|
|
6173
|
+
declaration: CHILD_ONBOARDING_DECLARATION_FORM,
|
|
6102
6174
|
actions: [
|
|
6103
6175
|
{
|
|
6104
6176
|
type: ActionType.READ,
|
|
6105
6177
|
label: generateTranslationConfig("Read"),
|
|
6106
|
-
review:
|
|
6178
|
+
review: CHILD_ONBOARDING_DECLARATION_REVIEW
|
|
6107
6179
|
},
|
|
6108
6180
|
{
|
|
6109
6181
|
type: ActionType.DECLARE,
|
|
6110
6182
|
label: generateTranslationConfig("Declare"),
|
|
6111
|
-
review:
|
|
6183
|
+
review: CHILD_ONBOARDING_DECLARATION_REVIEW
|
|
6112
6184
|
},
|
|
6113
6185
|
{
|
|
6114
6186
|
type: ActionType.VALIDATE,
|
|
6115
|
-
label: generateTranslationConfig("Validate")
|
|
6116
|
-
review: BIRTH_DECLARATION_REVIEW
|
|
6187
|
+
label: generateTranslationConfig("Validate")
|
|
6117
6188
|
},
|
|
6118
6189
|
{
|
|
6119
6190
|
type: ActionType.REGISTER,
|
|
6120
|
-
label: generateTranslationConfig("Register")
|
|
6121
|
-
review: BIRTH_DECLARATION_REVIEW
|
|
6191
|
+
label: generateTranslationConfig("Register")
|
|
6122
6192
|
}
|
|
6123
6193
|
],
|
|
6124
6194
|
advancedSearch: []
|
|
6125
6195
|
});
|
|
6126
6196
|
|
|
6127
6197
|
// ../commons/src/events/test.utils.ts
|
|
6128
|
-
var
|
|
6129
|
-
var TestUserRole =
|
|
6198
|
+
var z37 = __toESM(require("zod/v4"));
|
|
6199
|
+
var TestUserRole = z37.enum([
|
|
6130
6200
|
"FIELD_AGENT",
|
|
6131
6201
|
"LOCAL_REGISTRAR",
|
|
6132
6202
|
"LOCAL_SYSTEM_ADMIN",
|
|
@@ -6137,7 +6207,7 @@ var TestUserRole = import_zod35.z.enum([
|
|
|
6137
6207
|
]);
|
|
6138
6208
|
|
|
6139
6209
|
// ../commons/src/events/scopes.ts
|
|
6140
|
-
var
|
|
6210
|
+
var import_lodash6 = require("lodash");
|
|
6141
6211
|
var ACTION_SCOPE_MAP = {
|
|
6142
6212
|
[ActionType.READ]: ["record.read"],
|
|
6143
6213
|
[ActionType.CREATE]: ["record.create"],
|
|
@@ -6147,6 +6217,7 @@ var ACTION_SCOPE_MAP = {
|
|
|
6147
6217
|
"record.declared.validate",
|
|
6148
6218
|
"record.register"
|
|
6149
6219
|
],
|
|
6220
|
+
[ActionType.EDIT]: ["record.declared.edit"],
|
|
6150
6221
|
[ActionType.DELETE]: ["record.declare"],
|
|
6151
6222
|
[ActionType.VALIDATE]: ["record.declared.validate", "record.register"],
|
|
6152
6223
|
[ActionType.REGISTER]: ["record.register"],
|
|
@@ -6166,7 +6237,8 @@ var ACTION_SCOPE_MAP = {
|
|
|
6166
6237
|
[ActionType.REJECT]: ["record.declared.reject"],
|
|
6167
6238
|
[ActionType.ASSIGN]: null,
|
|
6168
6239
|
[ActionType.UNASSIGN]: null,
|
|
6169
|
-
[ActionType.DUPLICATE_DETECTED]: []
|
|
6240
|
+
[ActionType.DUPLICATE_DETECTED]: [],
|
|
6241
|
+
[ActionType.CUSTOM]: []
|
|
6170
6242
|
};
|
|
6171
6243
|
|
|
6172
6244
|
// ../commons/src/events/state/availableActions.ts
|
|
@@ -6175,28 +6247,26 @@ var AVAILABLE_ACTIONS_BY_EVENT_STATUS = {
|
|
|
6175
6247
|
ActionType.READ,
|
|
6176
6248
|
ActionType.DECLARE,
|
|
6177
6249
|
ActionType.NOTIFY,
|
|
6178
|
-
ActionType.DELETE
|
|
6250
|
+
ActionType.DELETE,
|
|
6251
|
+
ActionType.CUSTOM
|
|
6179
6252
|
],
|
|
6180
6253
|
[EventStatus.enum.NOTIFIED]: [
|
|
6181
6254
|
ActionType.READ,
|
|
6182
6255
|
ActionType.DECLARE,
|
|
6183
6256
|
ActionType.MARK_AS_DUPLICATE,
|
|
6184
6257
|
ActionType.ARCHIVE,
|
|
6185
|
-
ActionType.REJECT
|
|
6258
|
+
ActionType.REJECT,
|
|
6259
|
+
ActionType.CUSTOM
|
|
6186
6260
|
],
|
|
6187
6261
|
[EventStatus.enum.DECLARED]: [
|
|
6188
6262
|
ActionType.READ,
|
|
6189
6263
|
ActionType.VALIDATE,
|
|
6190
|
-
ActionType.MARK_AS_DUPLICATE,
|
|
6191
|
-
ActionType.ARCHIVE,
|
|
6192
|
-
ActionType.REJECT
|
|
6193
|
-
],
|
|
6194
|
-
[EventStatus.enum.VALIDATED]: [
|
|
6195
|
-
ActionType.READ,
|
|
6196
6264
|
ActionType.REGISTER,
|
|
6197
6265
|
ActionType.MARK_AS_DUPLICATE,
|
|
6198
6266
|
ActionType.ARCHIVE,
|
|
6199
|
-
ActionType.REJECT
|
|
6267
|
+
ActionType.REJECT,
|
|
6268
|
+
ActionType.CUSTOM,
|
|
6269
|
+
ActionType.EDIT
|
|
6200
6270
|
],
|
|
6201
6271
|
[EventStatus.enum.REGISTERED]: [
|
|
6202
6272
|
ActionType.READ,
|
|
@@ -6204,47 +6274,50 @@ var AVAILABLE_ACTIONS_BY_EVENT_STATUS = {
|
|
|
6204
6274
|
ActionType.REQUEST_CORRECTION,
|
|
6205
6275
|
ActionType.APPROVE_CORRECTION,
|
|
6206
6276
|
ActionType.REJECT_CORRECTION,
|
|
6277
|
+
ActionType.CUSTOM,
|
|
6207
6278
|
ClientSpecificAction.REVIEW_CORRECTION_REQUEST
|
|
6208
6279
|
],
|
|
6209
6280
|
[EventStatus.enum.ARCHIVED]: [
|
|
6210
6281
|
ActionType.READ,
|
|
6211
6282
|
ActionType.ASSIGN,
|
|
6212
|
-
ActionType.UNASSIGN
|
|
6283
|
+
ActionType.UNASSIGN,
|
|
6284
|
+
ActionType.CUSTOM
|
|
6213
6285
|
]
|
|
6214
6286
|
};
|
|
6215
6287
|
var ACTION_FILTERS = {
|
|
6216
|
-
[ActionType.PRINT_CERTIFICATE]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6217
|
-
[ActionType.REQUEST_CORRECTION]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6218
|
-
[ClientSpecificAction.REVIEW_CORRECTION_REQUEST]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6219
|
-
[ActionType.APPROVE_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6220
|
-
[ActionType.REJECT_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6221
|
-
[ActionType.MARK_AS_DUPLICATE]: (flags) => flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((
|
|
6222
|
-
[ActionType.VALIDATE]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((
|
|
6223
|
-
[ActionType.
|
|
6224
|
-
[ActionType.
|
|
6225
|
-
[ActionType.
|
|
6288
|
+
[ActionType.PRINT_CERTIFICATE]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6289
|
+
[ActionType.REQUEST_CORRECTION]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6290
|
+
[ClientSpecificAction.REVIEW_CORRECTION_REQUEST]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6291
|
+
[ActionType.APPROVE_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6292
|
+
[ActionType.REJECT_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6293
|
+
[ActionType.MARK_AS_DUPLICATE]: (flags) => flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6294
|
+
[ActionType.VALIDATE]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6295
|
+
[ActionType.EDIT]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6296
|
+
[ActionType.REGISTER]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6297
|
+
[ActionType.REJECT]: (flags) => !flags.includes(InherentFlags.REJECTED) && !flags.some((flag2) => flag2.endsWith(":requested")),
|
|
6298
|
+
[ActionType.ARCHIVE]: (flags) => !flags.some((flag2) => flag2.endsWith(":requested"))
|
|
6226
6299
|
};
|
|
6227
6300
|
|
|
6228
6301
|
// ../commons/src/events/FileUtils.ts
|
|
6229
|
-
var
|
|
6302
|
+
var import_lodash7 = require("lodash");
|
|
6230
6303
|
|
|
6231
6304
|
// ../commons/src/events/locations.ts
|
|
6232
|
-
var
|
|
6233
|
-
var LocationType =
|
|
6305
|
+
var z38 = __toESM(require("zod/v4"));
|
|
6306
|
+
var LocationType = z38.enum([
|
|
6234
6307
|
"ADMIN_STRUCTURE",
|
|
6235
6308
|
"CRVS_OFFICE",
|
|
6236
6309
|
"HEALTH_FACILITY"
|
|
6237
6310
|
]);
|
|
6238
|
-
var Location =
|
|
6311
|
+
var Location = z38.object({
|
|
6239
6312
|
id: UUID,
|
|
6240
|
-
name:
|
|
6313
|
+
name: z38.string(),
|
|
6241
6314
|
parentId: UUID.nullable(),
|
|
6242
|
-
validUntil:
|
|
6315
|
+
validUntil: z38.iso.datetime().nullable(),
|
|
6243
6316
|
locationType: LocationType.nullable()
|
|
6244
6317
|
});
|
|
6245
6318
|
|
|
6246
6319
|
// ../commons/src/notification/UserNotifications.ts
|
|
6247
|
-
var
|
|
6320
|
+
var z39 = __toESM(require("zod/v4"));
|
|
6248
6321
|
var TriggerEvent = {
|
|
6249
6322
|
USER_CREATED: "user-created",
|
|
6250
6323
|
USER_UPDATED: "user-updated",
|
|
@@ -6256,50 +6329,50 @@ var TriggerEvent = {
|
|
|
6256
6329
|
CHANGE_PHONE_NUMBER: "change-phone-number",
|
|
6257
6330
|
CHANGE_EMAIL_ADDRESS: "change-email-address"
|
|
6258
6331
|
};
|
|
6259
|
-
var Recipient =
|
|
6332
|
+
var Recipient = z39.object({
|
|
6260
6333
|
name: NameFieldValue.optional(),
|
|
6261
|
-
mobile:
|
|
6262
|
-
email:
|
|
6263
|
-
bcc:
|
|
6334
|
+
mobile: z39.string().optional(),
|
|
6335
|
+
email: z39.string().optional(),
|
|
6336
|
+
bcc: z39.array(z39.string()).optional()
|
|
6264
6337
|
});
|
|
6265
|
-
var BasePayload =
|
|
6338
|
+
var BasePayload = z39.object({
|
|
6266
6339
|
recipient: Recipient
|
|
6267
6340
|
});
|
|
6268
6341
|
var TriggerPayload = {
|
|
6269
6342
|
[TriggerEvent.USER_CREATED]: BasePayload.extend({
|
|
6270
|
-
username:
|
|
6271
|
-
temporaryPassword:
|
|
6343
|
+
username: z39.string(),
|
|
6344
|
+
temporaryPassword: z39.string()
|
|
6272
6345
|
}),
|
|
6273
6346
|
[TriggerEvent.USER_UPDATED]: BasePayload.extend({
|
|
6274
|
-
oldUsername:
|
|
6275
|
-
newUsername:
|
|
6347
|
+
oldUsername: z39.string(),
|
|
6348
|
+
newUsername: z39.string()
|
|
6276
6349
|
}),
|
|
6277
6350
|
[TriggerEvent.USERNAME_REMINDER]: BasePayload.extend({
|
|
6278
|
-
username:
|
|
6351
|
+
username: z39.string()
|
|
6279
6352
|
}),
|
|
6280
6353
|
[TriggerEvent.RESET_PASSWORD]: BasePayload.extend({
|
|
6281
|
-
code:
|
|
6354
|
+
code: z39.string()
|
|
6282
6355
|
}),
|
|
6283
6356
|
[TriggerEvent.RESET_PASSWORD_BY_ADMIN]: BasePayload.extend({
|
|
6284
|
-
temporaryPassword:
|
|
6285
|
-
admin:
|
|
6286
|
-
id:
|
|
6357
|
+
temporaryPassword: z39.string(),
|
|
6358
|
+
admin: z39.object({
|
|
6359
|
+
id: z39.string(),
|
|
6287
6360
|
name: NameFieldValue,
|
|
6288
|
-
role:
|
|
6361
|
+
role: z39.string()
|
|
6289
6362
|
})
|
|
6290
6363
|
}),
|
|
6291
6364
|
[TriggerEvent.TWO_FA]: BasePayload.extend({
|
|
6292
|
-
code:
|
|
6365
|
+
code: z39.string()
|
|
6293
6366
|
}),
|
|
6294
6367
|
[TriggerEvent.ALL_USER_NOTIFICATION]: BasePayload.extend({
|
|
6295
|
-
subject:
|
|
6296
|
-
body:
|
|
6368
|
+
subject: z39.string(),
|
|
6369
|
+
body: z39.string()
|
|
6297
6370
|
}),
|
|
6298
6371
|
[TriggerEvent.CHANGE_PHONE_NUMBER]: BasePayload.extend({
|
|
6299
|
-
code:
|
|
6372
|
+
code: z39.string()
|
|
6300
6373
|
}),
|
|
6301
6374
|
[TriggerEvent.CHANGE_EMAIL_ADDRESS]: BasePayload.extend({
|
|
6302
|
-
code:
|
|
6375
|
+
code: z39.string()
|
|
6303
6376
|
})
|
|
6304
6377
|
};
|
|
6305
6378
|
async function triggerUserEventNotification({
|
|
@@ -6321,3 +6394,6 @@ function parseUserEventTrigger(event2, body) {
|
|
|
6321
6394
|
const schema = TriggerPayload[event2];
|
|
6322
6395
|
return schema.parse(body);
|
|
6323
6396
|
}
|
|
6397
|
+
|
|
6398
|
+
// src/notification/index.ts
|
|
6399
|
+
z40.globalRegistry.clear();
|