@opencrvs/toolkit 1.8.0-rc.fef85f2 → 1.8.0-rc.ff0b26c

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 (32) hide show
  1. package/dist/commons/api/router.d.ts +10585 -4200
  2. package/dist/commons/conditionals/conditionals.d.ts +9 -6
  3. package/dist/commons/events/ActionConfig.d.ts +97080 -1720
  4. package/dist/commons/events/ActionDocument.d.ts +542 -211
  5. package/dist/commons/events/ActionInput.d.ts +248 -240
  6. package/dist/commons/events/AdvancedSearchConfig.d.ts +957 -22
  7. package/dist/commons/events/Draft.d.ts +33 -20
  8. package/dist/commons/events/EventConfig.d.ts +46237 -1398
  9. package/dist/commons/events/EventDocument.d.ts +337 -159
  10. package/dist/commons/events/EventIndex.d.ts +1735 -16
  11. package/dist/commons/events/EventInput.d.ts +13 -0
  12. package/dist/commons/events/EventMetadata.d.ts +274 -14
  13. package/dist/commons/events/FieldConfig.d.ts +4229 -744
  14. package/dist/commons/events/FieldType.d.ts +3 -3
  15. package/dist/commons/events/FieldTypeMapping.d.ts +11 -4
  16. package/dist/commons/events/FieldValue.d.ts +7 -4
  17. package/dist/commons/events/FormConfig.d.ts +43591 -439
  18. package/dist/commons/events/PageConfig.d.ts +10860 -204
  19. package/dist/commons/events/SummaryConfig.d.ts +17 -47
  20. package/dist/commons/events/WorkqueueConfig.d.ts +1549 -19
  21. package/dist/commons/events/defineConfig.d.ts +7199 -27
  22. package/dist/commons/events/event.d.ts +54 -0
  23. package/dist/commons/events/field.d.ts +82 -0
  24. package/dist/commons/events/index.d.ts +2 -0
  25. package/dist/commons/events/scopes.d.ts +21 -1
  26. package/dist/commons/events/test.utils.d.ts +10 -47
  27. package/dist/commons/events/utils.d.ts +3665 -67
  28. package/dist/conditionals/index.js +36 -33
  29. package/dist/events/index.js +1771 -966
  30. package/dist/scopes/index.d.ts +158 -1
  31. package/dist/scopes/index.js +152 -1
  32. package/package.json +3 -2
@@ -0,0 +1,54 @@
1
+ import { EventFieldId } from './AdvancedSearchConfig';
2
+ import { EventMetadataKeys, EventMetadataParameter } from './EventMetadata';
3
+ import { SelectOption } from './FieldConfig';
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: EventMetadataKeys): EventMetadataParameter;
51
+ hasAction: (action: import("./ActionType").ActionType) => import("../conditionals/conditionals").JSONSchema;
52
+ };
53
+ export { event };
54
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1,82 @@
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
+ isAfter: () => {
43
+ days: (days: number) => {
44
+ inPast: () => import("../conditionals/conditionals").JSONSchema;
45
+ inFuture: () => import("../conditionals/conditionals").JSONSchema;
46
+ };
47
+ date: (date: string | {
48
+ [key: string]: unknown;
49
+ _fieldId: 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
+ [key: string]: unknown;
60
+ _fieldId: string;
61
+ }) => import("../conditionals/conditionals").JSONSchema;
62
+ now: () => import("../conditionals/conditionals").JSONSchema;
63
+ };
64
+ isEqualTo: (value: string | boolean | {
65
+ [key: string]: unknown;
66
+ _fieldId: string;
67
+ }) => import("../conditionals/conditionals").JSONSchema;
68
+ isFalsy: () => import("../conditionals/conditionals").JSONSchema;
69
+ isUndefined: () => import("../conditionals/conditionals").JSONSchema;
70
+ inArray: (values: string[]) => import("../conditionals/conditionals").JSONSchema;
71
+ isValidEnglishName: () => import("../conditionals/conditionals").JSONSchema;
72
+ matches: (pattern: string) => import("../conditionals/conditionals").JSONSchema;
73
+ isBetween: (min: number, max: number) => import("../conditionals/conditionals").JSONSchema;
74
+ getId: () => {
75
+ fieldId: string;
76
+ };
77
+ /**
78
+ * @private Internal property used for field reference tracking.
79
+ */
80
+ _fieldId: string;
81
+ };
82
+ //# sourceMappingURL=field.d.ts.map
@@ -33,4 +33,6 @@ export * from './TemplateConfig';
33
33
  export * from './scopes';
34
34
  export * from '../conditionals/conditionals';
35
35
  export * from '../conditionals/validate';
36
+ export * from './field';
37
+ export * from './event';
36
38
  //# sourceMappingURL=index.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { Scope } from '../scopes';
