@hed-hog/operations 0.0.302 → 0.0.304

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 (167) hide show
  1. package/README.md +200 -43
  2. package/dist/controllers/operations-approvals.controller.d.ts +9 -0
  3. package/dist/controllers/operations-approvals.controller.d.ts.map +1 -0
  4. package/dist/controllers/operations-approvals.controller.js +64 -0
  5. package/dist/controllers/operations-approvals.controller.js.map +1 -0
  6. package/dist/controllers/operations-collaborators.controller.d.ts +223 -0
  7. package/dist/controllers/operations-collaborators.controller.d.ts.map +1 -0
  8. package/dist/controllers/operations-collaborators.controller.js +96 -0
  9. package/dist/controllers/operations-collaborators.controller.js.map +1 -0
  10. package/dist/controllers/operations-contracts.controller.d.ts +683 -0
  11. package/dist/controllers/operations-contracts.controller.d.ts.map +1 -0
  12. package/dist/controllers/operations-contracts.controller.js +198 -0
  13. package/dist/controllers/operations-contracts.controller.js.map +1 -0
  14. package/dist/controllers/operations-org-structure.controller.d.ts +108 -0
  15. package/dist/controllers/operations-org-structure.controller.d.ts.map +1 -0
  16. package/dist/controllers/operations-org-structure.controller.js +143 -0
  17. package/dist/controllers/operations-org-structure.controller.js.map +1 -0
  18. package/dist/controllers/operations-projects.controller.d.ts +169 -0
  19. package/dist/controllers/operations-projects.controller.d.ts.map +1 -0
  20. package/dist/controllers/operations-projects.controller.js +87 -0
  21. package/dist/controllers/operations-projects.controller.js.map +1 -0
  22. package/dist/controllers/operations-tasks.controller.d.ts +54 -0
  23. package/dist/controllers/operations-tasks.controller.d.ts.map +1 -0
  24. package/dist/controllers/operations-tasks.controller.js +79 -0
  25. package/dist/controllers/operations-tasks.controller.js.map +1 -0
  26. package/dist/controllers/operations-timesheets.controller.d.ts +99 -0
  27. package/dist/controllers/operations-timesheets.controller.d.ts.map +1 -0
  28. package/dist/controllers/operations-timesheets.controller.js +154 -0
  29. package/dist/controllers/operations-timesheets.controller.js.map +1 -0
  30. package/dist/dto/create-collaborator-type.dto.d.ts +10 -0
  31. package/dist/dto/create-collaborator-type.dto.d.ts.map +1 -0
  32. package/dist/dto/create-collaborator-type.dto.js +56 -0
  33. package/dist/dto/create-collaborator-type.dto.js.map +1 -0
  34. package/dist/dto/create-collaborator.dto.d.ts +42 -0
  35. package/dist/dto/create-collaborator.dto.d.ts.map +1 -0
  36. package/dist/dto/create-collaborator.dto.js +228 -0
  37. package/dist/dto/create-collaborator.dto.js.map +1 -0
  38. package/dist/dto/create-schedule-adjustment-request.dto.d.ts +17 -0
  39. package/dist/dto/create-schedule-adjustment-request.dto.d.ts.map +1 -0
  40. package/dist/dto/create-schedule-adjustment-request.dto.js +89 -0
  41. package/dist/dto/create-schedule-adjustment-request.dto.js.map +1 -0
  42. package/dist/dto/create-task.dto.d.ts +8 -0
  43. package/dist/dto/create-task.dto.d.ts.map +1 -0
  44. package/dist/dto/create-task.dto.js +50 -0
  45. package/dist/dto/create-task.dto.js.map +1 -0
  46. package/dist/dto/create-time-off-request.dto.d.ts +9 -0
  47. package/dist/dto/create-time-off-request.dto.d.ts.map +1 -0
  48. package/dist/dto/create-time-off-request.dto.js +54 -0
  49. package/dist/dto/create-time-off-request.dto.js.map +1 -0
  50. package/dist/dto/create-timesheet-entry.dto.d.ts +12 -0
  51. package/dist/dto/create-timesheet-entry.dto.d.ts.map +1 -0
  52. package/dist/dto/create-timesheet-entry.dto.js +75 -0
  53. package/dist/dto/create-timesheet-entry.dto.js.map +1 -0
  54. package/dist/dto/list-collaborator-types.dto.d.ts +4 -0
  55. package/dist/dto/list-collaborator-types.dto.d.ts.map +1 -0
  56. package/dist/dto/list-collaborator-types.dto.js +29 -0
  57. package/dist/dto/list-collaborator-types.dto.js.map +1 -0
  58. package/dist/dto/list-collaborators.dto.d.ts +8 -0
  59. package/dist/dto/list-collaborators.dto.d.ts.map +1 -0
  60. package/dist/dto/list-collaborators.dto.js +42 -0
  61. package/dist/dto/list-collaborators.dto.js.map +1 -0
  62. package/dist/dto/list-project-options.dto.d.ts +4 -0
  63. package/dist/dto/list-project-options.dto.d.ts.map +1 -0
  64. package/dist/dto/list-project-options.dto.js +8 -0
  65. package/dist/dto/list-project-options.dto.js.map +1 -0
  66. package/dist/dto/list-tasks.dto.d.ts +7 -0
  67. package/dist/dto/list-tasks.dto.d.ts.map +1 -0
  68. package/dist/dto/list-tasks.dto.js +38 -0
  69. package/dist/dto/list-tasks.dto.js.map +1 -0
  70. package/dist/dto/list-timesheet-entries.dto.d.ts +10 -0
  71. package/dist/dto/list-timesheet-entries.dto.d.ts.map +1 -0
  72. package/dist/dto/list-timesheet-entries.dto.js +54 -0
  73. package/dist/dto/list-timesheet-entries.dto.js.map +1 -0
  74. package/dist/dto/update-collaborator-type.dto.d.ts +4 -0
  75. package/dist/dto/update-collaborator-type.dto.d.ts.map +1 -0
  76. package/dist/dto/update-collaborator-type.dto.js +8 -0
  77. package/dist/dto/update-collaborator-type.dto.js.map +1 -0
  78. package/dist/dto/update-collaborator.dto.d.ts +4 -0
  79. package/dist/dto/update-collaborator.dto.d.ts.map +1 -0
  80. package/dist/dto/update-collaborator.dto.js +8 -0
  81. package/dist/dto/update-collaborator.dto.js.map +1 -0
  82. package/dist/dto/update-task.dto.d.ts +8 -0
  83. package/dist/dto/update-task.dto.d.ts.map +1 -0
  84. package/dist/dto/update-task.dto.js +51 -0
  85. package/dist/dto/update-task.dto.js.map +1 -0
  86. package/dist/operations.controller.d.ts +0 -1045
  87. package/dist/operations.controller.d.ts.map +1 -1
  88. package/dist/operations.controller.js +0 -429
  89. package/dist/operations.controller.js.map +1 -1
  90. package/dist/operations.module.d.ts.map +1 -1
  91. package/dist/operations.module.js +23 -2
  92. package/dist/operations.module.js.map +1 -1
  93. package/dist/operations.service.d.ts +373 -8
  94. package/dist/operations.service.d.ts.map +1 -1
  95. package/dist/operations.service.js +1598 -111
  96. package/dist/operations.service.js.map +1 -1
  97. package/dist/operations.service.spec.js +315 -1
  98. package/dist/operations.service.spec.js.map +1 -1
  99. package/dist/services/shared/operations-access.service.d.ts +16 -0
  100. package/dist/services/shared/operations-access.service.d.ts.map +1 -0
  101. package/dist/services/shared/operations-access.service.js +48 -0
  102. package/dist/services/shared/operations-access.service.js.map +1 -0
  103. package/hedhog/data/dashboard.yaml +20 -0
  104. package/hedhog/data/dashboard_component.yaml +274 -0
  105. package/hedhog/data/dashboard_component_role.yaml +174 -0
  106. package/hedhog/data/dashboard_item.yaml +299 -0
  107. package/hedhog/data/dashboard_role.yaml +20 -0
  108. package/hedhog/data/menu.yaml +30 -13
  109. package/hedhog/data/operations_collaborator_type.yaml +76 -0
  110. package/hedhog/data/route.yaml +183 -0
  111. package/hedhog/frontend/app/_components/async-options-combobox.tsx.ejs +231 -0
  112. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +134 -49
  113. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +772 -93
  114. package/hedhog/frontend/app/_components/department-select-with-create.tsx.ejs +38 -16
  115. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +875 -632
  116. package/hedhog/frontend/app/_components/timesheet-task-create-sheet.tsx.ejs +213 -0
  117. package/hedhog/frontend/app/_lib/api.ts.ejs +30 -1
  118. package/hedhog/frontend/app/_lib/types.ts.ejs +142 -39
  119. package/hedhog/frontend/app/_lib/utils/format.ts.ejs +33 -2
  120. package/hedhog/frontend/app/approvals/page.tsx.ejs +116 -98
  121. package/hedhog/frontend/app/collaborator-types/page.tsx.ejs +502 -0
  122. package/hedhog/frontend/app/collaborators/page.tsx.ejs +109 -68
  123. package/hedhog/frontend/app/contracts/page.tsx.ejs +99 -102
  124. package/hedhog/frontend/app/contracts/templates/page.tsx.ejs +98 -102
  125. package/hedhog/frontend/app/departments/page.tsx.ejs +96 -75
  126. package/hedhog/frontend/app/projects/page.tsx.ejs +137 -127
  127. package/hedhog/frontend/app/schedule-adjustments/page.tsx.ejs +244 -120
  128. package/hedhog/frontend/app/team/page.tsx.ejs +15 -2
  129. package/hedhog/frontend/app/time-off/page.tsx.ejs +158 -82
  130. package/hedhog/frontend/app/timesheets/page.tsx.ejs +814 -357
  131. package/hedhog/frontend/messages/en.json +243 -51
  132. package/hedhog/frontend/messages/pt.json +458 -268
  133. package/hedhog/table/operations_collaborator.yaml +26 -13
  134. package/hedhog/table/operations_collaborator_equity_participation.yaml +43 -0
  135. package/hedhog/table/operations_collaborator_type.yaml +33 -0
  136. package/hedhog/table/operations_job_title.yaml +24 -0
  137. package/hedhog/table/operations_project_assignment.yaml +9 -0
  138. package/hedhog/table/operations_project_role.yaml +39 -0
  139. package/hedhog/table/operations_task.yaml +30 -0
  140. package/hedhog/table/operations_timesheet_entry.yaml +12 -0
  141. package/package.json +6 -6
  142. package/src/controllers/operations-approvals.controller.ts +24 -0
  143. package/src/controllers/operations-collaborators.controller.ts +60 -0
  144. package/src/controllers/operations-contracts.controller.ts +138 -0
  145. package/src/controllers/operations-org-structure.controller.ts +92 -0
  146. package/src/controllers/operations-projects.controller.ts +50 -0
  147. package/src/controllers/operations-tasks.controller.ts +52 -0
  148. package/src/controllers/operations-timesheets.controller.ts +100 -0
  149. package/src/dto/create-collaborator-type.dto.ts +43 -0
  150. package/src/dto/create-collaborator.dto.ts +223 -0
  151. package/src/dto/create-schedule-adjustment-request.dto.ts +91 -0
  152. package/src/dto/create-task.dto.ts +35 -0
  153. package/src/dto/create-time-off-request.dto.ts +53 -0
  154. package/src/dto/create-timesheet-entry.dto.ts +67 -0
  155. package/src/dto/list-collaborator-types.dto.ts +15 -0
  156. package/src/dto/list-collaborators.dto.ts +30 -0
  157. package/src/dto/list-project-options.dto.ts +3 -0
  158. package/src/dto/list-tasks.dto.ts +25 -0
  159. package/src/dto/list-timesheet-entries.dto.ts +40 -0
  160. package/src/dto/update-collaborator-type.dto.ts +3 -0
  161. package/src/dto/update-collaborator.dto.ts +3 -0
  162. package/src/dto/update-task.dto.ts +36 -0
  163. package/src/operations.controller.ts +1 -278
  164. package/src/operations.module.ts +23 -2
  165. package/src/operations.service.spec.ts +450 -0
  166. package/src/operations.service.ts +4641 -2163
  167. package/src/services/shared/operations-access.service.ts +52 -0
