@centricare/contract 0.1.1 → 0.2.0

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 (53) hide show
  1. package/README.md +31 -50
  2. package/dist/index.cjs +1469 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.mts +3324 -0
  5. package/dist/index.d.ts +3322 -5
  6. package/dist/index.mjs +1325 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/dist/registry/index.cjs +412 -0
  9. package/dist/registry/index.cjs.map +1 -0
  10. package/dist/registry/index.d.mts +60 -0
  11. package/dist/registry/index.d.ts +60 -0
  12. package/dist/registry/index.mjs +405 -0
  13. package/dist/registry/index.mjs.map +1 -0
  14. package/package.json +29 -8
  15. package/dist/commons/api-response.d.ts +0 -178
  16. package/dist/commons/api-response.d.ts.map +0 -1
  17. package/dist/commons/api-response.js +0 -49
  18. package/dist/commons/api-response.js.map +0 -1
  19. package/dist/commons/coded-concept.d.ts +0 -28
  20. package/dist/commons/coded-concept.d.ts.map +0 -1
  21. package/dist/commons/coded-concept.js +0 -20
  22. package/dist/commons/coded-concept.js.map +0 -1
  23. package/dist/commons/index.d.ts +0 -9
  24. package/dist/commons/index.d.ts.map +0 -1
  25. package/dist/commons/index.js +0 -9
  26. package/dist/commons/index.js.map +0 -1
  27. package/dist/commons/setting-option.d.ts +0 -37
  28. package/dist/commons/setting-option.d.ts.map +0 -1
  29. package/dist/commons/setting-option.js +0 -27
  30. package/dist/commons/setting-option.js.map +0 -1
  31. package/dist/commons/timestamp.d.ts +0 -7
  32. package/dist/commons/timestamp.d.ts.map +0 -1
  33. package/dist/commons/timestamp.js +0 -9
  34. package/dist/commons/timestamp.js.map +0 -1
  35. package/dist/example.test.d.ts +0 -6
  36. package/dist/example.test.d.ts.map +0 -1
  37. package/dist/example.test.js +0 -147
  38. package/dist/example.test.js.map +0 -1
  39. package/dist/index.d.ts.map +0 -1
  40. package/dist/index.js +0 -7
  41. package/dist/index.js.map +0 -1
  42. package/dist/models/index.d.ts +0 -6
  43. package/dist/models/index.d.ts.map +0 -1
  44. package/dist/models/index.js +0 -6
  45. package/dist/models/index.js.map +0 -1
  46. package/dist/models/settings.d.ts +0 -189
  47. package/dist/models/settings.d.ts.map +0 -1
  48. package/dist/models/settings.js +0 -34
  49. package/dist/models/settings.js.map +0 -1
  50. package/dist/models/user.d.ts +0 -1110
  51. package/dist/models/user.d.ts.map +0 -1
  52. package/dist/models/user.js +0 -59
  53. package/dist/models/user.js.map +0 -1