2
2
  import { ActionType } from './ActionType';
3
- export declare function hasAnyOfScopes(a: Scope[], b: Scope[]): boolean;
4
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
5
  export declare const ACTION_ALLOWED_SCOPES: {
6
6
  READ: ["record.declare-birth", "record.read", "record.declaration-submit-incomplete", "record.declaration-submit-for-review", "record.register", "record.export-records"];
7
7
  CREATE: ["record.declare-birth", "record.declaration-submit-incomplete", "record.declaration-submit-for-review"];
@@ -21,5 +21,25 @@ export declare const ACTION_ALLOWED_SCOPES: {
21
21
  UNASSIGN: null;
22
22
  DETECT_DUPLICATE: [];
23
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;
24
44
  export declare function filterUnallowedActions(actions: ActionType[], userScopes: Scope[]): ActionType[];
25
45
  //# sourceMappingURL=scopes.d.ts.map
@@ -1,4 +1,4 @@
1
- import { ActionDocument, ActionUpdate } from './ActionDocument';
1
+ import { ActionDocument, ActionUpdate, EventState } from './ActionDocument';
2
2
  import { ArchiveActionInput, AssignActionInput, DeclareActionInput, RegisterActionInput, RejectDeclarationActionInput, RequestCorrectionActionInput, UnassignActionInput, ValidateActionInput } from './ActionInput';
3
3
  import { ActionType } from './ActionType';
4
4
  import { Draft } from './Draft';
@@ -6,46 +6,8 @@ import { EventConfig } from './EventConfig';
6
6
  import { EventDocument } from './EventDocument';
7
7
  import { EventIndex } from './EventIndex';
8
8
  import { EventInput } from './EventInput';
9
- import { FieldValue } from './FieldValue';
10
9
  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>;
10
+ export declare function generateActionDeclarationInput(configuration: EventConfig, action: ActionType): EventState;
49
11
  export declare function generateActionAnnotationInput(configuration: EventConfig, action: ActionType): {};
50
12
  export declare const eventPayloadGenerator: {
51
13
  create: (input?: Partial<EventInput>) => {
@@ -102,7 +64,7 @@ export declare const eventPayloadGenerator: {
102
64
  option: string;
103
65
  filename: string;
104
66
  originalFilename: string;
105
- }[] | undefined>;
67
+ }[] | [string, string] | undefined>;
106
68
  annotation: {};
107
69
  eventId: string;
108
70
  };
@@ -152,7 +114,7 @@ export declare const eventPayloadGenerator: {
152
114
  option: string;
153
115
  filename: string;
154
116
  originalFilename: string;
155
- }[] | undefined>>;
117
+ }[] | [string, string] | undefined>>;
156
118
  eventId: string;
157
119
  };
158
120
  validate: (eventId: string, input?: Partial<Pick<ValidateActionInput, "transactionId" | "declaration" | "annotation">>) => {
@@ -195,7 +157,7 @@ export declare const eventPayloadGenerator: {
195
157
  option: string;
196
158
  filename: string;
197
159
  originalFilename: string;
198
- }[] | undefined>;
160
+ }[] | [string, string] | undefined>;
199
161
  annotation: {};
200
162
  duplicates: never[];
201
163
  eventId: string;
@@ -272,7 +234,7 @@ export declare const eventPayloadGenerator: {
272
234
  option: string;
273
235
  filename: string;
274
236
  originalFilename: string;
275
- }[] | undefined>;
237
+ }[] | [string, string] | undefined>;
276
238
  annotation: {};
277
239
  eventId: string;
278
240
  };
@@ -324,7 +286,7 @@ export declare const eventPayloadGenerator: {
324
286
  option: string;
325
287
  filename: string;
326
288
  originalFilename: string;
327
- }[] | undefined>;
289
+ }[] | [string, string] | undefined>;
328
290
  annotation: {};
329
291
  eventId: string;
330
292
  };
@@ -356,7 +318,8 @@ export declare function generateEventDocument({ configuration, actions }: {
356
318
  configuration: EventConfig;
357
319
  actions: ActionType[];
358
320
  }): EventDocument;
359
- export declare function generateEventDraftDocument(eventId: string, actionType?: ActionType, declaration?: Record<string, FieldValue>): Draft;
360
- export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>) => EventIndex;
321
+ export declare function generateEventDraftDocument(eventId: string, actionType?: ActionType, declaration?: EventState): Draft;
322
+ export declare function getRandomDatetime(rng: () => number, start: Date, end: Date): string;
323
+ export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>, seed?: number) => EventIndex;
361
324
  export declare const generateTranslationConfig: (message: string) => TranslationConfig;
362
325
  //# sourceMappingURL=test.utils.d.ts.map