@opencrvs/toolkit 1.8.0-rc.fb2e700 → 1.8.0-rc.fb5b9fe

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/commons/api/router.d.ts +12023 -4357
  2. package/dist/commons/conditionals/conditionals.d.ts +10 -6
  3. package/dist/commons/conditionals/validate.d.ts +4 -6
  4. package/dist/commons/events/ActionConfig.d.ts +105057 -1720
  5. package/dist/commons/events/ActionDocument.d.ts +970 -452
  6. package/dist/commons/events/ActionInput.d.ts +443 -363
  7. package/dist/commons/events/AdvancedSearchConfig.d.ts +957 -22
  8. package/dist/commons/events/CompositeFieldValue.d.ts +3 -0
  9. package/dist/commons/events/Constants.d.ts +2 -0
  10. package/dist/commons/events/CountryConfigQueryInput.d.ts +2982 -0
  11. package/dist/commons/events/CreatedAtLocation.d.ts +2 -0
  12. package/dist/commons/events/Draft.d.ts +57 -39
  13. package/dist/commons/events/EventConfig.d.ts +50483 -1345
  14. package/dist/commons/events/EventDocument.d.ts +630 -330
  15. package/dist/commons/events/EventIndex.d.ts +1344 -18
  16. package/dist/commons/events/EventMetadata.d.ts +302 -16
  17. package/dist/commons/events/FieldConfig.d.ts +4358 -786
  18. package/dist/commons/events/FieldType.d.ts +3 -3
  19. package/dist/commons/events/FieldTypeMapping.d.ts +16 -6
  20. package/dist/commons/events/FieldValue.d.ts +9 -4
  21. package/dist/commons/events/FormConfig.d.ts +43885 -439
  22. package/dist/commons/events/PageConfig.d.ts +10930 -204
  23. package/dist/commons/events/SummaryConfig.d.ts +95 -39
  24. package/dist/commons/events/User.d.ts +31 -2
  25. package/dist/commons/events/WorkqueueColumnConfig.d.ts +53 -0
  26. package/dist/commons/events/WorkqueueConfig.d.ts +4525 -20
  27. package/dist/commons/events/defineConfig.d.ts +8017 -28
  28. package/dist/commons/events/event.d.ts +54 -0
  29. package/dist/commons/events/field.d.ts +73 -0
  30. package/dist/commons/events/index.d.ts +7 -0
  31. package/dist/commons/events/scopes.d.ts +45 -0
  32. package/dist/commons/events/serializer.d.ts +2 -0
  33. package/dist/commons/events/test.utils.d.ts +35 -51
  34. package/dist/commons/events/transactions.d.ts +1 -1
  35. package/dist/commons/events/utils.d.ts +3706 -71
  36. package/dist/commons/events/workqueueDefaultColumns.d.ts +3 -0
  37. package/dist/conditionals/index.js +58 -35
  38. package/dist/events/index.js +3152 -1166
  39. package/dist/scopes/index.d.ts +94 -6
  40. package/dist/scopes/index.js +42 -21
  41. package/package.json +3 -2
