@hed-hog/operations 0.0.300 → 0.0.302

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 (73) hide show
  1. package/dist/operations.controller.d.ts +713 -31
  2. package/dist/operations.controller.d.ts.map +1 -1
  3. package/dist/operations.controller.js +157 -0
  4. package/dist/operations.controller.js.map +1 -1
  5. package/dist/operations.module.d.ts.map +1 -1
  6. package/dist/operations.module.js +5 -1
  7. package/dist/operations.module.js.map +1 -1
  8. package/dist/operations.proposal.subscriber.d.ts +11 -0
  9. package/dist/operations.proposal.subscriber.d.ts.map +1 -0
  10. package/dist/operations.proposal.subscriber.js +80 -0
  11. package/dist/operations.proposal.subscriber.js.map +1 -0
  12. package/dist/operations.proposal.subscriber.spec.d.ts +2 -0
  13. package/dist/operations.proposal.subscriber.spec.d.ts.map +1 -0
  14. package/dist/operations.proposal.subscriber.spec.js +88 -0
  15. package/dist/operations.proposal.subscriber.spec.js.map +1 -0
  16. package/dist/operations.service.d.ts +491 -46
  17. package/dist/operations.service.d.ts.map +1 -1
  18. package/dist/operations.service.js +2484 -121
  19. package/dist/operations.service.js.map +1 -1
  20. package/dist/operations.service.spec.d.ts +2 -0
  21. package/dist/operations.service.spec.d.ts.map +1 -0
  22. package/dist/operations.service.spec.js +159 -0
  23. package/dist/operations.service.spec.js.map +1 -0
  24. package/hedhog/data/menu.yaml +35 -22
  25. package/hedhog/data/role_route.yaml +39 -0
  26. package/hedhog/data/route.yaml +130 -0
  27. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +8 -6
  28. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +1163 -327
  29. package/hedhog/frontend/app/_components/collaborator-select-with-create.tsx.ejs +256 -0
  30. package/hedhog/frontend/app/_components/contract-content-editor.tsx.ejs +258 -0
  31. package/hedhog/frontend/app/_components/contract-creation-wizard.tsx.ejs +631 -0
  32. package/hedhog/frontend/app/_components/contract-details-screen.tsx.ejs +353 -27
  33. package/hedhog/frontend/app/_components/contract-form-screen.tsx.ejs +1926 -87
  34. package/hedhog/frontend/app/_components/contract-template-form-screen.tsx.ejs +526 -0
  35. package/hedhog/frontend/app/_components/contract-template-select-with-create.tsx.ejs +247 -0
  36. package/hedhog/frontend/app/_components/contract-wizard-sheet.tsx.ejs +3520 -0
  37. package/hedhog/frontend/app/_components/department-select-with-create.tsx.ejs +370 -0
  38. package/hedhog/frontend/app/_components/person-select-with-create.tsx.ejs +826 -0
  39. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +1251 -364
  40. package/hedhog/frontend/app/_components/section-card.tsx.ejs +48 -13
  41. package/hedhog/frontend/app/_lib/api.ts.ejs +2 -5
  42. package/hedhog/frontend/app/_lib/types.ts.ejs +76 -33
  43. package/hedhog/frontend/app/_lib/utils/format.ts.ejs +85 -8
  44. package/hedhog/frontend/app/approvals/page.tsx.ejs +90 -54
  45. package/hedhog/frontend/app/collaborators/[id]/edit/page.tsx.ejs +2 -2
  46. package/hedhog/frontend/app/collaborators/[id]/page.tsx.ejs +2 -2
  47. package/hedhog/frontend/app/collaborators/page.tsx.ejs +597 -140
  48. package/hedhog/frontend/app/contracts/[id]/edit/page.tsx.ejs +2 -2
  49. package/hedhog/frontend/app/contracts/[id]/page.tsx.ejs +2 -2
  50. package/hedhog/frontend/app/contracts/page.tsx.ejs +941 -262
  51. package/hedhog/frontend/app/contracts/templates/page.tsx.ejs +384 -0
  52. package/hedhog/frontend/app/departments/page.tsx.ejs +442 -0
  53. package/hedhog/frontend/app/page.tsx.ejs +3 -317
  54. package/hedhog/frontend/app/projects/[id]/edit/page.tsx.ejs +2 -2
  55. package/hedhog/frontend/app/projects/new/page.tsx.ejs +2 -2
  56. package/hedhog/frontend/app/projects/page.tsx.ejs +264 -102
  57. package/hedhog/frontend/app/schedule-adjustments/page.tsx.ejs +50 -28
  58. package/hedhog/frontend/app/time-off/page.tsx.ejs +57 -31
  59. package/hedhog/frontend/app/timesheets/page.tsx.ejs +85 -42
  60. package/hedhog/frontend/messages/en.json +473 -12
  61. package/hedhog/frontend/messages/pt.json +528 -66
  62. package/hedhog/table/operations_collaborator.yaml +20 -0
  63. package/hedhog/table/operations_contract.yaml +22 -1
  64. package/hedhog/table/operations_contract_document.yaml +33 -16
  65. package/hedhog/table/operations_contract_template.yaml +58 -0
  66. package/hedhog/table/operations_department.yaml +24 -0
  67. package/package.json +7 -5
  68. package/src/operations.controller.ts +122 -0
  69. package/src/operations.module.ts +6 -2
  70. package/src/operations.proposal.subscriber.spec.ts +121 -0
  71. package/src/operations.proposal.subscriber.ts +86 -0
  72. package/src/operations.service.spec.ts +210 -0
  73. package/src/operations.service.ts +4026 -241
