@deepintel-ltd/buildlink-api-contracts 0.2.23

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 (278) hide show
  1. package/README.md +27 -0
  2. package/contracts/auth.d.ts +3641 -0
  3. package/contracts/auth.d.ts.map +1 -0
  4. package/contracts/auth.js +266 -0
  5. package/contracts/auth.js.map +1 -0
  6. package/contracts/billing.d.ts +2167 -0
  7. package/contracts/billing.d.ts.map +1 -0
  8. package/contracts/billing.js +55 -0
  9. package/contracts/billing.js.map +1 -0
  10. package/contracts/boq.d.ts +1214 -0
  11. package/contracts/boq.d.ts.map +1 -0
  12. package/contracts/boq.js +31 -0
  13. package/contracts/boq.js.map +1 -0
  14. package/contracts/budget.d.ts +10677 -0
  15. package/contracts/budget.d.ts.map +1 -0
  16. package/contracts/budget.js +599 -0
  17. package/contracts/budget.js.map +1 -0
  18. package/contracts/commercial.d.ts +1475 -0
  19. package/contracts/commercial.d.ts.map +1 -0
  20. package/contracts/commercial.js +40 -0
  21. package/contracts/commercial.js.map +1 -0
  22. package/contracts/communication.d.ts +5389 -0
  23. package/contracts/communication.d.ts.map +1 -0
  24. package/contracts/communication.js +255 -0
  25. package/contracts/communication.js.map +1 -0
  26. package/contracts/contractor-ledger.d.ts +1293 -0
  27. package/contracts/contractor-ledger.d.ts.map +1 -0
  28. package/contracts/contractor-ledger.js +41 -0
  29. package/contracts/contractor-ledger.js.map +1 -0
  30. package/contracts/daily-logs.d.ts +9132 -0
  31. package/contracts/daily-logs.d.ts.map +1 -0
  32. package/contracts/daily-logs.js +188 -0
  33. package/contracts/daily-logs.js.map +1 -0
  34. package/contracts/deficiencies.d.ts +11786 -0
  35. package/contracts/deficiencies.d.ts.map +1 -0
  36. package/contracts/deficiencies.js +312 -0
  37. package/contracts/deficiencies.js.map +1 -0
  38. package/contracts/directory.d.ts +3116 -0
  39. package/contracts/directory.d.ts.map +1 -0
  40. package/contracts/directory.js +117 -0
  41. package/contracts/directory.js.map +1 -0
  42. package/contracts/documents.d.ts +4944 -0
  43. package/contracts/documents.d.ts.map +1 -0
  44. package/contracts/documents.js +251 -0
  45. package/contracts/documents.js.map +1 -0
  46. package/contracts/drawings.d.ts +10552 -0
  47. package/contracts/drawings.d.ts.map +1 -0
  48. package/contracts/drawings.js +321 -0
  49. package/contracts/drawings.js.map +1 -0
  50. package/contracts/hub.d.ts +1174 -0
  51. package/contracts/hub.d.ts.map +1 -0
  52. package/contracts/hub.js +42 -0
  53. package/contracts/hub.js.map +1 -0
  54. package/contracts/index.d.ts +128 -0
  55. package/contracts/index.d.ts.map +1 -0
  56. package/contracts/index.js +119 -0
  57. package/contracts/index.js.map +1 -0
  58. package/contracts/integrations.d.ts +4163 -0
  59. package/contracts/integrations.d.ts.map +1 -0
  60. package/contracts/integrations.js +326 -0
  61. package/contracts/integrations.js.map +1 -0
  62. package/contracts/maps.d.ts +4911 -0
  63. package/contracts/maps.d.ts.map +1 -0
  64. package/contracts/maps.js +276 -0
  65. package/contracts/maps.js.map +1 -0
  66. package/contracts/meetings.d.ts +4194 -0
  67. package/contracts/meetings.d.ts.map +1 -0
  68. package/contracts/meetings.js +115 -0
  69. package/contracts/meetings.js.map +1 -0
  70. package/contracts/monitoring.d.ts +2749 -0
  71. package/contracts/monitoring.d.ts.map +1 -0
  72. package/contracts/monitoring.js +289 -0
  73. package/contracts/monitoring.js.map +1 -0
  74. package/contracts/packages.d.ts +1470 -0
  75. package/contracts/packages.d.ts.map +1 -0
  76. package/contracts/packages.js +74 -0
  77. package/contracts/packages.js.map +1 -0
  78. package/contracts/projects.d.ts +6281 -0
  79. package/contracts/projects.d.ts.map +1 -0
  80. package/contracts/projects.js +448 -0
  81. package/contracts/projects.js.map +1 -0
  82. package/contracts/proof.d.ts +962 -0
  83. package/contracts/proof.d.ts.map +1 -0
  84. package/contracts/proof.js +34 -0
  85. package/contracts/proof.js.map +1 -0
  86. package/contracts/qaqc.d.ts +1184 -0
  87. package/contracts/qaqc.d.ts.map +1 -0
  88. package/contracts/qaqc.js +35 -0
  89. package/contracts/qaqc.js.map +1 -0
  90. package/contracts/rbac.d.ts +5227 -0
  91. package/contracts/rbac.d.ts.map +1 -0
  92. package/contracts/rbac.js +357 -0
  93. package/contracts/rbac.js.map +1 -0
  94. package/contracts/reports.d.ts +8468 -0
  95. package/contracts/reports.d.ts.map +1 -0
  96. package/contracts/reports.js +377 -0
  97. package/contracts/reports.js.map +1 -0
  98. package/contracts/resources.d.ts +15870 -0
  99. package/contracts/resources.d.ts.map +1 -0
  100. package/contracts/resources.js +869 -0
  101. package/contracts/resources.js.map +1 -0
  102. package/contracts/rfi-submittal.d.ts +2545 -0
  103. package/contracts/rfi-submittal.d.ts.map +1 -0
  104. package/contracts/rfi-submittal.js +159 -0
  105. package/contracts/rfi-submittal.js.map +1 -0
  106. package/contracts/safety.d.ts +7162 -0
  107. package/contracts/safety.d.ts.map +1 -0
  108. package/contracts/safety.js +519 -0
  109. package/contracts/safety.js.map +1 -0
  110. package/contracts/schedule.d.ts +9456 -0
  111. package/contracts/schedule.d.ts.map +1 -0
  112. package/contracts/schedule.js +460 -0
  113. package/contracts/schedule.js.map +1 -0
  114. package/contracts/spec-equal.d.ts +841 -0
  115. package/contracts/spec-equal.d.ts.map +1 -0
  116. package/contracts/spec-equal.js +28 -0
  117. package/contracts/spec-equal.js.map +1 -0
  118. package/contracts/specifications.d.ts +15478 -0
  119. package/contracts/specifications.d.ts.map +1 -0
  120. package/contracts/specifications.js +521 -0
  121. package/contracts/specifications.js.map +1 -0
  122. package/contracts/tasks.d.ts +11037 -0
  123. package/contracts/tasks.d.ts.map +1 -0
  124. package/contracts/tasks.js +693 -0
  125. package/contracts/tasks.js.map +1 -0
  126. package/contracts/timecards.d.ts +3130 -0
  127. package/contracts/timecards.d.ts.map +1 -0
  128. package/contracts/timecards.js +133 -0
  129. package/contracts/timecards.js.map +1 -0
  130. package/contracts/transmittals.d.ts +3921 -0
  131. package/contracts/transmittals.d.ts.map +1 -0
  132. package/contracts/transmittals.js +156 -0
  133. package/contracts/transmittals.js.map +1 -0
  134. package/contracts/valuations.d.ts +3266 -0
  135. package/contracts/valuations.d.ts.map +1 -0
  136. package/contracts/valuations.js +116 -0
  137. package/contracts/valuations.js.map +1 -0
  138. package/package.json +216 -0
  139. package/schemas/auth.d.ts +449 -0
  140. package/schemas/auth.d.ts.map +1 -0
  141. package/schemas/auth.js +103 -0
  142. package/schemas/auth.js.map +1 -0
  143. package/schemas/billing.d.ts +710 -0
  144. package/schemas/billing.d.ts.map +1 -0
  145. package/schemas/billing.js +82 -0
  146. package/schemas/billing.js.map +1 -0
  147. package/schemas/boq.d.ts +385 -0
  148. package/schemas/boq.d.ts.map +1 -0
  149. package/schemas/boq.js +49 -0
  150. package/schemas/boq.js.map +1 -0
  151. package/schemas/budget.d.ts +737 -0
  152. package/schemas/budget.d.ts.map +1 -0
  153. package/schemas/budget.js +272 -0
  154. package/schemas/budget.js.map +1 -0
  155. package/schemas/commercial.d.ts +358 -0
  156. package/schemas/commercial.d.ts.map +1 -0
  157. package/schemas/commercial.js +36 -0
  158. package/schemas/commercial.js.map +1 -0
  159. package/schemas/common.d.ts +865 -0
  160. package/schemas/common.d.ts.map +1 -0
  161. package/schemas/common.js +193 -0
  162. package/schemas/common.js.map +1 -0
  163. package/schemas/communication.d.ts +884 -0
  164. package/schemas/communication.d.ts.map +1 -0
  165. package/schemas/communication.js +245 -0
  166. package/schemas/communication.js.map +1 -0
  167. package/schemas/contractor-ledger.d.ts +364 -0
  168. package/schemas/contractor-ledger.d.ts.map +1 -0
  169. package/schemas/contractor-ledger.js +36 -0
  170. package/schemas/contractor-ledger.js.map +1 -0
  171. package/schemas/cursor-pagination.d.ts +258 -0
  172. package/schemas/cursor-pagination.d.ts.map +1 -0
  173. package/schemas/cursor-pagination.js +84 -0
  174. package/schemas/cursor-pagination.js.map +1 -0
  175. package/schemas/daily-logs.d.ts +2339 -0
  176. package/schemas/daily-logs.d.ts.map +1 -0
  177. package/schemas/daily-logs.js +235 -0
  178. package/schemas/daily-logs.js.map +1 -0
  179. package/schemas/deficiencies.d.ts +2496 -0
  180. package/schemas/deficiencies.d.ts.map +1 -0
  181. package/schemas/deficiencies.js +338 -0
  182. package/schemas/deficiencies.js.map +1 -0
  183. package/schemas/directory.d.ts +783 -0
  184. package/schemas/directory.d.ts.map +1 -0
  185. package/schemas/directory.js +122 -0
  186. package/schemas/directory.js.map +1 -0
  187. package/schemas/documents.d.ts +202 -0
  188. package/schemas/documents.d.ts.map +1 -0
  189. package/schemas/documents.js +76 -0
  190. package/schemas/documents.js.map +1 -0
  191. package/schemas/drawings.d.ts +2042 -0
  192. package/schemas/drawings.d.ts.map +1 -0
  193. package/schemas/drawings.js +350 -0
  194. package/schemas/drawings.js.map +1 -0
  195. package/schemas/hub.d.ts +288 -0
  196. package/schemas/hub.d.ts.map +1 -0
  197. package/schemas/hub.js +32 -0
  198. package/schemas/hub.js.map +1 -0
  199. package/schemas/integrations.d.ts +508 -0
  200. package/schemas/integrations.d.ts.map +1 -0
  201. package/schemas/integrations.js +119 -0
  202. package/schemas/integrations.js.map +1 -0
  203. package/schemas/maps.d.ts +793 -0
  204. package/schemas/maps.d.ts.map +1 -0
  205. package/schemas/maps.js +118 -0
  206. package/schemas/maps.js.map +1 -0
  207. package/schemas/meetings.d.ts +888 -0
  208. package/schemas/meetings.d.ts.map +1 -0
  209. package/schemas/meetings.js +138 -0
  210. package/schemas/meetings.js.map +1 -0
  211. package/schemas/packages.d.ts +236 -0
  212. package/schemas/packages.d.ts.map +1 -0
  213. package/schemas/packages.js +53 -0
  214. package/schemas/packages.js.map +1 -0
  215. package/schemas/projects.d.ts +306 -0
  216. package/schemas/projects.d.ts.map +1 -0
  217. package/schemas/projects.js +92 -0
  218. package/schemas/projects.js.map +1 -0
  219. package/schemas/proof.d.ts +210 -0
  220. package/schemas/proof.d.ts.map +1 -0
  221. package/schemas/proof.js +26 -0
  222. package/schemas/proof.js.map +1 -0
  223. package/schemas/qaqc.d.ts +235 -0
  224. package/schemas/qaqc.d.ts.map +1 -0
  225. package/schemas/qaqc.js +47 -0
  226. package/schemas/qaqc.js.map +1 -0
  227. package/schemas/rbac.d.ts +730 -0
  228. package/schemas/rbac.d.ts.map +1 -0
  229. package/schemas/rbac.js +230 -0
  230. package/schemas/rbac.js.map +1 -0
  231. package/schemas/reports.d.ts +5729 -0
  232. package/schemas/reports.d.ts.map +1 -0
  233. package/schemas/reports.js +589 -0
  234. package/schemas/reports.js.map +1 -0
  235. package/schemas/resources.d.ts +5190 -0
  236. package/schemas/resources.d.ts.map +1 -0
  237. package/schemas/resources.js +678 -0
  238. package/schemas/resources.js.map +1 -0
  239. package/schemas/rfi.d.ts +877 -0
  240. package/schemas/rfi.d.ts.map +1 -0
  241. package/schemas/rfi.js +84 -0
  242. package/schemas/rfi.js.map +1 -0
  243. package/schemas/safety.d.ts +1080 -0
  244. package/schemas/safety.d.ts.map +1 -0
  245. package/schemas/safety.js +237 -0
  246. package/schemas/safety.js.map +1 -0
  247. package/schemas/schedule.d.ts +4657 -0
  248. package/schemas/schedule.d.ts.map +1 -0
  249. package/schemas/schedule.js +441 -0
  250. package/schemas/schedule.js.map +1 -0
  251. package/schemas/spec-equal.d.ts +162 -0
  252. package/schemas/spec-equal.d.ts.map +1 -0
  253. package/schemas/spec-equal.js +29 -0
  254. package/schemas/spec-equal.js.map +1 -0
  255. package/schemas/specifications.d.ts +5241 -0
  256. package/schemas/specifications.d.ts.map +1 -0
  257. package/schemas/specifications.js +426 -0
  258. package/schemas/specifications.js.map +1 -0
  259. package/schemas/submittal.d.ts +867 -0
  260. package/schemas/submittal.d.ts.map +1 -0
  261. package/schemas/submittal.js +87 -0
  262. package/schemas/submittal.js.map +1 -0
  263. package/schemas/tasks.d.ts +610 -0
  264. package/schemas/tasks.d.ts.map +1 -0
  265. package/schemas/tasks.js +133 -0
  266. package/schemas/tasks.js.map +1 -0
  267. package/schemas/timecards.d.ts +618 -0
  268. package/schemas/timecards.d.ts.map +1 -0
  269. package/schemas/timecards.js +80 -0
  270. package/schemas/timecards.js.map +1 -0
  271. package/schemas/transmittals.d.ts +662 -0
  272. package/schemas/transmittals.d.ts.map +1 -0
  273. package/schemas/transmittals.js +132 -0
  274. package/schemas/transmittals.js.map +1 -0
  275. package/schemas/valuations.d.ts +713 -0
  276. package/schemas/valuations.d.ts.map +1 -0
  277. package/schemas/valuations.js +116 -0
  278. package/schemas/valuations.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/schemas/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kBAAkB,uEAM7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB,6EAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB,0DAAwD,CAAC;AAC7F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB,oEAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB,mEAKlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,8BAA8B,4DAKzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,qBAAqB,2DAAyD,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB,8DAA4D,CAAC;AACjG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;EAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;EAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyC,CAAC;AACnF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAetC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwC,CAAC;AACjF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6C,CAAC;AAC3F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;EAQhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;EACD,CAAC;AAClD,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;EAQ3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAQtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;EAKhD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAIxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAG9F,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqC7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAG9F,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;EAQtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAGtF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAMzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAGtF,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAC1C,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC"}
