@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":"communication.d.ts","sourceRoot":"","sources":["../../../src/schemas/communication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ import { z } from 'zod';
2
+ import { CuidSchema } from './common';
3
+ // ===== MESSAGE SCHEMAS =====
4
+ export const MessageSchema = z.object({
5
+ id: CuidSchema,
6
+ subject: z.string().optional(),
7
+ content: z.string(),
8
+ messageType: z.enum(['EMAIL', 'SMS', 'PUSH_NOTIFICATION', 'SYSTEM']),
9
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).default('MEDIUM'),
10
+ status: z.enum(['DRAFT', 'SENT', 'DELIVERED', 'READ', 'FAILED']),
11
+ senderId: CuidSchema,
12
+ recipients: z.array(CuidSchema),
13
+ threadId: CuidSchema.optional(),
14
+ parentMessageId: CuidSchema.optional(),
15
+ sentAt: z.string().datetime().optional(),
16
+ deliveredAt: z.string().datetime().optional(),
17
+ readAt: z.string().datetime().optional(),
18
+ isRead: z.boolean().default(false),
19
+ createdAt: z.string().datetime(),
20
+ updatedAt: z.string().datetime(),
21
+ projectId: CuidSchema.optional(),
22
+ attachments: z
23
+ .array(z.object({
24
+ id: CuidSchema,
25
+ filename: z.string(),
26
+ url: z.string().url(),
27
+ size: z.number(),
28
+ }))
29
+ .default([]),
30
+ });
31
+ export const CreateMessageRequestSchema = z.object({
32
+ subject: z.string().min(1).max(200).optional(),
33
+ content: z.string().min(1).max(5000),
34
+ messageType: z.enum(['EMAIL', 'SMS', 'PUSH_NOTIFICATION', 'SYSTEM']).default('EMAIL'),
35
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).default('MEDIUM'),
36
+ recipientId: CuidSchema,
37
+ threadId: CuidSchema.optional(),
38
+ parentMessageId: CuidSchema.optional(),
39
+ projectId: CuidSchema.optional(),
40
+ });
41
+ export const UpdateMessageRequestSchema = z.object({
42
+ subject: z.string().min(1).max(200).optional(),
43
+ content: z.string().min(1).max(5000).optional(),
44
+ status: z.enum(['DRAFT', 'SENT', 'DELIVERED', 'READ', 'FAILED']).optional(),
45
+ isRead: z.boolean().optional(),
46
+ readAt: z.string().datetime().optional(),
47
+ });
48
+ // ===== NOTIFICATION SCHEMAS =====
49
+ export const NotificationSchema = z.object({
50
+ id: CuidSchema,
51
+ title: z.string(),
52
+ content: z.string(),
53
+ type: z.enum([
54
+ 'TASK_ASSIGNED',
55
+ 'TASK_COMPLETED',
56
+ 'MESSAGE_RECEIVED',
57
+ 'ANNOUNCEMENT_POSTED',
58
+ 'DEADLINE_APPROACHING',
59
+ 'BUDGET_ALERT',
60
+ 'SAFETY_INCIDENT',
61
+ 'DOCUMENT_SHARED',
62
+ ]),
63
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']),
64
+ isRead: z.boolean().default(false),
65
+ userId: CuidSchema,
66
+ actionUrl: z.string().url().optional(),
67
+ metadata: z.record(z.any()).optional(),
68
+ readAt: z.string().datetime().optional(),
69
+ createdAt: z.string().datetime(),
70
+ projectId: CuidSchema.optional(),
71
+ });
72
+ export const CreateNotificationRequestSchema = z.object({
73
+ userId: CuidSchema,
74
+ projectId: CuidSchema.optional(),
75
+ type: z.enum([
76
+ 'TASK_ASSIGNED',
77
+ 'TASK_COMPLETED',
78
+ 'MESSAGE_RECEIVED',
79
+ 'ANNOUNCEMENT_POSTED',
80
+ 'DEADLINE_APPROACHING',
81
+ 'BUDGET_ALERT',
82
+ 'SAFETY_INCIDENT',
83
+ 'DOCUMENT_SHARED',
84
+ ]),
85
+ title: z.string().min(1).max(200),
86
+ content: z.string().min(1).max(1000),
87
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).default('MEDIUM'),
88
+ actionUrl: z.string().url().optional(),
89
+ metadata: z.record(z.any()).optional(),
90
+ });
91
+ export const UpdateNotificationRequestSchema = z.object({
92
+ isRead: z.boolean().optional(),
93
+ isArchived: z.boolean().optional(),
94
+ });
95
+ // ===== COMMUNICATION SETTINGS SCHEMAS =====
96
+ export const CommunicationSettingsSchema = z.object({
97
+ id: CuidSchema,
98
+ userId: CuidSchema,
99
+ emailNotifications: z.boolean().default(true),
100
+ smsNotifications: z.boolean().default(false),
101
+ pushNotifications: z.boolean().default(true),
102
+ projectUpdates: z.boolean().default(true),
103
+ taskAssignments: z.boolean().default(true),
104
+ documentSharing: z.boolean().default(true),
105
+ messageReplies: z.boolean().default(true),
106
+ systemAlerts: z.boolean().default(true),
107
+ digestFrequency: z.enum(['IMMEDIATE', 'HOURLY', 'DAILY', 'WEEKLY', 'DISABLED']).default('DAILY'),
108
+ quietHoursStart: z.string().optional(),
109
+ quietHoursEnd: z.string().optional(),
110
+ createdAt: z.string().datetime(),
111
+ updatedAt: z.string().datetime(),
112
+ });
113
+ export const UpdateCommunicationSettingsRequestSchema = z.object({
114
+ emailNotifications: z.boolean().optional(),
115
+ smsNotifications: z.boolean().optional(),
116
+ pushNotifications: z.boolean().optional(),
117
+ projectUpdates: z.boolean().optional(),
118
+ taskAssignments: z.boolean().optional(),
119
+ documentSharing: z.boolean().optional(),
120
+ messageReplies: z.boolean().optional(),
121
+ systemAlerts: z.boolean().optional(),
122
+ digestFrequency: z.enum(['IMMEDIATE', 'HOURLY', 'DAILY', 'WEEKLY', 'DISABLED']).optional(),
123
+ quietHoursStart: z.string().optional(),
124
+ quietHoursEnd: z.string().optional(),
125
+ });
126
+ // ===== QUERY/FILTER SCHEMAS =====
127
+ export const MessageFiltersSchema = z.object({
128
+ projectId: CuidSchema.optional(),
129
+ type: z.enum(['GENERAL', 'ANNOUNCEMENT', 'URGENT', 'STATUS_UPDATE']).optional(),
130
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).optional(),
131
+ isRead: z.boolean().optional(),
132
+ senderId: CuidSchema.optional(),
133
+ search: z.string().optional(),
134
+ page: z.coerce.number().min(1).default(1),
135
+ limit: z.coerce.number().min(1).max(100).default(20),
136
+ });
137
+ export const NotificationFiltersSchema = z.object({
138
+ type: z
139
+ .enum([
140
+ 'TASK_ASSIGNED',
141
+ 'TASK_COMPLETED',
142
+ 'MESSAGE_RECEIVED',
143
+ 'ANNOUNCEMENT_POSTED',
144
+ 'DEADLINE_APPROACHING',
145
+ 'BUDGET_ALERT',
146
+ 'SAFETY_INCIDENT',
147
+ 'DOCUMENT_SHARED',
148
+ ])
149
+ .optional(),
150
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).optional(),
151
+ isRead: z.boolean().optional(),
152
+ projectId: CuidSchema.optional(),
153
+ page: z.coerce.number().min(1).default(1),
154
+ limit: z.coerce.number().min(1).max(100).default(20),
155
+ });
156
+ export const ProjectMessageFiltersSchema = z.object({
157
+ type: z.enum(['GENERAL', 'ANNOUNCEMENT', 'URGENT', 'STATUS_UPDATE']).optional(),
158
+ page: z.coerce.number().min(1).default(1),
159
+ limit: z.coerce.number().min(1).max(100).default(20),
160
+ });
161
+ // ===== RESPONSE SCHEMAS =====
162
+ export const MarkAllNotificationsReadResponseSchema = z.object({
163
+ data: z.object({
164
+ markedCount: z.number(),
165
+ }),
166
+ });
167
+ // ===== JSON:API RESOURCE SCHEMAS =====
168
+ export const MessageResourceSchema = z.object({
169
+ type: z.literal('messages'),
170
+ id: z.string(),
171
+ attributes: MessageSchema,
172
+ });
173
+ export const NotificationResourceSchema = z.object({
174
+ type: z.literal('notifications'),
175
+ id: z.string(),
176
+ attributes: NotificationSchema,
177
+ });
178
+ export const CommunicationSettingsResourceSchema = z.object({
179
+ type: z.literal('communication-settings'),
180
+ id: z.string(),
181
+ attributes: CommunicationSettingsSchema,
182
+ });
183
+ // ===== BULK OPERATION SCHEMAS =====
184
+ export const BulkMarkReadRequestSchema = z.object({
185
+ messageIds: z.array(CuidSchema),
186
+ });
187
+ export const BulkMarkReadResultSchema = z.object({
188
+ updatedCount: z.number(),
189
+ messageIds: z.array(CuidSchema),
190
+ });
191
+ export const BulkDeleteRequestSchema = z.object({
192
+ messageIds: z.array(CuidSchema),
193
+ });
194
+ export const BulkDeleteResultSchema = z.object({
195
+ deletedCount: z.number(),
196
+ messageIds: z.array(CuidSchema),
197
+ });
198
+ export const BulkOperationResultSchema = z.object({
199
+ updatedCount: z.number(),
200
+ });
201
+ // ===== MESSAGE STATISTICS SCHEMAS =====
202
+ export const MessageStatisticsFiltersSchema = z.object({
203
+ projectId: CuidSchema.optional(),
204
+ startDate: z.string().datetime().optional(),
205
+ endDate: z.string().datetime().optional(),
206
+ });
207
+ export const MessageStatisticsSchema = z.object({
208
+ total: z.number(),
209
+ byType: z.record(z.string(), z.number()),
210
+ recentActivity: z.object({
211
+ last24Hours: z.number(),
212
+ last7Days: z.number(),
213
+ last30Days: z.number(),
214
+ }),
215
+ topSenders: z.array(z.object({
216
+ userId: CuidSchema,
217
+ userName: z.string(),
218
+ messageCount: z.number(),
219
+ })),
220
+ });
221
+ // ===== ONLINE STATUS SCHEMAS =====
222
+ export const OnlineStatusSchema = z.object({
223
+ userId: CuidSchema,
224
+ isOnline: z.boolean(),
225
+ status: z.enum(['ONLINE', 'AWAY', 'BUSY', 'OFFLINE']),
226
+ lastSeenAt: z.string().datetime(),
227
+ });
228
+ export const UpdateOnlineStatusRequestSchema = z.object({
229
+ status: z.enum(['ONLINE', 'AWAY', 'BUSY', 'OFFLINE']),
230
+ });
231
+ // ===== PROJECT MESSAGE SCHEMAS =====
232
+ export const CreateProjectMessageRequestSchema = z.object({
233
+ subject: z.string().min(1).max(200).optional(),
234
+ content: z.string().min(1).max(5000),
235
+ type: z.enum(['GENERAL', 'ANNOUNCEMENT', 'URGENT', 'STATUS_UPDATE']).default('GENERAL'),
236
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).default('MEDIUM'),
237
+ recipientId: CuidSchema,
238
+ attachments: z.array(z.string().url()).default([]),
239
+ });
240
+ export const ReplyToMessageRequestSchema = z.object({
241
+ content: z.string().min(1).max(5000),
242
+ priority: z.enum(['LOW', 'MEDIUM', 'HIGH', 'URGENT']).default('MEDIUM'),
243
+ attachments: z.array(z.string().url()).default([]),
244
+ });
245
+ //# sourceMappingURL=communication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"communication.js","sourceRoot":"","sources":["../../../src/schemas/communication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,8BAA8B;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChE,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC;SACX,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,EAAE,EAAE,UAAU;QACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;QACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;SACA,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACrF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvE,WAAW,EAAE,UAAU;IACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC/B,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAEH,mCAAmC;AAEnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;QACtB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;QACtB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,6CAA6C;AAE7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,UAAU;IAClB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/D,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1F,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAEH,mCAAmC;AAEnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC;QACJ,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;QACtB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAC;AAEH,+BAA+B;AAE/B,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;KACxB,CAAC;CACH,CAAC,CAAC;AAEH,wCAAwC;AAExC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,aAAa;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,kBAAkB;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,2BAA2B;CACxC,CAAC,CAAC;AAwBH,qCAAqC;AAErC,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEH,yCAAyC;AAEzC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;KACvB,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,KAAK,CACjB,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;KACzB,CAAC,CACH;CACF,CAAC,CAAC;AAEH,oCAAoC;AAEpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,sCAAsC;AAEtC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvE,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACvE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC,CAAC"}
@@ -0,0 +1,364 @@
1
+ import { z } from 'zod';
2
+ export declare const JobCostSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ projectId: z.ZodString;
5
+ companyId: z.ZodString;
6
+ workPackageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7
+ category: z.ZodString;
8
+ description: z.ZodString;
9
+ amount: z.ZodNumber;
10
+ incurredAt: z.ZodString;
11
+ createdById: z.ZodString;
12
+ createdAt: z.ZodString;
13
+ updatedAt: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ id: string;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ companyId: string;
19
+ projectId: string;
20
+ description: string;
21
+ amount: number;
22
+ category: string;
23
+ createdById: string;
24
+ incurredAt: string;
25
+ workPackageId?: string | null | undefined;
26
+ }, {
27
+ id: string;
28
+ createdAt: string;
29
+ updatedAt: string;
30
+ companyId: string;
31
+ projectId: string;
32
+ description: string;
33
+ amount: number;
34
+ category: string;
35
+ createdById: string;
36
+ incurredAt: string;
37
+ workPackageId?: string | null | undefined;
38
+ }>;
39
+ export declare const StockItemSchema: z.ZodObject<{
40
+ id: z.ZodString;
41
+ projectId: z.ZodString;
42
+ companyId: z.ZodString;
43
+ workPackageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ sku: z.ZodString;
45
+ name: z.ZodString;
46
+ quantity: z.ZodNumber;
47
+ unit: z.ZodString;
48
+ unitCost: z.ZodNumber;
49
+ createdAt: z.ZodString;
50
+ updatedAt: z.ZodString;
51
+ }, "strip", z.ZodTypeAny, {
52
+ id: string;
53
+ createdAt: string;
54
+ updatedAt: string;
55
+ companyId: string;
56
+ projectId: string;
57
+ name: string;
58
+ unit: string;
59
+ quantity: number;
60
+ sku: string;
61
+ unitCost: number;
62
+ workPackageId?: string | null | undefined;
63
+ }, {
64
+ id: string;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ companyId: string;
68
+ projectId: string;
69
+ name: string;
70
+ unit: string;
71
+ quantity: number;
72
+ sku: string;
73
+ unitCost: number;
74
+ workPackageId?: string | null | undefined;
75
+ }>;
76
+ export declare const PayrollExportSchema: z.ZodObject<{
77
+ id: z.ZodString;
78
+ projectId: z.ZodString;
79
+ companyId: z.ZodString;
80
+ periodStart: z.ZodString;
81
+ periodEnd: z.ZodString;
82
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
84
+ createdById: z.ZodString;
85
+ createdAt: z.ZodString;
86
+ }, "strip", z.ZodTypeAny, {
87
+ id: string;
88
+ createdAt: string;
89
+ companyId: string;
90
+ projectId: string;
91
+ createdById: string;
92
+ periodStart: string;
93
+ periodEnd: string;
94
+ payload: Record<string, unknown>;
95
+ exportUrl?: string | null | undefined;
96
+ }, {
97
+ id: string;
98
+ createdAt: string;
99
+ companyId: string;
100
+ projectId: string;
101
+ createdById: string;
102
+ periodStart: string;
103
+ periodEnd: string;
104
+ payload: Record<string, unknown>;
105
+ exportUrl?: string | null | undefined;
106
+ }>;
107
+ export declare const CreateJobCostRequestSchema: z.ZodObject<{
108
+ workPackageId: z.ZodOptional<z.ZodString>;
109
+ category: z.ZodString;
110
+ description: z.ZodString;
111
+ amount: z.ZodNumber;
112
+ incurredAt: z.ZodString;
113
+ }, "strip", z.ZodTypeAny, {
114
+ description: string;
115
+ amount: number;
116
+ category: string;
117
+ incurredAt: string;
118
+ workPackageId?: string | undefined;
119
+ }, {
120
+ description: string;
121
+ amount: number;
122
+ category: string;
123
+ incurredAt: string;
124
+ workPackageId?: string | undefined;
125
+ }>;
126
+ export declare const UpsertStockRequestSchema: z.ZodObject<{
127
+ workPackageId: z.ZodOptional<z.ZodString>;
128
+ sku: z.ZodString;
129
+ name: z.ZodString;
130
+ quantity: z.ZodNumber;
131
+ unit: z.ZodString;
132
+ unitCost: z.ZodNumber;
133
+ }, "strip", z.ZodTypeAny, {
134
+ name: string;
135
+ unit: string;
136
+ quantity: number;
137
+ sku: string;
138
+ unitCost: number;
139
+ workPackageId?: string | undefined;
140
+ }, {
141
+ name: string;
142
+ unit: string;
143
+ quantity: number;
144
+ sku: string;
145
+ unitCost: number;
146
+ workPackageId?: string | undefined;
147
+ }>;
148
+ export declare const CreatePayrollExportRequestSchema: z.ZodObject<{
149
+ periodStart: z.ZodString;
150
+ periodEnd: z.ZodString;
151
+ payload: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
152
+ }, "strip", z.ZodTypeAny, {
153
+ periodStart: string;
154
+ periodEnd: string;
155
+ payload: Record<string, unknown>;
156
+ }, {
157
+ periodStart: string;
158
+ periodEnd: string;
159
+ payload?: Record<string, unknown> | undefined;
160
+ }>;
161
+ export declare const JobCostResourceSchema: z.ZodObject<{
162
+ type: z.ZodLiteral<"contractor-job-costs">;
163
+ id: z.ZodString;
164
+ attributes: z.ZodObject<Omit<{
165
+ id: z.ZodString;
166
+ projectId: z.ZodString;
167
+ companyId: z.ZodString;
168
+ workPackageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ category: z.ZodString;
170
+ description: z.ZodString;
171
+ amount: z.ZodNumber;
172
+ incurredAt: z.ZodString;
173
+ createdById: z.ZodString;
174
+ createdAt: z.ZodString;
175
+ updatedAt: z.ZodString;
176
+ }, "id">, "strip", z.ZodTypeAny, {
177
+ createdAt: string;
178
+ updatedAt: string;
179
+ companyId: string;
180
+ projectId: string;
181
+ description: string;
182
+ amount: number;
183
+ category: string;
184
+ createdById: string;
185
+ incurredAt: string;
186
+ workPackageId?: string | null | undefined;
187
+ }, {
188
+ createdAt: string;
189
+ updatedAt: string;
190
+ companyId: string;
191
+ projectId: string;
192
+ description: string;
193
+ amount: number;
194
+ category: string;
195
+ createdById: string;
196
+ incurredAt: string;
197
+ workPackageId?: string | null | undefined;
198
+ }>;
199
+ }, "strip", z.ZodTypeAny, {
200
+ id: string;
201
+ type: "contractor-job-costs";
202
+ attributes: {
203
+ createdAt: string;
204
+ updatedAt: string;
205
+ companyId: string;
206
+ projectId: string;
207
+ description: string;
208
+ amount: number;
209
+ category: string;
210
+ createdById: string;
211
+ incurredAt: string;
212
+ workPackageId?: string | null | undefined;
213
+ };
214
+ }, {
215
+ id: string;
216
+ type: "contractor-job-costs";
217
+ attributes: {
218
+ createdAt: string;
219
+ updatedAt: string;
220
+ companyId: string;
221
+ projectId: string;
222
+ description: string;
223
+ amount: number;
224
+ category: string;
225
+ createdById: string;
226
+ incurredAt: string;
227
+ workPackageId?: string | null | undefined;
228
+ };
229
+ }>;
230
+ export declare const StockItemResourceSchema: z.ZodObject<{
231
+ type: z.ZodLiteral<"contractor-stock-items">;
232
+ id: z.ZodString;
233
+ attributes: z.ZodObject<Omit<{
234
+ id: z.ZodString;
235
+ projectId: z.ZodString;
236
+ companyId: z.ZodString;
237
+ workPackageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
238
+ sku: z.ZodString;
239
+ name: z.ZodString;
240
+ quantity: z.ZodNumber;
241
+ unit: z.ZodString;
242
+ unitCost: z.ZodNumber;
243
+ createdAt: z.ZodString;
244
+ updatedAt: z.ZodString;
245
+ }, "id">, "strip", z.ZodTypeAny, {
246
+ createdAt: string;
247
+ updatedAt: string;
248
+ companyId: string;
249
+ projectId: string;
250
+ name: string;
251
+ unit: string;
252
+ quantity: number;
253
+ sku: string;
254
+ unitCost: number;
255
+ workPackageId?: string | null | undefined;
256
+ }, {
257
+ createdAt: string;
258
+ updatedAt: string;
259
+ companyId: string;
260
+ projectId: string;
261
+ name: string;
262
+ unit: string;
263
+ quantity: number;
264
+ sku: string;
265
+ unitCost: number;
266
+ workPackageId?: string | null | undefined;
267
+ }>;
268
+ }, "strip", z.ZodTypeAny, {
269
+ id: string;
270
+ type: "contractor-stock-items";
271
+ attributes: {
272
+ createdAt: string;
273
+ updatedAt: string;
274
+ companyId: string;
275
+ projectId: string;
276
+ name: string;
277
+ unit: string;
278
+ quantity: number;
279
+ sku: string;
280
+ unitCost: number;
281
+ workPackageId?: string | null | undefined;
282
+ };
283
+ }, {
284
+ id: string;
285
+ type: "contractor-stock-items";
286
+ attributes: {
287
+ createdAt: string;
288
+ updatedAt: string;
289
+ companyId: string;
290
+ projectId: string;
291
+ name: string;
292
+ unit: string;
293
+ quantity: number;
294
+ sku: string;
295
+ unitCost: number;
296
+ workPackageId?: string | null | undefined;
297
+ };
298
+ }>;
299
+ export declare const PayrollExportResourceSchema: z.ZodObject<{
300
+ type: z.ZodLiteral<"contractor-payroll-exports">;
301
+ id: z.ZodString;
302
+ attributes: z.ZodObject<Omit<{
303
+ id: z.ZodString;
304
+ projectId: z.ZodString;
305
+ companyId: z.ZodString;
306
+ periodStart: z.ZodString;
307
+ periodEnd: z.ZodString;
308
+ exportUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
309
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
310
+ createdById: z.ZodString;
311
+ createdAt: z.ZodString;
312
+ }, "id">, "strip", z.ZodTypeAny, {
313
+ createdAt: string;
314
+ companyId: string;
315
+ projectId: string;
316
+ createdById: string;
317
+ periodStart: string;
318
+ periodEnd: string;
319
+ payload: Record<string, unknown>;
320
+ exportUrl?: string | null | undefined;
321
+ }, {
322
+ createdAt: string;
323
+ companyId: string;
324
+ projectId: string;
325
+ createdById: string;
326
+ periodStart: string;
327
+ periodEnd: string;
328
+ payload: Record<string, unknown>;
329
+ exportUrl?: string | null | undefined;
330
+ }>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ id: string;
333
+ type: "contractor-payroll-exports";
334
+ attributes: {
335
+ createdAt: string;
336
+ companyId: string;
337
+ projectId: string;
338
+ createdById: string;
339
+ periodStart: string;
340
+ periodEnd: string;
341
+ payload: Record<string, unknown>;
342
+ exportUrl?: string | null | undefined;
343
+ };
344
+ }, {
345
+ id: string;
346
+ type: "contractor-payroll-exports";
347
+ attributes: {
348
+ createdAt: string;
349
+ companyId: string;
350
+ projectId: string;
351
+ createdById: string;
352
+ periodStart: string;
353
+ periodEnd: string;
354
+ payload: Record<string, unknown>;
355
+ exportUrl?: string | null | undefined;
356
+ };
357
+ }>;
358
+ export type JobCost = z.infer<typeof JobCostSchema>;
359
+ export type StockItem = z.infer<typeof StockItemSchema>;
360
+ export type PayrollExport = z.infer<typeof PayrollExportSchema>;
361
+ export type CreateJobCostRequest = z.infer<typeof CreateJobCostRequestSchema>;
362
+ export type UpsertStockRequest = z.infer<typeof UpsertStockRequestSchema>;
363
+ export type CreatePayrollExportRequest = z.infer<typeof CreatePayrollExportRequestSchema>;
364
+ //# sourceMappingURL=contractor-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractor-ledger.d.ts","sourceRoot":"","sources":["../../../src/schemas/contractor-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK1B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAGrC,CAAC;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAGnC,CAAC;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;EAE3C,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsH,CAAC;AACzJ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0H,CAAC;AAC/J,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkI,CAAC;AAE3K,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ import { CuidSchema, DateTimeSchema } from './common';
3
+ export const JobCostSchema = z.object({
4
+ id: CuidSchema, projectId: CuidSchema, companyId: CuidSchema,
5
+ workPackageId: CuidSchema.nullable().optional(),
6
+ category: z.string(), description: z.string(), amount: z.number(),
7
+ incurredAt: DateTimeSchema, createdById: CuidSchema,
8
+ createdAt: DateTimeSchema, updatedAt: DateTimeSchema,
9
+ });
10
+ export const StockItemSchema = z.object({
11
+ id: CuidSchema, projectId: CuidSchema, companyId: CuidSchema,
12
+ workPackageId: CuidSchema.nullable().optional(),
13
+ sku: z.string(), name: z.string(), quantity: z.number(), unit: z.string(), unitCost: z.number(),
14
+ createdAt: DateTimeSchema, updatedAt: DateTimeSchema,
15
+ });
16
+ export const PayrollExportSchema = z.object({
17
+ id: CuidSchema, projectId: CuidSchema, companyId: CuidSchema,
18
+ periodStart: DateTimeSchema, periodEnd: DateTimeSchema,
19
+ exportUrl: z.string().nullable().optional(), payload: z.record(z.unknown()),
20
+ createdById: CuidSchema, createdAt: DateTimeSchema,
21
+ });
22
+ export const CreateJobCostRequestSchema = z.object({
23
+ workPackageId: CuidSchema.optional(), category: z.string().min(1).max(100),
24
+ description: z.string().min(1), amount: z.number(), incurredAt: DateTimeSchema,
25
+ });
26
+ export const UpsertStockRequestSchema = z.object({
27
+ workPackageId: CuidSchema.optional(), sku: z.string().min(1).max(50),
28
+ name: z.string().min(1).max(200), quantity: z.number(), unit: z.string(), unitCost: z.number().min(0),
29
+ });
30
+ export const CreatePayrollExportRequestSchema = z.object({
31
+ periodStart: DateTimeSchema, periodEnd: DateTimeSchema, payload: z.record(z.unknown()).default({}),
32
+ });
33
+ export const JobCostResourceSchema = z.object({ type: z.literal('contractor-job-costs'), id: z.string(), attributes: JobCostSchema.omit({ id: true }) });
34
+ export const StockItemResourceSchema = z.object({ type: z.literal('contractor-stock-items'), id: z.string(), attributes: StockItemSchema.omit({ id: true }) });
35
+ export const PayrollExportResourceSchema = z.object({ type: z.literal('contractor-payroll-exports'), id: z.string(), attributes: PayrollExportSchema.omit({ id: true }) });
36
+ //# sourceMappingURL=contractor-ledger.js.map