@@ -16,27 +16,6 @@
16
16
  - where:
17
17
  slug: admin-operations-director
18
18
 
19
- - menu_id:
20
- where:
21
- slug: /operations
22
- icon: layout-dashboard
23
- url: /operations
24
- name:
25
- en: Dashboard
26
- pt: Dashboard
27
- slug: /operations/dashboard
28
- order: 111
29
- relations:
30
- role:
31
- - where:
32
- slug: admin
33
- - where:
34
- slug: admin-operations-collaborator
35
- - where:
36
- slug: admin-operations-supervisor
37
- - where:
38
- slug: admin-operations-director
39
-
40
19
  - menu_id:
41
20
  where:
42
21
  slug: /operations
@@ -96,6 +75,23 @@
96
75
  - where:
97
76
  slug: admin-operations-director
98
77
 
78
+ - menu_id:
79
+ where:
80
+ slug: /operations
81
+ icon: file-stack
82
+ url: /operations/contracts/templates
83
+ name:
84
+ en: Contract Templates
85
+ pt: Templates de Contrato
86
+ slug: /operations/contracts/templates
87
+ order: 1141
88
+ relations:
89
+ role:
90
+ - where:
91
+ slug: admin
92
+ - where:
93
+ slug: admin-operations-director
94
+
99
95
  - menu_id:
100
96
  where:
101
97
  slug: /operations
@@ -139,7 +135,7 @@
139
135
  - menu_id:
140
136
  where:
141
137
  slug: /operations
142
- icon: palm-tree
138
+ icon: calendar-time
143
139
  url: /operations/time-off
144
140
  name:
145
141
  en: Time Off
@@ -196,3 +192,20 @@
196
192
  slug: admin-operations-supervisor
197
193
  - where:
198
194
  slug: admin-operations-director
195
+
196
+ - menu_id:
197
+ where:
198
+ slug: /operations
199
+ icon: building-2
200
+ url: /operations/departments
201
+ name:
202
+ en: Departments
203
+ pt: Departamentos
204
+ slug: /operations/departments
205
+ order: 120
206
+ relations:
207
+ role:
208
+ - where:
209
+ slug: admin
210
+ - where:
211
+ slug: admin-operations-director
@@ -0,0 +1,39 @@
1
+ - role_id:
2
+ where:
3
+ slug: admin-operations-director
4
+ route_id:
5
+ where:
6
+ url: /person
7
+ method: GET
8
+
9
+ - role_id:
10
+ where:
11
+ slug: admin-operations-director
12
+ route_id:
13
+ where:
14
+ url: /person
15
+ method: POST
16
+
17
+ - role_id:
18
+ where:
19
+ slug: admin-operations-director
20
+ route_id:
21
+ where:
22
+ url: /person/:id
23
+ method: PATCH
24
+
25
+ - role_id:
26
+ where:
27
+ slug: admin-operations-director
28
+ route_id:
29
+ where:
30
+ url: /person-contact-type
31
+ method: GET
32
+
33
+ - role_id:
34
+ where:
35
+ slug: admin-operations-director
36
+ route_id:
37
+ where:
38
+ url: /person-document-type
39
+ method: GET
@@ -79,6 +79,37 @@
79
79
  - where:
80
80
  slug: admin-operations-director
81
81
 