@@ -0,0 +1,54 @@
1
+ import { EventFieldId } from './AdvancedSearchConfig';
2
+ import { SelectOption } from './FieldConfig';
3
+ import { WorkqueueColumnKeys, WorkqueueColumnValue } from './WorkqueueColumnConfig';
4
+ /**
5
+ * Creates a function that acts like a callable + static method container.
6
+ *
7
+ * @example
8
+ * event('status') // → returns search config
9
+ * event.hasAction('CLICKED') // → returns conditional
10
+ */
11
+ declare function eventFn(fieldId: EventFieldId, options?: SelectOption[]): {
12
+ range: () => {
13
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
14
+ options: {
15
+ value: string;
16
+ label: import("./TranslationConfig").TranslationConfig;
17
+ }[] | undefined;
18
+ fieldType: "event";
19
+ } & {
20
+ config: {
21
+ type: "range";
22
+ };
23
+ };
24
+ exact: () => {
25
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
26
+ options: {
27
+ value: string;
28
+ label: import("./TranslationConfig").TranslationConfig;
29
+ }[] | undefined;
30
+ fieldType: "event";
31
+ } & {
32
+ config: {
33
+ type: "exact";
34
+ };
35
+ };
36
+ fuzzy: () => {
37
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
38
+ options: {
39
+ value: string;
40
+ label: import("./TranslationConfig").TranslationConfig;
41
+ }[] | undefined;
42
+ fieldType: "event";
43
+ } & {
44
+ config: {
45
+ type: "fuzzy";
46
+ };
47
+ };
48
+ };
49
+ declare const event: typeof eventFn & {
50
+ field(field: WorkqueueColumnKeys): WorkqueueColumnValue;
51
+ hasAction: (action: import("./ActionType").ActionType) => import("../conditionals/conditionals").JSONSchema;
52
+ };
53
+ export { event };
54
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1,73 @@
1
+ import { FieldConditional } from './Conditional';
2
+ import { TranslationConfig } from './TranslationConfig';
3
+ /**
4
+ * Entry point for defining conditional logic or configuration for a form field.
5
+ * @param fieldId - The ID of the field to define rules or config for.
6
+ * @returns An object combining conditional methods and configuration builders.
7
+ */
8
+ export declare function field(fieldId: string, options?: {
9
+ conditionals?: FieldConditional[];
10
+ searchCriteriaLabelPrefix?: TranslationConfig;
11
+ }): {
12
+ range: () => {
13
+ conditionals?: FieldConditional[];
14
+ searchCriteriaLabelPrefix?: TranslationConfig;
15
+ fieldId: string;
16
+ fieldType: "field";
17
+ } & {
18
+ config: {
19
+ type: "range";
20
+ };
21
+ };
22
+ exact: () => {
23
+ conditionals?: FieldConditional[];
24
+ searchCriteriaLabelPrefix?: TranslationConfig;
25
+ fieldId: string;
26
+ fieldType: "field";
27
+ } & {
28
+ config: {
29
+ type: "exact";
30
+ };
31
+ };
32
+ fuzzy: () => {
33
+ conditionals?: FieldConditional[];
34
+ searchCriteriaLabelPrefix?: TranslationConfig;
35
+ fieldId: string;
36
+ fieldType: "field";
37
+ } & {
38
+ config: {
39
+ type: "fuzzy";
40
+ };
41
+ };
42
+ $$field: string;
43
+ isAfter: () => {
44
+ days: (days: number) => {
45
+ inPast: () => import("../conditionals/conditionals").JSONSchema;
46
+ inFuture: () => import("../conditionals/conditionals").JSONSchema;
47
+ };
48
+ date: (date: string | {
49
+ $$field: string;
50
+ }) => import("../conditionals/conditionals").JSONSchema;
51
+ now: () => import("../conditionals/conditionals").JSONSchema;
52
+ };
53
+ isBefore: () => {
54
+ days: (days: number) => {
55
+ inPast: () => import("../conditionals/conditionals").JSONSchema;
56
+ inFuture: () => import("../conditionals/conditionals").JSONSchema;
57
+ };
58
+ date: (date: string | {
59
+ $$field: string;
60
+ }) => import("../conditionals/conditionals").JSONSchema;
61
+ now: () => import("../conditionals/conditionals").JSONSchema;
62
+ };
63
+ isEqualTo: (value: string | boolean | {
64
+ $$field: string;
65
+ }) => import("../conditionals/conditionals").JSONSchema;
66
+ isFalsy: () => import("../conditionals/conditionals").JSONSchema;
67
+ isUndefined: () => import("../conditionals/conditionals").JSONSchema;
68
+ inArray: (values: string[]) => import("../conditionals/conditionals").JSONSchema;
69
+ isValidEnglishName: () => import("../conditionals/conditionals").JSONSchema;
70
+ matches: (pattern: string) => import("../conditionals/conditionals").JSONSchema;
71
+ isBetween: (min: number, max: number) => import("../conditionals/conditionals").JSONSchema;
72
+ };
73
+ //# sourceMappingURL=field.d.ts.map
@@ -1,3 +1,4 @@
1
+ export * from './Constants';
1
2
  export * from './ActionConfig';
