@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.
- package/dist/commons/api/router.d.ts +12023 -4357
- package/dist/commons/conditionals/conditionals.d.ts +10 -6
- package/dist/commons/conditionals/validate.d.ts +4 -6
- package/dist/commons/events/ActionConfig.d.ts +105057 -1720
- package/dist/commons/events/ActionDocument.d.ts +970 -452
- package/dist/commons/events/ActionInput.d.ts +443 -363
- package/dist/commons/events/AdvancedSearchConfig.d.ts +957 -22
- package/dist/commons/events/CompositeFieldValue.d.ts +3 -0
- package/dist/commons/events/Constants.d.ts +2 -0
- package/dist/commons/events/CountryConfigQueryInput.d.ts +2982 -0
- package/dist/commons/events/CreatedAtLocation.d.ts +2 -0
- package/dist/commons/events/Draft.d.ts +57 -39
- package/dist/commons/events/EventConfig.d.ts +50483 -1345
- package/dist/commons/events/EventDocument.d.ts +630 -330
- package/dist/commons/events/EventIndex.d.ts +1344 -18
- package/dist/commons/events/EventMetadata.d.ts +302 -16
- package/dist/commons/events/FieldConfig.d.ts +4358 -786
- package/dist/commons/events/FieldType.d.ts +3 -3
- package/dist/commons/events/FieldTypeMapping.d.ts +16 -6
- package/dist/commons/events/FieldValue.d.ts +9 -4
- package/dist/commons/events/FormConfig.d.ts +43885 -439
- package/dist/commons/events/PageConfig.d.ts +10930 -204
- package/dist/commons/events/SummaryConfig.d.ts +95 -39
- package/dist/commons/events/User.d.ts +31 -2
- package/dist/commons/events/WorkqueueColumnConfig.d.ts +53 -0
- package/dist/commons/events/WorkqueueConfig.d.ts +4525 -20
- package/dist/commons/events/defineConfig.d.ts +8017 -28
- package/dist/commons/events/event.d.ts +54 -0
- package/dist/commons/events/field.d.ts +73 -0
- package/dist/commons/events/index.d.ts +7 -0
- package/dist/commons/events/scopes.d.ts +45 -0
- package/dist/commons/events/serializer.d.ts +2 -0
- package/dist/commons/events/test.utils.d.ts +35 -51
- package/dist/commons/events/transactions.d.ts +1 -1
- package/dist/commons/events/utils.d.ts +3706 -71
- package/dist/commons/events/workqueueDefaultColumns.d.ts +3 -0
- package/dist/conditionals/index.js +58 -35
- package/dist/events/index.js +3152 -1166
- package/dist/scopes/index.d.ts +94 -6
- package/dist/scopes/index.js +42 -21
- 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
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
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
|
-
|
12
|
-
|
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:
|
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:
|
360
|
-
export declare
|
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("
|
1
|
+
export declare function generateTransactionId(): string & import("zod").BRAND<"UUID">;
|
2
2
|
//# sourceMappingURL=transactions.d.ts.map
|