@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,3130 @@
1
+ import { z } from 'zod';
2
+ import { CreateTimecardEntryRequestSchema, CreateTimecardRequestSchema, TimecardEntrySchema, TimecardFiltersSchema, TimecardSchema } from '../schemas/timecards';
3
+ export declare const timecardsContract: {
4
+ getTimecards: {
5
+ query: z.ZodObject<{
6
+ page: z.ZodDefault<z.ZodNumber>;
7
+ limit: z.ZodDefault<z.ZodNumber>;
8
+ userId: z.ZodOptional<z.ZodString>;
9
+ status: z.ZodOptional<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
10
+ weekStartDate: z.ZodOptional<z.ZodString>;
11
+ companyId: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ page: number;
14
+ limit: number;
15
+ companyId?: string | undefined;
16
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
17
+ userId?: string | undefined;
18
+ weekStartDate?: string | undefined;
19
+ }, {
20
+ companyId?: string | undefined;
21
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
22
+ page?: number | undefined;
23
+ limit?: number | undefined;
24
+ userId?: string | undefined;
25
+ weekStartDate?: string | undefined;
26
+ }>;
27
+ summary: "Get timecards with filtering and pagination";
28
+ method: "GET";
29
+ path: "/timecards";
30
+ responses: {
31
+ 200: z.ZodObject<{
32
+ data: z.ZodArray<z.ZodObject<{
33
+ type: z.ZodLiteral<"timecards">;
34
+ id: z.ZodString;
35
+ attributes: z.ZodObject<{
36
+ id: z.ZodString;
37
+ userId: z.ZodString;
38
+ weekStartDate: z.ZodString;
39
+ weekEndDate: z.ZodString;
40
+ status: z.ZodDefault<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
41
+ totalHours: z.ZodNumber;
42
+ regularHours: z.ZodNumber;
43
+ overtimeHours: z.ZodNumber;
44
+ entries: z.ZodArray<z.ZodObject<{
45
+ id: z.ZodString;
46
+ timecardId: z.ZodString;
47
+ date: z.ZodString;
48
+ startTime: z.ZodString;
49
+ endTime: z.ZodString;
50
+ breakDuration: z.ZodDefault<z.ZodNumber>;
51
+ projectId: z.ZodOptional<z.ZodString>;
52
+ taskId: z.ZodOptional<z.ZodString>;
53
+ activity: z.ZodString;
54
+ location: z.ZodOptional<z.ZodString>;
55
+ notes: z.ZodOptional<z.ZodString>;
56
+ hoursWorked: z.ZodNumber;
57
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
58
+ createdAt: z.ZodString;
59
+ updatedAt: z.ZodString;
60
+ }, "strip", z.ZodTypeAny, {
61
+ id: string;
62
+ createdAt: string;
63
+ updatedAt: string;
64
+ date: string;
65
+ hoursWorked: number;
66
+ startTime: string;
67
+ endTime: string;
68
+ overtimeHours: number;
69
+ timecardId: string;
70
+ breakDuration: number;
71
+ activity: string;
72
+ projectId?: string | undefined;
73
+ notes?: string | undefined;
74
+ location?: string | undefined;
75
+ taskId?: string | undefined;
76
+ }, {
77
+ id: string;
78
+ createdAt: string;
79
+ updatedAt: string;
80
+ date: string;
81
+ hoursWorked: number;
82
+ startTime: string;
83
+ endTime: string;
84
+ timecardId: string;
85
+ activity: string;
86
+ projectId?: string | undefined;
87
+ notes?: string | undefined;
88
+ location?: string | undefined;
89
+ taskId?: string | undefined;
90
+ overtimeHours?: number | undefined;
91
+ breakDuration?: number | undefined;
92
+ }>, "many">;
93
+ submittedAt: z.ZodOptional<z.ZodString>;
94
+ approvedAt: z.ZodOptional<z.ZodString>;
95
+ approvedBy: z.ZodOptional<z.ZodString>;
96
+ rejectionReason: z.ZodOptional<z.ZodString>;
97
+ companyId: z.ZodString;
98
+ createdAt: z.ZodString;
99
+ updatedAt: z.ZodString;
100
+ }, "strip", z.ZodTypeAny, {
101
+ id: string;
102
+ createdAt: string;
103
+ updatedAt: string;
104
+ companyId: string;
105
+ entries: {
106
+ id: string;
107
+ createdAt: string;
108
+ updatedAt: string;
109
+ date: string;
110
+ hoursWorked: number;
111
+ startTime: string;
112
+ endTime: string;
113
+ overtimeHours: number;
114
+ timecardId: string;
115
+ breakDuration: number;
116
+ activity: string;
117
+ projectId?: string | undefined;
118
+ notes?: string | undefined;
119
+ location?: string | undefined;
120
+ taskId?: string | undefined;
121
+ }[];
122
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
123
+ userId: string;
124
+ totalHours: number;
125
+ overtimeHours: number;
126
+ weekStartDate: string;
127
+ weekEndDate: string;
128
+ regularHours: number;
129
+ approvedBy?: string | undefined;
130
+ approvedAt?: string | undefined;
131
+ submittedAt?: string | undefined;
132
+ rejectionReason?: string | undefined;
133
+ }, {
134
+ id: string;
135
+ createdAt: string;
136
+ updatedAt: string;
137
+ companyId: string;
138
+ entries: {
139
+ id: string;
140
+ createdAt: string;
141
+ updatedAt: string;
142
+ date: string;
143
+ hoursWorked: number;
144
+ startTime: string;
145
+ endTime: string;
146
+ timecardId: string;
147
+ activity: string;
148
+ projectId?: string | undefined;
149
+ notes?: string | undefined;
150
+ location?: string | undefined;
151
+ taskId?: string | undefined;
152
+ overtimeHours?: number | undefined;
153
+ breakDuration?: number | undefined;
154
+ }[];
155
+ userId: string;
156
+ totalHours: number;
157
+ overtimeHours: number;
158
+ weekStartDate: string;
159
+ weekEndDate: string;
160
+ regularHours: number;
161
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
162
+ approvedBy?: string | undefined;
163
+ approvedAt?: string | undefined;
164
+ submittedAt?: string | undefined;
165
+ rejectionReason?: string | undefined;
166
+ }>;
167
+ }, "strip", z.ZodTypeAny, {
168
+ id: string;
169
+ type: "timecards";
170
+ attributes: {
171
+ id: string;
172
+ createdAt: string;
173
+ updatedAt: string;
174
+ companyId: string;
175
+ entries: {
176
+ id: string;
177
+ createdAt: string;
178
+ updatedAt: string;
179
+ date: string;
180
+ hoursWorked: number;
181
+ startTime: string;
182
+ endTime: string;
183
+ overtimeHours: number;
184
+ timecardId: string;
185
+ breakDuration: number;
186
+ activity: string;
187
+ projectId?: string | undefined;
188
+ notes?: string | undefined;
189
+ location?: string | undefined;
190
+ taskId?: string | undefined;
191
+ }[];
192
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
193
+ userId: string;
194
+ totalHours: number;
195
+ overtimeHours: number;
196
+ weekStartDate: string;
197
+ weekEndDate: string;
198
+ regularHours: number;
199
+ approvedBy?: string | undefined;
200
+ approvedAt?: string | undefined;
201
+ submittedAt?: string | undefined;
202
+ rejectionReason?: string | undefined;
203
+ };
204
+ }, {
205
+ id: string;
206
+ type: "timecards";
207
+ attributes: {
208
+ id: string;
209
+ createdAt: string;
210
+ updatedAt: string;
211
+ companyId: string;
212
+ entries: {
213
+ id: string;
214
+ createdAt: string;
215
+ updatedAt: string;
216
+ date: string;
217
+ hoursWorked: number;
218
+ startTime: string;
219
+ endTime: string;
220
+ timecardId: string;
221
+ activity: string;
222
+ projectId?: string | undefined;
223
+ notes?: string | undefined;
224
+ location?: string | undefined;
225
+ taskId?: string | undefined;
226
+ overtimeHours?: number | undefined;
227
+ breakDuration?: number | undefined;
228
+ }[];
229
+ userId: string;
230
+ totalHours: number;
231
+ overtimeHours: number;
232
+ weekStartDate: string;
233
+ weekEndDate: string;
234
+ regularHours: number;
235
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
236
+ approvedBy?: string | undefined;
237
+ approvedAt?: string | undefined;
238
+ submittedAt?: string | undefined;
239
+ rejectionReason?: string | undefined;
240
+ };
241
+ }>, "many">;
242
+ meta: z.ZodOptional<z.ZodObject<{
243
+ total: z.ZodOptional<z.ZodNumber>;
244
+ page: z.ZodOptional<z.ZodNumber>;
245
+ size: z.ZodOptional<z.ZodNumber>;
246
+ pages: z.ZodOptional<z.ZodNumber>;
247
+ hasNextPage: z.ZodOptional<z.ZodBoolean>;
248
+ hasPreviousPage: z.ZodOptional<z.ZodBoolean>;
249
+ }, "strip", z.ZodTypeAny, {
250
+ page?: number | undefined;
251
+ total?: number | undefined;
252
+ size?: number | undefined;
253
+ pages?: number | undefined;
254
+ hasNextPage?: boolean | undefined;
255
+ hasPreviousPage?: boolean | undefined;
256
+ }, {
257
+ page?: number | undefined;
258
+ total?: number | undefined;
259
+ size?: number | undefined;
260
+ pages?: number | undefined;
261
+ hasNextPage?: boolean | undefined;
262
+ hasPreviousPage?: boolean | undefined;
263
+ }>>;
264
+ links: z.ZodOptional<z.ZodObject<{
265
+ self: z.ZodString;
266
+ first: z.ZodOptional<z.ZodString>;
267
+ last: z.ZodOptional<z.ZodString>;
268
+ prev: z.ZodOptional<z.ZodString>;
269
+ next: z.ZodOptional<z.ZodString>;
270
+ }, "strip", z.ZodTypeAny, {
271
+ self: string;
272
+ first?: string | undefined;
273
+ last?: string | undefined;
274
+ prev?: string | undefined;
275
+ next?: string | undefined;
276
+ }, {
277
+ self: string;
278
+ first?: string | undefined;
279
+ last?: string | undefined;
280
+ prev?: string | undefined;
281
+ next?: string | undefined;
282
+ }>>;
283
+ }, "strip", z.ZodTypeAny, {
284
+ data: {
285
+ id: string;
286
+ type: "timecards";
287
+ attributes: {
288
+ id: string;
289
+ createdAt: string;
290
+ updatedAt: string;
291
+ companyId: string;
292
+ entries: {
293
+ id: string;
294
+ createdAt: string;
295
+ updatedAt: string;
296
+ date: string;
297
+ hoursWorked: number;
298
+ startTime: string;
299
+ endTime: string;
300
+ overtimeHours: number;
301
+ timecardId: string;
302
+ breakDuration: number;
303
+ activity: string;
304
+ projectId?: string | undefined;
305
+ notes?: string | undefined;
306
+ location?: string | undefined;
307
+ taskId?: string | undefined;
308
+ }[];
309
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
310
+ userId: string;
311
+ totalHours: number;
312
+ overtimeHours: number;
313
+ weekStartDate: string;
314
+ weekEndDate: string;
315
+ regularHours: number;
316
+ approvedBy?: string | undefined;
317
+ approvedAt?: string | undefined;
318
+ submittedAt?: string | undefined;
319
+ rejectionReason?: string | undefined;
320
+ };
321
+ }[];
322
+ meta?: {
323
+ page?: number | undefined;
324
+ total?: number | undefined;
325
+ size?: number | undefined;
326
+ pages?: number | undefined;
327
+ hasNextPage?: boolean | undefined;
328
+ hasPreviousPage?: boolean | undefined;
329
+ } | undefined;
330
+ links?: {
331
+ self: string;
332
+ first?: string | undefined;
333
+ last?: string | undefined;
334
+ prev?: string | undefined;
335
+ next?: string | undefined;
336
+ } | undefined;
337
+ }, {
338
+ data: {
339
+ id: string;
340
+ type: "timecards";
341
+ attributes: {
342
+ id: string;
343
+ createdAt: string;
344
+ updatedAt: string;
345
+ companyId: string;
346
+ entries: {
347
+ id: string;
348
+ createdAt: string;
349
+ updatedAt: string;
350
+ date: string;
351
+ hoursWorked: number;
352
+ startTime: string;
353
+ endTime: string;
354
+ timecardId: string;
355
+ activity: string;
356
+ projectId?: string | undefined;
357
+ notes?: string | undefined;
358
+ location?: string | undefined;
359
+ taskId?: string | undefined;
360
+ overtimeHours?: number | undefined;
361
+ breakDuration?: number | undefined;
362
+ }[];
363
+ userId: string;
364
+ totalHours: number;
365
+ overtimeHours: number;
366
+ weekStartDate: string;
367
+ weekEndDate: string;
368
+ regularHours: number;
369
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
370
+ approvedBy?: string | undefined;
371
+ approvedAt?: string | undefined;
372
+ submittedAt?: string | undefined;
373
+ rejectionReason?: string | undefined;
374
+ };
375
+ }[];
376
+ meta?: {
377
+ page?: number | undefined;
378
+ total?: number | undefined;
379
+ size?: number | undefined;
380
+ pages?: number | undefined;
381
+ hasNextPage?: boolean | undefined;
382
+ hasPreviousPage?: boolean | undefined;
383
+ } | undefined;
384
+ links?: {
385
+ self: string;
386
+ first?: string | undefined;
387
+ last?: string | undefined;
388
+ prev?: string | undefined;
389
+ next?: string | undefined;
390
+ } | undefined;
391
+ }>;
392
+ 401: z.ZodObject<{
393
+ errors: z.ZodArray<z.ZodObject<{
394
+ status: z.ZodString;
395
+ title: z.ZodString;
396
+ detail: z.ZodOptional<z.ZodString>;
397
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
398
+ }, "strip", z.ZodTypeAny, {
399
+ status: string;
400
+ title: string;
401
+ detail?: string | undefined;
402
+ meta?: Record<string, unknown> | undefined;
403
+ }, {
404
+ status: string;
405
+ title: string;
406
+ detail?: string | undefined;
407
+ meta?: Record<string, unknown> | undefined;
408
+ }>, "many">;
409
+ }, "strip", z.ZodTypeAny, {
410
+ errors: {
411
+ status: string;
412
+ title: string;
413
+ detail?: string | undefined;
414
+ meta?: Record<string, unknown> | undefined;
415
+ }[];
416
+ }, {
417
+ errors: {
418
+ status: string;
419
+ title: string;
420
+ detail?: string | undefined;
421
+ meta?: Record<string, unknown> | undefined;
422
+ }[];
423
+ }>;
424
+ 403: z.ZodObject<{
425
+ errors: z.ZodArray<z.ZodObject<{
426
+ status: z.ZodString;
427
+ title: z.ZodString;
428
+ detail: z.ZodOptional<z.ZodString>;
429
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
430
+ }, "strip", z.ZodTypeAny, {
431
+ status: string;
432
+ title: string;
433
+ detail?: string | undefined;
434
+ meta?: Record<string, unknown> | undefined;
435
+ }, {
436
+ status: string;
437
+ title: string;
438
+ detail?: string | undefined;
439
+ meta?: Record<string, unknown> | undefined;
440
+ }>, "many">;
441
+ }, "strip", z.ZodTypeAny, {
442
+ errors: {
443
+ status: string;
444
+ title: string;
445
+ detail?: string | undefined;
446
+ meta?: Record<string, unknown> | undefined;
447
+ }[];
448
+ }, {
449
+ errors: {
450
+ status: string;
451
+ title: string;
452
+ detail?: string | undefined;
453
+ meta?: Record<string, unknown> | undefined;
454
+ }[];
455
+ }>;
456
+ };
457
+ };
458
+ createTimecard: {
459
+ query: z.ZodObject<{
460
+ companyId: z.ZodOptional<z.ZodString>;
461
+ }, "strip", z.ZodTypeAny, {
462
+ companyId?: string | undefined;
463
+ }, {
464
+ companyId?: string | undefined;
465
+ }>;
466
+ summary: "Create a new timecard";
467
+ method: "POST";
468
+ body: z.ZodObject<{
469
+ userId: z.ZodString;
470
+ weekStartDate: z.ZodString;
471
+ entries: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
472
+ date: z.ZodString;
473
+ startTime: z.ZodString;
474
+ endTime: z.ZodString;
475
+ breakDuration: z.ZodDefault<z.ZodNumber>;
476
+ projectId: z.ZodOptional<z.ZodString>;
477
+ taskId: z.ZodOptional<z.ZodString>;
478
+ activity: z.ZodString;
479
+ location: z.ZodOptional<z.ZodString>;
480
+ notes: z.ZodOptional<z.ZodString>;
481
+ }, "strip", z.ZodTypeAny, {
482
+ date: string;
483
+ startTime: string;
484
+ endTime: string;
485
+ breakDuration: number;
486
+ activity: string;
487
+ projectId?: string | undefined;
488
+ notes?: string | undefined;
489
+ location?: string | undefined;
490
+ taskId?: string | undefined;
491
+ }, {
492
+ date: string;
493
+ startTime: string;
494
+ endTime: string;
495
+ activity: string;
496
+ projectId?: string | undefined;
497
+ notes?: string | undefined;
498
+ location?: string | undefined;
499
+ taskId?: string | undefined;
500
+ breakDuration?: number | undefined;
501
+ }>, "many">>>;
502
+ }, "strip", z.ZodTypeAny, {
503
+ entries: {
504
+ date: string;
505
+ startTime: string;
506
+ endTime: string;
507
+ breakDuration: number;
508
+ activity: string;
509
+ projectId?: string | undefined;
510
+ notes?: string | undefined;
511
+ location?: string | undefined;
512
+ taskId?: string | undefined;
513
+ }[];
514
+ userId: string;
515
+ weekStartDate: string;
516
+ }, {
517
+ userId: string;
518
+ weekStartDate: string;
519
+ entries?: {
520
+ date: string;
521
+ startTime: string;
522
+ endTime: string;
523
+ activity: string;
524
+ projectId?: string | undefined;
525
+ notes?: string | undefined;
526
+ location?: string | undefined;
527
+ taskId?: string | undefined;
528
+ breakDuration?: number | undefined;
529
+ }[] | undefined;
530
+ }>;
531
+ path: "/timecards";
532
+ responses: {
533
+ 201: z.ZodObject<{
534
+ data: z.ZodObject<{
535
+ type: z.ZodLiteral<"timecards">;
536
+ id: z.ZodString;
537
+ attributes: z.ZodObject<{
538
+ id: z.ZodString;
539
+ userId: z.ZodString;
540
+ weekStartDate: z.ZodString;
541
+ weekEndDate: z.ZodString;
542
+ status: z.ZodDefault<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
543
+ totalHours: z.ZodNumber;
544
+ regularHours: z.ZodNumber;
545
+ overtimeHours: z.ZodNumber;
546
+ entries: z.ZodArray<z.ZodObject<{
547
+ id: z.ZodString;
548
+ timecardId: z.ZodString;
549
+ date: z.ZodString;
550
+ startTime: z.ZodString;
551
+ endTime: z.ZodString;
552
+ breakDuration: z.ZodDefault<z.ZodNumber>;
553
+ projectId: z.ZodOptional<z.ZodString>;
554
+ taskId: z.ZodOptional<z.ZodString>;
555
+ activity: z.ZodString;
556
+ location: z.ZodOptional<z.ZodString>;
557
+ notes: z.ZodOptional<z.ZodString>;
558
+ hoursWorked: z.ZodNumber;
559
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
560
+ createdAt: z.ZodString;
561
+ updatedAt: z.ZodString;
562
+ }, "strip", z.ZodTypeAny, {
563
+ id: string;
564
+ createdAt: string;
565
+ updatedAt: string;
566
+ date: string;
567
+ hoursWorked: number;
568
+ startTime: string;
569
+ endTime: string;
570
+ overtimeHours: number;
571
+ timecardId: string;
572
+ breakDuration: number;
573
+ activity: string;
574
+ projectId?: string | undefined;
575
+ notes?: string | undefined;
576
+ location?: string | undefined;
577
+ taskId?: string | undefined;
578
+ }, {
579
+ id: string;
580
+ createdAt: string;
581
+ updatedAt: string;
582
+ date: string;
583
+ hoursWorked: number;
584
+ startTime: string;
585
+ endTime: string;
586
+ timecardId: string;
587
+ activity: string;
588
+ projectId?: string | undefined;
589
+ notes?: string | undefined;
590
+ location?: string | undefined;
591
+ taskId?: string | undefined;
592
+ overtimeHours?: number | undefined;
593
+ breakDuration?: number | undefined;
594
+ }>, "many">;
595
+ submittedAt: z.ZodOptional<z.ZodString>;
596
+ approvedAt: z.ZodOptional<z.ZodString>;
597
+ approvedBy: z.ZodOptional<z.ZodString>;
598
+ rejectionReason: z.ZodOptional<z.ZodString>;
599
+ companyId: z.ZodString;
600
+ createdAt: z.ZodString;
601
+ updatedAt: z.ZodString;
602
+ }, "strip", z.ZodTypeAny, {
603
+ id: string;
604
+ createdAt: string;
605
+ updatedAt: string;
606
+ companyId: string;
607
+ entries: {
608
+ id: string;
609
+ createdAt: string;
610
+ updatedAt: string;
611
+ date: string;
612
+ hoursWorked: number;
613
+ startTime: string;
614
+ endTime: string;
615
+ overtimeHours: number;
616
+ timecardId: string;
617
+ breakDuration: number;
618
+ activity: string;
619
+ projectId?: string | undefined;
620
+ notes?: string | undefined;
621
+ location?: string | undefined;
622
+ taskId?: string | undefined;
623
+ }[];
624
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
625
+ userId: string;
626
+ totalHours: number;
627
+ overtimeHours: number;
628
+ weekStartDate: string;
629
+ weekEndDate: string;
630
+ regularHours: number;
631
+ approvedBy?: string | undefined;
632
+ approvedAt?: string | undefined;
633
+ submittedAt?: string | undefined;
634
+ rejectionReason?: string | undefined;
635
+ }, {
636
+ id: string;
637
+ createdAt: string;
638
+ updatedAt: string;
639
+ companyId: string;
640
+ entries: {
641
+ id: string;
642
+ createdAt: string;
643
+ updatedAt: string;
644
+ date: string;
645
+ hoursWorked: number;
646
+ startTime: string;
647
+ endTime: string;
648
+ timecardId: string;
649
+ activity: string;
650
+ projectId?: string | undefined;
651
+ notes?: string | undefined;
652
+ location?: string | undefined;
653
+ taskId?: string | undefined;
654
+ overtimeHours?: number | undefined;
655
+ breakDuration?: number | undefined;
656
+ }[];
657
+ userId: string;
658
+ totalHours: number;
659
+ overtimeHours: number;
660
+ weekStartDate: string;
661
+ weekEndDate: string;
662
+ regularHours: number;
663
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
664
+ approvedBy?: string | undefined;
665
+ approvedAt?: string | undefined;
666
+ submittedAt?: string | undefined;
667
+ rejectionReason?: string | undefined;
668
+ }>;
669
+ }, "strip", z.ZodTypeAny, {
670
+ id: string;
671
+ type: "timecards";
672
+ attributes: {
673
+ id: string;
674
+ createdAt: string;
675
+ updatedAt: string;
676
+ companyId: string;
677
+ entries: {
678
+ id: string;
679
+ createdAt: string;
680
+ updatedAt: string;
681
+ date: string;
682
+ hoursWorked: number;
683
+ startTime: string;
684
+ endTime: string;
685
+ overtimeHours: number;
686
+ timecardId: string;
687
+ breakDuration: number;
688
+ activity: string;
689
+ projectId?: string | undefined;
690
+ notes?: string | undefined;
691
+ location?: string | undefined;
692
+ taskId?: string | undefined;
693
+ }[];
694
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
695
+ userId: string;
696
+ totalHours: number;
697
+ overtimeHours: number;
698
+ weekStartDate: string;
699
+ weekEndDate: string;
700
+ regularHours: number;
701
+ approvedBy?: string | undefined;
702
+ approvedAt?: string | undefined;
703
+ submittedAt?: string | undefined;
704
+ rejectionReason?: string | undefined;
705
+ };
706
+ }, {
707
+ id: string;
708
+ type: "timecards";
709
+ attributes: {
710
+ id: string;
711
+ createdAt: string;
712
+ updatedAt: string;
713
+ companyId: string;
714
+ entries: {
715
+ id: string;
716
+ createdAt: string;
717
+ updatedAt: string;
718
+ date: string;
719
+ hoursWorked: number;
720
+ startTime: string;
721
+ endTime: string;
722
+ timecardId: string;
723
+ activity: string;
724
+ projectId?: string | undefined;
725
+ notes?: string | undefined;
726
+ location?: string | undefined;
727
+ taskId?: string | undefined;
728
+ overtimeHours?: number | undefined;
729
+ breakDuration?: number | undefined;
730
+ }[];
731
+ userId: string;
732
+ totalHours: number;
733
+ overtimeHours: number;
734
+ weekStartDate: string;
735
+ weekEndDate: string;
736
+ regularHours: number;
737
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
738
+ approvedBy?: string | undefined;
739
+ approvedAt?: string | undefined;
740
+ submittedAt?: string | undefined;
741
+ rejectionReason?: string | undefined;
742
+ };
743
+ }>;
744
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
745
+ links: z.ZodOptional<z.ZodObject<{
746
+ self: z.ZodString;
747
+ first: z.ZodOptional<z.ZodString>;
748
+ last: z.ZodOptional<z.ZodString>;
749
+ prev: z.ZodOptional<z.ZodString>;
750
+ next: z.ZodOptional<z.ZodString>;
751
+ }, "strip", z.ZodTypeAny, {
752
+ self: string;
753
+ first?: string | undefined;
754
+ last?: string | undefined;
755
+ prev?: string | undefined;
756
+ next?: string | undefined;
757
+ }, {
758
+ self: string;
759
+ first?: string | undefined;
760
+ last?: string | undefined;
761
+ prev?: string | undefined;
762
+ next?: string | undefined;
763
+ }>>;
764
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
765
+ status: z.ZodString;
766
+ title: z.ZodString;
767
+ detail: z.ZodOptional<z.ZodString>;
768
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
769
+ }, "strip", z.ZodTypeAny, {
770
+ status: string;
771
+ title: string;
772
+ detail?: string | undefined;
773
+ meta?: Record<string, unknown> | undefined;
774
+ }, {
775
+ status: string;
776
+ title: string;
777
+ detail?: string | undefined;
778
+ meta?: Record<string, unknown> | undefined;
779
+ }>, "many">>;
780
+ }, "strip", z.ZodTypeAny, {
781
+ data: {
782
+ id: string;
783
+ type: "timecards";
784
+ attributes: {
785
+ id: string;
786
+ createdAt: string;
787
+ updatedAt: string;
788
+ companyId: string;
789
+ entries: {
790
+ id: string;
791
+ createdAt: string;
792
+ updatedAt: string;
793
+ date: string;
794
+ hoursWorked: number;
795
+ startTime: string;
796
+ endTime: string;
797
+ overtimeHours: number;
798
+ timecardId: string;
799
+ breakDuration: number;
800
+ activity: string;
801
+ projectId?: string | undefined;
802
+ notes?: string | undefined;
803
+ location?: string | undefined;
804
+ taskId?: string | undefined;
805
+ }[];
806
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
807
+ userId: string;
808
+ totalHours: number;
809
+ overtimeHours: number;
810
+ weekStartDate: string;
811
+ weekEndDate: string;
812
+ regularHours: number;
813
+ approvedBy?: string | undefined;
814
+ approvedAt?: string | undefined;
815
+ submittedAt?: string | undefined;
816
+ rejectionReason?: string | undefined;
817
+ };
818
+ };
819
+ meta?: Record<string, unknown> | undefined;
820
+ links?: {
821
+ self: string;
822
+ first?: string | undefined;
823
+ last?: string | undefined;
824
+ prev?: string | undefined;
825
+ next?: string | undefined;
826
+ } | undefined;
827
+ errors?: {
828
+ status: string;
829
+ title: string;
830
+ detail?: string | undefined;
831
+ meta?: Record<string, unknown> | undefined;
832
+ }[] | undefined;
833
+ }, {
834
+ data: {
835
+ id: string;
836
+ type: "timecards";
837
+ attributes: {
838
+ id: string;
839
+ createdAt: string;
840
+ updatedAt: string;
841
+ companyId: string;
842
+ entries: {
843
+ id: string;
844
+ createdAt: string;
845
+ updatedAt: string;
846
+ date: string;
847
+ hoursWorked: number;
848
+ startTime: string;
849
+ endTime: string;
850
+ timecardId: string;
851
+ activity: string;
852
+ projectId?: string | undefined;
853
+ notes?: string | undefined;
854
+ location?: string | undefined;
855
+ taskId?: string | undefined;
856
+ overtimeHours?: number | undefined;
857
+ breakDuration?: number | undefined;
858
+ }[];
859
+ userId: string;
860
+ totalHours: number;
861
+ overtimeHours: number;
862
+ weekStartDate: string;
863
+ weekEndDate: string;
864
+ regularHours: number;
865
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
866
+ approvedBy?: string | undefined;
867
+ approvedAt?: string | undefined;
868
+ submittedAt?: string | undefined;
869
+ rejectionReason?: string | undefined;
870
+ };
871
+ };
872
+ meta?: Record<string, unknown> | undefined;
873
+ links?: {
874
+ self: string;
875
+ first?: string | undefined;
876
+ last?: string | undefined;
877
+ prev?: string | undefined;
878
+ next?: string | undefined;
879
+ } | undefined;
880
+ errors?: {
881
+ status: string;
882
+ title: string;
883
+ detail?: string | undefined;
884
+ meta?: Record<string, unknown> | undefined;
885
+ }[] | undefined;
886
+ }>;
887
+ 400: z.ZodObject<{
888
+ errors: z.ZodArray<z.ZodObject<{
889
+ status: z.ZodString;
890
+ title: z.ZodString;
891
+ detail: z.ZodOptional<z.ZodString>;
892
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
893
+ }, "strip", z.ZodTypeAny, {
894
+ status: string;
895
+ title: string;
896
+ detail?: string | undefined;
897
+ meta?: Record<string, unknown> | undefined;
898
+ }, {
899
+ status: string;
900
+ title: string;
901
+ detail?: string | undefined;
902
+ meta?: Record<string, unknown> | undefined;
903
+ }>, "many">;
904
+ }, "strip", z.ZodTypeAny, {
905
+ errors: {
906
+ status: string;
907
+ title: string;
908
+ detail?: string | undefined;
909
+ meta?: Record<string, unknown> | undefined;
910
+ }[];
911
+ }, {
912
+ errors: {
913
+ status: string;
914
+ title: string;
915
+ detail?: string | undefined;
916
+ meta?: Record<string, unknown> | undefined;
917
+ }[];
918
+ }>;
919
+ 401: z.ZodObject<{
920
+ errors: z.ZodArray<z.ZodObject<{
921
+ status: z.ZodString;
922
+ title: z.ZodString;
923
+ detail: z.ZodOptional<z.ZodString>;
924
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
925
+ }, "strip", z.ZodTypeAny, {
926
+ status: string;
927
+ title: string;
928
+ detail?: string | undefined;
929
+ meta?: Record<string, unknown> | undefined;
930
+ }, {
931
+ status: string;
932
+ title: string;
933
+ detail?: string | undefined;
934
+ meta?: Record<string, unknown> | undefined;
935
+ }>, "many">;
936
+ }, "strip", z.ZodTypeAny, {
937
+ errors: {
938
+ status: string;
939
+ title: string;
940
+ detail?: string | undefined;
941
+ meta?: Record<string, unknown> | undefined;
942
+ }[];
943
+ }, {
944
+ errors: {
945
+ status: string;
946
+ title: string;
947
+ detail?: string | undefined;
948
+ meta?: Record<string, unknown> | undefined;
949
+ }[];
950
+ }>;
951
+ 403: z.ZodObject<{
952
+ errors: z.ZodArray<z.ZodObject<{
953
+ status: z.ZodString;
954
+ title: z.ZodString;
955
+ detail: z.ZodOptional<z.ZodString>;
956
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
957
+ }, "strip", z.ZodTypeAny, {
958
+ status: string;
959
+ title: string;
960
+ detail?: string | undefined;
961
+ meta?: Record<string, unknown> | undefined;
962
+ }, {
963
+ status: string;
964
+ title: string;
965
+ detail?: string | undefined;
966
+ meta?: Record<string, unknown> | undefined;
967
+ }>, "many">;
968
+ }, "strip", z.ZodTypeAny, {
969
+ errors: {
970
+ status: string;
971
+ title: string;
972
+ detail?: string | undefined;
973
+ meta?: Record<string, unknown> | undefined;
974
+ }[];
975
+ }, {
976
+ errors: {
977
+ status: string;
978
+ title: string;
979
+ detail?: string | undefined;
980
+ meta?: Record<string, unknown> | undefined;
981
+ }[];
982
+ }>;
983
+ };
984
+ };
985
+ getTimecard: {
986
+ pathParams: z.ZodObject<{
987
+ timecardId: z.ZodString;
988
+ }, "strip", z.ZodTypeAny, {
989
+ timecardId: string;
990
+ }, {
991
+ timecardId: string;
992
+ }>;
993
+ query: z.ZodObject<{
994
+ companyId: z.ZodOptional<z.ZodString>;
995
+ }, "strip", z.ZodTypeAny, {
996
+ companyId?: string | undefined;
997
+ }, {
998
+ companyId?: string | undefined;
999
+ }>;
1000
+ summary: "Get a specific timecard";
1001
+ method: "GET";
1002
+ path: "/timecards/:timecardId";
1003
+ responses: {
1004
+ 200: z.ZodObject<{
1005
+ data: z.ZodObject<{
1006
+ type: z.ZodLiteral<"timecards">;
1007
+ id: z.ZodString;
1008
+ attributes: z.ZodObject<{
1009
+ id: z.ZodString;
1010
+ userId: z.ZodString;
1011
+ weekStartDate: z.ZodString;
1012
+ weekEndDate: z.ZodString;
1013
+ status: z.ZodDefault<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
1014
+ totalHours: z.ZodNumber;
1015
+ regularHours: z.ZodNumber;
1016
+ overtimeHours: z.ZodNumber;
1017
+ entries: z.ZodArray<z.ZodObject<{
1018
+ id: z.ZodString;
1019
+ timecardId: z.ZodString;
1020
+ date: z.ZodString;
1021
+ startTime: z.ZodString;
1022
+ endTime: z.ZodString;
1023
+ breakDuration: z.ZodDefault<z.ZodNumber>;
1024
+ projectId: z.ZodOptional<z.ZodString>;
1025
+ taskId: z.ZodOptional<z.ZodString>;
1026
+ activity: z.ZodString;
1027
+ location: z.ZodOptional<z.ZodString>;
1028
+ notes: z.ZodOptional<z.ZodString>;
1029
+ hoursWorked: z.ZodNumber;
1030
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
1031
+ createdAt: z.ZodString;
1032
+ updatedAt: z.ZodString;
1033
+ }, "strip", z.ZodTypeAny, {
1034
+ id: string;
1035
+ createdAt: string;
1036
+ updatedAt: string;
1037
+ date: string;
1038
+ hoursWorked: number;
1039
+ startTime: string;
1040
+ endTime: string;
1041
+ overtimeHours: number;
1042
+ timecardId: string;
1043
+ breakDuration: number;
1044
+ activity: string;
1045
+ projectId?: string | undefined;
1046
+ notes?: string | undefined;
1047
+ location?: string | undefined;
1048
+ taskId?: string | undefined;
1049
+ }, {
1050
+ id: string;
1051
+ createdAt: string;
1052
+ updatedAt: string;
1053
+ date: string;
1054
+ hoursWorked: number;
1055
+ startTime: string;
1056
+ endTime: string;
1057
+ timecardId: string;
1058
+ activity: string;
1059
+ projectId?: string | undefined;
1060
+ notes?: string | undefined;
1061
+ location?: string | undefined;
1062
+ taskId?: string | undefined;
1063
+ overtimeHours?: number | undefined;
1064
+ breakDuration?: number | undefined;
1065
+ }>, "many">;
1066
+ submittedAt: z.ZodOptional<z.ZodString>;
1067
+ approvedAt: z.ZodOptional<z.ZodString>;
1068
+ approvedBy: z.ZodOptional<z.ZodString>;
1069
+ rejectionReason: z.ZodOptional<z.ZodString>;
1070
+ companyId: z.ZodString;
1071
+ createdAt: z.ZodString;
1072
+ updatedAt: z.ZodString;
1073
+ }, "strip", z.ZodTypeAny, {
1074
+ id: string;
1075
+ createdAt: string;
1076
+ updatedAt: string;
1077
+ companyId: string;
1078
+ entries: {
1079
+ id: string;
1080
+ createdAt: string;
1081
+ updatedAt: string;
1082
+ date: string;
1083
+ hoursWorked: number;
1084
+ startTime: string;
1085
+ endTime: string;
1086
+ overtimeHours: number;
1087
+ timecardId: string;
1088
+ breakDuration: number;
1089
+ activity: string;
1090
+ projectId?: string | undefined;
1091
+ notes?: string | undefined;
1092
+ location?: string | undefined;
1093
+ taskId?: string | undefined;
1094
+ }[];
1095
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
1096
+ userId: string;
1097
+ totalHours: number;
1098
+ overtimeHours: number;
1099
+ weekStartDate: string;
1100
+ weekEndDate: string;
1101
+ regularHours: number;
1102
+ approvedBy?: string | undefined;
1103
+ approvedAt?: string | undefined;
1104
+ submittedAt?: string | undefined;
1105
+ rejectionReason?: string | undefined;
1106
+ }, {
1107
+ id: string;
1108
+ createdAt: string;
1109
+ updatedAt: string;
1110
+ companyId: string;
1111
+ entries: {
1112
+ id: string;
1113
+ createdAt: string;
1114
+ updatedAt: string;
1115
+ date: string;
1116
+ hoursWorked: number;
1117
+ startTime: string;
1118
+ endTime: string;
1119
+ timecardId: string;
1120
+ activity: string;
1121
+ projectId?: string | undefined;
1122
+ notes?: string | undefined;
1123
+ location?: string | undefined;
1124
+ taskId?: string | undefined;
1125
+ overtimeHours?: number | undefined;
1126
+ breakDuration?: number | undefined;
1127
+ }[];
1128
+ userId: string;
1129
+ totalHours: number;
1130
+ overtimeHours: number;
1131
+ weekStartDate: string;
1132
+ weekEndDate: string;
1133
+ regularHours: number;
1134
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
1135
+ approvedBy?: string | undefined;
1136
+ approvedAt?: string | undefined;
1137
+ submittedAt?: string | undefined;
1138
+ rejectionReason?: string | undefined;
1139
+ }>;
1140
+ }, "strip", z.ZodTypeAny, {
1141
+ id: string;
1142
+ type: "timecards";
1143
+ attributes: {
1144
+ id: string;
1145
+ createdAt: string;
1146
+ updatedAt: string;
1147
+ companyId: string;
1148
+ entries: {
1149
+ id: string;
1150
+ createdAt: string;
1151
+ updatedAt: string;
1152
+ date: string;
1153
+ hoursWorked: number;
1154
+ startTime: string;
1155
+ endTime: string;
1156
+ overtimeHours: number;
1157
+ timecardId: string;
1158
+ breakDuration: number;
1159
+ activity: string;
1160
+ projectId?: string | undefined;
1161
+ notes?: string | undefined;
1162
+ location?: string | undefined;
1163
+ taskId?: string | undefined;
1164
+ }[];
1165
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
1166
+ userId: string;
1167
+ totalHours: number;
1168
+ overtimeHours: number;
1169
+ weekStartDate: string;
1170
+ weekEndDate: string;
1171
+ regularHours: number;
1172
+ approvedBy?: string | undefined;
1173
+ approvedAt?: string | undefined;
1174
+ submittedAt?: string | undefined;
1175
+ rejectionReason?: string | undefined;
1176
+ };
1177
+ }, {
1178
+ id: string;
1179
+ type: "timecards";
1180
+ attributes: {
1181
+ id: string;
1182
+ createdAt: string;
1183
+ updatedAt: string;
1184
+ companyId: string;
1185
+ entries: {
1186
+ id: string;
1187
+ createdAt: string;
1188
+ updatedAt: string;
1189
+ date: string;
1190
+ hoursWorked: number;
1191
+ startTime: string;
1192
+ endTime: string;
1193
+ timecardId: string;
1194
+ activity: string;
1195
+ projectId?: string | undefined;
1196
+ notes?: string | undefined;
1197
+ location?: string | undefined;
1198
+ taskId?: string | undefined;
1199
+ overtimeHours?: number | undefined;
1200
+ breakDuration?: number | undefined;
1201
+ }[];
1202
+ userId: string;
1203
+ totalHours: number;
1204
+ overtimeHours: number;
1205
+ weekStartDate: string;
1206
+ weekEndDate: string;
1207
+ regularHours: number;
1208
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
1209
+ approvedBy?: string | undefined;
1210
+ approvedAt?: string | undefined;
1211
+ submittedAt?: string | undefined;
1212
+ rejectionReason?: string | undefined;
1213
+ };
1214
+ }>;
1215
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1216
+ links: z.ZodOptional<z.ZodObject<{
1217
+ self: z.ZodString;
1218
+ first: z.ZodOptional<z.ZodString>;
1219
+ last: z.ZodOptional<z.ZodString>;
1220
+ prev: z.ZodOptional<z.ZodString>;
1221
+ next: z.ZodOptional<z.ZodString>;
1222
+ }, "strip", z.ZodTypeAny, {
1223
+ self: string;
1224
+ first?: string | undefined;
1225
+ last?: string | undefined;
1226
+ prev?: string | undefined;
1227
+ next?: string | undefined;
1228
+ }, {
1229
+ self: string;
1230
+ first?: string | undefined;
1231
+ last?: string | undefined;
1232
+ prev?: string | undefined;
1233
+ next?: string | undefined;
1234
+ }>>;
1235
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1236
+ status: z.ZodString;
1237
+ title: z.ZodString;
1238
+ detail: z.ZodOptional<z.ZodString>;
1239
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1240
+ }, "strip", z.ZodTypeAny, {
1241
+ status: string;
1242
+ title: string;
1243
+ detail?: string | undefined;
1244
+ meta?: Record<string, unknown> | undefined;
1245
+ }, {
1246
+ status: string;
1247
+ title: string;
1248
+ detail?: string | undefined;
1249
+ meta?: Record<string, unknown> | undefined;
1250
+ }>, "many">>;
1251
+ }, "strip", z.ZodTypeAny, {
1252
+ data: {
1253
+ id: string;
1254
+ type: "timecards";
1255
+ attributes: {
1256
+ id: string;
1257
+ createdAt: string;
1258
+ updatedAt: string;
1259
+ companyId: string;
1260
+ entries: {
1261
+ id: string;
1262
+ createdAt: string;
1263
+ updatedAt: string;
1264
+ date: string;
1265
+ hoursWorked: number;
1266
+ startTime: string;
1267
+ endTime: string;
1268
+ overtimeHours: number;
1269
+ timecardId: string;
1270
+ breakDuration: number;
1271
+ activity: string;
1272
+ projectId?: string | undefined;
1273
+ notes?: string | undefined;
1274
+ location?: string | undefined;
1275
+ taskId?: string | undefined;
1276
+ }[];
1277
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
1278
+ userId: string;
1279
+ totalHours: number;
1280
+ overtimeHours: number;
1281
+ weekStartDate: string;
1282
+ weekEndDate: string;
1283
+ regularHours: number;
1284
+ approvedBy?: string | undefined;
1285
+ approvedAt?: string | undefined;
1286
+ submittedAt?: string | undefined;
1287
+ rejectionReason?: string | undefined;
1288
+ };
1289
+ };
1290
+ meta?: Record<string, unknown> | undefined;
1291
+ links?: {
1292
+ self: string;
1293
+ first?: string | undefined;
1294
+ last?: string | undefined;
1295
+ prev?: string | undefined;
1296
+ next?: string | undefined;
1297
+ } | undefined;
1298
+ errors?: {
1299
+ status: string;
1300
+ title: string;
1301
+ detail?: string | undefined;
1302
+ meta?: Record<string, unknown> | undefined;
1303
+ }[] | undefined;
1304
+ }, {
1305
+ data: {
1306
+ id: string;
1307
+ type: "timecards";
1308
+ attributes: {
1309
+ id: string;
1310
+ createdAt: string;
1311
+ updatedAt: string;
1312
+ companyId: string;
1313
+ entries: {
1314
+ id: string;
1315
+ createdAt: string;
1316
+ updatedAt: string;
1317
+ date: string;
1318
+ hoursWorked: number;
1319
+ startTime: string;
1320
+ endTime: string;
1321
+ timecardId: string;
1322
+ activity: string;
1323
+ projectId?: string | undefined;
1324
+ notes?: string | undefined;
1325
+ location?: string | undefined;
1326
+ taskId?: string | undefined;
1327
+ overtimeHours?: number | undefined;
1328
+ breakDuration?: number | undefined;
1329
+ }[];
1330
+ userId: string;
1331
+ totalHours: number;
1332
+ overtimeHours: number;
1333
+ weekStartDate: string;
1334
+ weekEndDate: string;
1335
+ regularHours: number;
1336
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
1337
+ approvedBy?: string | undefined;
1338
+ approvedAt?: string | undefined;
1339
+ submittedAt?: string | undefined;
1340
+ rejectionReason?: string | undefined;
1341
+ };
1342
+ };
1343
+ meta?: Record<string, unknown> | undefined;
1344
+ links?: {
1345
+ self: string;
1346
+ first?: string | undefined;
1347
+ last?: string | undefined;
1348
+ prev?: string | undefined;
1349
+ next?: string | undefined;
1350
+ } | undefined;
1351
+ errors?: {
1352
+ status: string;
1353
+ title: string;
1354
+ detail?: string | undefined;
1355
+ meta?: Record<string, unknown> | undefined;
1356
+ }[] | undefined;
1357
+ }>;
1358
+ 401: z.ZodObject<{
1359
+ errors: z.ZodArray<z.ZodObject<{
1360
+ status: z.ZodString;
1361
+ title: z.ZodString;
1362
+ detail: z.ZodOptional<z.ZodString>;
1363
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1364
+ }, "strip", z.ZodTypeAny, {
1365
+ status: string;
1366
+ title: string;
1367
+ detail?: string | undefined;
1368
+ meta?: Record<string, unknown> | undefined;
1369
+ }, {
1370
+ status: string;
1371
+ title: string;
1372
+ detail?: string | undefined;
1373
+ meta?: Record<string, unknown> | undefined;
1374
+ }>, "many">;
1375
+ }, "strip", z.ZodTypeAny, {
1376
+ errors: {
1377
+ status: string;
1378
+ title: string;
1379
+ detail?: string | undefined;
1380
+ meta?: Record<string, unknown> | undefined;
1381
+ }[];
1382
+ }, {
1383
+ errors: {
1384
+ status: string;
1385
+ title: string;
1386
+ detail?: string | undefined;
1387
+ meta?: Record<string, unknown> | undefined;
1388
+ }[];
1389
+ }>;
1390
+ 403: z.ZodObject<{
1391
+ errors: z.ZodArray<z.ZodObject<{
1392
+ status: z.ZodString;
1393
+ title: z.ZodString;
1394
+ detail: z.ZodOptional<z.ZodString>;
1395
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1396
+ }, "strip", z.ZodTypeAny, {
1397
+ status: string;
1398
+ title: string;
1399
+ detail?: string | undefined;
1400
+ meta?: Record<string, unknown> | undefined;
1401
+ }, {
1402
+ status: string;
1403
+ title: string;
1404
+ detail?: string | undefined;
1405
+ meta?: Record<string, unknown> | undefined;
1406
+ }>, "many">;
1407
+ }, "strip", z.ZodTypeAny, {
1408
+ errors: {
1409
+ status: string;
1410
+ title: string;
1411
+ detail?: string | undefined;
1412
+ meta?: Record<string, unknown> | undefined;
1413
+ }[];
1414
+ }, {
1415
+ errors: {
1416
+ status: string;
1417
+ title: string;
1418
+ detail?: string | undefined;
1419
+ meta?: Record<string, unknown> | undefined;
1420
+ }[];
1421
+ }>;
1422
+ 404: z.ZodObject<{
1423
+ errors: z.ZodArray<z.ZodObject<{
1424
+ status: z.ZodString;
1425
+ title: z.ZodString;
1426
+ detail: z.ZodOptional<z.ZodString>;
1427
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1428
+ }, "strip", z.ZodTypeAny, {
1429
+ status: string;
1430
+ title: string;
1431
+ detail?: string | undefined;
1432
+ meta?: Record<string, unknown> | undefined;
1433
+ }, {
1434
+ status: string;
1435
+ title: string;
1436
+ detail?: string | undefined;
1437
+ meta?: Record<string, unknown> | undefined;
1438
+ }>, "many">;
1439
+ }, "strip", z.ZodTypeAny, {
1440
+ errors: {
1441
+ status: string;
1442
+ title: string;
1443
+ detail?: string | undefined;
1444
+ meta?: Record<string, unknown> | undefined;
1445
+ }[];
1446
+ }, {
1447
+ errors: {
1448
+ status: string;
1449
+ title: string;
1450
+ detail?: string | undefined;
1451
+ meta?: Record<string, unknown> | undefined;
1452
+ }[];
1453
+ }>;
1454
+ };
1455
+ };
1456
+ addTimecardEntry: {
1457
+ pathParams: z.ZodObject<{
1458
+ timecardId: z.ZodString;
1459
+ }, "strip", z.ZodTypeAny, {
1460
+ timecardId: string;
1461
+ }, {
1462
+ timecardId: string;
1463
+ }>;
1464
+ query: z.ZodObject<{
1465
+ companyId: z.ZodOptional<z.ZodString>;
1466
+ }, "strip", z.ZodTypeAny, {
1467
+ companyId?: string | undefined;
1468
+ }, {
1469
+ companyId?: string | undefined;
1470
+ }>;
1471
+ summary: "Add a new entry to a timecard";
1472
+ method: "POST";
1473
+ body: z.ZodObject<{
1474
+ date: z.ZodString;
1475
+ startTime: z.ZodString;
1476
+ endTime: z.ZodString;
1477
+ breakDuration: z.ZodDefault<z.ZodNumber>;
1478
+ projectId: z.ZodOptional<z.ZodString>;
1479
+ taskId: z.ZodOptional<z.ZodString>;
1480
+ activity: z.ZodString;
1481
+ location: z.ZodOptional<z.ZodString>;
1482
+ notes: z.ZodOptional<z.ZodString>;
1483
+ }, "strip", z.ZodTypeAny, {
1484
+ date: string;
1485
+ startTime: string;
1486
+ endTime: string;
1487
+ breakDuration: number;
1488
+ activity: string;
1489
+ projectId?: string | undefined;
1490
+ notes?: string | undefined;
1491
+ location?: string | undefined;
1492
+ taskId?: string | undefined;
1493
+ }, {
1494
+ date: string;
1495
+ startTime: string;
1496
+ endTime: string;
1497
+ activity: string;
1498
+ projectId?: string | undefined;
1499
+ notes?: string | undefined;
1500
+ location?: string | undefined;
1501
+ taskId?: string | undefined;
1502
+ breakDuration?: number | undefined;
1503
+ }>;
1504
+ path: "/timecards/:timecardId/entries";
1505
+ responses: {
1506
+ 201: z.ZodObject<{
1507
+ data: z.ZodObject<{
1508
+ type: z.ZodLiteral<"timecard-entries">;
1509
+ id: z.ZodString;
1510
+ attributes: z.ZodObject<{
1511
+ id: z.ZodString;
1512
+ timecardId: z.ZodString;
1513
+ date: z.ZodString;
1514
+ startTime: z.ZodString;
1515
+ endTime: z.ZodString;
1516
+ breakDuration: z.ZodDefault<z.ZodNumber>;
1517
+ projectId: z.ZodOptional<z.ZodString>;
1518
+ taskId: z.ZodOptional<z.ZodString>;
1519
+ activity: z.ZodString;
1520
+ location: z.ZodOptional<z.ZodString>;
1521
+ notes: z.ZodOptional<z.ZodString>;
1522
+ hoursWorked: z.ZodNumber;
1523
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
1524
+ createdAt: z.ZodString;
1525
+ updatedAt: z.ZodString;
1526
+ }, "strip", z.ZodTypeAny, {
1527
+ id: string;
1528
+ createdAt: string;
1529
+ updatedAt: string;
1530
+ date: string;
1531
+ hoursWorked: number;
1532
+ startTime: string;
1533
+ endTime: string;
1534
+ overtimeHours: number;
1535
+ timecardId: string;
1536
+ breakDuration: number;
1537
+ activity: string;
1538
+ projectId?: string | undefined;
1539
+ notes?: string | undefined;
1540
+ location?: string | undefined;
1541
+ taskId?: string | undefined;
1542
+ }, {
1543
+ id: string;
1544
+ createdAt: string;
1545
+ updatedAt: string;
1546
+ date: string;
1547
+ hoursWorked: number;
1548
+ startTime: string;
1549
+ endTime: string;
1550
+ timecardId: string;
1551
+ activity: string;
1552
+ projectId?: string | undefined;
1553
+ notes?: string | undefined;
1554
+ location?: string | undefined;
1555
+ taskId?: string | undefined;
1556
+ overtimeHours?: number | undefined;
1557
+ breakDuration?: number | undefined;
1558
+ }>;
1559
+ }, "strip", z.ZodTypeAny, {
1560
+ id: string;
1561
+ type: "timecard-entries";
1562
+ attributes: {
1563
+ id: string;
1564
+ createdAt: string;
1565
+ updatedAt: string;
1566
+ date: string;
1567
+ hoursWorked: number;
1568
+ startTime: string;
1569
+ endTime: string;
1570
+ overtimeHours: number;
1571
+ timecardId: string;
1572
+ breakDuration: number;
1573
+ activity: string;
1574
+ projectId?: string | undefined;
1575
+ notes?: string | undefined;
1576
+ location?: string | undefined;
1577
+ taskId?: string | undefined;
1578
+ };
1579
+ }, {
1580
+ id: string;
1581
+ type: "timecard-entries";
1582
+ attributes: {
1583
+ id: string;
1584
+ createdAt: string;
1585
+ updatedAt: string;
1586
+ date: string;
1587
+ hoursWorked: number;
1588
+ startTime: string;
1589
+ endTime: string;
1590
+ timecardId: string;
1591
+ activity: string;
1592
+ projectId?: string | undefined;
1593
+ notes?: string | undefined;
1594
+ location?: string | undefined;
1595
+ taskId?: string | undefined;
1596
+ overtimeHours?: number | undefined;
1597
+ breakDuration?: number | undefined;
1598
+ };
1599
+ }>;
1600
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1601
+ links: z.ZodOptional<z.ZodObject<{
1602
+ self: z.ZodString;
1603
+ first: z.ZodOptional<z.ZodString>;
1604
+ last: z.ZodOptional<z.ZodString>;
1605
+ prev: z.ZodOptional<z.ZodString>;
1606
+ next: z.ZodOptional<z.ZodString>;
1607
+ }, "strip", z.ZodTypeAny, {
1608
+ self: string;
1609
+ first?: string | undefined;
1610
+ last?: string | undefined;
1611
+ prev?: string | undefined;
1612
+ next?: string | undefined;
1613
+ }, {
1614
+ self: string;
1615
+ first?: string | undefined;
1616
+ last?: string | undefined;
1617
+ prev?: string | undefined;
1618
+ next?: string | undefined;
1619
+ }>>;
1620
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1621
+ status: z.ZodString;
1622
+ title: z.ZodString;
1623
+ detail: z.ZodOptional<z.ZodString>;
1624
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1625
+ }, "strip", z.ZodTypeAny, {
1626
+ status: string;
1627
+ title: string;
1628
+ detail?: string | undefined;
1629
+ meta?: Record<string, unknown> | undefined;
1630
+ }, {
1631
+ status: string;
1632
+ title: string;
1633
+ detail?: string | undefined;
1634
+ meta?: Record<string, unknown> | undefined;
1635
+ }>, "many">>;
1636
+ }, "strip", z.ZodTypeAny, {
1637
+ data: {
1638
+ id: string;
1639
+ type: "timecard-entries";
1640
+ attributes: {
1641
+ id: string;
1642
+ createdAt: string;
1643
+ updatedAt: string;
1644
+ date: string;
1645
+ hoursWorked: number;
1646
+ startTime: string;
1647
+ endTime: string;
1648
+ overtimeHours: number;
1649
+ timecardId: string;
1650
+ breakDuration: number;
1651
+ activity: string;
1652
+ projectId?: string | undefined;
1653
+ notes?: string | undefined;
1654
+ location?: string | undefined;
1655
+ taskId?: string | undefined;
1656
+ };
1657
+ };
1658
+ meta?: Record<string, unknown> | undefined;
1659
+ links?: {
1660
+ self: string;
1661
+ first?: string | undefined;
1662
+ last?: string | undefined;
1663
+ prev?: string | undefined;
1664
+ next?: string | undefined;
1665
+ } | undefined;
1666
+ errors?: {
1667
+ status: string;
1668
+ title: string;
1669
+ detail?: string | undefined;
1670
+ meta?: Record<string, unknown> | undefined;
1671
+ }[] | undefined;
1672
+ }, {
1673
+ data: {
1674
+ id: string;
1675
+ type: "timecard-entries";
1676
+ attributes: {
1677
+ id: string;
1678
+ createdAt: string;
1679
+ updatedAt: string;
1680
+ date: string;
1681
+ hoursWorked: number;
1682
+ startTime: string;
1683
+ endTime: string;
1684
+ timecardId: string;
1685
+ activity: string;
1686
+ projectId?: string | undefined;
1687
+ notes?: string | undefined;
1688
+ location?: string | undefined;
1689
+ taskId?: string | undefined;
1690
+ overtimeHours?: number | undefined;
1691
+ breakDuration?: number | undefined;
1692
+ };
1693
+ };
1694
+ meta?: Record<string, unknown> | undefined;
1695
+ links?: {
1696
+ self: string;
1697
+ first?: string | undefined;
1698
+ last?: string | undefined;
1699
+ prev?: string | undefined;
1700
+ next?: string | undefined;
1701
+ } | undefined;
1702
+ errors?: {
1703
+ status: string;
1704
+ title: string;
1705
+ detail?: string | undefined;
1706
+ meta?: Record<string, unknown> | undefined;
1707
+ }[] | undefined;
1708
+ }>;
1709
+ 400: z.ZodObject<{
1710
+ errors: z.ZodArray<z.ZodObject<{
1711
+ status: z.ZodString;
1712
+ title: z.ZodString;
1713
+ detail: z.ZodOptional<z.ZodString>;
1714
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1715
+ }, "strip", z.ZodTypeAny, {
1716
+ status: string;
1717
+ title: string;
1718
+ detail?: string | undefined;
1719
+ meta?: Record<string, unknown> | undefined;
1720
+ }, {
1721
+ status: string;
1722
+ title: string;
1723
+ detail?: string | undefined;
1724
+ meta?: Record<string, unknown> | undefined;
1725
+ }>, "many">;
1726
+ }, "strip", z.ZodTypeAny, {
1727
+ errors: {
1728
+ status: string;
1729
+ title: string;
1730
+ detail?: string | undefined;
1731
+ meta?: Record<string, unknown> | undefined;
1732
+ }[];
1733
+ }, {
1734
+ errors: {
1735
+ status: string;
1736
+ title: string;
1737
+ detail?: string | undefined;
1738
+ meta?: Record<string, unknown> | undefined;
1739
+ }[];
1740
+ }>;
1741
+ 401: z.ZodObject<{
1742
+ errors: z.ZodArray<z.ZodObject<{
1743
+ status: z.ZodString;
1744
+ title: z.ZodString;
1745
+ detail: z.ZodOptional<z.ZodString>;
1746
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1747
+ }, "strip", z.ZodTypeAny, {
1748
+ status: string;
1749
+ title: string;
1750
+ detail?: string | undefined;
1751
+ meta?: Record<string, unknown> | undefined;
1752
+ }, {
1753
+ status: string;
1754
+ title: string;
1755
+ detail?: string | undefined;
1756
+ meta?: Record<string, unknown> | undefined;
1757
+ }>, "many">;
1758
+ }, "strip", z.ZodTypeAny, {
1759
+ errors: {
1760
+ status: string;
1761
+ title: string;
1762
+ detail?: string | undefined;
1763
+ meta?: Record<string, unknown> | undefined;
1764
+ }[];
1765
+ }, {
1766
+ errors: {
1767
+ status: string;
1768
+ title: string;
1769
+ detail?: string | undefined;
1770
+ meta?: Record<string, unknown> | undefined;
1771
+ }[];
1772
+ }>;
1773
+ 403: z.ZodObject<{
1774
+ errors: z.ZodArray<z.ZodObject<{
1775
+ status: z.ZodString;
1776
+ title: z.ZodString;
1777
+ detail: z.ZodOptional<z.ZodString>;
1778
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1779
+ }, "strip", z.ZodTypeAny, {
1780
+ status: string;
1781
+ title: string;
1782
+ detail?: string | undefined;
1783
+ meta?: Record<string, unknown> | undefined;
1784
+ }, {
1785
+ status: string;
1786
+ title: string;
1787
+ detail?: string | undefined;
1788
+ meta?: Record<string, unknown> | undefined;
1789
+ }>, "many">;
1790
+ }, "strip", z.ZodTypeAny, {
1791
+ errors: {
1792
+ status: string;
1793
+ title: string;
1794
+ detail?: string | undefined;
1795
+ meta?: Record<string, unknown> | undefined;
1796
+ }[];
1797
+ }, {
1798
+ errors: {
1799
+ status: string;
1800
+ title: string;
1801
+ detail?: string | undefined;
1802
+ meta?: Record<string, unknown> | undefined;
1803
+ }[];
1804
+ }>;
1805
+ 404: z.ZodObject<{
1806
+ errors: z.ZodArray<z.ZodObject<{
1807
+ status: z.ZodString;
1808
+ title: z.ZodString;
1809
+ detail: z.ZodOptional<z.ZodString>;
1810
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1811
+ }, "strip", z.ZodTypeAny, {
1812
+ status: string;
1813
+ title: string;
1814
+ detail?: string | undefined;
1815
+ meta?: Record<string, unknown> | undefined;
1816
+ }, {
1817
+ status: string;
1818
+ title: string;
1819
+ detail?: string | undefined;
1820
+ meta?: Record<string, unknown> | undefined;
1821
+ }>, "many">;
1822
+ }, "strip", z.ZodTypeAny, {
1823
+ errors: {
1824
+ status: string;
1825
+ title: string;
1826
+ detail?: string | undefined;
1827
+ meta?: Record<string, unknown> | undefined;
1828
+ }[];
1829
+ }, {
1830
+ errors: {
1831
+ status: string;
1832
+ title: string;
1833
+ detail?: string | undefined;
1834
+ meta?: Record<string, unknown> | undefined;
1835
+ }[];
1836
+ }>;
1837
+ };
1838
+ };
1839
+ submitTimecard: {
1840
+ pathParams: z.ZodObject<{
1841
+ timecardId: z.ZodString;
1842
+ }, "strip", z.ZodTypeAny, {
1843
+ timecardId: string;
1844
+ }, {
1845
+ timecardId: string;
1846
+ }>;
1847
+ query: z.ZodObject<{
1848
+ companyId: z.ZodOptional<z.ZodString>;
1849
+ }, "strip", z.ZodTypeAny, {
1850
+ companyId?: string | undefined;
1851
+ }, {
1852
+ companyId?: string | undefined;
1853
+ }>;
1854
+ summary: "Submit a timecard for approval";
1855
+ method: "PATCH";
1856
+ body: z.ZodObject<{
1857
+ notes: z.ZodOptional<z.ZodString>;
1858
+ }, "strip", z.ZodTypeAny, {
1859
+ notes?: string | undefined;
1860
+ }, {
1861
+ notes?: string | undefined;
1862
+ }>;
1863
+ path: "/timecards/:timecardId/submit";
1864
+ responses: {
1865
+ 200: z.ZodObject<{
1866
+ data: z.ZodObject<{
1867
+ type: z.ZodLiteral<"timecards">;
1868
+ id: z.ZodString;
1869
+ attributes: z.ZodObject<{
1870
+ id: z.ZodString;
1871
+ userId: z.ZodString;
1872
+ weekStartDate: z.ZodString;
1873
+ weekEndDate: z.ZodString;
1874
+ status: z.ZodDefault<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
1875
+ totalHours: z.ZodNumber;
1876
+ regularHours: z.ZodNumber;
1877
+ overtimeHours: z.ZodNumber;
1878
+ entries: z.ZodArray<z.ZodObject<{
1879
+ id: z.ZodString;
1880
+ timecardId: z.ZodString;
1881
+ date: z.ZodString;
1882
+ startTime: z.ZodString;
1883
+ endTime: z.ZodString;
1884
+ breakDuration: z.ZodDefault<z.ZodNumber>;
1885
+ projectId: z.ZodOptional<z.ZodString>;
1886
+ taskId: z.ZodOptional<z.ZodString>;
1887
+ activity: z.ZodString;
1888
+ location: z.ZodOptional<z.ZodString>;
1889
+ notes: z.ZodOptional<z.ZodString>;
1890
+ hoursWorked: z.ZodNumber;
1891
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
1892
+ createdAt: z.ZodString;
1893
+ updatedAt: z.ZodString;
1894
+ }, "strip", z.ZodTypeAny, {
1895
+ id: string;
1896
+ createdAt: string;
1897
+ updatedAt: string;
1898
+ date: string;
1899
+ hoursWorked: number;
1900
+ startTime: string;
1901
+ endTime: string;
1902
+ overtimeHours: number;
1903
+ timecardId: string;
1904
+ breakDuration: number;
1905
+ activity: string;
1906
+ projectId?: string | undefined;
1907
+ notes?: string | undefined;
1908
+ location?: string | undefined;
1909
+ taskId?: string | undefined;
1910
+ }, {
1911
+ id: string;
1912
+ createdAt: string;
1913
+ updatedAt: string;
1914
+ date: string;
1915
+ hoursWorked: number;
1916
+ startTime: string;
1917
+ endTime: string;
1918
+ timecardId: string;
1919
+ activity: string;
1920
+ projectId?: string | undefined;
1921
+ notes?: string | undefined;
1922
+ location?: string | undefined;
1923
+ taskId?: string | undefined;
1924
+ overtimeHours?: number | undefined;
1925
+ breakDuration?: number | undefined;
1926
+ }>, "many">;
1927
+ submittedAt: z.ZodOptional<z.ZodString>;
1928
+ approvedAt: z.ZodOptional<z.ZodString>;
1929
+ approvedBy: z.ZodOptional<z.ZodString>;
1930
+ rejectionReason: z.ZodOptional<z.ZodString>;
1931
+ companyId: z.ZodString;
1932
+ createdAt: z.ZodString;
1933
+ updatedAt: z.ZodString;
1934
+ }, "strip", z.ZodTypeAny, {
1935
+ id: string;
1936
+ createdAt: string;
1937
+ updatedAt: string;
1938
+ companyId: string;
1939
+ entries: {
1940
+ id: string;
1941
+ createdAt: string;
1942
+ updatedAt: string;
1943
+ date: string;
1944
+ hoursWorked: number;
1945
+ startTime: string;
1946
+ endTime: string;
1947
+ overtimeHours: number;
1948
+ timecardId: string;
1949
+ breakDuration: number;
1950
+ activity: string;
1951
+ projectId?: string | undefined;
1952
+ notes?: string | undefined;
1953
+ location?: string | undefined;
1954
+ taskId?: string | undefined;
1955
+ }[];
1956
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
1957
+ userId: string;
1958
+ totalHours: number;
1959
+ overtimeHours: number;
1960
+ weekStartDate: string;
1961
+ weekEndDate: string;
1962
+ regularHours: number;
1963
+ approvedBy?: string | undefined;
1964
+ approvedAt?: string | undefined;
1965
+ submittedAt?: string | undefined;
1966
+ rejectionReason?: string | undefined;
1967
+ }, {
1968
+ id: string;
1969
+ createdAt: string;
1970
+ updatedAt: string;
1971
+ companyId: string;
1972
+ entries: {
1973
+ id: string;
1974
+ createdAt: string;
1975
+ updatedAt: string;
1976
+ date: string;
1977
+ hoursWorked: number;
1978
+ startTime: string;
1979
+ endTime: string;
1980
+ timecardId: string;
1981
+ activity: string;
1982
+ projectId?: string | undefined;
1983
+ notes?: string | undefined;
1984
+ location?: string | undefined;
1985
+ taskId?: string | undefined;
1986
+ overtimeHours?: number | undefined;
1987
+ breakDuration?: number | undefined;
1988
+ }[];
1989
+ userId: string;
1990
+ totalHours: number;
1991
+ overtimeHours: number;
1992
+ weekStartDate: string;
1993
+ weekEndDate: string;
1994
+ regularHours: number;
1995
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
1996
+ approvedBy?: string | undefined;
1997
+ approvedAt?: string | undefined;
1998
+ submittedAt?: string | undefined;
1999
+ rejectionReason?: string | undefined;
2000
+ }>;
2001
+ }, "strip", z.ZodTypeAny, {
2002
+ id: string;
2003
+ type: "timecards";
2004
+ attributes: {
2005
+ id: string;
2006
+ createdAt: string;
2007
+ updatedAt: string;
2008
+ companyId: string;
2009
+ entries: {
2010
+ id: string;
2011
+ createdAt: string;
2012
+ updatedAt: string;
2013
+ date: string;
2014
+ hoursWorked: number;
2015
+ startTime: string;
2016
+ endTime: string;
2017
+ overtimeHours: number;
2018
+ timecardId: string;
2019
+ breakDuration: number;
2020
+ activity: string;
2021
+ projectId?: string | undefined;
2022
+ notes?: string | undefined;
2023
+ location?: string | undefined;
2024
+ taskId?: string | undefined;
2025
+ }[];
2026
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
2027
+ userId: string;
2028
+ totalHours: number;
2029
+ overtimeHours: number;
2030
+ weekStartDate: string;
2031
+ weekEndDate: string;
2032
+ regularHours: number;
2033
+ approvedBy?: string | undefined;
2034
+ approvedAt?: string | undefined;
2035
+ submittedAt?: string | undefined;
2036
+ rejectionReason?: string | undefined;
2037
+ };
2038
+ }, {
2039
+ id: string;
2040
+ type: "timecards";
2041
+ attributes: {
2042
+ id: string;
2043
+ createdAt: string;
2044
+ updatedAt: string;
2045
+ companyId: string;
2046
+ entries: {
2047
+ id: string;
2048
+ createdAt: string;
2049
+ updatedAt: string;
2050
+ date: string;
2051
+ hoursWorked: number;
2052
+ startTime: string;
2053
+ endTime: string;
2054
+ timecardId: string;
2055
+ activity: string;
2056
+ projectId?: string | undefined;
2057
+ notes?: string | undefined;
2058
+ location?: string | undefined;
2059
+ taskId?: string | undefined;
2060
+ overtimeHours?: number | undefined;
2061
+ breakDuration?: number | undefined;
2062
+ }[];
2063
+ userId: string;
2064
+ totalHours: number;
2065
+ overtimeHours: number;
2066
+ weekStartDate: string;
2067
+ weekEndDate: string;
2068
+ regularHours: number;
2069
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
2070
+ approvedBy?: string | undefined;
2071
+ approvedAt?: string | undefined;
2072
+ submittedAt?: string | undefined;
2073
+ rejectionReason?: string | undefined;
2074
+ };
2075
+ }>;
2076
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2077
+ links: z.ZodOptional<z.ZodObject<{
2078
+ self: z.ZodString;
2079
+ first: z.ZodOptional<z.ZodString>;
2080
+ last: z.ZodOptional<z.ZodString>;
2081
+ prev: z.ZodOptional<z.ZodString>;
2082
+ next: z.ZodOptional<z.ZodString>;
2083
+ }, "strip", z.ZodTypeAny, {
2084
+ self: string;
2085
+ first?: string | undefined;
2086
+ last?: string | undefined;
2087
+ prev?: string | undefined;
2088
+ next?: string | undefined;
2089
+ }, {
2090
+ self: string;
2091
+ first?: string | undefined;
2092
+ last?: string | undefined;
2093
+ prev?: string | undefined;
2094
+ next?: string | undefined;
2095
+ }>>;
2096
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
2097
+ status: z.ZodString;
2098
+ title: z.ZodString;
2099
+ detail: z.ZodOptional<z.ZodString>;
2100
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2101
+ }, "strip", z.ZodTypeAny, {
2102
+ status: string;
2103
+ title: string;
2104
+ detail?: string | undefined;
2105
+ meta?: Record<string, unknown> | undefined;
2106
+ }, {
2107
+ status: string;
2108
+ title: string;
2109
+ detail?: string | undefined;
2110
+ meta?: Record<string, unknown> | undefined;
2111
+ }>, "many">>;
2112
+ }, "strip", z.ZodTypeAny, {
2113
+ data: {
2114
+ id: string;
2115
+ type: "timecards";
2116
+ attributes: {
2117
+ id: string;
2118
+ createdAt: string;
2119
+ updatedAt: string;
2120
+ companyId: string;
2121
+ entries: {
2122
+ id: string;
2123
+ createdAt: string;
2124
+ updatedAt: string;
2125
+ date: string;
2126
+ hoursWorked: number;
2127
+ startTime: string;
2128
+ endTime: string;
2129
+ overtimeHours: number;
2130
+ timecardId: string;
2131
+ breakDuration: number;
2132
+ activity: string;
2133
+ projectId?: string | undefined;
2134
+ notes?: string | undefined;
2135
+ location?: string | undefined;
2136
+ taskId?: string | undefined;
2137
+ }[];
2138
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
2139
+ userId: string;
2140
+ totalHours: number;
2141
+ overtimeHours: number;
2142
+ weekStartDate: string;
2143
+ weekEndDate: string;
2144
+ regularHours: number;
2145
+ approvedBy?: string | undefined;
2146
+ approvedAt?: string | undefined;
2147
+ submittedAt?: string | undefined;
2148
+ rejectionReason?: string | undefined;
2149
+ };
2150
+ };
2151
+ meta?: Record<string, unknown> | undefined;
2152
+ links?: {
2153
+ self: string;
2154
+ first?: string | undefined;
2155
+ last?: string | undefined;
2156
+ prev?: string | undefined;
2157
+ next?: string | undefined;
2158
+ } | undefined;
2159
+ errors?: {
2160
+ status: string;
2161
+ title: string;
2162
+ detail?: string | undefined;
2163
+ meta?: Record<string, unknown> | undefined;
2164
+ }[] | undefined;
2165
+ }, {
2166
+ data: {
2167
+ id: string;
2168
+ type: "timecards";
2169
+ attributes: {
2170
+ id: string;
2171
+ createdAt: string;
2172
+ updatedAt: string;
2173
+ companyId: string;
2174
+ entries: {
2175
+ id: string;
2176
+ createdAt: string;
2177
+ updatedAt: string;
2178
+ date: string;
2179
+ hoursWorked: number;
2180
+ startTime: string;
2181
+ endTime: string;
2182
+ timecardId: string;
2183
+ activity: string;
2184
+ projectId?: string | undefined;
2185
+ notes?: string | undefined;
2186
+ location?: string | undefined;
2187
+ taskId?: string | undefined;
2188
+ overtimeHours?: number | undefined;
2189
+ breakDuration?: number | undefined;
2190
+ }[];
2191
+ userId: string;
2192
+ totalHours: number;
2193
+ overtimeHours: number;
2194
+ weekStartDate: string;
2195
+ weekEndDate: string;
2196
+ regularHours: number;
2197
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
2198
+ approvedBy?: string | undefined;
2199
+ approvedAt?: string | undefined;
2200
+ submittedAt?: string | undefined;
2201
+ rejectionReason?: string | undefined;
2202
+ };
2203
+ };
2204
+ meta?: Record<string, unknown> | undefined;
2205
+ links?: {
2206
+ self: string;
2207
+ first?: string | undefined;
2208
+ last?: string | undefined;
2209
+ prev?: string | undefined;
2210
+ next?: string | undefined;
2211
+ } | undefined;
2212
+ errors?: {
2213
+ status: string;
2214
+ title: string;
2215
+ detail?: string | undefined;
2216
+ meta?: Record<string, unknown> | undefined;
2217
+ }[] | undefined;
2218
+ }>;
2219
+ 400: z.ZodObject<{
2220
+ errors: z.ZodArray<z.ZodObject<{
2221
+ status: z.ZodString;
2222
+ title: z.ZodString;
2223
+ detail: z.ZodOptional<z.ZodString>;
2224
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2225
+ }, "strip", z.ZodTypeAny, {
2226
+ status: string;
2227
+ title: string;
2228
+ detail?: string | undefined;
2229
+ meta?: Record<string, unknown> | undefined;
2230
+ }, {
2231
+ status: string;
2232
+ title: string;
2233
+ detail?: string | undefined;
2234
+ meta?: Record<string, unknown> | undefined;
2235
+ }>, "many">;
2236
+ }, "strip", z.ZodTypeAny, {
2237
+ errors: {
2238
+ status: string;
2239
+ title: string;
2240
+ detail?: string | undefined;
2241
+ meta?: Record<string, unknown> | undefined;
2242
+ }[];
2243
+ }, {
2244
+ errors: {
2245
+ status: string;
2246
+ title: string;
2247
+ detail?: string | undefined;
2248
+ meta?: Record<string, unknown> | undefined;
2249
+ }[];
2250
+ }>;
2251
+ 401: z.ZodObject<{
2252
+ errors: z.ZodArray<z.ZodObject<{
2253
+ status: z.ZodString;
2254
+ title: z.ZodString;
2255
+ detail: z.ZodOptional<z.ZodString>;
2256
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2257
+ }, "strip", z.ZodTypeAny, {
2258
+ status: string;
2259
+ title: string;
2260
+ detail?: string | undefined;
2261
+ meta?: Record<string, unknown> | undefined;
2262
+ }, {
2263
+ status: string;
2264
+ title: string;
2265
+ detail?: string | undefined;
2266
+ meta?: Record<string, unknown> | undefined;
2267
+ }>, "many">;
2268
+ }, "strip", z.ZodTypeAny, {
2269
+ errors: {
2270
+ status: string;
2271
+ title: string;
2272
+ detail?: string | undefined;
2273
+ meta?: Record<string, unknown> | undefined;
2274
+ }[];
2275
+ }, {
2276
+ errors: {
2277
+ status: string;
2278
+ title: string;
2279
+ detail?: string | undefined;
2280
+ meta?: Record<string, unknown> | undefined;
2281
+ }[];
2282
+ }>;
2283
+ 403: z.ZodObject<{
2284
+ errors: z.ZodArray<z.ZodObject<{
2285
+ status: z.ZodString;
2286
+ title: z.ZodString;
2287
+ detail: z.ZodOptional<z.ZodString>;
2288
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2289
+ }, "strip", z.ZodTypeAny, {
2290
+ status: string;
2291
+ title: string;
2292
+ detail?: string | undefined;
2293
+ meta?: Record<string, unknown> | undefined;
2294
+ }, {
2295
+ status: string;
2296
+ title: string;
2297
+ detail?: string | undefined;
2298
+ meta?: Record<string, unknown> | undefined;
2299
+ }>, "many">;
2300
+ }, "strip", z.ZodTypeAny, {
2301
+ errors: {
2302
+ status: string;
2303
+ title: string;
2304
+ detail?: string | undefined;
2305
+ meta?: Record<string, unknown> | undefined;
2306
+ }[];
2307
+ }, {
2308
+ errors: {
2309
+ status: string;
2310
+ title: string;
2311
+ detail?: string | undefined;
2312
+ meta?: Record<string, unknown> | undefined;
2313
+ }[];
2314
+ }>;
2315
+ 404: z.ZodObject<{
2316
+ errors: z.ZodArray<z.ZodObject<{
2317
+ status: z.ZodString;
2318
+ title: z.ZodString;
2319
+ detail: z.ZodOptional<z.ZodString>;
2320
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2321
+ }, "strip", z.ZodTypeAny, {
2322
+ status: string;
2323
+ title: string;
2324
+ detail?: string | undefined;
2325
+ meta?: Record<string, unknown> | undefined;
2326
+ }, {
2327
+ status: string;
2328
+ title: string;
2329
+ detail?: string | undefined;
2330
+ meta?: Record<string, unknown> | undefined;
2331
+ }>, "many">;
2332
+ }, "strip", z.ZodTypeAny, {
2333
+ errors: {
2334
+ status: string;
2335
+ title: string;
2336
+ detail?: string | undefined;
2337
+ meta?: Record<string, unknown> | undefined;
2338
+ }[];
2339
+ }, {
2340
+ errors: {
2341
+ status: string;
2342
+ title: string;
2343
+ detail?: string | undefined;
2344
+ meta?: Record<string, unknown> | undefined;
2345
+ }[];
2346
+ }>;
2347
+ };
2348
+ };
2349
+ approveTimecard: {
2350
+ pathParams: z.ZodObject<{
2351
+ timecardId: z.ZodString;
2352
+ }, "strip", z.ZodTypeAny, {
2353
+ timecardId: string;
2354
+ }, {
2355
+ timecardId: string;
2356
+ }>;
2357
+ query: z.ZodObject<{
2358
+ companyId: z.ZodOptional<z.ZodString>;
2359
+ }, "strip", z.ZodTypeAny, {
2360
+ companyId?: string | undefined;
2361
+ }, {
2362
+ companyId?: string | undefined;
2363
+ }>;
2364
+ summary: "Approve or reject a submitted timecard";
2365
+ method: "PATCH";
2366
+ body: z.ZodObject<{
2367
+ action: z.ZodEnum<["APPROVE", "REJECT"]>;
2368
+ notes: z.ZodOptional<z.ZodString>;
2369
+ rejectionReason: z.ZodOptional<z.ZodString>;
2370
+ }, "strip", z.ZodTypeAny, {
2371
+ action: "APPROVE" | "REJECT";
2372
+ notes?: string | undefined;
2373
+ rejectionReason?: string | undefined;
2374
+ }, {
2375
+ action: "APPROVE" | "REJECT";
2376
+ notes?: string | undefined;
2377
+ rejectionReason?: string | undefined;
2378
+ }>;
2379
+ path: "/timecards/:timecardId/approve";
2380
+ responses: {
2381
+ 200: z.ZodObject<{
2382
+ data: z.ZodObject<{
2383
+ type: z.ZodLiteral<"timecards">;
2384
+ id: z.ZodString;
2385
+ attributes: z.ZodObject<{
2386
+ id: z.ZodString;
2387
+ userId: z.ZodString;
2388
+ weekStartDate: z.ZodString;
2389
+ weekEndDate: z.ZodString;
2390
+ status: z.ZodDefault<z.ZodEnum<["DRAFT", "SUBMITTED", "APPROVED", "REJECTED", "PAID"]>>;
2391
+ totalHours: z.ZodNumber;
2392
+ regularHours: z.ZodNumber;
2393
+ overtimeHours: z.ZodNumber;
2394
+ entries: z.ZodArray<z.ZodObject<{
2395
+ id: z.ZodString;
2396
+ timecardId: z.ZodString;
2397
+ date: z.ZodString;
2398
+ startTime: z.ZodString;
2399
+ endTime: z.ZodString;
2400
+ breakDuration: z.ZodDefault<z.ZodNumber>;
2401
+ projectId: z.ZodOptional<z.ZodString>;
2402
+ taskId: z.ZodOptional<z.ZodString>;
2403
+ activity: z.ZodString;
2404
+ location: z.ZodOptional<z.ZodString>;
2405
+ notes: z.ZodOptional<z.ZodString>;
2406
+ hoursWorked: z.ZodNumber;
2407
+ overtimeHours: z.ZodDefault<z.ZodNumber>;
2408
+ createdAt: z.ZodString;
2409
+ updatedAt: z.ZodString;
2410
+ }, "strip", z.ZodTypeAny, {
2411
+ id: string;
2412
+ createdAt: string;
2413
+ updatedAt: string;
2414
+ date: string;
2415
+ hoursWorked: number;
2416
+ startTime: string;
2417
+ endTime: string;
2418
+ overtimeHours: number;
2419
+ timecardId: string;
2420
+ breakDuration: number;
2421
+ activity: string;
2422
+ projectId?: string | undefined;
2423
+ notes?: string | undefined;
2424
+ location?: string | undefined;
2425
+ taskId?: string | undefined;
2426
+ }, {
2427
+ id: string;
2428
+ createdAt: string;
2429
+ updatedAt: string;
2430
+ date: string;
2431
+ hoursWorked: number;
2432
+ startTime: string;
2433
+ endTime: string;
2434
+ timecardId: string;
2435
+ activity: string;
2436
+ projectId?: string | undefined;
2437
+ notes?: string | undefined;
2438
+ location?: string | undefined;
2439
+ taskId?: string | undefined;
2440
+ overtimeHours?: number | undefined;
2441
+ breakDuration?: number | undefined;
2442
+ }>, "many">;
2443
+ submittedAt: z.ZodOptional<z.ZodString>;
2444
+ approvedAt: z.ZodOptional<z.ZodString>;
2445
+ approvedBy: z.ZodOptional<z.ZodString>;
2446
+ rejectionReason: z.ZodOptional<z.ZodString>;
2447
+ companyId: z.ZodString;
2448
+ createdAt: z.ZodString;
2449
+ updatedAt: z.ZodString;
2450
+ }, "strip", z.ZodTypeAny, {
2451
+ id: string;
2452
+ createdAt: string;
2453
+ updatedAt: string;
2454
+ companyId: string;
2455
+ entries: {
2456
+ id: string;
2457
+ createdAt: string;
2458
+ updatedAt: string;
2459
+ date: string;
2460
+ hoursWorked: number;
2461
+ startTime: string;
2462
+ endTime: string;
2463
+ overtimeHours: number;
2464
+ timecardId: string;
2465
+ breakDuration: number;
2466
+ activity: string;
2467
+ projectId?: string | undefined;
2468
+ notes?: string | undefined;
2469
+ location?: string | undefined;
2470
+ taskId?: string | undefined;
2471
+ }[];
2472
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
2473
+ userId: string;
2474
+ totalHours: number;
2475
+ overtimeHours: number;
2476
+ weekStartDate: string;
2477
+ weekEndDate: string;
2478
+ regularHours: number;
2479
+ approvedBy?: string | undefined;
2480
+ approvedAt?: string | undefined;
2481
+ submittedAt?: string | undefined;
2482
+ rejectionReason?: string | undefined;
2483
+ }, {
2484
+ id: string;
2485
+ createdAt: string;
2486
+ updatedAt: string;
2487
+ companyId: string;
2488
+ entries: {
2489
+ id: string;
2490
+ createdAt: string;
2491
+ updatedAt: string;
2492
+ date: string;
2493
+ hoursWorked: number;
2494
+ startTime: string;
2495
+ endTime: string;
2496
+ timecardId: string;
2497
+ activity: string;
2498
+ projectId?: string | undefined;
2499
+ notes?: string | undefined;
2500
+ location?: string | undefined;
2501
+ taskId?: string | undefined;
2502
+ overtimeHours?: number | undefined;
2503
+ breakDuration?: number | undefined;
2504
+ }[];
2505
+ userId: string;
2506
+ totalHours: number;
2507
+ overtimeHours: number;
2508
+ weekStartDate: string;
2509
+ weekEndDate: string;
2510
+ regularHours: number;
2511
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
2512
+ approvedBy?: string | undefined;
2513
+ approvedAt?: string | undefined;
2514
+ submittedAt?: string | undefined;
2515
+ rejectionReason?: string | undefined;
2516
+ }>;
2517
+ }, "strip", z.ZodTypeAny, {
2518
+ id: string;
2519
+ type: "timecards";
2520
+ attributes: {
2521
+ id: string;
2522
+ createdAt: string;
2523
+ updatedAt: string;
2524
+ companyId: string;
2525
+ entries: {
2526
+ id: string;
2527
+ createdAt: string;
2528
+ updatedAt: string;
2529
+ date: string;
2530
+ hoursWorked: number;
2531
+ startTime: string;
2532
+ endTime: string;
2533
+ overtimeHours: number;
2534
+ timecardId: string;
2535
+ breakDuration: number;
2536
+ activity: string;
2537
+ projectId?: string | undefined;
2538
+ notes?: string | undefined;
2539
+ location?: string | undefined;
2540
+ taskId?: string | undefined;
2541
+ }[];
2542
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
2543
+ userId: string;
2544
+ totalHours: number;
2545
+ overtimeHours: number;
2546
+ weekStartDate: string;
2547
+ weekEndDate: string;
2548
+ regularHours: number;
2549
+ approvedBy?: string | undefined;
2550
+ approvedAt?: string | undefined;
2551
+ submittedAt?: string | undefined;
2552
+ rejectionReason?: string | undefined;
2553
+ };
2554
+ }, {
2555
+ id: string;
2556
+ type: "timecards";
2557
+ attributes: {
2558
+ id: string;
2559
+ createdAt: string;
2560
+ updatedAt: string;
2561
+ companyId: string;
2562
+ entries: {
2563
+ id: string;
2564
+ createdAt: string;
2565
+ updatedAt: string;
2566
+ date: string;
2567
+ hoursWorked: number;
2568
+ startTime: string;
2569
+ endTime: string;
2570
+ timecardId: string;
2571
+ activity: string;
2572
+ projectId?: string | undefined;
2573
+ notes?: string | undefined;
2574
+ location?: string | undefined;
2575
+ taskId?: string | undefined;
2576
+ overtimeHours?: number | undefined;
2577
+ breakDuration?: number | undefined;
2578
+ }[];
2579
+ userId: string;
2580
+ totalHours: number;
2581
+ overtimeHours: number;
2582
+ weekStartDate: string;
2583
+ weekEndDate: string;
2584
+ regularHours: number;
2585
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
2586
+ approvedBy?: string | undefined;
2587
+ approvedAt?: string | undefined;
2588
+ submittedAt?: string | undefined;
2589
+ rejectionReason?: string | undefined;
2590
+ };
2591
+ }>;
2592
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2593
+ links: z.ZodOptional<z.ZodObject<{
2594
+ self: z.ZodString;
2595
+ first: z.ZodOptional<z.ZodString>;
2596
+ last: z.ZodOptional<z.ZodString>;
2597
+ prev: z.ZodOptional<z.ZodString>;
2598
+ next: z.ZodOptional<z.ZodString>;
2599
+ }, "strip", z.ZodTypeAny, {
2600
+ self: string;
2601
+ first?: string | undefined;
2602
+ last?: string | undefined;
2603
+ prev?: string | undefined;
2604
+ next?: string | undefined;
2605
+ }, {
2606
+ self: string;
2607
+ first?: string | undefined;
2608
+ last?: string | undefined;
2609
+ prev?: string | undefined;
2610
+ next?: string | undefined;
2611
+ }>>;
2612
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
2613
+ status: z.ZodString;
2614
+ title: z.ZodString;
2615
+ detail: z.ZodOptional<z.ZodString>;
2616
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2617
+ }, "strip", z.ZodTypeAny, {
2618
+ status: string;
2619
+ title: string;
2620
+ detail?: string | undefined;
2621
+ meta?: Record<string, unknown> | undefined;
2622
+ }, {
2623
+ status: string;
2624
+ title: string;
2625
+ detail?: string | undefined;
2626
+ meta?: Record<string, unknown> | undefined;
2627
+ }>, "many">>;
2628
+ }, "strip", z.ZodTypeAny, {
2629
+ data: {
2630
+ id: string;
2631
+ type: "timecards";
2632
+ attributes: {
2633
+ id: string;
2634
+ createdAt: string;
2635
+ updatedAt: string;
2636
+ companyId: string;
2637
+ entries: {
2638
+ id: string;
2639
+ createdAt: string;
2640
+ updatedAt: string;
2641
+ date: string;
2642
+ hoursWorked: number;
2643
+ startTime: string;
2644
+ endTime: string;
2645
+ overtimeHours: number;
2646
+ timecardId: string;
2647
+ breakDuration: number;
2648
+ activity: string;
2649
+ projectId?: string | undefined;
2650
+ notes?: string | undefined;
2651
+ location?: string | undefined;
2652
+ taskId?: string | undefined;
2653
+ }[];
2654
+ status: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT";
2655
+ userId: string;
2656
+ totalHours: number;
2657
+ overtimeHours: number;
2658
+ weekStartDate: string;
2659
+ weekEndDate: string;
2660
+ regularHours: number;
2661
+ approvedBy?: string | undefined;
2662
+ approvedAt?: string | undefined;
2663
+ submittedAt?: string | undefined;
2664
+ rejectionReason?: string | undefined;
2665
+ };
2666
+ };
2667
+ meta?: Record<string, unknown> | undefined;
2668
+ links?: {
2669
+ self: string;
2670
+ first?: string | undefined;
2671
+ last?: string | undefined;
2672
+ prev?: string | undefined;
2673
+ next?: string | undefined;
2674
+ } | undefined;
2675
+ errors?: {
2676
+ status: string;
2677
+ title: string;
2678
+ detail?: string | undefined;
2679
+ meta?: Record<string, unknown> | undefined;
2680
+ }[] | undefined;
2681
+ }, {
2682
+ data: {
2683
+ id: string;
2684
+ type: "timecards";
2685
+ attributes: {
2686
+ id: string;
2687
+ createdAt: string;
2688
+ updatedAt: string;
2689
+ companyId: string;
2690
+ entries: {
2691
+ id: string;
2692
+ createdAt: string;
2693
+ updatedAt: string;
2694
+ date: string;
2695
+ hoursWorked: number;
2696
+ startTime: string;
2697
+ endTime: string;
2698
+ timecardId: string;
2699
+ activity: string;
2700
+ projectId?: string | undefined;
2701
+ notes?: string | undefined;
2702
+ location?: string | undefined;
2703
+ taskId?: string | undefined;
2704
+ overtimeHours?: number | undefined;
2705
+ breakDuration?: number | undefined;
2706
+ }[];
2707
+ userId: string;
2708
+ totalHours: number;
2709
+ overtimeHours: number;
2710
+ weekStartDate: string;
2711
+ weekEndDate: string;
2712
+ regularHours: number;
2713
+ status?: "SUBMITTED" | "APPROVED" | "REJECTED" | "PAID" | "DRAFT" | undefined;
2714
+ approvedBy?: string | undefined;
2715
+ approvedAt?: string | undefined;
2716
+ submittedAt?: string | undefined;
2717
+ rejectionReason?: string | undefined;
2718
+ };
2719
+ };
2720
+ meta?: Record<string, unknown> | undefined;
2721
+ links?: {
2722
+ self: string;
2723
+ first?: string | undefined;
2724
+ last?: string | undefined;
2725
+ prev?: string | undefined;
2726
+ next?: string | undefined;
2727
+ } | undefined;
2728
+ errors?: {
2729
+ status: string;
2730
+ title: string;
2731
+ detail?: string | undefined;
2732
+ meta?: Record<string, unknown> | undefined;
2733
+ }[] | undefined;
2734
+ }>;
2735
+ 400: z.ZodObject<{
2736
+ errors: z.ZodArray<z.ZodObject<{
2737
+ status: z.ZodString;
2738
+ title: z.ZodString;
2739
+ detail: z.ZodOptional<z.ZodString>;
2740
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2741
+ }, "strip", z.ZodTypeAny, {
2742
+ status: string;
2743
+ title: string;
2744
+ detail?: string | undefined;
2745
+ meta?: Record<string, unknown> | undefined;
2746
+ }, {
2747
+ status: string;
2748
+ title: string;
2749
+ detail?: string | undefined;
2750
+ meta?: Record<string, unknown> | undefined;
2751
+ }>, "many">;
2752
+ }, "strip", z.ZodTypeAny, {
2753
+ errors: {
2754
+ status: string;
2755
+ title: string;
2756
+ detail?: string | undefined;
2757
+ meta?: Record<string, unknown> | undefined;
2758
+ }[];
2759
+ }, {
2760
+ errors: {
2761
+ status: string;
2762
+ title: string;
2763
+ detail?: string | undefined;
2764
+ meta?: Record<string, unknown> | undefined;
2765
+ }[];
2766
+ }>;
2767
+ 401: z.ZodObject<{
2768
+ errors: z.ZodArray<z.ZodObject<{
2769
+ status: z.ZodString;
2770
+ title: z.ZodString;
2771
+ detail: z.ZodOptional<z.ZodString>;
2772
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2773
+ }, "strip", z.ZodTypeAny, {
2774
+ status: string;
2775
+ title: string;
2776
+ detail?: string | undefined;
2777
+ meta?: Record<string, unknown> | undefined;
2778
+ }, {
2779
+ status: string;
2780
+ title: string;
2781
+ detail?: string | undefined;
2782
+ meta?: Record<string, unknown> | undefined;
2783
+ }>, "many">;
2784
+ }, "strip", z.ZodTypeAny, {
2785
+ errors: {
2786
+ status: string;
2787
+ title: string;
2788
+ detail?: string | undefined;
2789
+ meta?: Record<string, unknown> | undefined;
2790
+ }[];
2791
+ }, {
2792
+ errors: {
2793
+ status: string;
2794
+ title: string;
2795
+ detail?: string | undefined;
2796
+ meta?: Record<string, unknown> | undefined;
2797
+ }[];
2798
+ }>;
2799
+ 403: z.ZodObject<{
2800
+ errors: z.ZodArray<z.ZodObject<{
2801
+ status: z.ZodString;
2802
+ title: z.ZodString;
2803
+ detail: z.ZodOptional<z.ZodString>;
2804
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2805
+ }, "strip", z.ZodTypeAny, {
2806
+ status: string;
2807
+ title: string;
2808
+ detail?: string | undefined;
2809
+ meta?: Record<string, unknown> | undefined;
2810
+ }, {
2811
+ status: string;
2812
+ title: string;
2813
+ detail?: string | undefined;
2814
+ meta?: Record<string, unknown> | undefined;
2815
+ }>, "many">;
2816
+ }, "strip", z.ZodTypeAny, {
2817
+ errors: {
2818
+ status: string;
2819
+ title: string;
2820
+ detail?: string | undefined;
2821
+ meta?: Record<string, unknown> | undefined;
2822
+ }[];
2823
+ }, {
2824
+ errors: {
2825
+ status: string;
2826
+ title: string;
2827
+ detail?: string | undefined;
2828
+ meta?: Record<string, unknown> | undefined;
2829
+ }[];
2830
+ }>;
2831
+ 404: z.ZodObject<{
2832
+ errors: z.ZodArray<z.ZodObject<{
2833
+ status: z.ZodString;
2834
+ title: z.ZodString;
2835
+ detail: z.ZodOptional<z.ZodString>;
2836
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2837
+ }, "strip", z.ZodTypeAny, {
2838
+ status: string;
2839
+ title: string;
2840
+ detail?: string | undefined;
2841
+ meta?: Record<string, unknown> | undefined;
2842
+ }, {
2843
+ status: string;
2844
+ title: string;
2845
+ detail?: string | undefined;
2846
+ meta?: Record<string, unknown> | undefined;
2847
+ }>, "many">;
2848
+ }, "strip", z.ZodTypeAny, {
2849
+ errors: {
2850
+ status: string;
2851
+ title: string;
2852
+ detail?: string | undefined;
2853
+ meta?: Record<string, unknown> | undefined;
2854
+ }[];
2855
+ }, {
2856
+ errors: {
2857
+ status: string;
2858
+ title: string;
2859
+ detail?: string | undefined;
2860
+ meta?: Record<string, unknown> | undefined;
2861
+ }[];
2862
+ }>;
2863
+ };
2864
+ };
2865
+ exportPayrollData: {
2866
+ query: z.ZodObject<{
2867
+ companyId: z.ZodOptional<z.ZodString>;
2868
+ }, "strip", z.ZodTypeAny, {
2869
+ companyId?: string | undefined;
2870
+ }, {
2871
+ companyId?: string | undefined;
2872
+ }>;
2873
+ summary: "Export timecard data for payroll processing";
2874
+ method: "POST";
2875
+ body: z.ZodObject<{
2876
+ startDate: z.ZodString;
2877
+ endDate: z.ZodString;
2878
+ userIds: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2879
+ format: z.ZodDefault<z.ZodEnum<["CSV", "EXCEL", "JSON"]>>;
2880
+ }, "strip", z.ZodTypeAny, {
2881
+ format: "EXCEL" | "CSV" | "JSON";
2882
+ startDate: string;
2883
+ endDate: string;
2884
+ userIds?: string[] | undefined;
2885
+ }, {
2886
+ startDate: string;
2887
+ endDate: string;
2888
+ format?: "EXCEL" | "CSV" | "JSON" | undefined;
2889
+ userIds?: string[] | undefined;
2890
+ }>;
2891
+ path: "/timecards/payroll-export";
2892
+ responses: {
2893
+ 200: z.ZodObject<{
2894
+ data: z.ZodObject<{
2895
+ type: z.ZodLiteral<"payroll-exports">;
2896
+ id: z.ZodString;
2897
+ attributes: z.ZodObject<{
2898
+ exportId: z.ZodString;
2899
+ format: z.ZodEnum<["CSV", "EXCEL", "JSON"]>;
2900
+ recordCount: z.ZodNumber;
2901
+ downloadUrl: z.ZodString;
2902
+ expiresAt: z.ZodString;
2903
+ }, "strip", z.ZodTypeAny, {
2904
+ format: "EXCEL" | "CSV" | "JSON";
2905
+ downloadUrl: string;
2906
+ exportId: string;
2907
+ recordCount: number;
2908
+ expiresAt: string;
2909
+ }, {
2910
+ format: "EXCEL" | "CSV" | "JSON";
2911
+ downloadUrl: string;
2912
+ exportId: string;
2913
+ recordCount: number;
2914
+ expiresAt: string;
2915
+ }>;
2916
+ }, "strip", z.ZodTypeAny, {
2917
+ id: string;
2918
+ type: "payroll-exports";
2919
+ attributes: {
2920
+ format: "EXCEL" | "CSV" | "JSON";
2921
+ downloadUrl: string;
2922
+ exportId: string;
2923
+ recordCount: number;
2924
+ expiresAt: string;
2925
+ };
2926
+ }, {
2927
+ id: string;
2928
+ type: "payroll-exports";
2929
+ attributes: {
2930
+ format: "EXCEL" | "CSV" | "JSON";
2931
+ downloadUrl: string;
2932
+ exportId: string;
2933
+ recordCount: number;
2934
+ expiresAt: string;
2935
+ };
2936
+ }>;
2937
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2938
+ links: z.ZodOptional<z.ZodObject<{
2939
+ self: z.ZodString;
2940
+ first: z.ZodOptional<z.ZodString>;
2941
+ last: z.ZodOptional<z.ZodString>;
2942
+ prev: z.ZodOptional<z.ZodString>;
2943
+ next: z.ZodOptional<z.ZodString>;
2944
+ }, "strip", z.ZodTypeAny, {
2945
+ self: string;
2946
+ first?: string | undefined;
2947
+ last?: string | undefined;
2948
+ prev?: string | undefined;
2949
+ next?: string | undefined;
2950
+ }, {
2951
+ self: string;
2952
+ first?: string | undefined;
2953
+ last?: string | undefined;
2954
+ prev?: string | undefined;
2955
+ next?: string | undefined;
2956
+ }>>;
2957
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
2958
+ status: z.ZodString;
2959
+ title: z.ZodString;
2960
+ detail: z.ZodOptional<z.ZodString>;
2961
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2962
+ }, "strip", z.ZodTypeAny, {
2963
+ status: string;
2964
+ title: string;
2965
+ detail?: string | undefined;
2966
+ meta?: Record<string, unknown> | undefined;
2967
+ }, {
2968
+ status: string;
2969
+ title: string;
2970
+ detail?: string | undefined;
2971
+ meta?: Record<string, unknown> | undefined;
2972
+ }>, "many">>;
2973
+ }, "strip", z.ZodTypeAny, {
2974
+ data: {
2975
+ id: string;
2976
+ type: "payroll-exports";
2977
+ attributes: {
2978
+ format: "EXCEL" | "CSV" | "JSON";
2979
+ downloadUrl: string;
2980
+ exportId: string;
2981
+ recordCount: number;
2982
+ expiresAt: string;
2983
+ };
2984
+ };
2985
+ meta?: Record<string, unknown> | undefined;
2986
+ links?: {
2987
+ self: string;
2988
+ first?: string | undefined;
2989
+ last?: string | undefined;
2990
+ prev?: string | undefined;
2991
+ next?: string | undefined;
2992
+ } | undefined;
2993
+ errors?: {
2994
+ status: string;
2995
+ title: string;
2996
+ detail?: string | undefined;
2997
+ meta?: Record<string, unknown> | undefined;
2998
+ }[] | undefined;
2999
+ }, {
3000
+ data: {
3001
+ id: string;
3002
+ type: "payroll-exports";
3003
+ attributes: {
3004
+ format: "EXCEL" | "CSV" | "JSON";
3005
+ downloadUrl: string;
3006
+ exportId: string;
3007
+ recordCount: number;
3008
+ expiresAt: string;
3009
+ };
3010
+ };
3011
+ meta?: Record<string, unknown> | undefined;
3012
+ links?: {
3013
+ self: string;
3014
+ first?: string | undefined;
3015
+ last?: string | undefined;
3016
+ prev?: string | undefined;
3017
+ next?: string | undefined;
3018
+ } | undefined;
3019
+ errors?: {
3020
+ status: string;
3021
+ title: string;
3022
+ detail?: string | undefined;
3023
+ meta?: Record<string, unknown> | undefined;
3024
+ }[] | undefined;
3025
+ }>;
3026
+ 400: z.ZodObject<{
3027
+ errors: z.ZodArray<z.ZodObject<{
3028
+ status: z.ZodString;
3029
+ title: z.ZodString;
3030
+ detail: z.ZodOptional<z.ZodString>;
3031
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3032
+ }, "strip", z.ZodTypeAny, {
3033
+ status: string;
3034
+ title: string;
3035
+ detail?: string | undefined;
3036
+ meta?: Record<string, unknown> | undefined;
3037
+ }, {
3038
+ status: string;
3039
+ title: string;
3040
+ detail?: string | undefined;
3041
+ meta?: Record<string, unknown> | undefined;
3042
+ }>, "many">;
3043
+ }, "strip", z.ZodTypeAny, {
3044
+ errors: {
3045
+ status: string;
3046
+ title: string;
3047
+ detail?: string | undefined;
3048
+ meta?: Record<string, unknown> | undefined;
3049
+ }[];
3050
+ }, {
3051
+ errors: {
3052
+ status: string;
3053
+ title: string;
3054
+ detail?: string | undefined;
3055
+ meta?: Record<string, unknown> | undefined;
3056
+ }[];
3057
+ }>;
3058
+ 401: z.ZodObject<{
3059
+ errors: z.ZodArray<z.ZodObject<{
3060
+ status: z.ZodString;
3061
+ title: z.ZodString;
3062
+ detail: z.ZodOptional<z.ZodString>;
3063
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3064
+ }, "strip", z.ZodTypeAny, {
3065
+ status: string;
3066
+ title: string;
3067
+ detail?: string | undefined;
3068
+ meta?: Record<string, unknown> | undefined;
3069
+ }, {
3070
+ status: string;
3071
+ title: string;
3072
+ detail?: string | undefined;
3073
+ meta?: Record<string, unknown> | undefined;
3074
+ }>, "many">;
3075
+ }, "strip", z.ZodTypeAny, {
3076
+ errors: {
3077
+ status: string;
3078
+ title: string;
3079
+ detail?: string | undefined;
3080
+ meta?: Record<string, unknown> | undefined;
3081
+ }[];
3082
+ }, {
3083
+ errors: {
3084
+ status: string;
3085
+ title: string;
3086
+ detail?: string | undefined;
3087
+ meta?: Record<string, unknown> | undefined;
3088
+ }[];
3089
+ }>;
3090
+ 403: z.ZodObject<{
3091
+ errors: z.ZodArray<z.ZodObject<{
3092
+ status: z.ZodString;
3093
+ title: z.ZodString;
3094
+ detail: z.ZodOptional<z.ZodString>;
3095
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3096
+ }, "strip", z.ZodTypeAny, {
3097
+ status: string;
3098
+ title: string;
3099
+ detail?: string | undefined;
3100
+ meta?: Record<string, unknown> | undefined;
3101
+ }, {
3102
+ status: string;
3103
+ title: string;
3104
+ detail?: string | undefined;
3105
+ meta?: Record<string, unknown> | undefined;
3106
+ }>, "many">;
3107
+ }, "strip", z.ZodTypeAny, {
3108
+ errors: {
3109
+ status: string;
3110
+ title: string;
3111
+ detail?: string | undefined;
3112
+ meta?: Record<string, unknown> | undefined;
3113
+ }[];
3114
+ }, {
3115
+ errors: {
3116
+ status: string;
3117
+ title: string;
3118
+ detail?: string | undefined;
3119
+ meta?: Record<string, unknown> | undefined;
3120
+ }[];
3121
+ }>;
3122
+ };
3123
+ };
3124
+ };
3125
+ export type Timecard = z.infer<typeof TimecardSchema>;
3126
+ export type TimecardEntry = z.infer<typeof TimecardEntrySchema>;
3127
+ export type CreateTimecardRequest = z.infer<typeof CreateTimecardRequestSchema>;
3128
+ export type CreateTimecardEntryRequest = z.infer<typeof CreateTimecardEntryRequestSchema>;
3129
+ export type TimecardFilters = z.infer<typeof TimecardFiltersSchema>;
3130
+ //# sourceMappingURL=timecards.d.ts.map