2
3
  export * from './offline';
3
4
  export * from './EventConfig';
@@ -6,6 +7,8 @@ export * from './FieldConfig';
6
7
  export * from './PageConfig';
7
8
  export * from './SummaryConfig';
8
9
  export * from './WorkqueueConfig';
10
+ export * from './WorkqueueColumnConfig';
11
+ export * from './workqueueDefaultColumns';
9
12
  export * from './Draft';
10
13
  export * from './EventMetadata';
11
14
  export * from './EventInput';
@@ -30,6 +33,10 @@ export * from './Conditional';
30
33
  export * from './AdvancedSearchConfig';
31
34
  export * from './test.utils';
32
35
  export * from './TemplateConfig';
36
+ export * from './scopes';
37
+ export * from './serializer';
33
38
  export * from '../conditionals/conditionals';
34
39
  export * from '../conditionals/validate';
40
+ export * from './field';
41
+ export * from './event';
35
42
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,45 @@
1
+ import { Scope } from '../scopes';
2
+ import { ActionType } from './ActionType';
3
+ export declare const CONFIG_GET_ALLOWED_SCOPES: ["record.declare-birth", "record.read", "record.declaration-submit-incomplete", "record.declaration-submit-for-review", "record.register", "record.export-records", "config", "config.update:all"];
4
+ export declare const CONFIG_SEARCH_ALLOWED_SCOPES: ("search.birth:my-jurisdiction" | "search.birth" | "search.death:my-jurisdiction" | "search.death" | "search.marriage:my-jurisdiction" | "search.marriage")[];
5
+ export declare const ACTION_ALLOWED_SCOPES: {
6
+ READ: ["record.declare-birth", "record.read", "record.declaration-submit-incomplete", "record.declaration-submit-for-review", "record.register", "record.export-records"];
7
+ CREATE: ["record.declare-birth", "record.declaration-submit-incomplete", "record.declaration-submit-for-review"];
8
+ NOTIFY: ["record.declaration-submit-incomplete"];
9
+ DECLARE: ["record.declare-birth", "record.declaration-submit-for-approval", "record.register"];
10
+ DELETE: ["record.declare-birth"];
11
+ VALIDATE: ["record.declaration-submit-for-approval", "record.register"];
12
+ REGISTER: ["record.register"];
13
+ PRINT_CERTIFICATE: ["record.registration-print&issue-certified-copies"];
14
+ REQUEST_CORRECTION: ["record.registration-request-correction"];
15
+ REJECT_CORRECTION: ["record.registration-correct"];
16
+ APPROVE_CORRECTION: ["record.registration-correct"];
17
+ MARKED_AS_DUPLICATE: ["record.declaration-archive"];
18
+ ARCHIVE: ["record.declaration-archive"];
19
+ REJECT: ["record.declaration-submit-for-updates"];
20
+ ASSIGN: null;
21
+ UNASSIGN: null;
22
+ DETECT_DUPLICATE: [];
23
+ };
24
+ export declare const ACTION_ALLOWED_CONFIGURABLE_SCOPES: {
25
+ READ: never[];
26
+ CREATE: "record.notify"[];
27
+ NOTIFY: "record.notify"[];
28
+ DECLARE: never[];
29
+ DELETE: never[];
30
+ VALIDATE: never[];
31
+ REGISTER: never[];
32
+ PRINT_CERTIFICATE: never[];
33
+ REQUEST_CORRECTION: never[];
34
+ REJECT_CORRECTION: never[];
35
+ APPROVE_CORRECTION: never[];
36
+ MARKED_AS_DUPLICATE: never[];
37
+ ARCHIVE: never[];
38
+ REJECT: never[];
39
+ ASSIGN: never[];
40
+ UNASSIGN: never[];
41
+ DETECT_DUPLICATE: never[];
42
+ };
43
+ export declare function hasAnyOfScopes(a: Scope[], b: Scope[]): boolean;
44
+ export declare function filterUnallowedActions(actions: ActionType[], userScopes: Scope[]): ActionType[];
45
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { deserializeQuery } from './serializers/user/deserializer';
2
+ //# sourceMappingURL=serializer.d.ts.map
@@ -1,4 +1,5 @@
1
- import { ActionDocument, ActionUpdate } from './ActionDocument';
1
+ import { UUID } from '../uuid';
2
+ import { ActionDocument, ActionUpdate, EventState } from './ActionDocument';
2
3
  import { ArchiveActionInput, AssignActionInput, DeclareActionInput, RegisterActionInput, RejectDeclarationActionInput, RequestCorrectionActionInput, UnassignActionInput, ValidateActionInput } from './ActionInput';