@@ -0,0 +1,678 @@
1
+ import { z } from 'zod';
2
+ import { CuidSchema, JsonApiLinksSchema } from './common';
3
+ export const ResourceTypeSchema = z.enum([
4
+ 'EQUIPMENT',
5
+ 'MATERIAL',
6
+ 'VEHICLE',
7
+ 'TOOL',
8
+ 'CONSUMABLE',
9
+ ]);
10
+ export const ResourceStatusSchema = z.enum([
11
+ 'AVAILABLE',
12
+ 'IN_USE',
13
+ 'MAINTENANCE',
14
+ 'UNAVAILABLE',
15
+ 'RETIRED',
16
+ ]);
17
+ export const ResourceConditionSchema = z.enum(['EXCELLENT', 'GOOD', 'FAIR', 'NEEDS_REPAIR']);
18
+ export const MaintenanceTypeSchema = z.enum([
19
+ 'PREVENTIVE',
20
+ 'CORRECTIVE',
21
+ 'EMERGENCY',
22
+ 'INSPECTION',
23
+ ]);
24
+ export const MaintenanceStatusSchema = z.enum([
25
+ 'SCHEDULED',
26
+ 'IN_PROGRESS',
27
+ 'COMPLETED',
28
+ 'CANCELLED',
29
+ ]);
30
+ export const ResourceAllocationStatusSchema = z.enum([
31
+ 'ASSIGNED',
32
+ 'IN_USE',
33
+ 'COMPLETED',
34
+ 'RETURNED',
35
+ ]);
36
+ export const LaborSkillLevelSchema = z.enum(['JUNIOR', 'INTERMEDIATE', 'SENIOR', 'EXPERT']);
37
+ export const LaborAvailabilitySchema = z.enum(['FULL_TIME', 'PART_TIME', 'CONTRACT', 'ON_CALL']);
38
+ export const ServiceParamsSchema = z.object({
39
+ userId: z.string().cuid(),
40
+ companyId: z.string().cuid(),
41
+ });
42
+ export const ResourceAccessParamsSchema = ServiceParamsSchema.extend({
43
+ resourceId: z.string().cuid(),
44
+ });
45
+ export const ProjectResourceParamsSchema = ServiceParamsSchema.extend({
46
+ projectId: z.string().cuid(),
47
+ });
48
+ export const PrismaResourceSchema = z.object({
49
+ id: CuidSchema,
50
+ name: z.string(),
51
+ type: ResourceTypeSchema,
52
+ category: z.string().nullable(),
53
+ unitCost: z
54
+ .union([z.number(), z.string()])
55
+ .nullable()
56
+ .transform(val => (val === null ? null : typeof val === 'string' ? parseFloat(val) : val)),
57
+ quantity: z.number().default(0),
58
+ unit: z.string().nullable(),
59
+ supplier: z.string().nullable(),
60
+ status: ResourceStatusSchema.default('AVAILABLE'),
61
+ location: z.string().nullable(),
62
+ description: z.string().nullable(),
63
+ model: z.string().nullable(),
64
+ serialNumber: z.string().nullable(),
65
+ purchaseDate: z.date().nullable(),
66
+ warrantyExpiry: z.date().nullable(),
67
+ createdAt: z.date(),
68
+ updatedAt: z.date(),
69
+ });
70
+ export const ResourceWithRelationsSchema = PrismaResourceSchema.extend({
71
+ allocations: z
72
+ .array(z.object({
73
+ id: CuidSchema,
74
+ projectId: CuidSchema,
75
+ taskId: CuidSchema.nullable(),
76
+ quantity: z.number(),
77
+ allocatedAt: z.date(),
78
+ returnedAt: z.date().nullable(),
79
+ notes: z.string().nullable(),
80
+ condition: z.string().nullable(),
81
+ project: z
82
+ .object({
83
+ id: CuidSchema,
84
+ name: z.string(),
85
+ })
86
+ .optional(),
87
+ }))
88
+ .default([]),
89
+ maintenance: z
90
+ .array(z.object({
91
+ id: CuidSchema,
92
+ type: z.string(),
93
+ description: z.string(),
94
+ cost: z.union([z.number(), z.string()]).nullable(),
95
+ performedAt: z.date(),
96
+ nextDueDate: z.date().nullable(),
97
+ }))
98
+ .default([]),
99
+ });
100
+ export const CreateEquipmentRequestSchema = z.object({
101
+ name: z.string().min(1).max(200),
102
+ type: z.string().max(100).optional(),
103
+ category: z.string().max(100).optional(),
104
+ serialNumber: z.string().max(100).optional(),
105
+ model: z.string().max(100).optional(),
106
+ manufacturer: z.string().max(100).optional(),
107
+ condition: ResourceConditionSchema.default('GOOD'),
108
+ quantity: z.number().positive().default(1),
109
+ unitCost: z.number().positive().optional(),
110
+ location: z.string().max(200).optional(),
111
+ description: z.string().max(1000).optional(),
112
+ notes: z.string().max(1000).optional(),
113
+ purchaseDate: z.string().datetime().optional(),
114
+ warrantyExpiry: z.string().datetime().optional(),
115
+ });
116
+ export const UpdateEquipmentRequestSchema = CreateEquipmentRequestSchema.partial();
117
+ export const CreateMaterialRequestSchema = z.object({
118
+ name: z.string().min(1).max(200),
119
+ category: z.string().max(100).optional(),
120
+ sku: z.string().max(100).optional(),
121
+ manufacturer: z.string().max(100).optional(),
122
+ supplier: z.string().max(100).optional(),
123
+ supplierContact: z.string().max(100).optional(),
124
+ unitCost: z.number().positive().optional(),
125
+ quantity: z.number().positive(),
126
+ unit: z.string().max(50),
127
+ location: z.string().max(200).optional(),
128
+ description: z.string().max(1000).optional(),
129
+ reorderPoint: z.number().nonnegative().optional(),
130
+ reorderQuantity: z.number().positive().optional(),
131
+ expirationDate: z.string().datetime().optional(),
132
+ });
133
+ export const UpdateMaterialRequestSchema = CreateMaterialRequestSchema.partial();
134
+ export const CreateLaborResourceRequestSchema = z.object({
135
+ name: z.string().min(1).max(200),
136
+ role: z.string().max(100),
137
+ skillLevel: LaborSkillLevelSchema,
138
+ availability: LaborAvailabilitySchema,
139
+ hourlyRate: z.number().positive().optional(),
140
+ location: z.string().max(200).optional(),
141
+ description: z.string().max(1000).optional(),
142
+ startDate: z.string().datetime().optional(),
143
+ endDate: z.string().datetime().optional(),
144
+ });
145
+ export const UpdateLaborResourceRequestSchema = CreateLaborResourceRequestSchema.partial();
146
+ export const BaseFiltersSchema = z.object({
147
+ search: z.string().optional(),
148
+ status: ResourceStatusSchema.optional(),
149
+ location: z.string().optional(),
150
+ cursor: z.string().optional(),
151
+ direction: z.enum(['forward', 'backward']).default('forward'),
152
+ limit: z.number().min(1).max(100).default(20),
153
+ includeTotal: z.boolean().default(false),
154
+ });
155
+ export const EquipmentFiltersSchema = BaseFiltersSchema.extend({
156
+ category: z.string().optional(),
157
+ condition: ResourceConditionSchema.optional(),
158
+ manufacturer: z.string().optional(),
159
+ model: z.string().optional(),
160
+ });
161
+ export const MaterialFiltersSchema = BaseFiltersSchema.extend({
162
+ category: z.string().optional(),
163
+ supplier: z.string().optional(),
164
+ unit: z.string().optional(),
165
+ });
166
+ export const LaborResourceFiltersSchema = BaseFiltersSchema.extend({
167
+ role: z.string().optional(),
168
+ skillLevel: LaborSkillLevelSchema.optional(),
169
+ availability: LaborAvailabilitySchema.optional(),
170
+ });
171
+ export const ResourceAttributesSchema = z.object({
172
+ name: z.string(),
173
+ type: ResourceTypeSchema,
174
+ status: ResourceStatusSchema,
175
+ category: z.string().nullable(),
176
+ serialNumber: z.string().nullable(),
177
+ model: z.string().nullable(),
178
+ manufacturer: z.string().nullable(),
179
+ condition: ResourceConditionSchema.nullable(),
180
+ location: z.string().nullable(),
181
+ unitCost: z.union([z.number(), z.string()]).nullable(),
182
+ quantity: z.number().nullable(),
183
+ unit: z.string().nullable(),
184
+ sku: z.string().nullable(),
185
+ description: z.string().nullable(),
186
+ supplier: z.string().nullable(),
187
+ supplierContact: z.string().nullable(),
188
+ notes: z.string().nullable(),
189
+ createdAt: z.date(),
190
+ updatedAt: z.date(),
191
+ role: z.string().optional(),
192
+ skillLevel: z.string().optional(),
193
+ availability: z.string().optional(),
194
+ hourlyRate: z.number().optional(),
195
+ purchaseDate: z.date().optional(),
196
+ warrantyExpiry: z.date().optional(),
197
+ lastMaintenanceDate: z.date().optional(),
198
+ nextMaintenanceDate: z.date().optional(),
199
+ reorderPoint: z.number().optional(),
200
+ reorderQuantity: z.number().optional(),
201
+ expirationDate: z.date().optional(),
202
+ });
203
+ export const ResourceRelationshipsSchema = z.object({
204
+ allocations: z
205
+ .object({
206
+ data: z.array(z.object({
207
+ type: z.literal('allocations'),
208
+ id: CuidSchema,
209
+ })),
210
+ })
211
+ .optional(),
212
+ maintenance: z
213
+ .object({
214
+ data: z.array(z.object({
215
+ type: z.literal('maintenance'),
216
+ id: CuidSchema,
217
+ })),
218
+ })
219
+ .optional(),
220
+ });
221
+ export const ResourceObjectSchema = z.object({
222
+ type: z.literal('resources'),
223
+ id: CuidSchema,
224
+ attributes: ResourceAttributesSchema,
225
+ relationships: ResourceRelationshipsSchema.optional(),
226
+ links: JsonApiLinksSchema.optional(),
227
+ });
228
+ export const ResourceResponseSchema = z.object({
229
+ data: z.array(ResourceObjectSchema),
230
+ meta: z
231
+ .object({
232
+ hasNextPage: z.boolean(),
233
+ hasPreviousPage: z.boolean(),
234
+ nextCursor: z.string().optional(),
235
+ previousCursor: z.string().optional(),
236
+ totalCount: z.number().optional(),
237
+ })
238
+ .optional(),
239
+ links: JsonApiLinksSchema.optional(),
240
+ });
241
+ export const SingleResourceResponseSchema = z.object({
242
+ data: ResourceObjectSchema,
243
+ meta: z.record(z.unknown()).optional(),
244
+ links: JsonApiLinksSchema.optional(),
245
+ });
246
+ export const ResourceAllocationSchema = z.object({
247
+ id: CuidSchema,
248
+ resourceId: CuidSchema,
249
+ projectId: CuidSchema,
250
+ taskId: CuidSchema.nullable(),
251
+ resourceType: ResourceTypeSchema,
252
+ quantityAllocated: z.number(),
253
+ quantityUsed: z.number().nullable().default(null),
254
+ startDate: z.string().datetime(),
255
+ endDate: z.string().datetime().optional(),
256
+ assignedBy: CuidSchema,
257
+ status: ResourceAllocationStatusSchema,
258
+ notes: z.string().optional(),
259
+ createdAt: z.string().datetime(),
260
+ updatedAt: z.string().datetime(),
261
+ createdBy: CuidSchema,
262
+ companyId: CuidSchema,
263
+ isActive: z.boolean().default(true),
264
+ isDeleted: z.boolean().default(false),
265
+ });
266
+ export const MaintenanceRecordSchema = z.object({
267
+ id: CuidSchema,
268
+ resourceId: CuidSchema,
269
+ type: MaintenanceTypeSchema,
270
+ description: z.string(),
271
+ cost: z.number().nullable(),
272
+ performedBy: CuidSchema.nullable(),
273
+ performedAt: z.string().datetime(),
274
+ nextDueDate: z.string().datetime().nullable(),
275
+ status: MaintenanceStatusSchema,
276
+ notes: z.string().nullable(),
277
+ createdAt: z.string().datetime(),
278
+ updatedAt: z.string().datetime(),
279
+ createdBy: CuidSchema,
280
+ companyId: CuidSchema,
281
+ isActive: z.boolean().default(true),
282
+ isDeleted: z.boolean().default(false),
283
+ });
284
+ export const CreateResourceAllocationRequestSchema = z.object({
285
+ resourceId: CuidSchema,
286
+ projectId: CuidSchema,
287
+ taskId: CuidSchema.optional(),
288
+ quantityAllocated: z.number().positive(),
289
+ startDate: z.string().datetime(),
290
+ endDate: z.string().datetime().optional(),
291
+ notes: z.string().optional(),
292
+ });
293
+ export const UpdateResourceAllocationRequestSchema = CreateResourceAllocationRequestSchema.partial();
294
+ export const ScheduleMaintenanceRequestSchema = z.object({
295
+ type: MaintenanceTypeSchema,
296
+ description: z.string().min(1),
297
+ cost: z.number().optional(),
298
+ performedBy: CuidSchema.optional(),
299
+ performedAt: z.string().datetime().optional(),
300
+ nextDueDate: z.string().datetime().optional(),
301
+ notes: z.string().optional(),
302
+ });
303
+ export const AssignResourceRequestSchema = z.object({
304
+ resourceId: CuidSchema,
305
+ projectId: CuidSchema,
306
+ taskId: CuidSchema.optional(),
307
+ quantity: z.number().positive(),
308
+ startDate: z.string().datetime(),
309
+ endDate: z.string().datetime().optional(),
310
+ notes: z.string().optional(),
311
+ });
312
+ export const AllocationResponseSchema = z.object({
313
+ data: z.object({
314
+ type: z.literal('allocations'),
315
+ id: CuidSchema,
316
+ attributes: ResourceAllocationSchema.omit({ id: true }),
317
+ relationships: z
318
+ .object({
319
+ resource: z
320
+ .object({
321
+ data: z.object({
322
+ type: z.literal('resources'),
323
+ id: CuidSchema,
324
+ }),
325
+ })
326
+ .optional(),
327
+ project: z
328
+ .object({
329
+ data: z.object({
330
+ type: z.literal('projects'),
331
+ id: CuidSchema,
332
+ }),
333
+ })
334
+ .optional(),
335
+ })
336
+ .optional(),
337
+ }),
338
+ });
339
+ export const MaintenanceResponseSchema = z.object({
340
+ data: z.array(z.object({
341
+ type: z.literal('maintenance'),
342
+ id: CuidSchema,
343
+ attributes: MaintenanceRecordSchema.omit({ id: true }),
344
+ relationships: z
345
+ .object({
346
+ resource: z
347
+ .object({
348
+ data: z.object({
349
+ type: z.literal('resources'),
350
+ id: CuidSchema,
351
+ }),
352
+ })
353
+ .optional(),
354
+ })
355
+ .optional(),
356
+ })),
357
+ });
358
+ export const ResourceUtilizationSchema = z.object({
359
+ resourceType: ResourceTypeSchema,
360
+ totalResources: z.number(),
361
+ activeResources: z.number(),
362
+ utilizationRate: z.number(),
363
+ breakdown: z.array(z.object({
364
+ resourceId: CuidSchema,
365
+ resourceName: z.string(),
366
+ utilizationRate: z.number(),
367
+ })),
368
+ });
369
+ export const RecommendationSchema = z.object({
370
+ type: z.string(),
371
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH']),
372
+ message: z.string(),
373
+ resourceId: CuidSchema.optional(),
374
+ projectId: CuidSchema.optional(),
375
+ });
376
+ export const ConflictSchema = z.object({
377
+ type: z.string(),
378
+ severity: z.enum(['LOW', 'MEDIUM', 'HIGH']),
379
+ message: z.string(),
380
+ resourceIds: z.array(CuidSchema),
381
+ projectIds: z.array(CuidSchema),
382
+ });
383
+ export const UtilizationTrendSchema = z.object({
384
+ period: z.string(),
385
+ utilizationRate: z.number(),
386
+ totalResources: z.number(),
387
+ activeResources: z.number(),
388
+ });
389
+ export const EquipmentSchema = z.object({
390
+ id: CuidSchema,
391
+ name: z.string(),
392
+ type: z.literal('EQUIPMENT'),
393
+ status: ResourceStatusSchema,
394
+ category: z.string().nullable(),
395
+ serialNumber: z.string().nullable(),
396
+ model: z.string().nullable(),
397
+ manufacturer: z.string().nullable(),
398
+ condition: ResourceConditionSchema,
399
+ location: z.string().nullable(),
400
+ unitCost: z.number().nullable(),
401
+ quantity: z.number().default(1),
402
+ description: z.string().nullable(),
403
+ purchaseDate: z.date().optional(),
404
+ warrantyExpiry: z.date().optional(),
405
+ lastMaintenanceDate: z.date().optional(),
406
+ nextMaintenanceDate: z.date().optional(),
407
+ createdAt: z.date(),
408
+ updatedAt: z.date(),
409
+ });
410
+ export const EquipmentResourceSchema = z.object({
411
+ type: z.literal('equipment'),
412
+ id: CuidSchema,
413
+ attributes: EquipmentSchema.omit({ id: true }),
414
+ relationships: ResourceRelationshipsSchema.optional(),
415
+ links: z
416
+ .object({
417
+ self: z.string(),
418
+ })
419
+ .optional(),
420
+ });
421
+ export const MaterialSchema = z.object({
422
+ id: CuidSchema,
423
+ name: z.string(),
424
+ type: z.literal('MATERIAL'),
425
+ status: ResourceStatusSchema,
426
+ category: z.string().nullable(),
427
+ location: z.string().nullable(),
428
+ unitCost: z.number().nullable(),
429
+ quantity: z.number().default(0),
430
+ unit: z.string().nullable(),
431
+ sku: z.string().nullable(),
432
+ supplier: z.string().nullable(),
433
+ supplierContact: z.string().nullable(),
434
+ description: z.string().nullable(),
435
+ reorderPoint: z.number().default(0),
436
+ reorderQuantity: z.number().default(0),
437
+ expirationDate: z.date().optional(),
438
+ createdAt: z.date(),
439
+ updatedAt: z.date(),
440
+ });
441
+ export const MaterialResourceSchema = z.object({
442
+ type: z.literal('materials'),
443
+ id: CuidSchema,
444
+ attributes: MaterialSchema.omit({ id: true }),
445
+ relationships: ResourceRelationshipsSchema.optional(),
446
+ links: z
447
+ .object({
448
+ self: z.string(),
449
+ })
450
+ .optional(),
451
+ });
452
+ export const LaborResourceSchema = z.object({
453
+ id: CuidSchema,
454
+ name: z.string(),
455
+ type: z.literal('LABOR'),
456
+ status: ResourceStatusSchema,
457
+ role: z.string().nullable(),
458
+ skillLevel: LaborSkillLevelSchema,
459
+ availability: LaborAvailabilitySchema,
460
+ location: z.string().nullable(),
461
+ hourlyRate: z.number().nullable(),
462
+ description: z.string().nullable(),
463
+ createdAt: z.date(),
464
+ updatedAt: z.date(),
465
+ });
466
+ export const LaborResourceResourceSchema = z.object({
467
+ type: z.literal('labor-resources'),
468
+ id: CuidSchema,
469
+ attributes: LaborResourceSchema.omit({ id: true }),
470
+ relationships: ResourceRelationshipsSchema.optional(),
471
+ links: z
472
+ .object({
473
+ self: z.string(),
474
+ })
475
+ .optional(),
476
+ });
477
+ export const ResourceAssignmentSchema = z.object({
478
+ id: CuidSchema,
479
+ resourceId: CuidSchema,
480
+ projectId: CuidSchema,
481
+ taskId: CuidSchema.nullable(),
482
+ quantity: z.number(),
483
+ allocatedAt: z.date(),
484
+ returnedAt: z.date().nullable(),
485
+ notes: z.string().nullable(),
486
+ condition: z.string().nullable(),
487
+ createdAt: z.date(),
488
+ updatedAt: z.date(),
489
+ });
490
+ export const ResourceAssignmentResourceSchema = z.object({
491
+ type: z.literal('resource-assignments'),
492
+ id: CuidSchema,
493
+ attributes: ResourceAssignmentSchema.omit({ id: true }),
494
+ relationships: z
495
+ .object({
496
+ resource: z
497
+ .object({
498
+ data: z.object({
499
+ type: z.literal('resources'),
500
+ id: CuidSchema,
501
+ }),
502
+ })
503
+ .optional(),
504
+ project: z
505
+ .object({
506
+ data: z.object({
507
+ type: z.literal('projects'),
508
+ id: CuidSchema,
509
+ }),
510
+ })
511
+ .optional(),
512
+ })
513
+ .optional(),
514
+ links: z
515
+ .object({
516
+ self: z.string(),
517
+ })
518
+ .optional(),
519
+ });
520
+ export const CreateResourceAssignmentRequestSchema = z.object({
521
+ resourceId: CuidSchema,
522
+ taskId: CuidSchema.nullable(),
523
+ quantity: z.number().positive(),
524
+ notes: z.string().optional(),
525
+ });
526
+ export const MaterialStockAdjustmentSchema = z.object({
527
+ adjustment: z.number(),
528
+ reason: z.string(),
529
+ notes: z.string().optional(),
530
+ });
531
+ export const ResourceSearchQuerySchema = z.object({
532
+ query: z.string(),
533
+ types: z.array(ResourceTypeSchema).optional(),
534
+ status: ResourceStatusSchema.optional(),
535
+ location: z.string().optional(),
536
+ page: z.coerce.number().min(1).default(1),
537
+ limit: z.coerce.number().min(1).max(100).default(20),
538
+ });
539
+ export const ResourceSearchResourceSchema = z.object({
540
+ type: z.literal('resource-search-results'),
541
+ id: CuidSchema,
542
+ attributes: z.object({
543
+ resourceType: ResourceTypeSchema,
544
+ name: z.string(),
545
+ status: ResourceStatusSchema,
546
+ location: z.string().nullable(),
547
+ category: z.string().nullable(),
548
+ description: z.string().nullable(),
549
+ matchScore: z.number().min(0).max(1),
550
+ }),
551
+ relationships: ResourceRelationshipsSchema.optional(),
552
+ links: z
553
+ .object({
554
+ self: z.string(),
555
+ resource: z.string(),
556
+ })
557
+ .optional(),
558
+ });
559
+ export const ResourceOptimizationQuerySchema = z.object({
560
+ projectId: CuidSchema.optional(),
561
+ startDate: z.string().date(),
562
+ endDate: z.string().date(),
563
+ objectives: z.array(z.enum(['cost', 'time', 'quality', 'efficiency'])).default(['cost', 'time']),
564
+ constraints: z
565
+ .object({
566
+ maxBudget: z.number().optional(),
567
+ maxDuration: z.number().optional(),
568
+ requiredQuality: z.number().min(0).max(1).optional(),
569
+ })
570
+ .optional(),
571
+ includeRecommendations: z.boolean().default(true),
572
+ });
573
+ export const ResourceOptimizationResponseSchema = z.object({
574
+ data: z.object({
575
+ type: z.literal('resource-optimization'),
576
+ id: z.string(),
577
+ attributes: z.object({
578
+ optimizationScore: z.number().min(0).max(1),
579
+ estimatedCostSavings: z.number(),
580
+ estimatedTimeSavings: z.number(),
581
+ recommendations: z.array(RecommendationSchema),
582
+ conflicts: z.array(ConflictSchema),
583
+ utilization: ResourceUtilizationSchema,
584
+ }),
585
+ }),
586
+ });
587
+ // Resource availability schemas
588
+ export const ResourceAvailabilityRequestSchema = z.object({
589
+ data: z.object({
590
+ type: z.literal('resource-availability-request'),
591
+ attributes: z.object({
592
+ resourceIds: z.array(CuidSchema).optional(),
593
+ resourceTypes: z.array(ResourceTypeSchema).optional(),
594
+ startDate: z.string().date(),
595
+ endDate: z.string().date(),
596
+ quantity: z.number().positive().optional(),
597
+ }),
598
+ }),
599
+ });
600
+ export const ResourceAvailabilityResponseSchema = z.object({
601
+ data: z.object({
602
+ type: z.literal('resource-availability'),
603
+ id: z.string(),
604
+ attributes: z.object({
605
+ period: z.object({
606
+ startDate: z.string().date(),
607
+ endDate: z.string().date(),
608
+ }),
609
+ available: z.array(z.object({
610
+ resourceId: CuidSchema,
611
+ resourceType: ResourceTypeSchema,
612
+ name: z.string(),
613
+ availableQuantity: z.number(),
614
+ conflicts: z.array(ConflictSchema),
615
+ })),
616
+ unavailable: z.array(z.object({
617
+ resourceId: CuidSchema,
618
+ resourceType: ResourceTypeSchema,
619
+ name: z.string(),
620
+ reason: z.string(),
621
+ conflictingAllocations: z.array(z.object({
622
+ allocationId: CuidSchema,
623
+ projectId: CuidSchema,
624
+ projectName: z.string(),
625
+ startDate: z.string().date(),
626
+ endDate: z.string().date(),
627
+ })),
628
+ })),
629
+ }),
630
+ }),
631
+ });
632
+ // Resource insights schemas
633
+ export const ResourceInsightsQuerySchema = z.object({
634
+ period: z.enum(['day', 'week', 'month', 'quarter', 'year']).default('month'),
635
+ startDate: z.string().date().optional(),
636
+ endDate: z.string().date().optional(),
637
+ resourceTypes: z.array(ResourceTypeSchema).optional(),
638
+ metrics: z
639
+ .array(z.enum(['utilization', 'cost', 'efficiency', 'downtime']))
640
+ .default(['utilization']),
641
+ });
642
+ export const ResourceInsightsResponseSchema = z.object({
643
+ data: z.object({
644
+ type: z.literal('resource-insights'),
645
+ id: z.string(),
646
+ attributes: z.object({
647
+ period: z.object({
648
+ startDate: z.string().date(),
649
+ endDate: z.string().date(),
650
+ }),
651
+ summary: z.object({
652
+ totalResources: z.number(),
653
+ activeResources: z.number(),
654
+ utilizationRate: z.number().min(0).max(1),
655
+ totalCost: z.number(),
656
+ efficiency: z.number().min(0).max(1),
657
+ }),
658
+ trends: z.array(UtilizationTrendSchema),
659
+ topPerformers: z.array(z.object({
660
+ resourceId: CuidSchema,
661
+ name: z.string(),
662
+ type: ResourceTypeSchema,
663
+ score: z.number().min(0).max(1),
664
+ metric: z.string(),
665
+ })),
666
+ recommendations: z.array(RecommendationSchema),
667
+ }),
668
+ }),
669
+ });
670
+ // Resource utilization query schema
671
+ export const ResourceUtilizationQuerySchema = z.object({
672
+ startDate: z.string().date(),
673
+ endDate: z.string().date(),
674
+ resourceTypes: z.array(ResourceTypeSchema).optional(),
675
+ groupBy: z.enum(['resource', 'type', 'project', 'location']).default('resource'),
676
+ includeDowntime: z.boolean().default(true),
677
+ });
678
+ //# sourceMappingURL=resources.js.map