@@ -27,1051 +27,6 @@ export declare class OperationsController {
27
27
  status: string;
28
28
  }[];
29
29
  }>;
30
- listCollaborators(user: any): Promise<Record<string, unknown>[]>;
31
- getMyCollaborator(user: any): Promise<{
32
- assignedProjects: Record<string, unknown>[];
33
- relatedContracts: Record<string, unknown>[];
34
- weeklySchedule: Record<string, unknown>[];
35
- timesheetSummary: {
36
- totalTimesheets: number;
37
- pendingTimesheets: number;
38
- totalHours: number;
39
- };
40
- timeOffSummary: {
41
- totalRequests: number;
42
- pendingRequests: number;
43
- approvedRequests: number;
44
- };
45
- scheduleAdjustmentRequests: Record<string, unknown>[];
46
- id: number;
47
- userId: number | null;
48
- personId: number | null;
49
- personName: string | null;
50
- personAvatarId: number | null;
51
- code: string;
52
- collaboratorType: string;
53
- displayName: string;
54
- departmentId: number | null;
55
- department: string | null;
56
- title: string | null;
57
- levelLabel: string | null;
58
- weeklyCapacityHours: number | null;
59
- status: string;
60
- joinedAt: string | null;
61
- leftAt: string | null;
62
- notes: string | null;
63
- supervisorId: number | null;
64
- supervisorName: string | null;
65
- contractId: number | null;
66
- contractStatus: string | null;
67
- activeAssignments: number;
68
- }>;
69
- getCollaborator(user: any, id: number): Promise<{
70
- assignedProjects: Record<string, unknown>[];
71
- relatedContracts: Record<string, unknown>[];
72
- weeklySchedule: Record<string, unknown>[];
73
- timesheetSummary: {
74
- totalTimesheets: number;
75
- pendingTimesheets: number;
76
- totalHours: number;
77
- };
78
- timeOffSummary: {
79
- totalRequests: number;
80
- pendingRequests: number;
81
- approvedRequests: number;
82
- };
83
- scheduleAdjustmentRequests: Record<string, unknown>[];
84
- id: number;
85
- userId: number | null;
86
- personId: number | null;
87
- personName: string | null;
88
- personAvatarId: number | null;
89
- code: string;
90
- collaboratorType: string;
91
- displayName: string;
92
- departmentId: number | null;
93
- department: string | null;
94
- title: string | null;
95
- levelLabel: string | null;
96
- weeklyCapacityHours: number | null;
97
- status: string;
98
- joinedAt: string | null;
99
- leftAt: string | null;
100
- notes: string | null;
101
- supervisorId: number | null;
102
- supervisorName: string | null;
103
- contractId: number | null;
104
- contractStatus: string | null;
105
- activeAssignments: number;
106
- }>;
107
- getTeam(user: any): Promise<{
108
- teamMembers: Record<string, unknown>[];
109
- projectCount: number;
110
- pendingApprovals: number;
111
- pendingItems: {
112
- timesheets: number;
113
- timeOffRequests: number;
114
- scheduleAdjustmentRequests: number;
115
- };
116
- teamProjects: Record<string, unknown>[];
117
- pendingApprovalQueue: Record<string, unknown>[];
118
- pendingTimeOffRequests: Record<string, unknown>[];
119
- pendingScheduleAdjustmentRequests: Record<string, unknown>[];
120
- }>;
121
- createCollaborator(user: any, data: any): Promise<{
122
- assignedProjects: Record<string, unknown>[];
123
- relatedContracts: Record<string, unknown>[];
124
- weeklySchedule: Record<string, unknown>[];
125
- timesheetSummary: {
126
- totalTimesheets: number;
127
- pendingTimesheets: number;
128
- totalHours: number;
129
- };
130
- timeOffSummary: {
131
- totalRequests: number;
132
- pendingRequests: number;
133
- approvedRequests: number;
134
- };
135
- scheduleAdjustmentRequests: Record<string, unknown>[];
136
- id: number;
137
- userId: number | null;
138
- personId: number | null;
139
- personName: string | null;
140
- personAvatarId: number | null;
141
- code: string;
142
- collaboratorType: string;
143
- displayName: string;
144
- departmentId: number | null;
145
- department: string | null;
146
- title: string | null;
147
- levelLabel: string | null;
148
- weeklyCapacityHours: number | null;
149
- status: string;
150
- joinedAt: string | null;
151
- leftAt: string | null;
152
- notes: string | null;
153
- supervisorId: number | null;
154
- supervisorName: string | null;
155
- contractId: number | null;
156
- contractStatus: string | null;
157
- activeAssignments: number;
158
- }>;
159
- updateCollaborator(user: any, id: number, data: any): Promise<{
160
- assignedProjects: Record<string, unknown>[];
161
- relatedContracts: Record<string, unknown>[];
162
- weeklySchedule: Record<string, unknown>[];
163
- timesheetSummary: {
164
- totalTimesheets: number;
165
- pendingTimesheets: number;
166
- totalHours: number;
167
- };
168
- timeOffSummary: {
169
- totalRequests: number;
170
- pendingRequests: number;
171
- approvedRequests: number;
172
- };
173
- scheduleAdjustmentRequests: Record<string, unknown>[];
174
- id: number;
175
- userId: number | null;
176
- personId: number | null;
177
- personName: string | null;
178
- personAvatarId: number | null;
179
- code: string;
180
- collaboratorType: string;
181
- displayName: string;
182
- departmentId: number | null;
183
- department: string | null;
184
- title: string | null;
185
- levelLabel: string | null;
186
- weeklyCapacityHours: number | null;
187
- status: string;
188
- joinedAt: string | null;
189
- leftAt: string | null;
190
- notes: string | null;
191
- supervisorId: number | null;
192
- supervisorName: string | null;
193
- contractId: number | null;
194
- contractStatus: string | null;
195
- activeAssignments: number;
196
- }>;
197
- listDepartments(user: any): Promise<Record<string, unknown>[]>;
198
- createDepartment(user: any, data: any): Promise<{
199
- id: number;
200
- slug: string;
201
- code: string | null;
202
- name: string;
203
- description: string | null;
204
- createdAt: string | null;
205
- updatedAt: string | null;
206
- deletedAt: string | null;
207
- status: "active" | "inactive";
208
- }>;
209
- updateDepartment(user: any, id: number, data: any): Promise<{
210
- id: number;
211
- slug: string;
212
- code: string | null;
213
- name: string;
214
- description: string | null;
215
- createdAt: string | null;
216
- updatedAt: string | null;
217
- deletedAt: string | null;
218
- status: "active" | "inactive";
219
- }>;
220
- listProjects(user: any): Promise<Record<string, unknown>[]>;
221
- getProject(user: any, id: number): Promise<{
222
- assignments: {
223
- id: number;
224
- collaboratorId: number;
225
- collaboratorName: string;
226
- roleLabel: string | null;
227
- allocationPercent: number | null;
228
- weeklyHours: number | null;
229
- isBillable: boolean;
230
- startDate: string | null;
231
- endDate: string | null;
232
- status: string;
233
- }[];
234
- relatedContract: any;
235
- timesheetSummary: {
236
- totalTimesheets: number;
237
- pendingTimesheets: number;
238
- totalHours: number;
239
- };
240
- operationalIndicators: {
241
- activeAssignments: number;
242
- billableAssignments: number;
243
- averageAllocation: number;
244
- totalWeeklyHours: number;
245
- };
246
- id: number;
247
- contractId: number | null;
248
- managerCollaboratorId: number | null;
249
- code: string;
250
- name: string;
251
- clientName: string | null;
252
- summary: string | null;
253
- status: string;
254
- progressPercent: number | null;
255
- deliveryModel: string | null;
256
- budgetAmount: number | null;
257
- startDate: string | null;
258
- endDate: string | null;
259
- contractName: string | null;
260
- contractStatus: string | null;
261
- contractCategory: string | null;
262
- managerName: string | null;
263
- myAssignmentId: number | null;
264
- myRoleLabel: string | null;
265
- teamSize: number;
266
- }>;
267
- createProject(user: any, data: any): Promise<{
268
- assignments: {
269
- id: number;
270
- collaboratorId: number;
271
- collaboratorName: string;
272
- roleLabel: string | null;
273
- allocationPercent: number | null;
274
- weeklyHours: number | null;
275
- isBillable: boolean;
276
- startDate: string | null;
277
- endDate: string | null;
278
- status: string;
279
- }[];
280
- relatedContract: any;
281
- timesheetSummary: {
282
- totalTimesheets: number;
283
- pendingTimesheets: number;
284
- totalHours: number;
285
- };
286
- operationalIndicators: {
287
- activeAssignments: number;
288
- billableAssignments: number;
289
- averageAllocation: number;
290
- totalWeeklyHours: number;
291
- };
292
- id: number;
293
- contractId: number | null;
294
- managerCollaboratorId: number | null;
295
- code: string;
296
- name: string;
297
- clientName: string | null;
298
- summary: string | null;
299
- status: string;
300
- progressPercent: number | null;
301
- deliveryModel: string | null;
302
- budgetAmount: number | null;
303
- startDate: string | null;
304
- endDate: string | null;
305
- contractName: string | null;
306
- contractStatus: string | null;
307
- contractCategory: string | null;
308
- managerName: string | null;
309
- myAssignmentId: number | null;
310
- myRoleLabel: string | null;
311
- teamSize: number;
312
- }>;
313
- updateProject(user: any, id: number, data: any): Promise<{
314
- assignments: {
315
- id: number;
316
- collaboratorId: number;
317
- collaboratorName: string;
318
- roleLabel: string | null;
319
- allocationPercent: number | null;
320
- weeklyHours: number | null;
321
- isBillable: boolean;
322
- startDate: string | null;
323
- endDate: string | null;
324
- status: string;
325
- }[];
326
- relatedContract: any;
327
- timesheetSummary: {
328
- totalTimesheets: number;
329
- pendingTimesheets: number;
330
- totalHours: number;
331
- };
332
- operationalIndicators: {
333
- activeAssignments: number;
334
- billableAssignments: number;
335
- averageAllocation: number;
336
- totalWeeklyHours: number;
337
- };
338
- id: number;
339
- contractId: number | null;
340
- managerCollaboratorId: number | null;
341
- code: string;
342
- name: string;
343
- clientName: string | null;
344
- summary: string | null;
345
- status: string;
346
- progressPercent: number | null;
347
- deliveryModel: string | null;
348
- budgetAmount: number | null;
349
- startDate: string | null;
350
- endDate: string | null;
351
- contractName: string | null;
352
- contractStatus: string | null;
353
- contractCategory: string | null;
354
- managerName: string | null;
355
- myAssignmentId: number | null;
356
- myRoleLabel: string | null;
357
- teamSize: number;
358
- }>;
359
- listContractTemplates(user: any): Promise<Record<string, unknown>[]>;
360
- getContractTemplate(user: any, id: number): Promise<{
361
- id: number;
362
- slug: string;
363
- code: string | null;
364
- name: string;
365
- description: string | null;
366
- contractCategory: string | null;
367
- contractType: string | null;
368
- billingModel: string | null;
369
- signatureStatus: string | null;
370
- isActive: boolean;
371
- status: string | null;
372
- contentHtml: string | null;
373
- usageCount: number;
374
- createdAt: Date;
375
- updatedAt: Date;
376
- }>;
377
- createContractTemplate(user: any, data: any): Promise<{
378
- id: number;
379
- slug: string;
380
- code: string | null;
381
- name: string;
382
- description: string | null;
383
- contractCategory: string | null;
384
- contractType: string | null;
385
- billingModel: string | null;
386
- signatureStatus: string | null;
387
- isActive: boolean;
388
- status: string | null;
389
- contentHtml: string | null;
390
- usageCount: number;
391
- createdAt: Date;
392
- updatedAt: Date;
393
- }>;
394
- updateContractTemplate(user: any, id: number, data: any): Promise<{
395
- id: number;
396
- slug: string;
397
- code: string | null;
398
- name: string;
399
- description: string | null;
400
- contractCategory: string | null;
401
- contractType: string | null;
402
- billingModel: string | null;
403
- signatureStatus: string | null;
404
- isActive: boolean;
405
- status: string | null;
406
- contentHtml: string | null;
407
- usageCount: number;
408
- createdAt: Date;
409
- updatedAt: Date;
410
- }>;
411
- listContracts(user: any): Promise<Record<string, unknown>[]>;
412
- getContract(user: any, id: number): Promise<{
413
- id: number;
414
- code: string;
415
- name: string | null;
416
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
417
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
418
- clientName: string | null;
419
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
420
- isActive: boolean;
421
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
422
- accountManagerCollaboratorId: number | null;
423
- relatedCollaboratorId: number | null;
424
- contractTemplateId: number | null;
425
- contractTemplateName: string | null;
426
- contractTemplateSlug: string | null;
427
- contractTemplateCode: string | null;
428
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
429
- originId: number | null;
430
- startDate: string | null;
431
- endDate: string | null;
432
- signedAt: string | null;
433
- effectiveDate: string | null;
434
- budgetAmount: number | null;
435
- monthlyHourCap: number | null;
436
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
437
- creationMode: ("blank" | "template" | "upload" | "duplicate") | null;
438
- wizardStep: number | null;
439
- description: string | null;
440
- contentHtml: string | null;
441
- accountManagerName: string | null;
442
- relatedCollaboratorName: string | null;
443
- } & {
444
- mainRelatedPartyName: string | null;
445
- projects: {
446
- id: number;
447
- code: string;
448
- name: string;
449
- status: string;
450
- }[];
451
- scheduleSummary: {
452
- weekday: string;
453
- isWorkingDay: boolean;
454
- startTime: string | null;
455
- endTime: string | null;
456
- breakMinutes: number | null;
457
- }[];
458
- parties: NonNullable<{
459
- partyRole?: "employee" | "employer" | "client" | "supplier" | "vendor" | "partner" | "witness" | "internal_owner" | "other";
460
- partyType?: "individual" | "company" | "internal_team" | "other";
461
- displayName: string;
462
- documentNumber?: string | null;
463
- email?: string | null;
464
- phone?: string | null;
465
- isPrimary?: boolean;
466
- }[]>;
467
- signatures: NonNullable<{
468
- signerName: string;
469
- signerRole?: string | null;
470
- signerEmail?: string | null;
471
- status?: "pending" | "signed" | "rejected";
472
- signedAt?: string | null;
473
- }[]>;
474
- financialTerms: NonNullable<{
475
- termType?: "value" | "payment" | "revenue" | "fine" | "other";
476
- label: string;
477
- amount: number;
478
- recurrence?: "one_time" | "monthly" | "quarterly" | "yearly" | "other";
479
- dueDay?: number | null;
480
- notes?: string | null;
481
- }[]>;
482
- documents: {
483
- id: number;
484
- documentType: "other" | "source_upload" | "generated_pdf" | "attachment";
485
- fileId: number | null;
486
- fileName: string;
487
- mimeType: string;
488
- fileContentBase64: string | null;
489
- isCurrent: boolean;
490
- extractionStatus: ("pending" | "processing" | "failed" | "completed" | "skipped") | null;
491
- extractionSummary: string | null;
492
- notes: string | null;
493
- createdAt: string;
494
- }[];
495
- revisions: NonNullable<{
496
- revisionType?: "amendment" | "renewal" | "revision" | "addendum" | "other";
497
- title: string;
498
- effectiveDate?: string | null;
499
- status?: "draft" | "active" | "completed" | "cancelled";
500
- summary?: string | null;
501
- }[]>;
502
- history: {
503
- id: number;
504
- actorUserId: number | null;
505
- action: string;
506
- note: string | null;
507
- metadataJson: string | null;
508
- createdAt: string;
509
- }[];
510
- }>;
511
- createContractDraft(user: any, data: any): Promise<{
512
- id: number;
513
- code: string;
514
- name: string | null;
515
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
516
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
517
- clientName: string | null;
518
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
519
- isActive: boolean;
520
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
521
- accountManagerCollaboratorId: number | null;
522
- relatedCollaboratorId: number | null;
523
- contractTemplateId: number | null;
524
- contractTemplateName: string | null;
525
- contractTemplateSlug: string | null;
526
- contractTemplateCode: string | null;
527
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
528
- originId: number | null;
529
- startDate: string | null;
530
- endDate: string | null;
531
- signedAt: string | null;
532
- effectiveDate: string | null;
533
- budgetAmount: number | null;
534
- monthlyHourCap: number | null;
535
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
536
- creationMode: ("blank" | "template" | "upload" | "duplicate") | null;
537
- wizardStep: number | null;
538
- description: string | null;
539
- contentHtml: string | null;
540
- accountManagerName: string | null;
541
- relatedCollaboratorName: string | null;
542
- } & {
543
- mainRelatedPartyName: string | null;
544
- projects: {
545
- id: number;
546
- code: string;
547
- name: string;
548
- status: string;
549
- }[];
550
- scheduleSummary: {
551
- weekday: string;
552
- isWorkingDay: boolean;
553
- startTime: string | null;
554
- endTime: string | null;
555
- breakMinutes: number | null;
556
- }[];
557
- parties: NonNullable<{
558
- partyRole?: "employee" | "employer" | "client" | "supplier" | "vendor" | "partner" | "witness" | "internal_owner" | "other";
559
- partyType?: "individual" | "company" | "internal_team" | "other";
560
- displayName: string;
561
- documentNumber?: string | null;
562
- email?: string | null;
563
- phone?: string | null;
564
- isPrimary?: boolean;
565
- }[]>;
566
- signatures: NonNullable<{
567
- signerName: string;
568
- signerRole?: string | null;
569
- signerEmail?: string | null;
570
- status?: "pending" | "signed" | "rejected";
571
- signedAt?: string | null;
572
- }[]>;
573
- financialTerms: NonNullable<{
574
- termType?: "value" | "payment" | "revenue" | "fine" | "other";
575
- label: string;
576
- amount: number;
577
- recurrence?: "one_time" | "monthly" | "quarterly" | "yearly" | "other";
578
- dueDay?: number | null;
579
- notes?: string | null;
580
- }[]>;
581
- documents: {
582
- id: number;
583
- documentType: "other" | "source_upload" | "generated_pdf" | "attachment";
584
- fileId: number | null;
585
- fileName: string;
586
- mimeType: string;
587
- fileContentBase64: string | null;
588
- isCurrent: boolean;
589
- extractionStatus: ("pending" | "processing" | "failed" | "completed" | "skipped") | null;
590
- extractionSummary: string | null;
591
- notes: string | null;
592
- createdAt: string;
593
- }[];
594
- revisions: NonNullable<{
595
- revisionType?: "amendment" | "renewal" | "revision" | "addendum" | "other";
596
- title: string;
597
- effectiveDate?: string | null;
598
- status?: "draft" | "active" | "completed" | "cancelled";
599
- summary?: string | null;
600
- }[]>;
601
- history: {
602
- id: number;
603
- actorUserId: number | null;
604
- action: string;
605
- note: string | null;
606
- metadataJson: string | null;
607
- createdAt: string;
608
- }[];
609
- }>;
610
- createContract(user: any, data: any): Promise<{
611
- id: number;
612
- code: string;
613
- name: string | null;
614
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
615
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
616
- clientName: string | null;
617
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
618
- isActive: boolean;
619
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
620
- accountManagerCollaboratorId: number | null;
621
- relatedCollaboratorId: number | null;
622
- contractTemplateId: number | null;
623
- contractTemplateName: string | null;
624
- contractTemplateSlug: string | null;
625
- contractTemplateCode: string | null;
626
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
627
- originId: number | null;
628
- startDate: string | null;
629
- endDate: string | null;
630
- signedAt: string | null;
631
- effectiveDate: string | null;
632
- budgetAmount: number | null;
633
- monthlyHourCap: number | null;
634
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
635
- creationMode: ("blank" | "template" | "upload" | "duplicate") | null;
636
- wizardStep: number | null;
637
- description: string | null;
638
- contentHtml: string | null;
639
- accountManagerName: string | null;
640
- relatedCollaboratorName: string | null;
641
- } & {
642
- mainRelatedPartyName: string | null;
643
- projects: {
644
- id: number;
645
- code: string;
646
- name: string;
647
- status: string;
648
- }[];
649
- scheduleSummary: {
650
- weekday: string;
651
- isWorkingDay: boolean;
652
- startTime: string | null;
653
- endTime: string | null;
654
- breakMinutes: number | null;
655
- }[];
656
- parties: NonNullable<{
657
- partyRole?: "employee" | "employer" | "client" | "supplier" | "vendor" | "partner" | "witness" | "internal_owner" | "other";
658
- partyType?: "individual" | "company" | "internal_team" | "other";
659
- displayName: string;
660
- documentNumber?: string | null;
661
- email?: string | null;
662
- phone?: string | null;
663
- isPrimary?: boolean;
664
- }[]>;
665
- signatures: NonNullable<{
666
- signerName: string;
667
- signerRole?: string | null;
668
- signerEmail?: string | null;
669
- status?: "pending" | "signed" | "rejected";
670
- signedAt?: string | null;
671
- }[]>;
672
- financialTerms: NonNullable<{
673
- termType?: "value" | "payment" | "revenue" | "fine" | "other";
674
- label: string;
675
- amount: number;
676
- recurrence?: "one_time" | "monthly" | "quarterly" | "yearly" | "other";
677
- dueDay?: number | null;
678
- notes?: string | null;
679
- }[]>;
680
- documents: {
681
- id: number;
682
- documentType: "other" | "source_upload" | "generated_pdf" | "attachment";
683
- fileId: number | null;
684
- fileName: string;
685
- mimeType: string;
686
- fileContentBase64: string | null;
687
- isCurrent: boolean;
688
- extractionStatus: ("pending" | "processing" | "failed" | "completed" | "skipped") | null;
689
- extractionSummary: string | null;
690
- notes: string | null;
691
- createdAt: string;
692
- }[];
693
- revisions: NonNullable<{
694
- revisionType?: "amendment" | "renewal" | "revision" | "addendum" | "other";
695
- title: string;
696
- effectiveDate?: string | null;
697
- status?: "draft" | "active" | "completed" | "cancelled";
698
- summary?: string | null;
699
- }[]>;
700
- history: {
701
- id: number;
702
- actorUserId: number | null;
703
- action: string;
704
- note: string | null;
705
- metadataJson: string | null;
706
- createdAt: string;
707
- }[];
708
- }>;
709
- extractContractDraft(user: any, data: any): Promise<{
710
- warnings: string[];
711
- summary: string;
712
- missingFields: string[];
713
- code: string;
714
- name: string;
715
- clientName: string;
716
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
717
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
718
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
719
- isActive: boolean;
720
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
721
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
722
- originId: string;
723
- startDate: string;
724
- endDate: string;
725
- signedAt: string;
726
- effectiveDate: string;
727
- budgetAmount: string | number;
728
- monthlyHourCap: string | number;
729
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
730
- description: string;
731
- contentHtml: string;
732
- parties: {
733
- displayName: string;
734
- partyRole: "other" | "client" | "employee" | "supplier" | "vendor" | "partner" | "employer" | "witness" | "internal_owner";
735
- partyType: "other" | "individual" | "company" | "internal_team";
736
- documentNumber: string;
737
- email: string;
738
- phone: string;
739
- isPrimary: boolean;
740
- }[];
741
- signatures: {
742
- signerName: string;
743
- signerRole: string;
744
- signerEmail: string;
745
- status: "rejected" | "pending" | "signed";
746
- signedAt: string;
747
- }[];
748
- financialTerms: {
749
- label: string;
750
- termType: "value" | "other" | "revenue" | "payment" | "fine";
751
- amount: string | number;
752
- recurrence: "other" | "one_time" | "monthly" | "quarterly" | "yearly";
753
- dueDay: string | number;
754
- notes: string;
755
- }[];
756
- revisions: {
757
- title: string;
758
- revisionType: "other" | "amendment" | "addendum" | "renewal" | "revision";
759
- effectiveDate: string;
760
- status: "active" | "draft" | "completed" | "cancelled";
761
- summary: string;
762
- }[];
763
- }>;
764
- extractContractSource(user: any, id: number, data: any): Promise<{
765
- warnings: string[];
766
- summary: string;
767
- missingFields: string[];
768
- code: string;
769
- name: string;
770
- clientName: string;
771
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
772
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
773
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
774
- isActive: boolean;
775
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
776
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
777
- originId: string;
778
- startDate: string;
779
- endDate: string;
780
- signedAt: string;
781
- effectiveDate: string;
782
- budgetAmount: string | number;
783
- monthlyHourCap: string | number;
784
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
785
- description: string;
786
- contentHtml: string;
787
- parties: {
788
- displayName: string;
789
- partyRole: "other" | "client" | "employee" | "supplier" | "vendor" | "partner" | "employer" | "witness" | "internal_owner";
790
- partyType: "other" | "individual" | "company" | "internal_team";
791
- documentNumber: string;
792
- email: string;
793
- phone: string;
794
- isPrimary: boolean;
795
- }[];
796
- signatures: {
797
- signerName: string;
798
- signerRole: string;
799
- signerEmail: string;
800
- status: "rejected" | "pending" | "signed";
801
- signedAt: string;
802
- }[];
803
- financialTerms: {
804
- label: string;
805
- termType: "value" | "other" | "revenue" | "payment" | "fine";
806
- amount: string | number;
807
- recurrence: "other" | "one_time" | "monthly" | "quarterly" | "yearly";
808
- dueDay: string | number;
809
- notes: string;
810
- }[];
811
- revisions: {
812
- title: string;
813
- revisionType: "other" | "amendment" | "addendum" | "renewal" | "revision";
814
- effectiveDate: string;
815
- status: "active" | "draft" | "completed" | "cancelled";
816
- summary: string;
817
- }[];
818
- }>;
819
- generateContractContent(user: any, id: number, data: any): Promise<{
820
- id: number;
821
- code: string;
822
- name: string | null;
823
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
824
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
825
- clientName: string | null;
826
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
827
- isActive: boolean;
828
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
829
- accountManagerCollaboratorId: number | null;
830
- relatedCollaboratorId: number | null;
831
- contractTemplateId: number | null;
832
- contractTemplateName: string | null;
833
- contractTemplateSlug: string | null;
834
- contractTemplateCode: string | null;
835
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
836
- originId: number | null;
837
- startDate: string | null;
838
- endDate: string | null;
839
- signedAt: string | null;
840
- effectiveDate: string | null;
841
- budgetAmount: number | null;
842
- monthlyHourCap: number | null;
843
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
844
- creationMode: ("blank" | "template" | "upload" | "duplicate") | null;
845
- wizardStep: number | null;
846
- description: string | null;
847
- contentHtml: string | null;
848
- accountManagerName: string | null;
849
- relatedCollaboratorName: string | null;
850
- } & {
851
- mainRelatedPartyName: string | null;
852
- projects: {
853
- id: number;
854
- code: string;
855
- name: string;
856
- status: string;
857
- }[];
858
- scheduleSummary: {
859
- weekday: string;
860
- isWorkingDay: boolean;
861
- startTime: string | null;
862
- endTime: string | null;
863
- breakMinutes: number | null;
864
- }[];
865
- parties: NonNullable<{
866
- partyRole?: "employee" | "employer" | "client" | "supplier" | "vendor" | "partner" | "witness" | "internal_owner" | "other";
867
- partyType?: "individual" | "company" | "internal_team" | "other";
868
- displayName: string;
869
- documentNumber?: string | null;
870
- email?: string | null;
871
- phone?: string | null;
872
- isPrimary?: boolean;
873
- }[]>;
874
- signatures: NonNullable<{
875
- signerName: string;
876
- signerRole?: string | null;
877
- signerEmail?: string | null;
878
- status?: "pending" | "signed" | "rejected";
879
- signedAt?: string | null;
880
- }[]>;
881
- financialTerms: NonNullable<{
882
- termType?: "value" | "payment" | "revenue" | "fine" | "other";
883
- label: string;
884
- amount: number;
885
- recurrence?: "one_time" | "monthly" | "quarterly" | "yearly" | "other";
886
- dueDay?: number | null;
887
- notes?: string | null;
888
- }[]>;
889
- documents: {
890
- id: number;
891
- documentType: "other" | "source_upload" | "generated_pdf" | "attachment";
892
- fileId: number | null;
893
- fileName: string;
894
- mimeType: string;
895
- fileContentBase64: string | null;
896
- isCurrent: boolean;
897
- extractionStatus: ("pending" | "processing" | "failed" | "completed" | "skipped") | null;
898
- extractionSummary: string | null;
899
- notes: string | null;
900
- createdAt: string;
901
- }[];
902
- revisions: NonNullable<{
903
- revisionType?: "amendment" | "renewal" | "revision" | "addendum" | "other";
904
- title: string;
905
- effectiveDate?: string | null;
906
- status?: "draft" | "active" | "completed" | "cancelled";
907
- summary?: string | null;
908
- }[]>;
909
- history: {
910
- id: number;
911
- actorUserId: number | null;
912
- action: string;
913
- note: string | null;
914
- metadataJson: string | null;
915
- createdAt: string;
916
- }[];
917
- }>;
918
- reviewContractLegally(user: any, id: number, data: any): Promise<{
919
- summary: string;
920
- missingFields: string[];
921
- warnings: string[];
922
- checklist: string[];
923
- status: "ready_for_revision" | "attention_required";
924
- reviewedAt: string;
925
- }>;
926
- updateContract(user: any, id: number, data: any): Promise<{
927
- id: number;
928
- code: string;
929
- name: string | null;
930
- contractCategory: "other" | "client" | "internal" | "employee" | "contractor" | "supplier" | "vendor" | "partner";
931
- contractType: "other" | "clt" | "pj" | "freelancer_agreement" | "service_agreement" | "fixed_term" | "recurring_service" | "nda" | "amendment" | "addendum";
932
- clientName: string | null;
933
- signatureStatus: "pending" | "expired" | "not_started" | "partially_signed" | "signed";
934
- isActive: boolean;
935
- billingModel: "time_and_material" | "monthly_retainer" | "fixed_price";
936
- accountManagerCollaboratorId: number | null;
937
- relatedCollaboratorId: number | null;
938
- contractTemplateId: number | null;
939
- contractTemplateName: string | null;
940
- contractTemplateSlug: string | null;
941
- contractTemplateCode: string | null;
942
- originType: "manual" | "employee_hiring" | "client_project" | "crm_proposal";
943
- originId: number | null;
944
- startDate: string | null;
945
- endDate: string | null;
946
- signedAt: string | null;
947
- effectiveDate: string | null;
948
- budgetAmount: number | null;
949
- monthlyHourCap: number | null;
950
- status: "active" | "draft" | "expired" | "archived" | "closed" | "under_review" | "renewal";
951
- creationMode: ("blank" | "template" | "upload" | "duplicate") | null;
952
- wizardStep: number | null;
953
- description: string | null;
954
- contentHtml: string | null;
955
- accountManagerName: string | null;
956
- relatedCollaboratorName: string | null;
957
- } & {
958
- mainRelatedPartyName: string | null;
959
- projects: {
960
- id: number;
961
- code: string;
962
- name: string;
963
- status: string;
964
- }[];
965
- scheduleSummary: {
966
- weekday: string;
967
- isWorkingDay: boolean;
968
- startTime: string | null;
969
- endTime: string | null;
970
- breakMinutes: number | null;
971
- }[];
972
- parties: NonNullable<{
973
- partyRole?: "employee" | "employer" | "client" | "supplier" | "vendor" | "partner" | "witness" | "internal_owner" | "other";
974
- partyType?: "individual" | "company" | "internal_team" | "other";
975
- displayName: string;
976
- documentNumber?: string | null;
977
- email?: string | null;
978
- phone?: string | null;
979
- isPrimary?: boolean;
980
- }[]>;
981
- signatures: NonNullable<{
982
- signerName: string;
983
- signerRole?: string | null;
984
- signerEmail?: string | null;
985
- status?: "pending" | "signed" | "rejected";
986
- signedAt?: string | null;
987
- }[]>;
988
- financialTerms: NonNullable<{
989
- termType?: "value" | "payment" | "revenue" | "fine" | "other";
990
- label: string;
991
- amount: number;
992
- recurrence?: "one_time" | "monthly" | "quarterly" | "yearly" | "other";
993
- dueDay?: number | null;
994
- notes?: string | null;
995
- }[]>;
996
- documents: {
997
- id: number;
998
- documentType: "other" | "source_upload" | "generated_pdf" | "attachment";
999
- fileId: number | null;
1000
- fileName: string;
1001
- mimeType: string;
1002
- fileContentBase64: string | null;
1003
- isCurrent: boolean;
1004
- extractionStatus: ("pending" | "processing" | "failed" | "completed" | "skipped") | null;
1005
- extractionSummary: string | null;
1006
- notes: string | null;
1007
- createdAt: string;
1008
- }[];
1009
- revisions: NonNullable<{
1010
- revisionType?: "amendment" | "renewal" | "revision" | "addendum" | "other";
1011
- title: string;
1012
- effectiveDate?: string | null;
1013
- status?: "draft" | "active" | "completed" | "cancelled";
1014
- summary?: string | null;
1015
- }[]>;
1016
- history: {
1017
- id: number;
1018
- actorUserId: number | null;
1019
- action: string;
1020
- note: string | null;
1021
- metadataJson: string | null;
1022
- createdAt: string;
1023
- }[];
1024
- }>;
1025
- removeContract(user: any, id: number): Promise<{
1026
- success: boolean;
1027
- }>;
1028
- generateContractPdf(user: any, id: number): Promise<{
1029
- contractId: number;
1030
- fileId: number;
1031
- fileName: string;
1032
- mimeType: string;
1033
- documentType: string;
1034
- downloadUrl: string;
1035
- }>;
1036
- listTimesheets(user: any): Promise<{
1037
- id: number;
1038
- collaboratorId: number;
1039
- collaboratorName: string;
1040
- approverCollaboratorId: number | null;
1041
- approverName: string | null;
1042
- weekStartDate: string;
1043
- weekEndDate: string;
1044
- totalHours: number | null;
1045
- status: string;
1046
- submittedAt: string | null;
1047
- reviewedAt: string | null;
1048
- notes: string | null;
1049
- decisionNote: string | null;
1050
- }[]>;
1051
- createTimesheet(user: any, data: any): Promise<any>;
1052
- updateTimesheet(user: any, id: number, data: any): Promise<any>;
1053
- submitTimesheet(user: any, id: number): Promise<any>;
1054
- listTimeOffRequests(user: any): Promise<Record<string, unknown>[]>;
1055
- createTimeOffRequest(user: any, data: any): Promise<Record<string, unknown>>;
1056
- listScheduleAdjustments(user: any): Promise<{
1057
- id: number;
1058
- collaboratorId: number;
1059
- collaboratorName: string;
1060
- approverCollaboratorId: number | null;
1061
- approverName: string | null;
1062
- requestScope: string;
1063
- effectiveStartDate: string;
1064
- effectiveEndDate: string | null;
1065
- status: string;
1066
- reason: string | null;
1067
- submittedAt: string | null;
1068
- reviewedAt: string | null;
1069
- approverNote: string | null;
1070
- }[]>;
1071
- createScheduleAdjustmentRequest(user: any, data: any): Promise<Record<string, unknown>>;
1072
- listApprovals(user: any): Promise<Record<string, unknown>[]>;
1073
- approve(user: any, id: number, data: any): Promise<Record<string, unknown>>;
1074
- reject(user: any, id: number, data: any): Promise<Record<string, unknown>>;
1075
30
  publishAccountsPayableReference(user: any, data: any): Promise<{
1076
31
  queued: boolean;
1077
32
  eventId: string;