@deepintel-ltd/buildlink-api-contracts 0.2.30 → 0.2.33
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/README.md +1 -1
- package/contracts/auth.d.ts +18 -18
- package/contracts/auth.d.ts.map +1 -1
- package/contracts/auth.js +1 -1
- package/contracts/auth.js.map +1 -1
- package/contracts/budget.d.ts.map +1 -1
- package/contracts/budget.js.map +1 -1
- package/contracts/documents.d.ts +350 -0
- package/contracts/documents.d.ts.map +1 -1
- package/contracts/drawings.d.ts +50 -50
- package/contracts/index.d.ts +5 -3
- package/contracts/index.d.ts.map +1 -1
- package/contracts/index.js +3 -0
- package/contracts/index.js.map +1 -1
- package/contracts/material-index.d.ts +335 -13
- package/contracts/material-index.d.ts.map +1 -1
- package/contracts/material-index.js +12 -1
- package/contracts/material-index.js.map +1 -1
- package/contracts/meetings.d.ts +3845 -129
- package/contracts/meetings.d.ts.map +1 -1
- package/contracts/meetings.js +53 -1
- package/contracts/meetings.js.map +1 -1
- package/contracts/monitoring.d.ts +1133 -0
- package/contracts/monitoring.d.ts.map +1 -1
- package/contracts/monitoring.js +48 -1
- package/contracts/monitoring.js.map +1 -1
- package/contracts/projects.d.ts +344 -0
- package/contracts/projects.d.ts.map +1 -1
- package/contracts/qaqc.d.ts +180 -149
- package/contracts/qaqc.d.ts.map +1 -1
- package/contracts/qaqc.js +10 -10
- package/contracts/qaqc.js.map +1 -1
- package/contracts/rbac.d.ts +16 -16
- package/contracts/rbac.d.ts.map +1 -1
- package/contracts/rbac.js +1 -1
- package/contracts/rbac.js.map +1 -1
- package/contracts/reports.d.ts +72 -0
- package/contracts/reports.d.ts.map +1 -1
- package/contracts/resources.d.ts +280 -0
- package/contracts/resources.d.ts.map +1 -1
- package/contracts/safety.d.ts +6 -6
- package/contracts/schedule.d.ts +420 -0
- package/contracts/schedule.d.ts.map +1 -1
- package/contracts/specifications.d.ts +3059 -4
- package/contracts/specifications.d.ts.map +1 -1
- package/contracts/specifications.js +55 -1
- package/contracts/specifications.js.map +1 -1
- package/contracts/tasks.d.ts +796 -0
- package/contracts/tasks.d.ts.map +1 -1
- package/contracts/transmittals.d.ts +980 -0
- package/contracts/transmittals.d.ts.map +1 -1
- package/contracts/user-admin.d.ts +2277 -0
- package/contracts/user-admin.d.ts.map +1 -0
- package/contracts/user-admin.js +65 -0
- package/contracts/user-admin.js.map +1 -0
- package/package.json +6 -1
- package/schemas/common.d.ts.map +1 -1
- package/schemas/common.js +5 -2
- package/schemas/common.js.map +1 -1
- package/schemas/contractor-ledger.d.ts.map +1 -1
- package/schemas/contractor-ledger.js.map +1 -1
- package/schemas/documents.d.ts +38 -0
- package/schemas/documents.d.ts.map +1 -1
- package/schemas/documents.js +2 -1
- package/schemas/documents.js.map +1 -1
- package/schemas/drawings.d.ts +12 -12
- package/schemas/material-index.d.ts +116 -18
- package/schemas/material-index.d.ts.map +1 -1
- package/schemas/material-index.js +47 -3
- package/schemas/material-index.js.map +1 -1
- package/schemas/meetings.d.ts +641 -12
- package/schemas/meetings.d.ts.map +1 -1
- package/schemas/meetings.js +29 -1
- package/schemas/meetings.js.map +1 -1
- package/schemas/qaqc.d.ts +54 -41
- package/schemas/qaqc.d.ts.map +1 -1
- package/schemas/qaqc.js +18 -19
- package/schemas/qaqc.js.map +1 -1
- package/schemas/reports.d.ts +36 -0
- package/schemas/reports.d.ts.map +1 -1
- package/schemas/reports.js +4 -0
- package/schemas/reports.js.map +1 -1
- package/schemas/resources.d.ts +108 -0
- package/schemas/resources.d.ts.map +1 -1
- package/schemas/resources.js +2 -1
- package/schemas/resources.js.map +1 -1
- package/schemas/schedule.d.ts +232 -0
- package/schemas/schedule.d.ts.map +1 -1
- package/schemas/schedule.js +2 -1
- package/schemas/schedule.js.map +1 -1
- package/schemas/specifications.d.ts +542 -0
- package/schemas/specifications.d.ts.map +1 -1
- package/schemas/specifications.js +31 -1
- package/schemas/specifications.js.map +1 -1
- package/schemas/tasks.d.ts +54 -0
- package/schemas/tasks.d.ts.map +1 -1
- package/schemas/transmittals.d.ts +184 -0
- package/schemas/transmittals.d.ts.map +1 -1
- package/schemas/transmittals.js +3 -1
- package/schemas/transmittals.js.map +1 -1
- package/schemas/user-admin.d.ts +255 -0
- package/schemas/user-admin.d.ts.map +1 -0
- package/schemas/user-admin.js +50 -0
- package/schemas/user-admin.js.map +1 -0
|
@@ -6,7 +6,11 @@ export declare const MaterialRateIndexSchema: z.ZodObject<{
|
|
|
6
6
|
materialKey: z.ZodString;
|
|
7
7
|
name: z.ZodString;
|
|
8
8
|
unit: z.ZodString;
|
|
9
|
-
|
|
9
|
+
/** Legacy Naira price; populated for NGN rows only (null otherwise). */
|
|
10
|
+
priceNgn: z.ZodNullable<z.ZodNumber>;
|
|
11
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
12
|
+
/** Price in `currency`. */
|
|
13
|
+
price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
10
14
|
asOfDate: z.ZodString;
|
|
11
15
|
source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
16
|
createdAt: z.ZodString;
|
|
@@ -18,10 +22,12 @@ export declare const MaterialRateIndexSchema: z.ZodObject<{
|
|
|
18
22
|
name: string;
|
|
19
23
|
unit: string;
|
|
20
24
|
materialKey: string;
|
|
21
|
-
priceNgn: number;
|
|
25
|
+
priceNgn: number | null;
|
|
22
26
|
asOfDate: string;
|
|
23
27
|
companyId?: string | null | undefined;
|
|
24
28
|
projectId?: string | null | undefined;
|
|
29
|
+
currency?: string | undefined;
|
|
30
|
+
price?: number | null | undefined;
|
|
25
31
|
source?: string | null | undefined;
|
|
26
32
|
}, {
|
|
27
33
|
id: string;
|
|
@@ -30,65 +36,142 @@ export declare const MaterialRateIndexSchema: z.ZodObject<{
|
|
|
30
36
|
name: string;
|
|
31
37
|
unit: string;
|
|
32
38
|
materialKey: string;
|
|
33
|
-
priceNgn: number;
|
|
39
|
+
priceNgn: number | null;
|
|
34
40
|
asOfDate: string;
|
|
35
41
|
companyId?: string | null | undefined;
|
|
36
42
|
projectId?: string | null | undefined;
|
|
43
|
+
currency?: string | undefined;
|
|
44
|
+
price?: number | null | undefined;
|
|
37
45
|
source?: string | null | undefined;
|
|
38
46
|
}>;
|
|
39
|
-
export declare const MaterialRateImportRowSchema: z.ZodObject<{
|
|
47
|
+
export declare const MaterialRateImportRowSchema: z.ZodEffects<z.ZodObject<{
|
|
40
48
|
materialKey: z.ZodString;
|
|
41
49
|
name: z.ZodString;
|
|
42
50
|
unit: z.ZodString;
|
|
43
|
-
|
|
51
|
+
/** Legacy Naira price. Still accepted; implies currency NGN. */
|
|
52
|
+
priceNgn: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
/** Price in `currency` (preferred). */
|
|
54
|
+
price: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
/** ISO 4217 code, default NGN. */
|
|
56
|
+
currency: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
|
|
44
57
|
asOfDate: z.ZodString;
|
|
45
58
|
source: z.ZodOptional<z.ZodString>;
|
|
46
59
|
}, "strip", z.ZodTypeAny, {
|
|
47
60
|
name: string;
|
|
61
|
+
currency: string;
|
|
48
62
|
unit: string;
|
|
49
63
|
materialKey: string;
|
|
50
|
-
priceNgn: number;
|
|
51
64
|
asOfDate: string;
|
|
65
|
+
priceNgn?: number | undefined;
|
|
66
|
+
price?: number | undefined;
|
|
52
67
|
source?: string | undefined;
|
|
53
68
|
}, {
|
|
54
69
|
name: string;
|
|
55
70
|
unit: string;
|
|
56
71
|
materialKey: string;
|
|
57
|
-
priceNgn: number;
|
|
58
72
|
asOfDate: string;
|
|
73
|
+
currency?: string | undefined;
|
|
74
|
+
priceNgn?: number | undefined;
|
|
75
|
+
price?: number | undefined;
|
|
76
|
+
source?: string | undefined;
|
|
77
|
+
}>, {
|
|
78
|
+
name: string;
|
|
79
|
+
currency: string;
|
|
80
|
+
unit: string;
|
|
81
|
+
materialKey: string;
|
|
82
|
+
asOfDate: string;
|
|
83
|
+
priceNgn?: number | undefined;
|
|
84
|
+
price?: number | undefined;
|
|
85
|
+
source?: string | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
name: string;
|
|
88
|
+
unit: string;
|
|
89
|
+
materialKey: string;
|
|
90
|
+
asOfDate: string;
|
|
91
|
+
currency?: string | undefined;
|
|
92
|
+
priceNgn?: number | undefined;
|
|
93
|
+
price?: number | undefined;
|
|
59
94
|
source?: string | undefined;
|
|
60
95
|
}>;
|
|
96
|
+
export declare const ListMaterialRatesQuerySchema: z.ZodObject<{
|
|
97
|
+
materialKey: z.ZodOptional<z.ZodString>;
|
|
98
|
+
search: z.ZodOptional<z.ZodString>;
|
|
99
|
+
currency: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
100
|
+
page: z.ZodDefault<z.ZodNumber>;
|
|
101
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
102
|
+
}, "strip", z.ZodTypeAny, {
|
|
103
|
+
page: number;
|
|
104
|
+
limit: number;
|
|
105
|
+
search?: string | undefined;
|
|
106
|
+
currency?: string | undefined;
|
|
107
|
+
materialKey?: string | undefined;
|
|
108
|
+
}, {
|
|
109
|
+
page?: number | undefined;
|
|
110
|
+
limit?: number | undefined;
|
|
111
|
+
search?: string | undefined;
|
|
112
|
+
currency?: string | undefined;
|
|
113
|
+
materialKey?: string | undefined;
|
|
114
|
+
}>;
|
|
61
115
|
export declare const ImportMaterialRatesRequestSchema: z.ZodObject<{
|
|
62
116
|
projectId: z.ZodOptional<z.ZodString>;
|
|
63
|
-
rows: z.ZodArray<z.ZodObject<{
|
|
117
|
+
rows: z.ZodArray<z.ZodEffects<z.ZodObject<{
|
|
64
118
|
materialKey: z.ZodString;
|
|
65
119
|
name: z.ZodString;
|
|
66
120
|
unit: z.ZodString;
|
|
67
|
-
|
|
121
|
+
/** Legacy Naira price. Still accepted; implies currency NGN. */
|
|
122
|
+
priceNgn: z.ZodOptional<z.ZodNumber>;
|
|
123
|
+
/** Price in `currency` (preferred). */
|
|
124
|
+
price: z.ZodOptional<z.ZodNumber>;
|
|
125
|
+
/** ISO 4217 code, default NGN. */
|
|
126
|
+
currency: z.ZodDefault<z.ZodEffects<z.ZodString, string, string>>;
|
|
68
127
|
asOfDate: z.ZodString;
|
|
69
128
|
source: z.ZodOptional<z.ZodString>;
|
|
70
129
|
}, "strip", z.ZodTypeAny, {
|
|
71
130
|
name: string;
|
|
131
|
+
currency: string;
|
|
132
|
+
unit: string;
|
|
133
|
+
materialKey: string;
|
|
134
|
+
asOfDate: string;
|
|
135
|
+
priceNgn?: number | undefined;
|
|
136
|
+
price?: number | undefined;
|
|
137
|
+
source?: string | undefined;
|
|
138
|
+
}, {
|
|
139
|
+
name: string;
|
|
140
|
+
unit: string;
|
|
141
|
+
materialKey: string;
|
|
142
|
+
asOfDate: string;
|
|
143
|
+
currency?: string | undefined;
|
|
144
|
+
priceNgn?: number | undefined;
|
|
145
|
+
price?: number | undefined;
|
|
146
|
+
source?: string | undefined;
|
|
147
|
+
}>, {
|
|
148
|
+
name: string;
|
|
149
|
+
currency: string;
|
|
72
150
|
unit: string;
|
|
73
151
|
materialKey: string;
|
|
74
|
-
priceNgn: number;
|
|
75
152
|
asOfDate: string;
|
|
153
|
+
priceNgn?: number | undefined;
|
|
154
|
+
price?: number | undefined;
|
|
76
155
|
source?: string | undefined;
|
|
77
156
|
}, {
|
|
78
157
|
name: string;
|
|
79
158
|
unit: string;
|
|
80
159
|
materialKey: string;
|
|
81
|
-
priceNgn: number;
|
|
82
160
|
asOfDate: string;
|
|
161
|
+
currency?: string | undefined;
|
|
162
|
+
priceNgn?: number | undefined;
|
|
163
|
+
price?: number | undefined;
|
|
83
164
|
source?: string | undefined;
|
|
84
165
|
}>, "many">;
|
|
85
166
|
}, "strip", z.ZodTypeAny, {
|
|
86
167
|
rows: {
|
|
87
168
|
name: string;
|
|
169
|
+
currency: string;
|
|
88
170
|
unit: string;
|
|
89
171
|
materialKey: string;
|
|
90
|
-
priceNgn: number;
|
|
91
172
|
asOfDate: string;
|
|
173
|
+
priceNgn?: number | undefined;
|
|
174
|
+
price?: number | undefined;
|
|
92
175
|
source?: string | undefined;
|
|
93
176
|
}[];
|
|
94
177
|
projectId?: string | undefined;
|
|
@@ -97,8 +180,10 @@ export declare const ImportMaterialRatesRequestSchema: z.ZodObject<{
|
|
|
97
180
|
name: string;
|
|
98
181
|
unit: string;
|
|
99
182
|
materialKey: string;
|
|
100
|
-
priceNgn: number;
|
|
101
183
|
asOfDate: string;
|
|
184
|
+
currency?: string | undefined;
|
|
185
|
+
priceNgn?: number | undefined;
|
|
186
|
+
price?: number | undefined;
|
|
102
187
|
source?: string | undefined;
|
|
103
188
|
}[];
|
|
104
189
|
projectId?: string | undefined;
|
|
@@ -138,7 +223,11 @@ export declare const MaterialRateIndexResourceSchema: z.ZodObject<{
|
|
|
138
223
|
materialKey: z.ZodString;
|
|
139
224
|
name: z.ZodString;
|
|
140
225
|
unit: z.ZodString;
|
|
141
|
-
|
|
226
|
+
/** Legacy Naira price; populated for NGN rows only (null otherwise). */
|
|
227
|
+
priceNgn: z.ZodNullable<z.ZodNumber>;
|
|
228
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
229
|
+
/** Price in `currency`. */
|
|
230
|
+
price: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
142
231
|
asOfDate: z.ZodString;
|
|
143
232
|
source: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
144
233
|
createdAt: z.ZodString;
|
|
@@ -149,10 +238,12 @@ export declare const MaterialRateIndexResourceSchema: z.ZodObject<{
|
|
|
149
238
|
name: string;
|
|
150
239
|
unit: string;
|
|
151
240
|
materialKey: string;
|
|
152
|
-
priceNgn: number;
|
|
241
|
+
priceNgn: number | null;
|
|
153
242
|
asOfDate: string;
|
|
154
243
|
companyId?: string | null | undefined;
|
|
155
244
|
projectId?: string | null | undefined;
|
|
245
|
+
currency?: string | undefined;
|
|
246
|
+
price?: number | null | undefined;
|
|
156
247
|
source?: string | null | undefined;
|
|
157
248
|
}, {
|
|
158
249
|
createdAt: string;
|
|
@@ -160,10 +251,12 @@ export declare const MaterialRateIndexResourceSchema: z.ZodObject<{
|
|
|
160
251
|
name: string;
|
|
161
252
|
unit: string;
|
|
162
253
|
materialKey: string;
|
|
163
|
-
priceNgn: number;
|
|
254
|
+
priceNgn: number | null;
|
|
164
255
|
asOfDate: string;
|
|
165
256
|
companyId?: string | null | undefined;
|
|
166
257
|
projectId?: string | null | undefined;
|
|
258
|
+
currency?: string | undefined;
|
|
259
|
+
price?: number | null | undefined;
|
|
167
260
|
source?: string | null | undefined;
|
|
168
261
|
}>;
|
|
169
262
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -175,10 +268,12 @@ export declare const MaterialRateIndexResourceSchema: z.ZodObject<{
|
|
|
175
268
|
name: string;
|
|
176
269
|
unit: string;
|
|
177
270
|
materialKey: string;
|
|
178
|
-
priceNgn: number;
|
|
271
|
+
priceNgn: number | null;
|
|
179
272
|
asOfDate: string;
|
|
180
273
|
companyId?: string | null | undefined;
|
|
181
274
|
projectId?: string | null | undefined;
|
|
275
|
+
currency?: string | undefined;
|
|
276
|
+
price?: number | null | undefined;
|
|
182
277
|
source?: string | null | undefined;
|
|
183
278
|
};
|
|
184
279
|
}, {
|
|
@@ -190,10 +285,12 @@ export declare const MaterialRateIndexResourceSchema: z.ZodObject<{
|
|
|
190
285
|
name: string;
|
|
191
286
|
unit: string;
|
|
192
287
|
materialKey: string;
|
|
193
|
-
priceNgn: number;
|
|
288
|
+
priceNgn: number | null;
|
|
194
289
|
asOfDate: string;
|
|
195
290
|
companyId?: string | null | undefined;
|
|
196
291
|
projectId?: string | null | undefined;
|
|
292
|
+
currency?: string | undefined;
|
|
293
|
+
price?: number | null | undefined;
|
|
197
294
|
source?: string | null | undefined;
|
|
198
295
|
};
|
|
199
296
|
}>;
|
|
@@ -251,6 +348,7 @@ export declare const MaterialRateAlertResourceSchema: z.ZodObject<{
|
|
|
251
348
|
};
|
|
252
349
|
}>;
|
|
253
350
|
export type MaterialRateIndex = z.infer<typeof MaterialRateIndexSchema>;
|
|
351
|
+
export type ListMaterialRatesQuery = z.infer<typeof ListMaterialRatesQuerySchema>;
|
|
254
352
|
export type ImportMaterialRatesRequest = z.infer<typeof ImportMaterialRatesRequestSchema>;
|
|
255
353
|
export type MaterialRateAlert = z.infer<typeof MaterialRateAlertSchema>;
|
|
256
354
|
//# sourceMappingURL=material-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-index.d.ts","sourceRoot":"","sources":["../../../src/schemas/material-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"material-index.d.ts","sourceRoot":"","sources":["../../../src/schemas/material-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;IAOlC,wEAAwE;;;IAGxE,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM3B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;IAKpC,gEAAgE;;IAEhE,uCAAuC;;IAEvC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BlC,CAAC;AAEL,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAUvC,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;QA7CzC,gEAAgE;;QAEhE,uCAAuC;;QAEvC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CpC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;QA5E1C,wEAAwE;;;QAGxE,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6E3B,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI1C,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC1F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -7,19 +7,63 @@ export const MaterialRateIndexSchema = z.object({
|
|
|
7
7
|
materialKey: z.string(),
|
|
8
8
|
name: z.string(),
|
|
9
9
|
unit: z.string(),
|
|
10
|
-
|
|
10
|
+
/** Legacy Naira price; populated for NGN rows only (null otherwise). */
|
|
11
|
+
priceNgn: z.number().nullable(),
|
|
12
|
+
currency: z.string().length(3).optional(),
|
|
13
|
+
/** Price in `currency`. */
|
|
14
|
+
price: z.number().nullable().optional(),
|
|
11
15
|
asOfDate: DateTimeSchema,
|
|
12
16
|
source: z.string().nullable().optional(),
|
|
13
17
|
createdAt: DateTimeSchema,
|
|
14
18
|
updatedAt: DateTimeSchema,
|
|
15
19
|
});
|
|
16
|
-
export const MaterialRateImportRowSchema = z
|
|
20
|
+
export const MaterialRateImportRowSchema = z
|
|
21
|
+
.object({
|
|
17
22
|
materialKey: z.string().min(1).max(80),
|
|
18
23
|
name: z.string().min(1).max(200),
|
|
19
24
|
unit: z.string().min(1).max(20),
|
|
20
|
-
|
|
25
|
+
/** Legacy Naira price. Still accepted; implies currency NGN. */
|
|
26
|
+
priceNgn: z.number().min(0).optional(),
|
|
27
|
+
/** Price in `currency` (preferred). */
|
|
28
|
+
price: z.number().min(0).optional(),
|
|
29
|
+
/** ISO 4217 code, default NGN. */
|
|
30
|
+
currency: z
|
|
31
|
+
.string()
|
|
32
|
+
.regex(/^[A-Za-z]{3}$/, 'currency must be an ISO 4217 code')
|
|
33
|
+
.transform(v => v.toUpperCase())
|
|
34
|
+
.default('NGN'),
|
|
21
35
|
asOfDate: DateTimeSchema,
|
|
22
36
|
source: z.string().max(100).optional(),
|
|
37
|
+
})
|
|
38
|
+
.superRefine((row, ctx) => {
|
|
39
|
+
if (row.price === undefined && row.priceNgn === undefined) {
|
|
40
|
+
ctx.addIssue({ code: z.ZodIssueCode.custom, message: 'price or priceNgn is required' });
|
|
41
|
+
}
|
|
42
|
+
if (row.priceNgn !== undefined && row.currency !== 'NGN') {
|
|
43
|
+
ctx.addIssue({
|
|
44
|
+
code: z.ZodIssueCode.custom,
|
|
45
|
+
path: ['priceNgn'],
|
|
46
|
+
message: 'priceNgn can only be used with currency NGN',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (row.priceNgn !== undefined && row.price !== undefined && row.priceNgn !== row.price) {
|
|
50
|
+
ctx.addIssue({
|
|
51
|
+
code: z.ZodIssueCode.custom,
|
|
52
|
+
path: ['price'],
|
|
53
|
+
message: 'price and priceNgn must match for NGN rows',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
export const ListMaterialRatesQuerySchema = z.object({
|
|
58
|
+
materialKey: z.string().min(1).max(80).optional(),
|
|
59
|
+
search: z.string().min(1).max(100).optional(),
|
|
60
|
+
currency: z
|
|
61
|
+
.string()
|
|
62
|
+
.regex(/^[A-Za-z]{3}$/)
|
|
63
|
+
.transform(v => v.toUpperCase())
|
|
64
|
+
.optional(),
|
|
65
|
+
page: z.coerce.number().int().min(1).default(1),
|
|
66
|
+
limit: z.coerce.number().int().min(1).max(100).default(20),
|
|
23
67
|
});
|
|
24
68
|
export const ImportMaterialRatesRequestSchema = z.object({
|
|
25
69
|
projectId: CuidSchema.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-index.js","sourceRoot":"","sources":["../../../src/schemas/material-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,UAAU;IACd,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"material-index.js","sourceRoot":"","sources":["../../../src/schemas/material-index.ts"],"names":[],"mappings":"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"}
|