82
+ - url: /operations/departments
83
+ method: GET
84
+ relations:
85
+ role:
86
+ - where:
87
+ slug: admin
88
+ - where:
89
+ slug: admin-operations-collaborator
90
+ - where:
91
+ slug: admin-operations-supervisor
92
+ - where:
93
+ slug: admin-operations-director
94
+
95
+ - url: /operations/departments
96
+ method: POST
97
+ relations:
98
+ role:
99
+ - where:
100
+ slug: admin
101
+ - where:
102
+ slug: admin-operations-director
103
+
104
+ - url: /operations/departments/:id
105
+ method: PATCH
106
+ relations:
107
+ role:
108
+ - where:
109
+ slug: admin
110
+ - where:
111
+ slug: admin-operations-director
112
+
82
113
  - url: /operations/projects
83
114
  method: GET
84
115
  relations:
@@ -123,6 +154,42 @@
123
154
  - where:
124
155
  slug: admin-operations-director
125
156
 
157
+ - url: /operations/contract-templates
158
+ method: GET
159
+ relations:
160
+ role:
161
+ - where:
162
+ slug: admin
163
+ - where:
164
+ slug: admin-operations-director
165
+
166
+ - url: /operations/contract-templates
167
+ method: POST
168
+ relations:
169
+ role:
170
+ - where:
171
+ slug: admin
172
+ - where:
173
+ slug: admin-operations-director
174
+
175
+ - url: /operations/contract-templates/:id
176
+ method: GET
177
+ relations:
178
+ role:
179
+ - where:
180
+ slug: admin
181
+ - where:
182
+ slug: admin-operations-director
183
+
184
+ - url: /operations/contract-templates/:id
185
+ method: PATCH
186
+ relations:
187
+ role:
188
+ - where:
189
+ slug: admin
190
+ - where:
191
+ slug: admin-operations-director
192
+
126
193
  - url: /operations/contracts
127
194
  method: GET
128
195
  relations:
@@ -145,6 +212,51 @@
145
212
  - where:
146
213
  slug: admin-operations-director
147
214
 
215
+ - url: /operations/contracts/drafts
216
+ method: POST
217
+ relations:
218
+ role:
219
+ - where:
220
+ slug: admin
221
+ - where:
222
+ slug: admin-operations-director
223
+
224
+ - url: /operations/contracts/extract-draft
225
+ method: POST
226
+ relations:
227
+ role:
228
+ - where:
229
+ slug: admin
230
+ - where:
231
+ slug: admin-operations-director
232
+
233
+ - url: /operations/contracts/:id/extract-source
234
+ method: POST
235
+ relations:
236
+ role:
237
+ - where:
238
+ slug: admin
239
+ - where:
240
+ slug: admin-operations-director
241
+
242
+ - url: /operations/contracts/:id/generate-content
243
+ method: POST
244
+ relations:
245
+ role:
246
+ - where:
247
+ slug: admin
248
+ - where:
249
+ slug: admin-operations-director
250
+
251
+ - url: /operations/contracts/:id/legal-review
252
+ method: POST
253
+ relations:
254
+ role:
255
+ - where:
256
+ slug: admin
257
+ - where:
258
+ slug: admin-operations-director
259
+
148
260
  - url: /operations/contracts/:id
149
261
  method: GET
150
262
  relations:
@@ -167,6 +279,24 @@
167
279
  - where:
168
280
  slug: admin-operations-director
169
281
 
282
+ - url: /operations/contracts/:id
283
+ method: DELETE
284
+ relations:
285
+ role:
286
+ - where:
287
+ slug: admin
288
+ - where:
289
+ slug: admin-operations-director
290
+
291
+ - url: /operations/contracts/:id/generate-pdf
292
+ method: POST
293
+ relations:
294
+ role:
295
+ - where:
296
+ slug: admin
297
+ - where:
298
+ slug: admin-operations-director
299
+
170
300
  - url: /operations/timesheets
171
301
  method: GET
172
302
  relations:
@@ -177,12 +177,14 @@ export function CollaboratorDetailsScreen({
177
177
  <div
178
178
  key={contract.id}
179
179
  className="flex items-center justify-between rounded-lg border px-4 py-3"
180
- >
181
- <div>
182
- <div className="font-medium">{contract.name}</div>
183
- <div className="text-sm text-muted-foreground">
184
- {contract.code} • {formatEnumLabel(contract.contractCategory)}
185
- </div>
180
+ >
181
+ <div>
182
+ <div className="font-medium">
183
+ {contract.name || contract.code}
184
+ </div>
185
+ <div className="text-sm text-muted-foreground">
186
+ {contract.code} • {formatEnumLabel(contract.contractCategory)}
187
+ </div>
186
188
  </div>
187
189
  <div className="flex items-center gap-2">
188
190
  <StatusBadge