@opencrvs/toolkit 1.8.1-rc.8c25e85 → 1.8.1-rc.a372970
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 +5078 -5910
- package/dist/commons/conditionals/conditionals.d.ts +13 -9
- package/dist/commons/conditionals/validate.d.ts +6 -15
- package/dist/commons/events/ActionConfig.d.ts +1718 -119315
- package/dist/commons/events/ActionDocument.d.ts +1325 -4879
- package/dist/commons/events/ActionInput.d.ts +1025 -3205
- package/dist/commons/events/ActionType.d.ts +1 -10
- package/dist/commons/events/AdvancedSearchConfig.d.ts +22 -1282
- package/dist/commons/events/CompositeFieldValue.d.ts +9 -40
- package/dist/commons/events/Draft.d.ts +97 -288
- package/dist/commons/events/EventConfig.d.ts +1359 -54365
- package/dist/commons/events/EventDocument.d.ts +833 -2720
- package/dist/commons/events/EventIndex.d.ts +29 -2228
- package/dist/commons/events/EventMetadata.d.ts +47 -347
- package/dist/commons/events/FieldConfig.d.ts +1250 -6746
- package/dist/commons/events/FieldType.d.ts +3 -8
- package/dist/commons/events/FieldTypeMapping.d.ts +73 -161
- package/dist/commons/events/FieldValue.d.ts +20 -91
- package/dist/commons/events/FormConfig.d.ts +533 -55781
- package/dist/commons/events/PageConfig.d.ts +208 -13824
- package/dist/commons/events/SummaryConfig.d.ts +42 -93
- package/dist/commons/events/User.d.ts +2 -34
- package/dist/commons/events/WorkqueueConfig.d.ts +20 -8116
- package/dist/commons/events/defineConfig.d.ts +99 -8551
- package/dist/commons/events/index.d.ts +0 -8
- package/dist/commons/events/test.utils.d.ts +90 -206
- package/dist/commons/events/transactions.d.ts +1 -1
- package/dist/commons/events/utils.d.ts +94 -15442
- package/dist/conditionals/index.js +56 -66
- package/dist/events/index.js +1835 -4707
- package/dist/scopes/index.d.ts +7 -184
- package/dist/scopes/index.js +40 -140
- package/package.json +3 -4
- package/dist/commons/events/Constants.d.ts +0 -3
- package/dist/commons/events/CountryConfigQueryInput.d.ts +0 -4132
- package/dist/commons/events/CreatedAtLocation.d.ts +0 -2
- package/dist/commons/events/WorkqueueColumnConfig.d.ts +0 -53
- package/dist/commons/events/event.d.ts +0 -46
- package/dist/commons/events/field.d.ts +0 -94
- package/dist/commons/events/scopes.d.ts +0 -45
- package/dist/commons/events/serializer.d.ts +0 -2
- package/dist/commons/events/workqueueDefaultColumns.d.ts +0 -3
package/dist/scopes/index.d.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { z } from 'zod';
|
2
|
-
import { SearchScopeAccessLevels } from './events';
|
3
2
|
export declare const SCOPES: {
|
4
3
|
readonly NATLSYSADMIN: "natlsysadmin";
|
5
4
|
readonly BYPASSRATELIMIT: "bypassratelimit";
|
@@ -20,7 +19,6 @@ export declare const SCOPES: {
|
|
20
19
|
* @TODO This is a temporary scope to be used for V2 Events custom events declaration
|
21
20
|
*/
|
22
21
|
readonly RECORD_DECLARE: "record.declare-birth";
|
23
|
-
readonly RECORD_IMPORT: "record.import";
|
24
22
|
readonly RECORD_DECLARE_BIRTH: "record.declare-birth";
|
25
23
|
readonly RECORD_DECLARE_BIRTH_MY_JURISDICTION: "record.declare-birth:my-jurisdiction";
|
26
24
|
readonly RECORD_DECLARE_DEATH: "record.declare-death";
|
@@ -86,79 +84,8 @@ export declare const SCOPES: {
|
|
86
84
|
readonly CONFIG_UPDATE_ALL: "config.update:all";
|
87
85
|
readonly USER_DATA_SEEDING: "user.data-seeding";
|
88
86
|
};
|
89
|
-
|
90
|
-
declare const
|
91
|
-
declare const NotifyRecordScope: z.ZodObject<{
|
92
|
-
type: z.ZodLiteral<"record.notify">;
|
93
|
-
options: z.ZodObject<{
|
94
|
-
event: z.ZodArray<z.ZodString, "many">;
|
95
|
-
}, "strip", z.ZodTypeAny, {
|
96
|
-
event: string[];
|
97
|
-
}, {
|
98
|
-
event: string[];
|
99
|
-
}>;
|
100
|
-
}, "strip", z.ZodTypeAny, {
|
101
|
-
type: "record.notify";
|
102
|
-
options: {
|
103
|
-
event: string[];
|
104
|
-
};
|
105
|
-
}, {
|
106
|
-
type: "record.notify";
|
107
|
-
options: {
|
108
|
-
event: string[];
|
109
|
-
};
|
110
|
-
}>;
|
111
|
-
declare const SearchScope: z.ZodObject<{
|
112
|
-
type: z.ZodLiteral<"search">;
|
113
|
-
options: z.ZodObject<{
|
114
|
-
event: z.ZodArray<z.ZodString, "many">;
|
115
|
-
access: z.ZodArray<z.ZodEnum<["my-jurisdiction", "all"]>, "many">;
|
116
|
-
}, "strip", z.ZodTypeAny, {
|
117
|
-
event: string[];
|
118
|
-
access: ("my-jurisdiction" | "all")[];
|
119
|
-
}, {
|
120
|
-
event: string[];
|
121
|
-
access: ("my-jurisdiction" | "all")[];
|
122
|
-
}>;
|
123
|
-
}, "strip", z.ZodTypeAny, {
|
124
|
-
type: "search";
|
125
|
-
options: {
|
126
|
-
event: string[];
|
127
|
-
access: ("my-jurisdiction" | "all")[];
|
128
|
-
};
|
129
|
-
}, {
|
130
|
-
type: "search";
|
131
|
-
options: {
|
132
|
-
event: string[];
|
133
|
-
access: ("my-jurisdiction" | "all")[];
|
134
|
-
};
|
135
|
-
}>;
|
136
|
-
export type SearchScope = z.infer<typeof SearchScope>;
|
137
|
-
declare const ConfigurableRawScopes: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
138
|
-
type: z.ZodLiteral<"search">;
|
139
|
-
options: z.ZodObject<{
|
140
|
-
event: z.ZodArray<z.ZodString, "many">;
|
141
|
-
access: z.ZodArray<z.ZodEnum<["my-jurisdiction", "all"]>, "many">;
|
142
|
-
}, "strip", z.ZodTypeAny, {
|
143
|
-
event: string[];
|
144
|
-
access: ("my-jurisdiction" | "all")[];
|
145
|
-
}, {
|
146
|
-
event: string[];
|
147
|
-
access: ("my-jurisdiction" | "all")[];
|
148
|
-
}>;
|
149
|
-
}, "strip", z.ZodTypeAny, {
|
150
|
-
type: "search";
|
151
|
-
options: {
|
152
|
-
event: string[];
|
153
|
-
access: ("my-jurisdiction" | "all")[];
|
154
|
-
};
|
155
|
-
}, {
|
156
|
-
type: "search";
|
157
|
-
options: {
|
158
|
-
event: string[];
|
159
|
-
access: ("my-jurisdiction" | "all")[];
|
160
|
-
};
|
161
|
-
}>, z.ZodObject<{
|
87
|
+
declare const LiteralScopes: z.ZodUnion<[z.ZodLiteral<"natlsysadmin">, z.ZodLiteral<"bypassratelimit">, z.ZodLiteral<"declare">, z.ZodLiteral<"register">, z.ZodLiteral<"validate">, z.ZodLiteral<"demo">, z.ZodLiteral<"certify">, z.ZodLiteral<"performance">, z.ZodLiteral<"sysadmin">, z.ZodLiteral<"teams">, z.ZodLiteral<"config">, z.ZodLiteral<"webhook">, z.ZodLiteral<"nationalId">, z.ZodLiteral<"notification-api">, z.ZodLiteral<"recordsearch">, z.ZodLiteral<"record.declare-birth">, z.ZodLiteral<"record.declare-birth:my-jurisdiction">, z.ZodLiteral<"record.declare-death">, z.ZodLiteral<"record.declare-death:my-jurisdiction">, z.ZodLiteral<"record.declare-marriage">, z.ZodLiteral<"record.declare-marriage:my-jurisdiction">, z.ZodLiteral<"record.declaration-submit-incomplete">, z.ZodLiteral<"record.declaration-submit-for-review">, z.ZodLiteral<"record.unassign-others">, z.ZodLiteral<"record.declaration-submit-for-approval">, z.ZodLiteral<"record.declaration-submit-for-updates">, z.ZodLiteral<"record.declaration-edit">, z.ZodLiteral<"record.review-duplicates">, z.ZodLiteral<"record.declaration-archive">, z.ZodLiteral<"record.declaration-reinstate">, z.ZodLiteral<"record.register">, z.ZodLiteral<"record.export-records">, z.ZodLiteral<"record.declaration-print">, z.ZodLiteral<"record.declaration-print-supporting-documents">, z.ZodLiteral<"record.registration-print">, z.ZodLiteral<"record.registration-print&issue-certified-copies">, z.ZodLiteral<"record.registration-print-certified-copies">, z.ZodLiteral<"record.registration-bulk-print-certified-copies">, z.ZodLiteral<"record.registration-verify-certified-copies">, z.ZodLiteral<"record.registration-request-correction">, z.ZodLiteral<"record.registration-correct">, z.ZodLiteral<"record.registration-request-revocation">, z.ZodLiteral<"record.registration-revoke">, z.ZodLiteral<"record.registration-request-reinstatement">, z.ZodLiteral<"record.registration-reinstate">, z.ZodLiteral<"record.confirm-registration">, z.ZodLiteral<"record.reject-registration">, z.ZodLiteral<"search.birth:my-jurisdiction">, z.ZodLiteral<"search.birth">, z.ZodLiteral<"search.death:my-jurisdiction">, z.ZodLiteral<"search.death">, z.ZodLiteral<"search.marriage:my-jurisdiction">, z.ZodLiteral<"search.marriage">, z.ZodLiteral<"record.read">, z.ZodLiteral<"record.read-audit">, z.ZodLiteral<"record.read-comments">, z.ZodLiteral<"record.create-comments">, z.ZodLiteral<"profile.update">, z.ZodLiteral<"profile.electronic-signature">, z.ZodLiteral<"performance.read">, z.ZodLiteral<"performance.read-dashboards">, z.ZodLiteral<"performance.vital-statistics-export">, z.ZodLiteral<"organisation.read-locations:all">, z.ZodLiteral<"organisation.read-locations:my-office">, z.ZodLiteral<"organisation.read-locations:my-jurisdiction">, z.ZodLiteral<"user.read:all">, z.ZodLiteral<"user.read:my-office">, z.ZodLiteral<"user.read:my-jurisdiction">, z.ZodLiteral<"user.read:only-my-audit">, z.ZodLiteral<"user.create:all">, z.ZodLiteral<"user.create:my-jurisdiction">, z.ZodLiteral<"user.update:all">, z.ZodLiteral<"user.update:my-jurisdiction">, z.ZodLiteral<"config.update:all">, z.ZodLiteral<"user.data-seeding">]>;
|
88
|
+
declare const ConfigurableScopes: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
162
89
|
type: z.ZodLiteral<"user.create">;
|
163
90
|
options: z.ZodObject<{
|
164
91
|
role: z.ZodArray<z.ZodString, "many">;
|
@@ -196,100 +123,20 @@ declare const ConfigurableRawScopes: z.ZodDiscriminatedUnion<"type", [z.ZodObjec
|
|
196
123
|
options: {
|
197
124
|
role: string[];
|
198
125
|
};
|
199
|
-
}>, z.ZodObject<{
|
200
|
-
type: z.ZodLiteral<"workqueue">;
|
201
|
-
options: z.ZodObject<{
|
202
|
-
id: z.ZodArray<z.ZodString, "many">;
|
203
|
-
}, "strip", z.ZodTypeAny, {
|
204
|
-
id: string[];
|
205
|
-
}, {
|
206
|
-
id: string[];
|
207
|
-
}>;
|
208
|
-
}, "strip", z.ZodTypeAny, {
|
209
|
-
type: "workqueue";
|
210
|
-
options: {
|
211
|
-
id: string[];
|
212
|
-
};
|
213
|
-
}, {
|
214
|
-
type: "workqueue";
|
215
|
-
options: {
|
216
|
-
id: string[];
|
217
|
-
};
|
218
|
-
}>, z.ZodObject<{
|
219
|
-
type: z.ZodLiteral<"record.notify">;
|
220
|
-
options: z.ZodObject<{
|
221
|
-
event: z.ZodArray<z.ZodString, "many">;
|
222
|
-
}, "strip", z.ZodTypeAny, {
|
223
|
-
event: string[];
|
224
|
-
}, {
|
225
|
-
event: string[];
|
226
|
-
}>;
|
227
|
-
}, "strip", z.ZodTypeAny, {
|
228
|
-
type: "record.notify";
|
229
|
-
options: {
|
230
|
-
event: string[];
|
231
|
-
};
|
232
|
-
}, {
|
233
|
-
type: "record.notify";
|
234
|
-
options: {
|
235
|
-
event: string[];
|
236
|
-
};
|
237
126
|
}>]>;
|
238
|
-
type
|
239
|
-
export
|
240
|
-
type FlattenedSearchScope = {
|
241
|
-
type: 'search';
|
242
|
-
options: Record<string, SearchScopeAccessLevels>;
|
243
|
-
};
|
244
|
-
export type ConfigurableScopes = Exclude<ConfigurableRawScopes, {
|
245
|
-
type: 'search';
|
246
|
-
}> | FlattenedSearchScope;
|
247
|
-
export declare function findScope<T extends ConfigurableScopeType>(scopes: string[], scopeType: T): Extract<{
|
127
|
+
type ConfigurableScopes = z.infer<typeof ConfigurableScopes>;
|
128
|
+
export declare function findScope(scopes: string[], scopeType: ConfigurableScopes['type']): {
|
248
129
|
type: "user.create";
|
249
130
|
options: {
|
250
131
|
role: string[];
|
251
132
|
};
|
252
|
-
}
|
253
|
-
type: T;
|
254
|
-
}> | Extract<{
|
133
|
+
} | {
|
255
134
|
type: "user.edit";
|
256
135
|
options: {
|
257
136
|
role: string[];
|
258
137
|
};
|
259
|
-
}
|
260
|
-
type: T;
|
261
|
-
}> | Extract<{
|
262
|
-
type: "workqueue";
|
263
|
-
options: {
|
264
|
-
id: string[];
|
265
|
-
};
|
266
|
-
}, {
|
267
|
-
type: T;
|
268
|
-
}> | Extract<{
|
269
|
-
type: "record.notify";
|
270
|
-
options: {
|
271
|
-
event: string[];
|
272
|
-
};
|
273
|
-
}, {
|
274
|
-
type: T;
|
275
|
-
}> | Extract<FlattenedSearchScope, {
|
276
|
-
type: T;
|
277
|
-
}> | undefined;
|
278
|
-
/**
|
279
|
-
* Parses a configurable scope string into a ConfigurableRawScopes object.
|
280
|
-
* @param {string} scope - The scope string to parse
|
281
|
-
* @returns {ConfigurableRawScopes | undefined} The parsed scope object if valid, undefined otherwise
|
282
|
-
* @example
|
283
|
-
* parseScope("user.create[role=field-agent|registration-agent]")
|
284
|
-
* // Returns: { type: "user.create", options: { role: ["field-agent", "registration-agent"] } }
|
285
|
-
*/
|
138
|
+
} | undefined;
|
286
139
|
export declare function parseScope(scope: string): {
|
287
|
-
type: "search";
|
288
|
-
options: {
|
289
|
-
event: string[];
|
290
|
-
access: ("my-jurisdiction" | "all")[];
|
291
|
-
};
|
292
|
-
} | {
|
293
140
|
type: "user.create";
|
294
141
|
options: {
|
295
142
|
role: string[];
|
@@ -300,35 +147,11 @@ export declare function parseScope(scope: string): {
|
|
300
147
|
role: string[];
|
301
148
|
};
|
302
149
|
} | {
|
303
|
-
type: "
|
304
|
-
options: {
|
305
|
-
id: string[];
|
306
|
-
};
|
307
|
-
} | {
|
308
|
-
type: "record.notify";
|
309
|
-
options: {
|
310
|
-
event: string[];
|
311
|
-
};
|
312
|
-
} | {
|
313
|
-
type: "natlsysadmin" | "bypassratelimit" | "declare" | "register" | "validate" | "demo" | "certify" | "performance" | "sysadmin" | "teams" | "config" | "webhook" | "nationalId" | "notification-api" | "recordsearch" | "record.declare-birth" | "record.import" | "record.declare-birth:my-jurisdiction" | "record.declare-death" | "record.declare-death:my-jurisdiction" | "record.declare-marriage" | "record.declare-marriage:my-jurisdiction" | "record.declaration-submit-incomplete" | "record.declaration-submit-for-review" | "record.unassign-others" | "record.declaration-submit-for-approval" | "record.declaration-submit-for-updates" | "record.declaration-edit" | "record.review-duplicates" | "record.declaration-archive" | "record.declaration-reinstate" | "record.register" | "record.export-records" | "record.declaration-print" | "record.declaration-print-supporting-documents" | "record.registration-print" | "record.registration-print&issue-certified-copies" | "record.registration-print-certified-copies" | "record.registration-bulk-print-certified-copies" | "record.registration-verify-certified-copies" | "record.registration-request-correction" | "record.registration-correct" | "record.registration-request-revocation" | "record.registration-revoke" | "record.registration-request-reinstatement" | "record.registration-reinstate" | "record.confirm-registration" | "record.reject-registration" | "search.birth:my-jurisdiction" | "search.birth" | "search.death:my-jurisdiction" | "search.death" | "search.marriage:my-jurisdiction" | "search.marriage" | "record.read" | "record.read-audit" | "record.read-comments" | "record.create-comments" | "profile.update" | "profile.electronic-signature" | "performance.read" | "performance.read-dashboards" | "performance.vital-statistics-export" | "organisation.read-locations:all" | "organisation.read-locations:my-office" | "organisation.read-locations:my-jurisdiction" | "user.read:all" | "user.read:my-office" | "user.read:my-jurisdiction" | "user.read:only-my-audit" | "user.create:all" | "user.create:my-jurisdiction" | "user.update:all" | "user.update:my-jurisdiction" | "config.update:all" | "user.data-seeding";
|
150
|
+
type: "natlsysadmin" | "bypassratelimit" | "declare" | "register" | "validate" | "demo" | "certify" | "performance" | "sysadmin" | "teams" | "config" | "webhook" | "nationalId" | "notification-api" | "recordsearch" | "record.declare-birth" | "record.declare-birth:my-jurisdiction" | "record.declare-death" | "record.declare-death:my-jurisdiction" | "record.declare-marriage" | "record.declare-marriage:my-jurisdiction" | "record.declaration-submit-incomplete" | "record.declaration-submit-for-review" | "record.unassign-others" | "record.declaration-submit-for-approval" | "record.declaration-submit-for-updates" | "record.declaration-edit" | "record.review-duplicates" | "record.declaration-archive" | "record.declaration-reinstate" | "record.register" | "record.export-records" | "record.declaration-print" | "record.declaration-print-supporting-documents" | "record.registration-print" | "record.registration-print&issue-certified-copies" | "record.registration-print-certified-copies" | "record.registration-bulk-print-certified-copies" | "record.registration-verify-certified-copies" | "record.registration-request-correction" | "record.registration-correct" | "record.registration-request-revocation" | "record.registration-revoke" | "record.registration-request-reinstatement" | "record.registration-reinstate" | "record.confirm-registration" | "record.reject-registration" | "search.birth:my-jurisdiction" | "search.birth" | "search.death:my-jurisdiction" | "search.death" | "search.marriage:my-jurisdiction" | "search.marriage" | "record.read" | "record.read-audit" | "record.read-comments" | "record.create-comments" | "profile.update" | "profile.electronic-signature" | "performance.read" | "performance.read-dashboards" | "performance.vital-statistics-export" | "organisation.read-locations:all" | "organisation.read-locations:my-office" | "organisation.read-locations:my-jurisdiction" | "user.read:all" | "user.read:my-office" | "user.read:my-jurisdiction" | "user.read:only-my-audit" | "user.create:all" | "user.create:my-jurisdiction" | "user.update:all" | "user.update:my-jurisdiction" | "config.update:all" | "user.data-seeding";
|
314
151
|
} | undefined;
|
315
|
-
/**
|
316
|
-
* Stringifies a ConfigurableScopes object into a scope string.
|
317
|
-
* @param {ConfigurableScopes} scope - The scope object to stringify
|
318
|
-
* @returns {string} The stringified scope in format "type[key1=value1|value2,key2=value3|value4]"
|
319
|
-
* @example
|
320
|
-
* stringifyScope({
|
321
|
-
* type: "record.notify",
|
322
|
-
* options: { event: ["v2.birth", "tennis-club-membership"] }
|
323
|
-
* })
|
324
|
-
* // Returns: "record.notify[event=v2.birth|tennis-club-membership]"
|
325
|
-
*/
|
326
|
-
export declare function stringifyScope(scope: z.infer<typeof NotifyRecordScope>): string;
|
327
152
|
export declare const scopes: Scope[];
|
328
153
|
export type ParsedScopes = NonNullable<ReturnType<typeof parseScope>>;
|
329
154
|
export type RawScopes = z.infer<typeof LiteralScopes> | (string & {});
|
330
155
|
export type Scope = RawScopes;
|
331
|
-
export declare const ActionScopes: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"record.declare-birth">, z.ZodLiteral<"record.import">, z.ZodLiteral<"record.declare-birth">, z.ZodLiteral<"record.declare-birth:my-jurisdiction">, z.ZodLiteral<"record.declare-death">, z.ZodLiteral<"record.declare-death:my-jurisdiction">, z.ZodLiteral<"record.declare-marriage">, z.ZodLiteral<"record.declare-marriage:my-jurisdiction">, z.ZodLiteral<"record.declaration-submit-incomplete">, z.ZodLiteral<"record.declaration-submit-for-review">]>, z.ZodUnion<[z.ZodLiteral<"record.declaration-submit-for-approval">, z.ZodLiteral<"record.declaration-submit-for-updates">, z.ZodLiteral<"record.declaration-edit">, z.ZodLiteral<"record.review-duplicates">, z.ZodLiteral<"record.declaration-archive">, z.ZodLiteral<"record.declaration-reinstate">]>, z.ZodLiteral<"record.register">, z.ZodUnion<[z.ZodLiteral<"record.export-records">, z.ZodLiteral<"record.declaration-print">, z.ZodLiteral<"record.declaration-print-supporting-documents">, z.ZodLiteral<"record.registration-print">, z.ZodLiteral<"record.registration-print&issue-certified-copies">, z.ZodLiteral<"record.registration-print-certified-copies">, z.ZodLiteral<"record.registration-bulk-print-certified-copies">, z.ZodLiteral<"record.registration-verify-certified-copies">]>, z.ZodUnion<[z.ZodLiteral<"record.registration-request-correction">, z.ZodLiteral<"record.registration-correct">, z.ZodLiteral<"record.registration-request-revocation">, z.ZodLiteral<"record.registration-revoke">, z.ZodLiteral<"record.registration-request-reinstatement">, z.ZodLiteral<"record.registration-reinstate">, z.ZodLiteral<"record.confirm-registration">, z.ZodLiteral<"record.reject-registration">]>]>;
|
332
|
-
export type ActionScopes = z.infer<typeof ActionScopes>;
|
333
156
|
export {};
|
334
157
|
//# sourceMappingURL=scopes.d.ts.map
|
package/dist/scopes/index.js
CHANGED
@@ -20,13 +20,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
20
20
|
// src/scopes/index.ts
|
21
21
|
var scopes_exports = {};
|
22
22
|
__export(scopes_exports, {
|
23
|
-
ActionScopes: () => ActionScopes,
|
24
23
|
SCOPES: () => SCOPES,
|
25
|
-
SearchScopes: () => SearchScopes,
|
26
24
|
findScope: () => findScope,
|
27
25
|
parseScope: () => parseScope,
|
28
|
-
scopes: () => scopes
|
29
|
-
stringifyScope: () => stringifyScope
|
26
|
+
scopes: () => scopes
|
30
27
|
});
|
31
28
|
module.exports = __toCommonJS(scopes_exports);
|
32
29
|
|
@@ -55,8 +52,6 @@ var SCOPES = {
|
|
55
52
|
*/
|
56
53
|
RECORD_DECLARE: "record.declare-birth",
|
57
54
|
// declare
|
58
|
-
RECORD_IMPORT: "record.import",
|
59
|
-
// declare
|
60
55
|
RECORD_DECLARE_BIRTH: "record.declare-birth",
|
61
56
|
RECORD_DECLARE_BIRTH_MY_JURISDICTION: "record.declare-birth:my-jurisdiction",
|
62
57
|
RECORD_DECLARE_DEATH: "record.declare-death",
|
@@ -144,7 +139,7 @@ var SCOPES = {
|
|
144
139
|
// data seeding
|
145
140
|
USER_DATA_SEEDING: "user.data-seeding"
|
146
141
|
};
|
147
|
-
var
|
142
|
+
var LiteralScopes = import_zod.z.union([
|
148
143
|
import_zod.z.literal(SCOPES.NATLSYSADMIN),
|
149
144
|
import_zod.z.literal(SCOPES.BYPASSRATELIMIT),
|
150
145
|
import_zod.z.literal(SCOPES.DECLARE),
|
@@ -155,17 +150,11 @@ var LegacyScopes = import_zod.z.union([
|
|
155
150
|
import_zod.z.literal(SCOPES.PERFORMANCE),
|
156
151
|
import_zod.z.literal(SCOPES.SYSADMIN),
|
157
152
|
import_zod.z.literal(SCOPES.TEAMS),
|
158
|
-
import_zod.z.literal(SCOPES.CONFIG)
|
159
|
-
]);
|
160
|
-
var IntegrationScopes = import_zod.z.union([
|
153
|
+
import_zod.z.literal(SCOPES.CONFIG),
|
161
154
|
import_zod.z.literal(SCOPES.WEBHOOK),
|
162
155
|
import_zod.z.literal(SCOPES.NATIONALID),
|
163
156
|
import_zod.z.literal(SCOPES.NOTIFICATION_API),
|
164
|
-
import_zod.z.literal(SCOPES.RECORDSEARCH)
|
165
|
-
]);
|
166
|
-
var DeclareScopes = import_zod.z.union([
|
167
|
-
import_zod.z.literal(SCOPES.RECORD_DECLARE),
|
168
|
-
import_zod.z.literal(SCOPES.RECORD_IMPORT),
|
157
|
+
import_zod.z.literal(SCOPES.RECORDSEARCH),
|
169
158
|
import_zod.z.literal(SCOPES.RECORD_DECLARE_BIRTH),
|
170
159
|
import_zod.z.literal(SCOPES.RECORD_DECLARE_BIRTH_MY_JURISDICTION),
|
171
160
|
import_zod.z.literal(SCOPES.RECORD_DECLARE_DEATH),
|
@@ -173,19 +162,15 @@ var DeclareScopes = import_zod.z.union([
|
|
173
162
|
import_zod.z.literal(SCOPES.RECORD_DECLARE_MARRIAGE),
|
174
163
|
import_zod.z.literal(SCOPES.RECORD_DECLARE_MARRIAGE_MY_JURISDICTION),
|
175
164
|
import_zod.z.literal(SCOPES.RECORD_SUBMIT_INCOMPLETE),
|
176
|
-
import_zod.z.literal(SCOPES.RECORD_SUBMIT_FOR_REVIEW)
|
177
|
-
|
178
|
-
var UnassignScope = import_zod.z.literal(SCOPES.RECORD_UNASSIGN_OTHERS);
|
179
|
-
var ValidateScopes = import_zod.z.union([
|
165
|
+
import_zod.z.literal(SCOPES.RECORD_SUBMIT_FOR_REVIEW),
|
166
|
+
import_zod.z.literal(SCOPES.RECORD_UNASSIGN_OTHERS),
|
180
167
|
import_zod.z.literal(SCOPES.RECORD_SUBMIT_FOR_APPROVAL),
|
181
168
|
import_zod.z.literal(SCOPES.RECORD_SUBMIT_FOR_UPDATES),
|
182
169
|
import_zod.z.literal(SCOPES.RECORD_DECLARATION_EDIT),
|
183
170
|
import_zod.z.literal(SCOPES.RECORD_REVIEW_DUPLICATES),
|
184
171
|
import_zod.z.literal(SCOPES.RECORD_DECLARATION_ARCHIVE),
|
185
|
-
import_zod.z.literal(SCOPES.RECORD_DECLARATION_REINSTATE)
|
186
|
-
|
187
|
-
var RegisterScope = import_zod.z.literal(SCOPES.RECORD_REGISTER);
|
188
|
-
var CertifyScopes = import_zod.z.union([
|
172
|
+
import_zod.z.literal(SCOPES.RECORD_DECLARATION_REINSTATE),
|
173
|
+
import_zod.z.literal(SCOPES.RECORD_REGISTER),
|
189
174
|
import_zod.z.literal(SCOPES.RECORD_EXPORT_RECORDS),
|
190
175
|
import_zod.z.literal(SCOPES.RECORD_DECLARATION_PRINT),
|
191
176
|
import_zod.z.literal(SCOPES.RECORD_PRINT_RECORDS_SUPPORTING_DOCUMENTS),
|
@@ -193,9 +178,7 @@ var CertifyScopes = import_zod.z.union([
|
|
193
178
|
import_zod.z.literal(SCOPES.RECORD_PRINT_ISSUE_CERTIFIED_COPIES),
|
194
179
|
import_zod.z.literal(SCOPES.RECORD_PRINT_CERTIFIED_COPIES),
|
195
180
|
import_zod.z.literal(SCOPES.RECORD_BULK_PRINT_CERTIFIED_COPIES),
|
196
|
-
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_VERIFY_CERTIFIED_COPIES)
|
197
|
-
]);
|
198
|
-
var CorrectionScopes = import_zod.z.union([
|
181
|
+
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_VERIFY_CERTIFIED_COPIES),
|
199
182
|
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_REQUEST_CORRECTION),
|
200
183
|
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_CORRECT),
|
201
184
|
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_REQUEST_REVOCATION),
|
@@ -203,37 +186,25 @@ var CorrectionScopes = import_zod.z.union([
|
|
203
186
|
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_REQUEST_REINSTATEMENT),
|
204
187
|
import_zod.z.literal(SCOPES.RECORD_REGISTRATION_REINSTATE),
|
205
188
|
import_zod.z.literal(SCOPES.RECORD_CONFIRM_REGISTRATION),
|
206
|
-
import_zod.z.literal(SCOPES.RECORD_REJECT_REGISTRATION)
|
207
|
-
]);
|
208
|
-
var SearchScopes = import_zod.z.union([
|
189
|
+
import_zod.z.literal(SCOPES.RECORD_REJECT_REGISTRATION),
|
209
190
|
import_zod.z.literal(SCOPES.SEARCH_BIRTH_MY_JURISDICTION),
|
210
191
|
import_zod.z.literal(SCOPES.SEARCH_BIRTH),
|
211
192
|
import_zod.z.literal(SCOPES.SEARCH_DEATH_MY_JURISDICTION),
|
212
193
|
import_zod.z.literal(SCOPES.SEARCH_DEATH),
|
213
194
|
import_zod.z.literal(SCOPES.SEARCH_MARRIAGE_MY_JURISDICTION),
|
214
|
-
import_zod.z.literal(SCOPES.SEARCH_MARRIAGE)
|
215
|
-
]);
|
216
|
-
var AuditScopes = import_zod.z.union([
|
195
|
+
import_zod.z.literal(SCOPES.SEARCH_MARRIAGE),
|
217
196
|
import_zod.z.literal(SCOPES.RECORD_READ),
|
218
197
|
import_zod.z.literal(SCOPES.RECORD_READ_AUDIT),
|
219
198
|
import_zod.z.literal(SCOPES.RECORD_READ_COMMENTS),
|
220
|
-
import_zod.z.literal(SCOPES.RECORD_CREATE_COMMENTS)
|
221
|
-
]);
|
222
|
-
var ProfileScopes = import_zod.z.union([
|
199
|
+
import_zod.z.literal(SCOPES.RECORD_CREATE_COMMENTS),
|
223
200
|
import_zod.z.literal(SCOPES.PROFILE_UPDATE),
|
224
|
-
import_zod.z.literal(SCOPES.PROFILE_ELECTRONIC_SIGNATURE)
|
225
|
-
]);
|
226
|
-
var PerformanceScopes = import_zod.z.union([
|
201
|
+
import_zod.z.literal(SCOPES.PROFILE_ELECTRONIC_SIGNATURE),
|
227
202
|
import_zod.z.literal(SCOPES.PERFORMANCE_READ),
|
228
203
|
import_zod.z.literal(SCOPES.PERFORMANCE_READ_DASHBOARDS),
|
229
|
-
import_zod.z.literal(SCOPES.PERFORMANCE_EXPORT_VITAL_STATISTICS)
|
230
|
-
]);
|
231
|
-
var OrganisationScopes = import_zod.z.union([
|
204
|
+
import_zod.z.literal(SCOPES.PERFORMANCE_EXPORT_VITAL_STATISTICS),
|
232
205
|
import_zod.z.literal(SCOPES.ORGANISATION_READ_LOCATIONS),
|
233
206
|
import_zod.z.literal(SCOPES.ORGANISATION_READ_LOCATIONS_MY_OFFICE),
|
234
|
-
import_zod.z.literal(SCOPES.ORGANISATION_READ_LOCATIONS_MY_JURISDICTION)
|
235
|
-
]);
|
236
|
-
var UserScopes = import_zod.z.union([
|
207
|
+
import_zod.z.literal(SCOPES.ORGANISATION_READ_LOCATIONS_MY_JURISDICTION),
|
237
208
|
import_zod.z.literal(SCOPES.USER_READ),
|
238
209
|
import_zod.z.literal(SCOPES.USER_READ_MY_OFFICE),
|
239
210
|
import_zod.z.literal(SCOPES.USER_READ_MY_JURISDICTION),
|
@@ -241,29 +212,11 @@ var UserScopes = import_zod.z.union([
|
|
241
212
|
import_zod.z.literal(SCOPES.USER_CREATE),
|
242
213
|
import_zod.z.literal(SCOPES.USER_CREATE_MY_JURISDICTION),
|
243
214
|
import_zod.z.literal(SCOPES.USER_UPDATE),
|
244
|
-
import_zod.z.literal(SCOPES.USER_UPDATE_MY_JURISDICTION)
|
245
|
-
|
246
|
-
|
247
|
-
var DataSeedingScope = import_zod.z.literal(SCOPES.USER_DATA_SEEDING);
|
248
|
-
var LiteralScopes = import_zod.z.union([
|
249
|
-
LegacyScopes,
|
250
|
-
IntegrationScopes,
|
251
|
-
UnassignScope,
|
252
|
-
DeclareScopes,
|
253
|
-
ValidateScopes,
|
254
|
-
RegisterScope,
|
255
|
-
CertifyScopes,
|
256
|
-
CorrectionScopes,
|
257
|
-
SearchScopes,
|
258
|
-
AuditScopes,
|
259
|
-
ProfileScopes,
|
260
|
-
PerformanceScopes,
|
261
|
-
OrganisationScopes,
|
262
|
-
UserScopes,
|
263
|
-
ConfigScope,
|
264
|
-
DataSeedingScope
|
215
|
+
import_zod.z.literal(SCOPES.USER_UPDATE_MY_JURISDICTION),
|
216
|
+
import_zod.z.literal(SCOPES.CONFIG_UPDATE_ALL),
|
217
|
+
import_zod.z.literal(SCOPES.USER_DATA_SEEDING)
|
265
218
|
]);
|
266
|
-
var rawConfigurableScopeRegex = /^([a-zA-Z
|
219
|
+
var rawConfigurableScopeRegex = /^([a-zA-Z]+\.[a-zA-Z]+)\[((?:\w+=\w+(?:\|\w+)*)(:?,\w+=\w+(?:\|\w+)*)*)\]$/;
|
267
220
|
var rawConfigurableScope = import_zod.z.string().regex(rawConfigurableScopeRegex);
|
268
221
|
var CreateUserScope = import_zod.z.object({
|
269
222
|
type: import_zod.z.literal("user.create"),
|
@@ -277,63 +230,15 @@ var EditUserScope = import_zod.z.object({
|
|
277
230
|
role: import_zod.z.array(import_zod.z.string())
|
278
231
|
})
|
279
232
|
});
|
280
|
-
var
|
281
|
-
type: import_zod.z.literal("workqueue"),
|
282
|
-
options: import_zod.z.object({
|
283
|
-
id: import_zod.z.array(import_zod.z.string())
|
284
|
-
})
|
285
|
-
});
|
286
|
-
var NotifyRecordScope = import_zod.z.object({
|
287
|
-
type: import_zod.z.literal("record.notify"),
|
288
|
-
options: import_zod.z.object({
|
289
|
-
event: import_zod.z.array(import_zod.z.string())
|
290
|
-
})
|
291
|
-
});
|
292
|
-
var SearchScope = import_zod.z.object({
|
293
|
-
type: import_zod.z.literal("search"),
|
294
|
-
options: import_zod.z.object({
|
295
|
-
event: import_zod.z.array(import_zod.z.string()).length(1),
|
296
|
-
access: import_zod.z.array(import_zod.z.enum(["my-jurisdiction", "all"])).length(1)
|
297
|
-
})
|
298
|
-
});
|
299
|
-
var ConfigurableRawScopes = import_zod.z.discriminatedUnion("type", [
|
300
|
-
SearchScope,
|
233
|
+
var ConfigurableScopes = import_zod.z.discriminatedUnion("type", [
|
301
234
|
CreateUserScope,
|
302
|
-
EditUserScope
|
303
|
-
WorkqueueScope,
|
304
|
-
NotifyRecordScope
|
235
|
+
EditUserScope
|
305
236
|
]);
|
306
|
-
function flattenAndMergeScopes(scopes2) {
|
307
|
-
if (scopes2.length === 0) return null;
|
308
|
-
const type = scopes2[0].type;
|
309
|
-
const mergedOptions = {};
|
310
|
-
for (const scope of scopes2) {
|
311
|
-
const entries = Object.entries(scope.options);
|
312
|
-
if (entries.length < 2) continue;
|
313
|
-
const sourceValues = entries[0][1];
|
314
|
-
const targetValues = entries[1][1];
|
315
|
-
for (let i = 0; i < sourceValues.length; i++) {
|
316
|
-
mergedOptions[sourceValues[i]] = targetValues[i];
|
317
|
-
}
|
318
|
-
}
|
319
|
-
return { type, options: mergedOptions };
|
320
|
-
}
|
321
237
|
function findScope(scopes2, scopeType) {
|
322
|
-
|
323
|
-
|
324
|
-
const otherScopes = parsedScopes.filter((scope) => scope?.type !== "search");
|
325
|
-
const mergedSearchScope = flattenAndMergeScopes(searchScopes);
|
326
|
-
return [...otherScopes, mergedSearchScope].find(
|
327
|
-
(scope) => scope?.type === scopeType
|
238
|
+
return scopes2.map((rawScope) => parseScope(rawScope)).find(
|
239
|
+
(parsedScope) => parsedScope?.type === scopeType
|
328
240
|
);
|
329
241
|
}
|
330
|
-
function getScopeOptions(rawOptions) {
|
331
|
-
return rawOptions.split(",").reduce((acc, option) => {
|
332
|
-
const [key, value] = option.split("=");
|
333
|
-
acc[key] = value.split("|");
|
334
|
-
return acc;
|
335
|
-
}, {});
|
336
|
-
}
|
337
242
|
function parseScope(scope) {
|
338
243
|
const maybeLiteralScope = LiteralScopes.safeParse(scope);
|
339
244
|
if (maybeLiteralScope.success) {
|
@@ -342,28 +247,23 @@ function parseScope(scope) {
|
|
342
247
|
};
|
343
248
|
}
|
344
249
|
const maybeConfigurableScope = rawConfigurableScope.safeParse(scope);
|
345
|
-
if (
|
346
|
-
|
250
|
+
if (maybeConfigurableScope.success) {
|
251
|
+
const rawScope = maybeConfigurableScope.data;
|
252
|
+
const [, type, rawOptions] = rawScope.match(rawConfigurableScopeRegex) ?? [];
|
253
|
+
const options = rawOptions.split(",").reduce((acc, option) => {
|
254
|
+
const [key, value] = option.split("=");
|
255
|
+
acc[key] = value.split("|");
|
256
|
+
return acc;
|
257
|
+
}, {});
|
258
|
+
const parsedScope = {
|
259
|
+
type,
|
260
|
+
options
|
261
|
+
};
|
262
|
+
const result = ConfigurableScopes.safeParse(parsedScope);
|
263
|
+
if (result.success) {
|
264
|
+
return result.data;
|
265
|
+
}
|
347
266
|
}
|
348
|
-
|
349
|
-
const [, type, rawOptions] = rawScope.match(rawConfigurableScopeRegex) ?? [];
|
350
|
-
const options = getScopeOptions(rawOptions);
|
351
|
-
const parsedScope = {
|
352
|
-
type,
|
353
|
-
options
|
354
|
-
};
|
355
|
-
const result = ConfigurableRawScopes.safeParse(parsedScope);
|
356
|
-
return result.success ? result.data : void 0;
|
357
|
-
}
|
358
|
-
function stringifyScope(scope) {
|
359
|
-
const options = Object.entries(scope.options).map(([key, value]) => `${key}=${value.join("|")}`).join(",");
|
360
|
-
return `${scope.type}[${options}]`;
|
267
|
+
return void 0;
|
361
268
|
}
|
362
269
|
var scopes = Object.values(SCOPES);
|
363
|
-
var ActionScopes = import_zod.z.union([
|
364
|
-
DeclareScopes,
|
365
|
-
ValidateScopes,
|
366
|
-
RegisterScope,
|
367
|
-
CertifyScopes,
|
368
|
-
CorrectionScopes
|
369
|
-
]);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@opencrvs/toolkit",
|
3
|
-
"version": "1.8.1-rc.
|
3
|
+
"version": "1.8.1-rc.a372970",
|
4
4
|
"description": "OpenCRVS toolkit for building country configurations",
|
5
5
|
"license": "MPL-2.0",
|
6
6
|
"exports": {
|
@@ -19,9 +19,8 @@
|
|
19
19
|
"ajv": "^8.17.1",
|
20
20
|
"ajv-formats": "^3.0.1",
|
21
21
|
"superjson": "1.9.0-0",
|
22
|
-
"@trpc/client": "11.
|
23
|
-
"@trpc/server": "11.
|
24
|
-
"zod-openapi": "^4.2.4"
|
22
|
+
"@trpc/client": "^11.0.0-rc.648",
|
23
|
+
"@trpc/server": "^11.0.0-rc.532"
|
25
24
|
},
|
26
25
|
"devDependencies": {
|
27
26
|
"@types/uuid": "^9.0.3",
|