@opencrvs/toolkit 1.9.2-rc.ebb7011 → 1.9.2-rc.f0b9560
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 +537 -605
- package/dist/commons/events/ActionConfig.d.ts +52 -336
- package/dist/commons/events/ActionDocument.d.ts +163 -130
- package/dist/commons/events/ActionInput.d.ts +93 -87
- package/dist/commons/events/ActionType.d.ts +7 -7
- package/dist/commons/events/AdvancedSearchConfig.d.ts +8 -7
- package/dist/commons/events/CompositeFieldValue.d.ts +0 -2
- package/dist/commons/events/CountryConfigQueryInput.d.ts +12 -0
- package/dist/commons/events/Draft.d.ts +6 -6
- package/dist/commons/events/EventConfig.d.ts +44 -191
- package/dist/commons/events/EventDocument.d.ts +59 -56
- package/dist/commons/events/EventIndex.d.ts +7 -1
- package/dist/commons/events/EventMetadata.d.ts +4 -1
- package/dist/commons/events/FieldConfig.d.ts +14 -22
- package/dist/commons/events/FieldType.d.ts +3 -3
- package/dist/commons/events/FieldTypeMapping.d.ts +8 -8
- package/dist/commons/events/FieldValue.d.ts +6 -5
- package/dist/commons/events/Flag.d.ts +21 -0
- package/dist/commons/events/FormConfig.d.ts +18 -42
- package/dist/commons/events/PageConfig.d.ts +12 -28
- package/dist/commons/events/WorkqueueColumnConfig.d.ts +5 -2
- package/dist/commons/events/WorkqueueConfig.d.ts +26 -11
- package/dist/commons/events/defineConfig.d.ts +101 -200
- package/dist/commons/events/scopes.d.ts +4 -4
- package/dist/commons/events/state/index.d.ts +7 -1
- package/dist/commons/events/state/utils.d.ts +49 -46
- package/dist/commons/events/test.utils.d.ts +14 -11
- package/dist/commons/events/utils.d.ts +441 -495
- package/dist/events/index.js +206 -152
- package/dist/notification/index.js +82 -112
- package/dist/scopes/index.d.ts +46 -7
- package/dist/scopes/index.js +11 -1
- package/package.json +1 -1
|
@@ -77,8 +77,8 @@ var ActionType = {
|
|
|
77
77
|
NOTIFY: "NOTIFY",
|
|
78
78
|
// Declaration actions
|
|
79
79
|
DECLARE: "DECLARE",
|
|
80
|
-
VALIDATE: "VALIDATE",
|
|
81
80
|
REGISTER: "REGISTER",
|
|
81
|
+
EDIT: "EDIT",
|
|
82
82
|
// Declaration system actions. Non-configurable.
|
|
83
83
|
DUPLICATE_DETECTED: "DUPLICATE_DETECTED",
|
|
84
84
|
REJECT: "REJECT",
|
|
@@ -101,7 +101,7 @@ var ActionType = {
|
|
|
101
101
|
var ConfirmableActions = [
|
|
102
102
|
ActionType.NOTIFY,
|
|
103
103
|
ActionType.DECLARE,
|
|
104
|
-
ActionType.
|
|
104
|
+
ActionType.EDIT,
|
|
105
105
|
ActionType.REGISTER,
|
|
106
106
|
ActionType.REJECT,
|
|
107
107
|
ActionType.ARCHIVE,
|
|
@@ -116,7 +116,7 @@ var ActionTypes = z2.enum([
|
|
|
116
116
|
"CREATE",
|
|
117
117
|
"NOTIFY",
|
|
118
118
|
"DECLARE",
|
|
119
|
-
"
|
|
119
|
+
"EDIT",
|
|
120
120
|
"REGISTER",
|
|
121
121
|
"DUPLICATE_DETECTED",
|
|
122
122
|
"REJECT",
|
|
@@ -137,7 +137,7 @@ var ClientSpecificAction = {
|
|
|
137
137
|
};
|
|
138
138
|
var declarationActionValues = [
|
|
139
139
|
ActionTypes.enum.DECLARE,
|
|
140
|
-
ActionTypes.enum.
|
|
140
|
+
ActionTypes.enum.EDIT,
|
|
141
141
|
ActionTypes.enum.REGISTER,
|
|
142
142
|
ActionTypes.enum.NOTIFY,
|
|
143
143
|
ActionTypes.enum.DUPLICATE_DETECTED
|
|
@@ -267,7 +267,7 @@ var FieldType = {
|
|
|
267
267
|
QR_READER: "QR_READER",
|
|
268
268
|
ID_READER: "ID_READER",
|
|
269
269
|
LOADER: "LOADER",
|
|
270
|
-
|
|
270
|
+
ALPHA_HIDDEN: "ALPHA_HIDDEN"
|
|
271
271
|
};
|
|
272
272
|
var FileFieldType = z4.enum([
|
|
273
273
|
FieldType.FILE,
|
|
@@ -292,7 +292,8 @@ var FieldTypesToHideInReview = [
|
|
|
292
292
|
FieldType.LOADER,
|
|
293
293
|
FieldType.HTTP,
|
|
294
294
|
FieldType.QUERY_PARAM_READER,
|
|
295
|
-
FieldType.DATA
|
|
295
|
+
FieldType.DATA,
|
|
296
|
+
FieldType.ALPHA_HIDDEN
|
|
296
297
|
];
|
|
297
298
|
|
|
298
299
|
// ../commons/src/events/FieldValue.ts
|
|
@@ -394,10 +395,10 @@ var ReadDataValue = z6.object({
|
|
|
394
395
|
});
|
|
395
396
|
var QrReaderFieldValue = ReadDataValue;
|
|
396
397
|
var IdReaderFieldValue = ReadDataValue;
|
|
397
|
-
var CustomFieldValue = z6.unknown();
|
|
398
398
|
|
|
399
399
|
// ../commons/src/events/FieldValue.ts
|
|
400
400
|
var TextValue = z7.string();
|
|
401
|
+
var HiddenFieldValue = z7.string();
|
|
401
402
|
var NonEmptyTextValue = TextValue.min(1);
|
|
402
403
|
var DateValue = z7.iso.date().describe("Date in the format YYYY-MM-DD");
|
|
403
404
|
var AgeValue = z7.object({
|
|
@@ -449,8 +450,7 @@ var FieldValuesWithoutDataField = z7.union([
|
|
|
449
450
|
VerificationStatusValue,
|
|
450
451
|
QueryParamReaderFieldValue,
|
|
451
452
|
QrReaderFieldValue,
|
|
452
|
-
IdReaderFieldValue
|
|
453
|
-
CustomFieldValue
|
|
453
|
+
IdReaderFieldValue
|
|
454
454
|
]);
|
|
455
455
|
var DataFieldValue = z7.object({
|
|
456
456
|
data: z7.record(z7.string(), FieldValuesWithoutDataField)
|
|
@@ -525,7 +525,7 @@ var FieldUpdateValue = safeUnion([
|
|
|
525
525
|
NameFieldUpdateValue.describe("NameFieldUpdateValue"),
|
|
526
526
|
HttpFieldUpdateValue.describe("HttpFieldUpdateValue"),
|
|
527
527
|
QueryParamReaderFieldUpdateValue.describe("QueryParamReaderFieldUpdateValue"),
|
|
528
|
-
|
|
528
|
+
HiddenFieldValue.describe("HiddenFieldValue")
|
|
529
529
|
]);
|
|
530
530
|
|
|
531
531
|
// ../commons/src/uuid.ts
|
|
@@ -786,7 +786,7 @@ var RecordScopeType = z10.enum([
|
|
|
786
786
|
"record.read",
|
|
787
787
|
"record.declare",
|
|
788
788
|
"record.notify",
|
|
789
|
-
"record.declared.
|
|
789
|
+
"record.declared.edit",
|
|
790
790
|
"record.declared.reject",
|
|
791
791
|
"record.declared.archive",
|
|
792
792
|
"record.declared.review-duplicates",
|
|
@@ -1032,11 +1032,6 @@ var DeclareAction = ActionBase.extend(
|
|
|
1032
1032
|
type: z12.literal(ActionType.DECLARE)
|
|
1033
1033
|
}).shape
|
|
1034
1034
|
);
|
|
1035
|
-
var ValidateAction = ActionBase.extend(
|
|
1036
|
-
z12.object({
|
|
1037
|
-
type: z12.literal(ActionType.VALIDATE)
|
|
1038
|
-
}).shape
|
|
1039
|
-
);
|
|
1040
1035
|
var ReasonContent = z12.object({
|
|
1041
1036
|
reason: z12.string().min(1, { error: "Message cannot be empty" }).describe(
|
|
1042
1037
|
"Message describing the reason for rejecting or archiving the event."
|
|
@@ -1089,6 +1084,14 @@ var NotifiedAction = ActionBase.extend(
|
|
|
1089
1084
|
type: z12.literal(ActionType.NOTIFY)
|
|
1090
1085
|
}).shape
|
|
1091
1086
|
);
|
|
1087
|
+
var EditAction = ActionBase.extend(
|
|
1088
|
+
z12.object({
|
|
1089
|
+
type: z12.literal(ActionType.EDIT),
|
|
1090
|
+
content: z12.object({
|
|
1091
|
+
comment: z12.string().describe("Comment for the edit action.").optional()
|
|
1092
|
+
})
|
|
1093
|
+
}).shape
|
|
1094
|
+
);
|
|
1092
1095
|
var PrintContent = z12.object({
|
|
1093
1096
|
templateId: z12.string().optional()
|
|
1094
1097
|
});
|
|
@@ -1131,7 +1134,6 @@ var CustomAction = ActionBase.merge(
|
|
|
1131
1134
|
);
|
|
1132
1135
|
var ActionDocument = z12.discriminatedUnion("type", [
|
|
1133
1136
|
CreatedAction.meta({ id: "CreatedAction" }),
|
|
1134
|
-
ValidateAction.meta({ id: "ValidateAction" }),
|
|
1135
1137
|
RejectAction.meta({ id: "RejectAction" }),
|
|
1136
1138
|
DuplicateDetectedAction.meta({ id: "DuplicateDetectedAction" }),
|
|
1137
1139
|
MarkNotDuplicateAction.meta({ id: "MarkNotDuplicateAction" }),
|
|
@@ -1147,6 +1149,7 @@ var ActionDocument = z12.discriminatedUnion("type", [
|
|
|
1147
1149
|
UnassignedAction.meta({ id: "UnassignedAction" }),
|
|
1148
1150
|
PrintCertificateAction.meta({ id: "PrintCertificateAction" }),
|
|
1149
1151
|
ReadAction.meta({ id: "ReadAction" }),
|
|
1152
|
+
EditAction.meta({ id: "EditAction" }),
|
|
1150
1153
|
CustomAction.meta({ id: "CustomAction" })
|
|
1151
1154
|
]).meta({
|
|
1152
1155
|
id: "ActionDocument"
|
|
@@ -1169,7 +1172,14 @@ var InherentFlags = {
|
|
|
1169
1172
|
INCOMPLETE: "incomplete",
|
|
1170
1173
|
REJECTED: "rejected",
|
|
1171
1174
|
CORRECTION_REQUESTED: "correction-requested",
|
|
1172
|
-
POTENTIAL_DUPLICATE: "potential-duplicate"
|
|
1175
|
+
POTENTIAL_DUPLICATE: "potential-duplicate",
|
|
1176
|
+
/**
|
|
1177
|
+
* This flag is set by the Edit-action and removed after the declaration or registration.
|
|
1178
|
+
* A record should never stay with the EDIT_IN_PROGRESS flag, since it should always be declared or registered right after.
|
|
1179
|
+
*
|
|
1180
|
+
* We only use this flag to determine that a NOTIFY, DECLARE or REGISTER action is allowed next.
|
|
1181
|
+
*/
|
|
1182
|
+
EDIT_IN_PROGRESS: "edit-in-progress"
|
|
1173
1183
|
};
|
|
1174
1184
|
var ActionFlag = z13.string().regex(
|
|
1175
1185
|
new RegExp(
|
|
@@ -1240,6 +1250,7 @@ var EventMetadata = z14.object({
|
|
|
1240
1250
|
),
|
|
1241
1251
|
createdAt: z14.iso.datetime().describe("The timestamp when the event was first created and saved."),
|
|
1242
1252
|
dateOfEvent: ZodDate.nullish(),
|
|
1253
|
+
placeOfEvent: CreatedAtLocation,
|
|
1243
1254
|
createdBy: z14.string().describe("ID of the user who created the event."),
|
|
1244
1255
|
createdByUserType: z14.enum(["user", "system"]).nullish().describe("Whether the user is a normal user or a system."),
|
|
1245
1256
|
updatedByUserRole: z14.string().describe("Role of the user who last changed the status."),
|
|
@@ -1269,6 +1280,7 @@ var EventMetadataKeysArray = [
|
|
|
1269
1280
|
"status",
|
|
1270
1281
|
"createdAt",
|
|
1271
1282
|
"dateOfEvent",
|
|
1283
|
+
"placeOfEvent",
|
|
1272
1284
|
"createdBy",
|
|
1273
1285
|
"createdByUserType",
|
|
1274
1286
|
"updatedByUserRole",
|
|
@@ -1954,12 +1966,6 @@ var IdReaderField = BaseField.extend({
|
|
|
1954
1966
|
z16.union([QrReaderField, LinkButtonField]).describe("Methods for reading an ID")
|
|
1955
1967
|
)
|
|
1956
1968
|
});
|
|
1957
|
-
var CustomField = BaseField.extend({
|
|
1958
|
-
type: z16.literal(FieldType.CUSTOM),
|
|
1959
|
-
defaultValue: CustomFieldValue.optional(),
|
|
1960
|
-
src: z16.string().describe("Module source path for the custom field component"),
|
|
1961
|
-
configuration: z16.unknown().optional()
|
|
1962
|
-
});
|
|
1963
1969
|
var LoaderField = BaseField.extend({
|
|
1964
1970
|
type: z16.literal(FieldType.LOADER),
|
|
1965
1971
|
configuration: z16.object({
|
|
@@ -1968,6 +1974,13 @@ var LoaderField = BaseField.extend({
|
|
|
1968
1974
|
}).describe(
|
|
1969
1975
|
"A non-interactive field that indicates an in progress operation in form"
|
|
1970
1976
|
);
|
|
1977
|
+
var HiddenField = BaseField.extend({
|
|
1978
|
+
type: z16.literal(FieldType.ALPHA_HIDDEN),
|
|
1979
|
+
required: z16.boolean().default(false).optional(),
|
|
1980
|
+
defaultValue: TextValue.optional()
|
|
1981
|
+
}).describe(
|
|
1982
|
+
"A non-interactive, hidden field that only hold a value in the form"
|
|
1983
|
+
);
|
|
1971
1984
|
var FieldConfig = z16.discriminatedUnion("type", [
|
|
1972
1985
|
Address,
|
|
1973
1986
|
TextField,
|
|
@@ -2008,7 +2021,7 @@ var FieldConfig = z16.discriminatedUnion("type", [
|
|
|
2008
2021
|
QueryParamReaderField,
|
|
2009
2022
|
LoaderField,
|
|
2010
2023
|
SearchField,
|
|
2011
|
-
|
|
2024
|
+
HiddenField
|
|
2012
2025
|
]).meta({
|
|
2013
2026
|
description: "Form field configuration",
|
|
2014
2027
|
id: "FieldConfig"
|
|
@@ -2247,6 +2260,7 @@ var AvailableIcons = z20.enum([
|
|
|
2247
2260
|
"Users",
|
|
2248
2261
|
"WarningCircle",
|
|
2249
2262
|
"X",
|
|
2263
|
+
"ChatText",
|
|
2250
2264
|
"CircleWavyCheck",
|
|
2251
2265
|
"CircleWavyQuestion",
|
|
2252
2266
|
"ArchiveBox",
|
|
@@ -2312,11 +2326,6 @@ var RejectConfig = ActionConfigBase.extend(
|
|
|
2312
2326
|
type: z21.literal(ActionType.REJECT)
|
|
2313
2327
|
}).shape
|
|
2314
2328
|
);
|
|
2315
|
-
var ValidateConfig = DeclarationActionBase.extend(
|
|
2316
|
-
z21.object({
|
|
2317
|
-
type: z21.literal(ActionType.VALIDATE)
|
|
2318
|
-
}).shape
|
|
2319
|
-
);
|
|
2320
2329
|
var RegisterConfig = DeclarationActionBase.extend(
|
|
2321
2330
|
z21.object({
|
|
2322
2331
|
type: z21.literal(ActionType.REGISTER)
|
|
@@ -2352,7 +2361,6 @@ var ActionConfig = z21.discriminatedUnion("type", [
|
|
|
2352
2361
|
ReadActionConfig.meta({ id: "ReadActionConfig" }),
|
|
2353
2362
|
DeclareConfig.meta({ id: "DeclareActionConfig" }),
|
|
2354
2363
|
RejectConfig.meta({ id: "RejectActionConfig" }),
|
|
2355
|
-
ValidateConfig.meta({ id: "ValidateActionConfig" }),
|
|
2356
2364
|
RegisterConfig.meta({ id: "RegisterActionConfig" }),
|
|
2357
2365
|
PrintCertificateActionConfig.meta({
|
|
2358
2366
|
id: "PrintCertificateActionConfig"
|
|
@@ -2367,7 +2375,6 @@ var actionConfigTypes = new Set(
|
|
|
2367
2375
|
);
|
|
2368
2376
|
var DeclarationActionConfig = z21.discriminatedUnion("type", [
|
|
2369
2377
|
DeclareConfig,
|
|
2370
|
-
ValidateConfig,
|
|
2371
2378
|
RegisterConfig
|
|
2372
2379
|
]);
|
|
2373
2380
|
|
|
@@ -2688,6 +2695,9 @@ var EventConfig = z29.object({
|
|
|
2688
2695
|
dateOfEvent: FieldReference.optional().describe(
|
|
2689
2696
|
"Reference to the field capturing the date of the event (e.g. date of birth). Defaults to the event creation date if unspecified."
|
|
2690
2697
|
),
|
|
2698
|
+
placeOfEvent: FieldReference.optional().describe(
|
|
2699
|
+
"Reference to the field capturing the place of the event (e.g. place of birth). Defaults to the meta.createdAtLocation if unspecified."
|
|
2700
|
+
),
|
|
2691
2701
|
title: TranslationConfig.describe(
|
|
2692
2702
|
'Title template for the singular event, supporting variables (e.g. "{applicant.name.firstname} {applicant.name.surname}").'
|
|
2693
2703
|
),
|
|
@@ -2762,10 +2772,23 @@ var EventConfig = z29.object({
|
|
|
2762
2772
|
});
|
|
2763
2773
|
}
|
|
2764
2774
|
}
|
|
2775
|
+
if (event2.placeOfEvent) {
|
|
2776
|
+
const eventPlaceFieldId = getDeclarationFields(event2).find(
|
|
2777
|
+
({ id }) => id === event2.placeOfEvent?.$$field
|
|
2778
|
+
);
|
|
2779
|
+
if (!eventPlaceFieldId) {
|
|
2780
|
+
ctx.addIssue({
|
|
2781
|
+
code: "custom",
|
|
2782
|
+
message: `Place of event field id must match a field id in the event.declaration fields.
|
|
2783
|
+
Invalid place of event field ID for event ${event2.id}: ${event2.placeOfEvent.$$field}`,
|
|
2784
|
+
path: ["placeOfEvent"]
|
|
2785
|
+
});
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2765
2788
|
const isInherentFlag = (value) => Object.values(InherentFlags).includes(value);
|
|
2766
|
-
const configuredFlagIds = event2.flags.map((
|
|
2789
|
+
const configuredFlagIds = event2.flags.map((flag) => flag.id);
|
|
2767
2790
|
const actionFlagIds = event2.actions.flatMap(
|
|
2768
|
-
(action) => action.flags.map((
|
|
2791
|
+
(action) => action.flags.map((flag) => flag.id)
|
|
2769
2792
|
);
|
|
2770
2793
|
for (const actionFlagId of actionFlagIds) {
|
|
2771
2794
|
const isConfigured = configuredFlagIds.includes(actionFlagId);
|
|
@@ -2968,21 +2991,6 @@ function defineComparison(field3, value, keyword) {
|
|
|
2968
2991
|
required: [field3.$$field]
|
|
2969
2992
|
});
|
|
2970
2993
|
}
|
|
2971
|
-
function flag(flagvalue) {
|
|
2972
|
-
return defineConditional({
|
|
2973
|
-
type: "object",
|
|
2974
|
-
properties: {
|
|
2975
|
-
$flags: {
|
|
2976
|
-
type: "array",
|
|
2977
|
-
contains: {
|
|
2978
|
-
type: "string",
|
|
2979
|
-
const: flagvalue
|
|
2980
|
-
}
|
|
2981
|
-
}
|
|
2982
|
-
},
|
|
2983
|
-
required: ["$flags"]
|
|
2984
|
-
});
|
|
2985
|
-
}
|
|
2986
2994
|
function createFieldConditionals(fieldId) {
|
|
2987
2995
|
const getDayRange = (field3, days, clause) => ({
|
|
2988
2996
|
type: "object",
|
|
@@ -3674,11 +3682,6 @@ var RegisterActionInput = BaseActionInput.extend(
|
|
|
3674
3682
|
registrationNumber: z33.string().optional()
|
|
3675
3683
|
}).shape
|
|
3676
3684
|
);
|
|
3677
|
-
var ValidateActionInput = BaseActionInput.extend(
|
|
3678
|
-
z33.object({
|
|
3679
|
-
type: z33.literal(ActionType.VALIDATE).default(ActionType.VALIDATE)
|
|
3680
|
-
}).shape
|
|
3681
|
-
);
|
|
3682
3685
|
var NotifyActionInput = BaseActionInput.extend(
|
|
3683
3686
|
z33.object({
|
|
3684
3687
|
type: z33.literal(ActionType.NOTIFY).default(ActionType.NOTIFY)
|
|
@@ -3697,6 +3700,14 @@ var DeclareActionInput = BaseActionInput.extend(
|
|
|
3697
3700
|
type: z33.literal(ActionType.DECLARE).default(ActionType.DECLARE)
|
|
3698
3701
|
}).shape
|
|
3699
3702
|
);
|
|
3703
|
+
var EditActionInput = BaseActionInput.extend(
|
|
3704
|
+
z33.object({
|
|
3705
|
+
type: z33.literal(ActionType.EDIT).default(ActionType.EDIT),
|
|
3706
|
+
content: z33.object({
|
|
3707
|
+
comment: z33.string().describe("Comment for the edit action.").optional()
|
|
3708
|
+
})
|
|
3709
|
+
}).shape
|
|
3710
|
+
);
|
|
3700
3711
|
var PrintCertificateActionInput = BaseActionInput.extend(
|
|
3701
3712
|
z33.object({
|
|
3702
3713
|
type: z33.literal(ActionType.PRINT_CERTIFICATE).default(ActionType.PRINT_CERTIFICATE),
|
|
@@ -3780,7 +3791,6 @@ var CustomActionInput = BaseActionInput.extend(
|
|
|
3780
3791
|
);
|
|
3781
3792
|
var ActionInput = z33.discriminatedUnion("type", [
|
|
3782
3793
|
CreateActionInput.meta({ id: "CreateActionInput" }),
|
|
3783
|
-
ValidateActionInput.meta({ id: "ValidateActionInput" }),
|
|
3784
3794
|
RegisterActionInput.meta({ id: "RegisterActionInput" }),
|
|
3785
3795
|
NotifyActionInput.meta({ id: "NotifyActionInput" }),
|
|
3786
3796
|
DeclareActionInput.meta({ id: "DeclareActionInput" }),
|
|
@@ -3808,7 +3818,8 @@ var ActionInput = z33.discriminatedUnion("type", [
|
|
|
3808
3818
|
id: "ApproveCorrectionActionInput"
|
|
3809
3819
|
}),
|
|
3810
3820
|
ReadActionInput.meta({ id: "ReadActionInput" }),
|
|
3811
|
-
CustomActionInput.meta({ id: "CustomActionInput" })
|
|
3821
|
+
CustomActionInput.meta({ id: "CustomActionInput" }),
|
|
3822
|
+
EditActionInput.meta({ id: "EditActionInput" })
|
|
3812
3823
|
]).meta({
|
|
3813
3824
|
id: "ActionInput"
|
|
3814
3825
|
});
|
|
@@ -3866,7 +3877,6 @@ var updateActions = ActionTypes.extract([
|
|
|
3866
3877
|
ActionType.CREATE,
|
|
3867
3878
|
ActionType.NOTIFY,
|
|
3868
3879
|
ActionType.DECLARE,
|
|
3869
|
-
ActionType.VALIDATE,
|
|
3870
3880
|
ActionType.REGISTER,
|
|
3871
3881
|
ActionType.REJECT,
|
|
3872
3882
|
ActionType.ARCHIVE,
|
|
@@ -5128,17 +5138,6 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5128
5138
|
}
|
|
5129
5139
|
]
|
|
5130
5140
|
},
|
|
5131
|
-
flags: [
|
|
5132
|
-
{
|
|
5133
|
-
id: "validated",
|
|
5134
|
-
label: {
|
|
5135
|
-
id: "event.tennis-club-membership.flag.validated",
|
|
5136
|
-
defaultMessage: "Validated",
|
|
5137
|
-
description: "Flag label for validated"
|
|
5138
|
-
},
|
|
5139
|
-
requiresAction: true
|
|
5140
|
-
}
|
|
5141
|
-
],
|
|
5142
5141
|
actions: [
|
|
5143
5142
|
{
|
|
5144
5143
|
type: ActionType.READ,
|
|
@@ -5158,26 +5157,13 @@ var tennisClubMembershipEvent = defineConfig({
|
|
|
5158
5157
|
},
|
|
5159
5158
|
review: TENNIS_CLUB_DECLARATION_REVIEW
|
|
5160
5159
|
},
|
|
5161
|
-
{
|
|
5162
|
-
type: ActionType.VALIDATE,
|
|
5163
|
-
label: {
|
|
5164
|
-
defaultMessage: "Validate",
|
|
5165
|
-
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5166
|
-
id: "event.tennis-club-membership.action.validate.label"
|
|
5167
|
-
},
|
|
5168
|
-
flags: [{ id: "validated", operation: "add" }],
|
|
5169
|
-
conditionals: [
|
|
5170
|
-
{ type: ConditionalType.SHOW, conditional: not(flag("validated")) }
|
|
5171
|
-
]
|
|
5172
|
-
},
|
|
5173
5160
|
{
|
|
5174
5161
|
type: ActionType.REJECT,
|
|
5175
5162
|
label: {
|
|
5176
5163
|
defaultMessage: "Reject",
|
|
5177
5164
|
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5178
5165
|
id: "event.tennis-club-membership.action.reject.label"
|
|
5179
|
-
}
|
|
5180
|
-
flags: [{ id: "validated", operation: "remove" }]
|
|
5166
|
+
}
|
|
5181
5167
|
},
|
|
5182
5168
|
{
|
|
5183
5169
|
type: ActionType.REGISTER,
|
|
@@ -5500,14 +5486,6 @@ var footballClubMembershipEvent = defineConfig({
|
|
|
5500
5486
|
},
|
|
5501
5487
|
review: TENNIS_CLUB_DECLARATION_REVIEW
|
|
5502
5488
|
},
|
|
5503
|
-
{
|
|
5504
|
-
type: ActionType.VALIDATE,
|
|
5505
|
-
label: {
|
|
5506
|
-
defaultMessage: "Validate",
|
|
5507
|
-
description: "This is shown as the action name anywhere the user can trigger the action from",
|
|
5508
|
-
id: "event.football-club-membership.action.validate.label"
|
|
5509
|
-
}
|
|
5510
|
-
},
|
|
5511
5489
|
{
|
|
5512
5490
|
type: ActionType.REGISTER,
|
|
5513
5491
|
label: {
|
|
@@ -6032,10 +6010,6 @@ var ChildOnboardingEvent = defineConfig({
|
|
|
6032
6010
|
label: generateTranslationConfig("Declare"),
|
|
6033
6011
|
review: CHILD_ONBOARDING_DECLARATION_REVIEW
|
|
6034
6012
|
},
|
|
6035
|
-
{
|
|
6036
|
-
type: ActionType.VALIDATE,
|
|
6037
|
-
label: generateTranslationConfig("Validate")
|
|
6038
|
-
},
|
|
6039
6013
|
{
|
|
6040
6014
|
type: ActionType.REGISTER,
|
|
6041
6015
|
label: generateTranslationConfig("Register")
|
|
@@ -6062,13 +6036,9 @@ var ACTION_SCOPE_MAP = {
|
|
|
6062
6036
|
[ActionType.READ]: ["record.read"],
|
|
6063
6037
|
[ActionType.CREATE]: ["record.create"],
|
|
6064
6038
|
[ActionType.NOTIFY]: ["record.notify"],
|
|
6065
|
-
[ActionType.DECLARE]: [
|
|
6066
|
-
|
|
6067
|
-
"record.declared.validate",
|
|
6068
|
-
"record.register"
|
|
6069
|
-
],
|
|
6039
|
+
[ActionType.DECLARE]: ["record.declare", "record.register"],
|
|
6040
|
+
[ActionType.EDIT]: ["record.declared.edit"],
|
|
6070
6041
|
[ActionType.DELETE]: ["record.declare"],
|
|
6071
|
-
[ActionType.VALIDATE]: ["record.declared.validate", "record.register"],
|
|
6072
6042
|
[ActionType.REGISTER]: ["record.register"],
|
|
6073
6043
|
[ActionType.PRINT_CERTIFICATE]: ["record.registered.print-certified-copies"],
|
|
6074
6044
|
[ActionType.REQUEST_CORRECTION]: [
|
|
@@ -6109,12 +6079,12 @@ var AVAILABLE_ACTIONS_BY_EVENT_STATUS = {
|
|
|
6109
6079
|
],
|
|
6110
6080
|
[EventStatus.enum.DECLARED]: [
|
|
6111
6081
|
ActionType.READ,
|
|
6112
|
-
ActionType.VALIDATE,
|
|
6113
6082
|
ActionType.REGISTER,
|
|
6114
6083
|
ActionType.MARK_AS_DUPLICATE,
|
|
6115
6084
|
ActionType.ARCHIVE,
|
|
6116
6085
|
ActionType.REJECT,
|
|
6117
|
-
ActionType.CUSTOM
|
|
6086
|
+
ActionType.CUSTOM,
|
|
6087
|
+
ActionType.EDIT
|
|
6118
6088
|
],
|
|
6119
6089
|
[EventStatus.enum.REGISTERED]: [
|
|
6120
6090
|
ActionType.READ,
|
|
@@ -6133,16 +6103,16 @@ var AVAILABLE_ACTIONS_BY_EVENT_STATUS = {
|
|
|
6133
6103
|
]
|
|
6134
6104
|
};
|
|
6135
6105
|
var ACTION_FILTERS = {
|
|
6136
|
-
[ActionType.PRINT_CERTIFICATE]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6137
|
-
[ActionType.REQUEST_CORRECTION]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6138
|
-
[ClientSpecificAction.REVIEW_CORRECTION_REQUEST]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6139
|
-
[ActionType.APPROVE_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6140
|
-
[ActionType.REJECT_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((
|
|
6141
|
-
[ActionType.MARK_AS_DUPLICATE]: (flags) => flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((
|
|
6142
|
-
[ActionType.
|
|
6143
|
-
[ActionType.REGISTER]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((
|
|
6144
|
-
[ActionType.REJECT]: (flags) => !flags.includes(InherentFlags.REJECTED) && !flags.some((
|
|
6145
|
-
[ActionType.ARCHIVE]: (flags) => !flags.some((
|
|
6106
|
+
[ActionType.PRINT_CERTIFICATE]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6107
|
+
[ActionType.REQUEST_CORRECTION]: (flags) => !flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6108
|
+
[ClientSpecificAction.REVIEW_CORRECTION_REQUEST]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6109
|
+
[ActionType.APPROVE_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6110
|
+
[ActionType.REJECT_CORRECTION]: (flags) => flags.includes(InherentFlags.CORRECTION_REQUESTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6111
|
+
[ActionType.MARK_AS_DUPLICATE]: (flags) => flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6112
|
+
[ActionType.EDIT]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6113
|
+
[ActionType.REGISTER]: (flags) => !flags.includes(InherentFlags.POTENTIAL_DUPLICATE) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6114
|
+
[ActionType.REJECT]: (flags) => !flags.includes(InherentFlags.REJECTED) && !flags.some((flag) => flag.endsWith(":requested")),
|
|
6115
|
+
[ActionType.ARCHIVE]: (flags) => !flags.some((flag) => flag.endsWith(":requested"))
|
|
6146
6116
|
};
|
|
6147
6117
|
|
|
6148
6118
|
// ../commons/src/events/FileUtils.ts
|
package/dist/scopes/index.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ export declare const RecordScopeType: z.ZodEnum<{
|
|
|
82
82
|
"record.create": "record.create";
|
|
83
83
|
"record.declare": "record.declare";
|
|
84
84
|
"record.notify": "record.notify";
|
|
85
|
-
"record.declared.
|
|
85
|
+
"record.declared.edit": "record.declared.edit";
|
|
86
86
|
"record.declared.reject": "record.declared.reject";
|
|
87
87
|
"record.declared.archive": "record.declared.archive";
|
|
88
88
|
"record.declared.review-duplicates": "record.declared.review-duplicates";
|
|
@@ -99,7 +99,7 @@ export declare const RecordScope: z.ZodObject<{
|
|
|
99
99
|
"record.create": "record.create";
|
|
100
100
|
"record.declare": "record.declare";
|
|
101
101
|
"record.notify": "record.notify";
|
|
102
|
-
"record.declared.
|
|
102
|
+
"record.declared.edit": "record.declared.edit";
|
|
103
103
|
"record.declared.reject": "record.declared.reject";
|
|
104
104
|
"record.declared.archive": "record.declared.archive";
|
|
105
105
|
"record.declared.review-duplicates": "record.declared.review-duplicates";
|
|
@@ -152,7 +152,7 @@ declare const ConfigurableRawScopes: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
152
152
|
"record.create": "record.create";
|
|
153
153
|
"record.declare": "record.declare";
|
|
154
154
|
"record.notify": "record.notify";
|
|
155
|
-
"record.declared.
|
|
155
|
+
"record.declared.edit": "record.declared.edit";
|
|
156
156
|
"record.declared.reject": "record.declared.reject";
|
|
157
157
|
"record.declared.archive": "record.declared.archive";
|
|
158
158
|
"record.declared.review-duplicates": "record.declared.review-duplicates";
|
|
@@ -178,7 +178,7 @@ export declare const ConfigurableActionScopes: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
178
178
|
"record.create": "record.create";
|
|
179
179
|
"record.declare": "record.declare";
|
|
180
180
|
"record.notify": "record.notify";
|
|
181
|
-
"record.declared.
|
|
181
|
+
"record.declared.edit": "record.declared.edit";
|
|
182
182
|
"record.declared.reject": "record.declared.reject";
|
|
183
183
|
"record.declared.archive": "record.declared.archive";
|
|
184
184
|
"record.declared.review-duplicates": "record.declared.review-duplicates";
|
|
@@ -196,7 +196,7 @@ export declare const ConfigurableActionScopes: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
196
196
|
customActionType: z.ZodArray<z.ZodString>;
|
|
197
197
|
}, z.core.$strip>;
|
|
198
198
|
}, z.core.$strip>], "type">;
|
|
199
|
-
type ConfigurableRawScopes = z.infer<typeof ConfigurableRawScopes>;
|
|
199
|
+
export type ConfigurableRawScopes = z.infer<typeof ConfigurableRawScopes>;
|
|
200
200
|
export type ConfigurableScopeType = ConfigurableRawScopes['type'];
|
|
201
201
|
type FlattenedSearchScope = {
|
|
202
202
|
type: 'search';
|
|
@@ -227,7 +227,7 @@ export declare function findScope<T extends ConfigurableScopeType>(scopes: strin
|
|
|
227
227
|
}, {
|
|
228
228
|
type: T;
|
|
229
229
|
}> | Extract<{
|
|
230
|
-
type: "record.unassign-others" | "record.register" | "record.read" | "record.create" | "record.declare" | "record.notify" | "record.declared.
|
|
230
|
+
type: "record.unassign-others" | "record.register" | "record.read" | "record.create" | "record.declare" | "record.notify" | "record.declared.edit" | "record.declared.reject" | "record.declared.archive" | "record.declared.review-duplicates" | "record.registered.print-certified-copies" | "record.registered.request-correction" | "record.registered.correct";
|
|
231
231
|
options: {
|
|
232
232
|
event: string[];
|
|
233
233
|
};
|
|
@@ -244,6 +244,45 @@ export declare function findScope<T extends ConfigurableScopeType>(scopes: strin
|
|
|
244
244
|
}> | Extract<FlattenedSearchScope, {
|
|
245
245
|
type: T;
|
|
246
246
|
}> | undefined;
|
|
247
|
+
export declare function findScopes<T extends ConfigurableScopeType>(scopes: string[], scopeType: T): (Extract<{
|
|
248
|
+
type: "user.create";
|
|
249
|
+
options: {
|
|
250
|
+
role: string[];
|
|
251
|
+
};
|
|
252
|
+
}, {
|
|
253
|
+
type: T;
|
|
254
|
+
}> | Extract<{
|
|
255
|
+
type: "user.edit";
|
|
256
|
+
options: {
|
|
257
|
+
role: string[];
|
|
258
|
+
};
|
|
259
|
+
}, {
|
|
260
|
+
type: T;
|
|
261
|
+
}> | Extract<{
|
|
262
|
+
type: "workqueue";
|
|
263
|
+
options: {
|
|
264
|
+
id: string[];
|
|
265
|
+
};
|
|
266
|
+
}, {
|
|
267
|
+
type: T;
|
|
268
|
+
}> | Extract<{
|
|
269
|
+
type: "record.unassign-others" | "record.register" | "record.read" | "record.create" | "record.declare" | "record.notify" | "record.declared.edit" | "record.declared.reject" | "record.declared.archive" | "record.declared.review-duplicates" | "record.registered.print-certified-copies" | "record.registered.request-correction" | "record.registered.correct";
|
|
270
|
+
options: {
|
|
271
|
+
event: string[];
|
|
272
|
+
};
|
|
273
|
+
}, {
|
|
274
|
+
type: T;
|
|
275
|
+
}> | Extract<{
|
|
276
|
+
type: "record.custom-action";
|
|
277
|
+
options: {
|
|
278
|
+
event: string[];
|
|
279
|
+
customActionType: string[];
|
|
280
|
+
};
|
|
281
|
+
}, {
|
|
282
|
+
type: T;
|
|
283
|
+
}> | Extract<FlattenedSearchScope, {
|
|
284
|
+
type: T;
|
|
285
|
+
}>)[];
|
|
247
286
|
/**
|
|
248
287
|
* Parses a configurable scope string into a ConfigurableRawScopes object.
|
|
249
288
|
* @param {string} scope - The scope string to parse
|
|
@@ -274,7 +313,7 @@ export declare function parseConfigurableScope(scope: string): {
|
|
|
274
313
|
id: string[];
|
|
275
314
|
};
|
|
276
315
|
} | {
|
|
277
|
-
type: "record.unassign-others" | "record.register" | "record.read" | "record.create" | "record.declare" | "record.notify" | "record.declared.
|
|
316
|
+
type: "record.unassign-others" | "record.register" | "record.read" | "record.create" | "record.declare" | "record.notify" | "record.declared.edit" | "record.declared.reject" | "record.declared.archive" | "record.declared.review-duplicates" | "record.registered.print-certified-copies" | "record.registered.request-correction" | "record.registered.correct";
|
|
278
317
|
options: {
|
|
279
318
|
event: string[];
|
|
280
319
|
};
|
package/dist/scopes/index.js
CHANGED
|
@@ -38,6 +38,7 @@ __export(scopes_exports, {
|
|
|
38
38
|
SCOPES: () => SCOPES,
|
|
39
39
|
SearchScopes: () => SearchScopes,
|
|
40
40
|
findScope: () => findScope,
|
|
41
|
+
findScopes: () => findScopes,
|
|
41
42
|
getAuthorizedEventsFromScopes: () => getAuthorizedEventsFromScopes,
|
|
42
43
|
parseConfigurableScope: () => parseConfigurableScope,
|
|
43
44
|
parseLiteralScope: () => parseLiteralScope,
|
|
@@ -251,7 +252,7 @@ var RecordScopeType = z.enum([
|
|
|
251
252
|
"record.read",
|
|
252
253
|
"record.declare",
|
|
253
254
|
"record.notify",
|
|
254
|
-
"record.declared.
|
|
255
|
+
"record.declared.edit",
|
|
255
256
|
"record.declared.reject",
|
|
256
257
|
"record.declared.archive",
|
|
257
258
|
"record.declared.review-duplicates",
|
|
@@ -313,6 +314,15 @@ function findScope(scopes2, scopeType) {
|
|
|
313
314
|
(scope) => scope?.type === scopeType
|
|
314
315
|
);
|
|
315
316
|
}
|
|
317
|
+
function findScopes(scopes2, scopeType) {
|
|
318
|
+
const parsedScopes = scopes2.map(parseConfigurableScope);
|
|
319
|
+
const searchScopes = parsedScopes.filter((scope) => scope?.type === "search");
|
|
320
|
+
const otherScopes = parsedScopes.filter((scope) => scope?.type !== "search");
|
|
321
|
+
const mergedSearchScope = flattenAndMergeScopes(searchScopes);
|
|
322
|
+
return [...otherScopes, mergedSearchScope].filter(
|
|
323
|
+
(scope) => scope?.type === scopeType
|
|
324
|
+
);
|
|
325
|
+
}
|
|
316
326
|
function getScopeOptions(rawOptions) {
|
|
317
327
|
return rawOptions.split(",").reduce((acc, option) => {
|
|
318
328
|
const [key, value] = option.split("=");
|