3
4
  import { ActionType } from './ActionType';
4
5
  import { Draft } from './Draft';
@@ -6,46 +7,9 @@ import { EventConfig } from './EventConfig';
6
7
  import { EventDocument } from './EventDocument';
7
8
  import { EventIndex } from './EventIndex';
8
9
  import { EventInput } from './EventInput';
9
- import { FieldValue } from './FieldValue';
10
10
  import { TranslationConfig } from './TranslationConfig';
11
- export declare function generateActionDeclarationInput(configuration: EventConfig, action: ActionType): import("lodash").Dictionary<string | number | boolean | {
12
- type: string;
13
- filename: string;
14
- originalFilename: string;
15
- } | {
16
- country: string;
17
- district: string;
18
- addressType: "DOMESTIC";
19
- province: string;
20
- urbanOrRural: "URBAN";
21
- number?: string | undefined;
22
- town?: string | undefined;
23
- residentialArea?: string | undefined;
24
- street?: string | undefined;
25
- zipCode?: string | undefined;
26
- } | {
27
- country: string;
28
- district: string;
29
- addressType: "DOMESTIC";
30
- province: string;
31
- urbanOrRural: "RURAL";
32
- village?: string | undefined;
33
- } | {
34
- country: string;
35
- state: string;
36
- addressType: "INTERNATIONAL";
37
- district2: string;
38
- cityOrTown?: string | undefined;
39
- addressLine1?: string | undefined;
40
- addressLine2?: string | undefined;
41
- addressLine3?: string | undefined;
42
- postcodeOrZip?: string | undefined;
43
- } | {
44
- type: string;
45
- option: string;
46
- filename: string;
47
- originalFilename: string;
48
- }[] | undefined>;
11
+ import { WorkqueueConfig } from './WorkqueueConfig';
12
+ export declare function generateActionDeclarationInput(configuration: EventConfig, action: ActionType): EventState;
49
13
  export declare function generateActionAnnotationInput(configuration: EventConfig, action: ActionType): {};
50
14
  export declare const eventPayloadGenerator: {
51
15
  create: (input?: Partial<EventInput>) => {
@@ -58,7 +22,7 @@ export declare const eventPayloadGenerator: {
58
22
  id: string;
59
23
  };
60
24
  draft: ({ eventId, actionType }: {
61
- eventId: string;
25
+ eventId: UUID;
62
26
  actionType: ActionType;
63
27
  }, input?: Partial<Draft>) => Draft;
64
28
  actions: {
@@ -102,7 +66,7 @@ export declare const eventPayloadGenerator: {
102
66
  option: string;
103
67
  filename: string;
104
68
  originalFilename: string;
105
- }[] | undefined>;
69
+ }[] | [string, string] | undefined>;
106
70
  annotation: {};
107
71
  eventId: string;
108
72
  };
@@ -152,7 +116,7 @@ export declare const eventPayloadGenerator: {
152
116
  option: string;
153
117
  filename: string;
154
118
  originalFilename: string;
155
- }[] | undefined>>;
119
+ }[] | [string, string] | undefined>>;
156
120
  eventId: string;