@@ -1,178 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Pagination metadata included in every standardized API response.
4
- */
5
- export declare const metadataSchema: z.ZodObject<{
6
- total: z.ZodNumber;
7
- offset: z.ZodNumber;
8
- limit: z.ZodNumber;
9
- next: z.ZodNullable<z.ZodString>;
10
- previous: z.ZodNullable<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- offset: number;
13
- total: number;
14
- limit: number;
15
- next: string | null;
16
- previous: string | null;
17
- }, {
18
- offset: number;
19
- total: number;
20
- limit: number;
21
- next: string | null;
22
- previous: string | null;
23
- }>;
24
- export type Metadata = z.infer<typeof metadataSchema>;
25
- /**
26
- * Standardized API response envelope used by CentriCare services.
27
- * Based on /Docs/API/1. Standardized Response.md
28
- *
29
- * {
30
- * "success": true,
31
- * "message": "Successfully do something",
32
- * "status_code": "200",
33
- * "data": [],
34
- * "metadata": {
35
- * "total": 1,
36
- * "offset": 0,
37
- * "limit": 1,
38
- * "next": null,
39
- * "previous": null
40
- * }
41
- * }
42
- */
43
- export declare const apiResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodObject<{
44
- success: z.ZodBoolean;
45
- message: z.ZodString;
46
- status_code: z.ZodString;
47
- data: z.ZodArray<T, "many">;
48
- metadata: z.ZodObject<{
49
- total: z.ZodNumber;
50
- offset: z.ZodNumber;
51
- limit: z.ZodNumber;
52
- next: z.ZodNullable<z.ZodString>;
53
- previous: z.ZodNullable<z.ZodString>;
54
- }, "strip", z.ZodTypeAny, {
55
- offset: number;
56
- total: number;
57
- limit: number;
58
- next: string | null;
59
- previous: string | null;
60
- }, {
61
- offset: number;
62
- total: number;
63
- limit: number;
64
- next: string | null;
65
- previous: string | null;
66
- }>;
67
- }, "strip", z.ZodTypeAny, {
68
- message: string;
69
- success: boolean;
70
- status_code: string;
71
- data: T["_output"][];
72
- metadata: {
73
- offset: number;
74
- total: number;
75
- limit: number;
76
- next: string | null;
77
- previous: string | null;
78
- };
79
- }, {
80
- message: string;
81
- success: boolean;
82
- status_code: string;
83
- data: T["_input"][];
84
- metadata: {
85
- offset: number;
86
- total: number;
87
- limit: number;
88
- next: string | null;
89
- previous: string | null;
90
- };
91
- }>;
92
- export type ApiResponse<T> = {
93
- success: boolean;
94
- message: string;
95
- status_code: string;
96
- data: T[];
97
- metadata: Metadata;
98
- };
99
- /**
100
- * Schema for a single-resource API response.
101
- * For single-resource requests, metadata.total is always 1,
102
- * offset and limit default to 0, and next/previous are null.
103
- */
104
- export declare const singleResourceResponseSchema: <T extends z.ZodTypeAny>(dataSchema: T) => z.ZodEffects<z.ZodObject<{
105
- success: z.ZodBoolean;
106
- message: z.ZodString;
107
- status_code: z.ZodString;
108
- data: z.ZodArray<T, "many">;
109
- metadata: z.ZodObject<{
110
- total: z.ZodNumber;
111
- offset: z.ZodNumber;
112
- limit: z.ZodNumber;
113
- next: z.ZodNullable<z.ZodString>;
114
- previous: z.ZodNullable<z.ZodString>;
115
- }, "strip", z.ZodTypeAny, {
116
- offset: number;
117
- total: number;
118
- limit: number;
119
- next: string | null;
120
- previous: string | null;
121
- }, {
122
- offset: number;
123
- total: number;
124
- limit: number;
125
- next: string | null;
126
- previous: string | null;
127
- }>;
128
- }, "strip", z.ZodTypeAny, {
129
- message: string;
130
- success: boolean;
131
- status_code: string;
132
- data: T["_output"][];
133
- metadata: {
134
- offset: number;
135
- total: number;
136
- limit: number;
137
- next: string | null;
138
- previous: string | null;
139
- };
140
- }, {
141
- message: string;
142
- success: boolean;
143
- status_code: string;
144
- data: T["_input"][];
145
- metadata: {
146
- offset: number;
147
- total: number;
148
- limit: number;
149
- next: string | null;
150
- previous: string | null;
151
- };
152
- }>, {
153
- message: string;
154
- success: boolean;
155
- status_code: string;
156
- data: T["_output"][];
157
- metadata: {
158
- offset: number;
159
- total: number;
160
- limit: number;
161
- next: string | null;
162
- previous: string | null;
163
- };
164
- }, {
165
- message: string;
166
- success: boolean;
167
- status_code: string;
168
- data: T["_input"][];
169
- metadata: {
170
- offset: number;
171
- total: number;
172
- limit: number;
173
- next: string | null;
174
- previous: string | null;
175
- };
176
- }>;
177
- export type SingleResourceResponse<T extends z.ZodTypeAny> = z.infer<ReturnType<typeof singleResourceResponseSchema<T>>>;
178
- //# sourceMappingURL=api-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-response.d.ts","sourceRoot":"","sources":["../../src/commons/api-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOnE,CAAC;AAEL,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,CAAC,CAAC,UAAU,EACjE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaZ,CAAC;AAEJ,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAClE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC"}
@@ -1,49 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * Pagination metadata included in every standardized API response.
4
- */
5
- export const metadataSchema = z.object({
6
- total: z.number().int().nonnegative(),
7
- offset: z.number().int().nonnegative(),
8
- limit: z.number().int().nonnegative(),
9
- next: z.string().nullable(),
10
- previous: z.string().nullable(),
11
- });
12
- /**
13
- * Standardized API response envelope used by CentriCare services.
14
- * Based on /Docs/API/1. Standardized Response.md
15
- *
16
- * {
17
- * "success": true,
18
- * "message": "Successfully do something",
19
- * "status_code": "200",
20
- * "data": [],
21
- * "metadata": {
22
- * "total": 1,
23
- * "offset": 0,
24
- * "limit": 1,
25
- * "next": null,
26
- * "previous": null
27
- * }
28
- * }
29
- */
30
- export const apiResponseSchema = (dataSchema) => z.object({
31
- success: z.boolean(),
32
- message: z.string(),
33
- status_code: z.string(),
34
- data: z.array(dataSchema),
35
- metadata: metadataSchema,
36
- });
37
- /**
38
- * Schema for a single-resource API response.
39
- * For single-resource requests, metadata.total is always 1,
40
- * offset and limit default to 0, and next/previous are null.
41
- */
42
- export const singleResourceResponseSchema = (dataSchema) => apiResponseSchema(dataSchema).refine((data) => data.metadata.total === 1 &&
43
- data.metadata.offset === 0 &&
44
- data.metadata.limit === 0 &&
45
- data.metadata.next === null &&
46
- data.metadata.previous === null, {
47
- message: "Single resource response metadata must have total=1, offset=0, limit=0, next=null, previous=null",
48
- });
49
- //# sourceMappingURL=api-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-response.js","sourceRoot":"","sources":["../../src/commons/api-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAyB,UAAa,EAAE,EAAE,CACzE,CAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAUL;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAAa,EACb,EAAE,CACF,iBAAiB,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;IAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,EACjC;IACE,OAAO,EACL,kGAAkG;CACrG,CACF,CAAC"}
@@ -1,28 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * CodedConcept - A data type for coded system values based on a defined code system.
4
- * Used across CentriCare models for statuses, identifiers, contacts, demographic fields, etc.
5
- *
6
- * Accepts only codes and code systems registered in the CentriCare Registry.
7
- */
8
- export declare const codedConceptSchema: z.ZodObject<{
9
- system: z.ZodString;
10
- value: z.ZodString;
11
- display: z.ZodOptional<z.ZodString>;
12
- valid: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
13
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
14
- }, "strip", z.ZodTypeAny, {
15
- value: string;
16
- system: string;
17
- valid?: string | undefined;
18
- display?: string | undefined;
19
- tags?: string[] | undefined;
20
- }, {
21
- value: string;
22
- system: string;
23
- valid?: string | undefined;
24
- display?: string | undefined;
25
- tags?: string[] | undefined;
26
- }>;
27
- export type CodedConcept = z.infer<typeof codedConceptSchema>;
28
- //# sourceMappingURL=coded-concept.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coded-concept.d.ts","sourceRoot":"","sources":["../../src/commons/coded-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { z } from "zod";
2
- import { timestampSchema } from "./timestamp";
3
- /**
4
- * CodedConcept - A data type for coded system values based on a defined code system.
5
- * Used across CentriCare models for statuses, identifiers, contacts, demographic fields, etc.
6
- *
7
- * Accepts only codes and code systems registered in the CentriCare Registry.
8
- */
9
- export const codedConceptSchema = z.object({
10
- system: z.string().min(1, { message: "system is required" }),
11
- value: z.string().min(1, { message: "value is required" }),
12
- display: z.string().optional(),
13
- valid: z
14
- .string()
15
- .datetime({ offset: true })
16
- .optional()
17
- .refine((val) => !val || timestampSchema.safeParse(val).success, { message: "valid must be a valid ISO 8601 datetime if provided" }),
18
- tags: z.array(z.string()).optional(),
19
- });
20
- //# sourceMappingURL=coded-concept.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coded-concept.js","sourceRoot":"","sources":["../../src/commons/coded-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1B,QAAQ,EAAE;SACV,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EACvD,EAAE,OAAO,EAAE,qDAAqD,EAAE,CACnE;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Shared/primitive schemas used across CentriCare projects.
3
- * Each schema lives in its own file.
4
- */
5
- export * from "./timestamp";
6
- export * from "./api-response";
7
- export * from "./setting-option";
8
- export * from "./coded-concept";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commons/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Shared/primitive schemas used across CentriCare projects.
3
- * Each schema lives in its own file.
4
- */
5
- export * from "./timestamp";
6
- export * from "./api-response";
7
- export * from "./setting-option";
8
- export * from "./coded-concept";
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commons/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -1,37 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * The type of a setting option value.
4
- *
5
- * Accepts "string", "number", "boolean", "date", or an array of those
6
- * for options with multiple choices. Also accepts any valid registry system
7
- * path (e.g. "crn:status:system") for options whose input type is determined
8
- * by a registry code system.
9
- */
10
- export declare const settingOptionTypeSchema: z.ZodUnion<[z.ZodEnum<["string", "number", "boolean", "date"]>, z.ZodArray<z.ZodEnum<["string", "number", "boolean", "date"]>, "many">, z.ZodString]>;
11
- export type SettingOptionType = z.infer<typeof settingOptionTypeSchema>;
12
- /**
13
- * A single setting option item.
14
- *
15
- * - `default` and `value` can be null but cannot be undefined or missing.
16
- */
17
- export declare const settingOptionSchema: z.ZodObject<{
18
- field: z.ZodString;
19
- label: z.ZodOptional<z.ZodString>;
20
- type: z.ZodUnion<[z.ZodEnum<["string", "number", "boolean", "date"]>, z.ZodArray<z.ZodEnum<["string", "number", "boolean", "date"]>, "many">, z.ZodString]>;
21
- default: z.ZodNullable<z.ZodString>;
22
- value: z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
23
- }, "strip", z.ZodTypeAny, {
24
- value: string | number | boolean | null;
25
- type: string | ("string" | "number" | "boolean" | "date")[];
26
- field: string;
27
- default: string | null;
28
- label?: string | undefined;
29
- }, {
30
- value: string | number | boolean | null;
31
- type: string | ("string" | "number" | "boolean" | "date")[];
32
- field: string;
33
- default: string | null;
34
- label?: string | undefined;
35
- }>;
36
- export type SettingOption = z.infer<typeof settingOptionSchema>;
37
- //# sourceMappingURL=setting-option.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setting-option.d.ts","sourceRoot":"","sources":["../../src/commons/setting-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,uJAIlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * The type of a setting option value.
4
- *
5
- * Accepts "string", "number", "boolean", "date", or an array of those
6
- * for options with multiple choices. Also accepts any valid registry system
7
- * path (e.g. "crn:status:system") for options whose input type is determined
8
- * by a registry code system.
9
- */
10
- export const settingOptionTypeSchema = z.union([
11
- z.enum(["string", "number", "boolean", "date"]),
12
- z.array(z.enum(["string", "number", "boolean", "date"])),
13
- z.string(),
14
- ]);
15
- /**
16
- * A single setting option item.
17
- *
18
- * - `default` and `value` can be null but cannot be undefined or missing.
19
- */
20
- export const settingOptionSchema = z.object({
21
- field: z.string().min(1, { message: "field is required" }),
22
- label: z.string().optional(),
23
- type: settingOptionTypeSchema,
24
- default: z.string().nullable(),
25
- value: z.union([z.string(), z.boolean(), z.number()]).nullable(),
26
- });
27
- //# sourceMappingURL=setting-option.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setting-option.js","sourceRoot":"","sources":["../../src/commons/setting-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,MAAM,EAAE;CACX,CAAC,CAAC;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjE,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * ISO 8601 timestamp string.
4
- */
5
- export declare const timestampSchema: z.ZodString;
6
- export type Timestamp = z.infer<typeof timestampSchema>;
7
- //# sourceMappingURL=timestamp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/commons/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe,aAG1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { z } from "zod";
2
- /**
3
- * ISO 8601 timestamp string.
4
- */
5
- export const timestampSchema = z.string().datetime({
6
- offset: true,
7
- message: 'Invalid timestamp: must be an ISO 8601 datetime',
8
- });
9
- //# sourceMappingURL=timestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/commons/timestamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;IACjD,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,iDAAiD;CAC3D,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Example usage and sanity checks for the standardized schemas.
3
- * Run with: npx tsx src/example.test.ts (requires tsx)
4
- */
5
- export {};
6
- //# sourceMappingURL=example.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.test.d.ts","sourceRoot":"","sources":["../src/example.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,147 +0,0 @@
1
- /**
2
- * Example usage and sanity checks for the standardized schemas.
3
- * Run with: npx tsx src/example.test.ts (requires tsx)
4
- */
5
- import assert from "assert";
6
- import { userSchema, createUserSchema, } from "./models/user";
7
- import { settingsSchema } from "./models/settings";
8
- import { codedConceptSchema } from "./commons/coded-concept";
9
- // --- CodedConcept schema ---
10
- const validCodedConcept = codedConceptSchema.parse({
11
- system: "crn:status:system",
12
- value: "active",
13
- display: "Active",
14
- });
15
- assert(validCodedConcept.system === "crn:status:system");
16
- assert(validCodedConcept.value === "active");
17
- const missingSystem = codedConceptSchema.safeParse({ value: "active" });
18
- assert(!missingSystem.success);
19
- // --- User schema ---
20
- const validUser = userSchema.parse({
21
- id: "550e8400-e29b-41d4-a716-446655440000",
22
- full_name: "Dr. Cynthia Veronica Manurung Sp.PD",
23
- first_name: "Cynthia",
24
- middle_name: "Veronica",
25
- last_name: "Manurung",
26
- salutation: "Dr.",
27
- title: "Sp.PD",
28
- email: "cynthiavm@mail.com",
29
- email_verified: true,
30
- image: "https://image.url.com",
31
- statuses: [
32
- { system: "crn:status:system", value: "active", display: "Active" },
33
- ],
34
- identifiers: [{ system: "crn:identifier:nik", value: "23442771929004" }],
35
- demographic: {
36
- sex: { system: "crn:sex", value: "f", display: "Female" },
37
- religion: {
38
- system: "crn:believes",
39
- value: "protestantism",
40
- display: "Protestant",
41
- },
42
- ethnicity: "Batak",
43
- marital_status: {
44
- system: "crn:status:marital",
45
- value: "married",
46
- display: "Married",
47
- },
48
- date_of_birth: "21-06-1984",
49
- place_of_birth: "Jakarta",
50
- },
51
- contacts: [{ system: "crn:contact:phone", value: "02188521488" }],
52
- settings_id: "123",
53
- created_at: "2026-10-02 21:27:00+07",
54
- updated_at: "2026-10-02 21:27:00+07",
55
- });
56
- assert(validUser.full_name === "Dr. Cynthia Veronica Manurung Sp.PD");
57
- assert(validUser.email === "cynthiavm@mail.com");
58
- assert(validUser.statuses[0].system === "crn:status:system");
59
- // User without optional fields
60
- const minimalUser = userSchema.parse({
61
- id: "550e8400-e29b-41d4-a716-446655440001",
62
- full_name: "John Doe",
63
- first_name: "John",
64
- last_name: "Doe",
65
- email: "john@example.com",
66
- email_verified: false,
67
- statuses: [{ system: "crn:status:system", value: "active" }],
68
- identifiers: [{ system: "crn:identifier:nik", value: "1234567890" }],
69
- demographic: {
70
- sex: { system: "crn:sex", value: "m" },
71
- religion: { system: "crn:believes", value: "islam" },
72
- marital_status: { system: "crn:status:marital", value: "single" },
73
- date_of_birth: "01-01-1990",
74
- },
75
- settings_id: "settings-1",
76
- created_at: "2026-10-02 21:27:00+07",
77
- updated_at: "2026-10-02 21:27:00+07",
78
- });
79
- assert(minimalUser.middle_name === undefined);
80
- assert(minimalUser.contacts === undefined);
81
- // Create user input (no auto-generated fields)
82
- const createInput = {
83
- full_name: "Jane Doe",
84
- first_name: "Jane",
85
- last_name: "Doe",
86
- email: "jane@example.com",
87
- email_verified: true,
88
- statuses: [{ system: "crn:status:system", value: "active" }],
89
- identifiers: [{ system: "crn:identifier:nik", value: "999" }],
90
- demographic: {
91
- sex: { system: "crn:sex", value: "f" },
92
- religion: { system: "crn:believes", value: "buddhism" },
93
- marital_status: { system: "crn:status:marital", value: "single" },
94
- date_of_birth: "01-01-1995",
95
- },
96
- settings_id: "settings-2",
97
- };
98
- const parsedCreate = createUserSchema.parse(createInput);
99
- assert(parsedCreate.full_name === "Jane Doe");
100
- // Invalid email
101
- const invalidUser = { ...validUser, email: "not-an-email" };
102
- const safeResult = userSchema.safeParse(invalidUser);
103
- assert(!safeResult.success);
104
- // --- Settings schema ---
105
- const validSettings = settingsSchema.parse({
106
- _id: "123",
107
- scope: "user",
108
- options: [
109
- {
110
- field: "lock_screen",
111
- label: "Enable lock screen?",
112
- type: "boolean",
113
- default: false,
114
- value: true,
115
- },
116
- {
117
- field: "lock_screen_pin",
118
- label: "Lock screen pin",
119
- type: "string",
120
- default: null,
121
- value: "1234",
122
- },
123
- {
124
- field: "theme",
125
- label: "Theme",
126
- type: ["light", "dark"],
127
- default: "light",
128
- value: "dark",
129
- },
130
- {
131
- field: "status_preference",
132
- label: "Preferred status",
133
- type: "crn:status:system",
134
- default: null,
135
- value: "active",
136
- },
137
- ],
138
- updated_at: "2026-10-02 21:27:00+07",
139
- updated_by: "123",
140
- schema_version: 1,
141
- });
142
- assert(validSettings.scope === "user");
143
- assert(validSettings.options[0].type === "boolean");
144
- assert(validSettings.options[2].type[0] === "light");
145
- assert(validSettings.options[3].type === "crn:status:system");
146
- console.log("All example schema checks passed.");
147
- //# sourceMappingURL=example.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.test.js","sourceRoot":"","sources":["../src/example.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * @centricare/contract
3
- * Standardized Zod schemas used across CentriCare projects.
4
- */
5
- export * from "./commons";
6
- export * from "./models";
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Data entity schemas used by CentriCare projects.
3
- */
4
- export * from "./user";
5
- export * from "./settings";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Data entity schemas used by CentriCare projects.
3
- */
4
- export * from "./user";
5
- export * from "./settings";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}