@deepintel-ltd/buildlink-api-contracts 0.2.31 → 0.2.34
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.map +1 -1
- package/contracts/auth.js.map +1 -1
- package/contracts/budget.d.ts +824 -6481
- package/contracts/budget.d.ts.map +1 -1
- package/contracts/budget.js +1 -286
- package/contracts/budget.js.map +1 -1
- package/contracts/commercial.d.ts +1 -241
- package/contracts/commercial.d.ts.map +1 -1
- package/contracts/commercial.js +2 -13
- package/contracts/commercial.js.map +1 -1
- package/contracts/communication.d.ts +1014 -1890
- package/contracts/communication.d.ts.map +1 -1
- package/contracts/communication.js +1 -65
- package/contracts/communication.js.map +1 -1
- package/contracts/daily-logs.d.ts +560 -0
- package/contracts/daily-logs.d.ts.map +1 -1
- package/contracts/deficiencies.d.ts +0 -375
- package/contracts/deficiencies.d.ts.map +1 -1
- package/contracts/deficiencies.js +1 -14
- package/contracts/deficiencies.js.map +1 -1
- package/contracts/directory.d.ts +0 -327
- package/contracts/directory.d.ts.map +1 -1
- package/contracts/directory.js +1 -18
- package/contracts/directory.js.map +1 -1
- package/contracts/documents.d.ts +391 -3437
- package/contracts/documents.d.ts.map +1 -1
- package/contracts/documents.js +0 -144
- package/contracts/documents.js.map +1 -1
- package/contracts/drawings.d.ts +441 -2313
- package/contracts/drawings.d.ts.map +1 -1
- package/contracts/drawings.js +1 -98
- package/contracts/drawings.js.map +1 -1
- 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 +435 -1106
- package/contracts/projects.d.ts.map +1 -1
- package/contracts/projects.js +0 -101
- package/contracts/projects.js.map +1 -1
- package/contracts/proof.d.ts +322 -0
- package/contracts/proof.d.ts.map +1 -1
- package/contracts/proof.js +14 -1
- package/contracts/proof.js.map +1 -1
- package/contracts/qaqc.d.ts +874 -0
- package/contracts/qaqc.d.ts.map +1 -1
- package/contracts/qaqc.js +13 -1
- package/contracts/qaqc.js.map +1 -1
- package/contracts/rbac.d.ts.map +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 +1243 -5148
- package/contracts/resources.d.ts.map +1 -1
- package/contracts/resources.js +1 -245
- package/contracts/resources.js.map +1 -1
- package/contracts/safety.d.ts +176 -3685
- package/contracts/safety.d.ts.map +1 -1
- package/contracts/safety.js +1 -238
- package/contracts/safety.js.map +1 -1
- package/contracts/schedule.d.ts +517 -1468
- package/contracts/schedule.d.ts.map +1 -1
- package/contracts/schedule.js +1 -65
- package/contracts/schedule.js.map +1 -1
- package/contracts/specifications.d.ts +2744 -393
- package/contracts/specifications.d.ts.map +1 -1
- package/contracts/specifications.js +49 -10
- package/contracts/specifications.js.map +1 -1
- package/contracts/tasks.d.ts +2653 -3922
- package/contracts/tasks.d.ts.map +1 -1
- package/contracts/tasks.js +1 -149
- package/contracts/tasks.js.map +1 -1
- package/contracts/transmittals.d.ts +980 -0
- package/contracts/transmittals.d.ts.map +1 -1
- package/contracts/user-admin.d.ts +2635 -0
- package/contracts/user-admin.d.ts.map +1 -0
- package/contracts/user-admin.js +73 -0
- package/contracts/user-admin.js.map +1 -0
- package/package.json +6 -1
- package/schemas/budget.d.ts +149 -0
- package/schemas/budget.d.ts.map +1 -1
- package/schemas/budget.js +13 -0
- package/schemas/budget.js.map +1 -1
- package/schemas/communication.d.ts +94 -0
- package/schemas/communication.d.ts.map +1 -1
- package/schemas/communication.js +2 -0
- package/schemas/communication.js.map +1 -1
- package/schemas/daily-logs.d.ts +92 -0
- package/schemas/daily-logs.d.ts.map +1 -1
- package/schemas/daily-logs.js +1 -0
- package/schemas/daily-logs.js.map +1 -1
- package/schemas/documents.d.ts +49 -11
- 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 +24 -24
- 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/proof.d.ts +161 -0
- package/schemas/proof.d.ts.map +1 -1
- package/schemas/proof.js +17 -1
- package/schemas/proof.js.map +1 -1
- package/schemas/qaqc.d.ts +335 -0
- package/schemas/qaqc.d.ts.map +1 -1
- package/schemas/qaqc.js +16 -1
- 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/safety.d.ts +8 -8
- 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 -17
- package/schemas/specifications.d.ts.map +1 -1
- package/schemas/specifications.js +31 -7
- package/schemas/specifications.js.map +1 -1
- package/schemas/tasks.d.ts +58 -4
- 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
package/schemas/drawings.d.ts
CHANGED
|
@@ -222,14 +222,14 @@ export declare const DrawingRevisionSchema: z.ZodObject<{
|
|
|
222
222
|
id: string;
|
|
223
223
|
isActive: boolean;
|
|
224
224
|
description: string;
|
|
225
|
+
fileName: string;
|
|
225
226
|
fileSize: number;
|
|
226
227
|
mimeType: string;
|
|
227
228
|
fileUrl: string;
|
|
228
|
-
|
|
229
|
+
uploadedBy: string;
|
|
229
230
|
uploadedAt: string;
|
|
230
231
|
drawingId: string;
|
|
231
232
|
revisionNumber: string;
|
|
232
|
-
uploadedBy: string;
|
|
233
233
|
checksum: string;
|
|
234
234
|
uploader: {
|
|
235
235
|
id: string;
|
|
@@ -244,14 +244,14 @@ export declare const DrawingRevisionSchema: z.ZodObject<{
|
|
|
244
244
|
}, {
|
|
245
245
|
id: string;
|
|
246
246
|
description: string;
|
|
247
|
+
fileName: string;
|
|
247
248
|
fileSize: number;
|
|
248
249
|
mimeType: string;
|
|
249
250
|
fileUrl: string;
|
|
250
|
-
|
|
251
|
+
uploadedBy: string;
|
|
251
252
|
uploadedAt: string;
|
|
252
253
|
drawingId: string;
|
|
253
254
|
revisionNumber: string;
|
|
254
|
-
uploadedBy: string;
|
|
255
255
|
checksum: string;
|
|
256
256
|
uploader: {
|
|
257
257
|
id: string;
|
|
@@ -403,14 +403,14 @@ export declare const DrawingSchema: z.ZodObject<{
|
|
|
403
403
|
id: string;
|
|
404
404
|
isActive: boolean;
|
|
405
405
|
description: string;
|
|
406
|
+
fileName: string;
|
|
406
407
|
fileSize: number;
|
|
407
408
|
mimeType: string;
|
|
408
409
|
fileUrl: string;
|
|
409
|
-
|
|
410
|
+
uploadedBy: string;
|
|
410
411
|
uploadedAt: string;
|
|
411
412
|
drawingId: string;
|
|
412
413
|
revisionNumber: string;
|
|
413
|
-
uploadedBy: string;
|
|
414
414
|
checksum: string;
|
|
415
415
|
uploader: {
|
|
416
416
|
id: string;
|
|
@@ -425,14 +425,14 @@ export declare const DrawingSchema: z.ZodObject<{
|
|
|
425
425
|
}, {
|
|
426
426
|
id: string;
|
|
427
427
|
description: string;
|
|
428
|
+
fileName: string;
|
|
428
429
|
fileSize: number;
|
|
429
430
|
mimeType: string;
|
|
430
431
|
fileUrl: string;
|
|
431
|
-
|
|
432
|
+
uploadedBy: string;
|
|
432
433
|
uploadedAt: string;
|
|
433
434
|
drawingId: string;
|
|
434
435
|
revisionNumber: string;
|
|
435
|
-
uploadedBy: string;
|
|
436
436
|
checksum: string;
|
|
437
437
|
uploader: {
|
|
438
438
|
id: string;
|
|
@@ -724,14 +724,14 @@ export declare const DrawingSchema: z.ZodObject<{
|
|
|
724
724
|
id: string;
|
|
725
725
|
isActive: boolean;
|
|
726
726
|
description: string;
|
|
727
|
+
fileName: string;
|
|
727
728
|
fileSize: number;
|
|
728
729
|
mimeType: string;
|
|
729
730
|
fileUrl: string;
|
|
730
|
-
|
|
731
|
+
uploadedBy: string;
|
|
731
732
|
uploadedAt: string;
|
|
732
733
|
drawingId: string;
|
|
733
734
|
revisionNumber: string;
|
|
734
|
-
uploadedBy: string;
|
|
735
735
|
checksum: string;
|
|
736
736
|
uploader: {
|
|
737
737
|
id: string;
|
|
@@ -858,14 +858,14 @@ export declare const DrawingSchema: z.ZodObject<{
|
|
|
858
858
|
revisions?: {
|
|
859
859
|
id: string;
|
|
860
860
|
description: string;
|
|
861
|
+
fileName: string;
|
|
861
862
|
fileSize: number;
|
|
862
863
|
mimeType: string;
|
|
863
864
|
fileUrl: string;
|
|
864
|
-
|
|
865
|
+
uploadedBy: string;
|
|
865
866
|
uploadedAt: string;
|
|
866
867
|
drawingId: string;
|
|
867
868
|
revisionNumber: string;
|
|
868
|
-
uploadedBy: string;
|
|
869
869
|
checksum: string;
|
|
870
870
|
uploader: {
|
|
871
871
|
id: string;
|
|
@@ -1007,14 +1007,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1007
1007
|
id: string;
|
|
1008
1008
|
isActive: boolean;
|
|
1009
1009
|
description: string;
|
|
1010
|
+
fileName: string;
|
|
1010
1011
|
fileSize: number;
|
|
1011
1012
|
mimeType: string;
|
|
1012
1013
|
fileUrl: string;
|
|
1013
|
-
|
|
1014
|
+
uploadedBy: string;
|
|
1014
1015
|
uploadedAt: string;
|
|
1015
1016
|
drawingId: string;
|
|
1016
1017
|
revisionNumber: string;
|
|
1017
|
-
uploadedBy: string;
|
|
1018
1018
|
checksum: string;
|
|
1019
1019
|
uploader: {
|
|
1020
1020
|
id: string;
|
|
@@ -1029,14 +1029,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1029
1029
|
}, {
|
|
1030
1030
|
id: string;
|
|
1031
1031
|
description: string;
|
|
1032
|
+
fileName: string;
|
|
1032
1033
|
fileSize: number;
|
|
1033
1034
|
mimeType: string;
|
|
1034
1035
|
fileUrl: string;
|
|
1035
|
-
|
|
1036
|
+
uploadedBy: string;
|
|
1036
1037
|
uploadedAt: string;
|
|
1037
1038
|
drawingId: string;
|
|
1038
1039
|
revisionNumber: string;
|
|
1039
|
-
uploadedBy: string;
|
|
1040
1040
|
checksum: string;
|
|
1041
1041
|
uploader: {
|
|
1042
1042
|
id: string;
|
|
@@ -1328,14 +1328,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1328
1328
|
id: string;
|
|
1329
1329
|
isActive: boolean;
|
|
1330
1330
|
description: string;
|
|
1331
|
+
fileName: string;
|
|
1331
1332
|
fileSize: number;
|
|
1332
1333
|
mimeType: string;
|
|
1333
1334
|
fileUrl: string;
|
|
1334
|
-
|
|
1335
|
+
uploadedBy: string;
|
|
1335
1336
|
uploadedAt: string;
|
|
1336
1337
|
drawingId: string;
|
|
1337
1338
|
revisionNumber: string;
|
|
1338
|
-
uploadedBy: string;
|
|
1339
1339
|
checksum: string;
|
|
1340
1340
|
uploader: {
|
|
1341
1341
|
id: string;
|
|
@@ -1462,14 +1462,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1462
1462
|
revisions?: {
|
|
1463
1463
|
id: string;
|
|
1464
1464
|
description: string;
|
|
1465
|
+
fileName: string;
|
|
1465
1466
|
fileSize: number;
|
|
1466
1467
|
mimeType: string;
|
|
1467
1468
|
fileUrl: string;
|
|
1468
|
-
|
|
1469
|
+
uploadedBy: string;
|
|
1469
1470
|
uploadedAt: string;
|
|
1470
1471
|
drawingId: string;
|
|
1471
1472
|
revisionNumber: string;
|
|
1472
|
-
uploadedBy: string;
|
|
1473
1473
|
checksum: string;
|
|
1474
1474
|
uploader: {
|
|
1475
1475
|
id: string;
|
|
@@ -1576,14 +1576,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1576
1576
|
id: string;
|
|
1577
1577
|
isActive: boolean;
|
|
1578
1578
|
description: string;
|
|
1579
|
+
fileName: string;
|
|
1579
1580
|
fileSize: number;
|
|
1580
1581
|
mimeType: string;
|
|
1581
1582
|
fileUrl: string;
|
|
1582
|
-
|
|
1583
|
+
uploadedBy: string;
|
|
1583
1584
|
uploadedAt: string;
|
|
1584
1585
|
drawingId: string;
|
|
1585
1586
|
revisionNumber: string;
|
|
1586
|
-
uploadedBy: string;
|
|
1587
1587
|
checksum: string;
|
|
1588
1588
|
uploader: {
|
|
1589
1589
|
id: string;
|
|
@@ -1714,14 +1714,14 @@ export declare const DrawingResourceSchema: z.ZodObject<{
|
|
|
1714
1714
|
revisions?: {
|
|
1715
1715
|
id: string;
|
|
1716
1716
|
description: string;
|
|
1717
|
+
fileName: string;
|
|
1717
1718
|
fileSize: number;
|
|
1718
1719
|
mimeType: string;
|
|
1719
1720
|
fileUrl: string;
|
|
1720
|
-
|
|
1721
|
+
uploadedBy: string;
|
|
1721
1722
|
uploadedAt: string;
|
|
1722
1723
|
drawingId: string;
|
|
1723
1724
|
revisionNumber: string;
|
|
1724
|
-
uploadedBy: string;
|
|
1725
1725
|
checksum: string;
|
|
1726
1726
|
uploader: {
|
|
1727
1727
|
id: string;
|
|
@@ -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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"}
|