157
121
  };
158
122
  validate: (eventId: string, input?: Partial<Pick<ValidateActionInput, "transactionId" | "declaration" | "annotation">>) => {
@@ -195,7 +159,7 @@ export declare const eventPayloadGenerator: {
195
159
  option: string;
196
160
  filename: string;
197
161
  originalFilename: string;
198
- }[] | undefined>;
162
+ }[] | [string, string] | undefined>;
199
163
  annotation: {};
200
164
  duplicates: never[];
201
165
  eventId: string;
@@ -218,11 +182,13 @@ export declare const eventPayloadGenerator: {
218
182
  type: "ARCHIVE";
219
183
  transactionId: string;
220
184
  declaration: {};
221
- annotation: {
222
- isDuplicate: boolean;
223
- };
185
+ annotation: {};
224
186
  duplicates: never[];
225
187
  eventId: string;
188
+ reason: {
189
+ message: string;
190
+ isDuplicate: boolean;
191
+ };
226
192
  };
227
193
  reject: (eventId: string, input?: Partial<Pick<RejectDeclarationActionInput, "transactionId" | "annotation">>) => {
228
194
  type: "REJECT";
@@ -231,6 +197,9 @@ export declare const eventPayloadGenerator: {
231
197
  annotation: {};
232
198
  duplicates: never[];
233
199
  eventId: string;
200
+ reason: {
201
+ message: string;
202
+ };
234
203
  };
235
204
  register: (eventId: string, input?: Partial<Pick<RegisterActionInput, "transactionId" | "declaration" | "annotation">>) => {
236
205
  type: "REGISTER";
@@ -272,7 +241,7 @@ export declare const eventPayloadGenerator: {
272
241
  option: string;
273
242
  filename: string;
274
243
  originalFilename: string;
275
- }[] | undefined>;
244
+ }[] | [string, string] | undefined>;
276
245
  annotation: {};
277
246
  eventId: string;
278
247
  };
@@ -324,7 +293,7 @@ export declare const eventPayloadGenerator: {
324
293
  option: string;
325
294
  filename: string;
326
295
  originalFilename: string;
327
- }[] | undefined>;
296
+ }[] | [string, string] | undefined>;
328
297
  annotation: {};
329
298
  eventId: string;
330
299
  };
@@ -356,7 +325,22 @@ export declare function generateEventDocument({ configuration, actions }: {
356
325
  configuration: EventConfig;
357
326
  actions: ActionType[];
358
327
  }): EventDocument;
359
- export declare function generateEventDraftDocument(eventId: string, actionType?: ActionType, declaration?: Record<string, FieldValue>): Draft;
360
- export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>) => EventIndex;
328
+ export declare function generateEventDraftDocument(eventId: UUID, actionType?: ActionType, declaration?: EventState): Draft;
329
+ export declare function getRandomDatetime(rng: () => number, start: Date, end: Date): string;
330
+ /**
331
+ * Useful for testing when we need deterministic outcome.
332
+ * @param seed - Seed value for the pseudo-random number generator
333
+ *
334
+ * @returns A function that generates pseudo-random numbers between 0 and 1
335
+ */
336
+ export declare function createPseudoRandomNumberGenerator(seed: number): () => number;
337
+ export declare function generateRandomSignature(rng: () => number): string;
338
+ export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>, seed?: number) => EventIndex;
361
339
  export declare const generateTranslationConfig: (message: string) => TranslationConfig;
340
+ export declare const BearerTokenByUserType: {
341
+ fieldAgent: string;
342
+ registrationAgent: string;
343
+ localRegistrar: string;
344
+ };
345
+ export declare const generateWorkqueues: (slug?: string) => WorkqueueConfig[];
362
346
  //# sourceMappingURL=test.utils.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare function generateTransactionId(): import("../uuid").UUID;
1
+ export declare function generateTransactionId(): string & import("zod").BRAND<"UUID">;
2
2
  //# sourceMappingURL=transactions.d.ts.map