@open-mercato/core 0.7.1-develop.7178.1.ab93fbaf4e → 0.7.1-develop.7180.1.9717fbbb43

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 (808) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/dist/generated/entities/staff_time_entry/index.js +14 -0
  3. package/dist/generated/entities/staff_time_entry/index.js.map +2 -2
  4. package/dist/generated/entities/staff_time_entry_tag/index.js +15 -0
  5. package/dist/generated/entities/staff_time_entry_tag/index.js.map +7 -0
  6. package/dist/generated/entities/staff_time_project/index.js +16 -0
  7. package/dist/generated/entities/staff_time_project/index.js.map +2 -2
  8. package/dist/generated/entities/staff_time_report/index.js +57 -0
  9. package/dist/generated/entities/staff_time_report/index.js.map +7 -0
  10. package/dist/generated/entities/staff_time_report_entry/index.js +27 -0
  11. package/dist/generated/entities/staff_time_report_entry/index.js.map +7 -0
  12. package/dist/generated/entities/staff_time_report_event/index.js +21 -0
  13. package/dist/generated/entities/staff_time_report_event/index.js.map +7 -0
  14. package/dist/generated/entities/staff_time_report_project/index.js +15 -0
  15. package/dist/generated/entities/staff_time_report_project/index.js.map +7 -0
  16. package/dist/generated/entities/staff_time_tag/index.js +21 -0
  17. package/dist/generated/entities/staff_time_tag/index.js.map +7 -0
  18. package/dist/generated/entities/staff_time_task/index.js +37 -0
  19. package/dist/generated/entities/staff_time_task/index.js.map +7 -0
  20. package/dist/generated/entities/staff_time_task_comment/index.js +21 -0
  21. package/dist/generated/entities/staff_time_task_comment/index.js.map +7 -0
  22. package/dist/generated/entities/staff_time_task_status/index.js +29 -0
  23. package/dist/generated/entities/staff_time_task_status/index.js.map +7 -0
  24. package/dist/generated/entities/staff_time_task_tag/index.js +15 -0
  25. package/dist/generated/entities/staff_time_task_tag/index.js.map +7 -0
  26. package/dist/generated/entities.ids.generated.js +11 -1
  27. package/dist/generated/entities.ids.generated.js.map +2 -2
  28. package/dist/generated/entity-fields-registry.js +149 -0
  29. package/dist/generated/entity-fields-registry.js.map +2 -2
  30. package/dist/helpers/integration/timesheetFixtures.js +7 -0
  31. package/dist/helpers/integration/timesheetFixtures.js.map +2 -2
  32. package/dist/modules/auth/cli.js +16 -0
  33. package/dist/modules/auth/cli.js.map +2 -2
  34. package/dist/modules/auth/lib/backendChrome.js +1 -0
  35. package/dist/modules/auth/lib/backendChrome.js.map +2 -2
  36. package/dist/modules/customer_accounts/lib/customerRoleAcls.js +44 -0
  37. package/dist/modules/customer_accounts/lib/customerRoleAcls.js.map +7 -0
  38. package/dist/modules/customer_accounts/setup.js +1 -28
  39. package/dist/modules/customer_accounts/setup.js.map +2 -2
  40. package/dist/modules/data_sync/api/options.js +2 -0
  41. package/dist/modules/data_sync/api/options.js.map +2 -2
  42. package/dist/modules/data_sync/backend/data-sync/page.js +39 -17
  43. package/dist/modules/data_sync/backend/data-sync/page.js.map +2 -2
  44. package/dist/modules/data_sync/lib/start-controls.js +42 -0
  45. package/dist/modules/data_sync/lib/start-controls.js.map +7 -0
  46. package/dist/modules/staff/acl.js +9 -1
  47. package/dist/modules/staff/acl.js.map +2 -2
  48. package/dist/modules/staff/ai-agents.js +142 -0
  49. package/dist/modules/staff/ai-agents.js.map +7 -0
  50. package/dist/modules/staff/ai-tools/time-tracking-pack.js +348 -0
  51. package/dist/modules/staff/ai-tools/time-tracking-pack.js.map +7 -0
  52. package/dist/modules/staff/ai-tools/types.js +54 -0
  53. package/dist/modules/staff/ai-tools/types.js.map +7 -0
  54. package/dist/modules/staff/ai-tools.js +8 -0
  55. package/dist/modules/staff/ai-tools.js.map +7 -0
  56. package/dist/modules/staff/analytics.js +84 -1
  57. package/dist/modules/staff/analytics.js.map +2 -2
  58. package/dist/modules/staff/api/guards.js +37 -3
  59. package/dist/modules/staff/api/guards.js.map +2 -2
  60. package/dist/modules/staff/api/leave-requests/accept/route.js +1 -3
  61. package/dist/modules/staff/api/leave-requests/accept/route.js.map +2 -2
  62. package/dist/modules/staff/api/leave-requests/reject/route.js +1 -3
  63. package/dist/modules/staff/api/leave-requests/reject/route.js.map +2 -2
  64. package/dist/modules/staff/api/portal/time-reports/[id]/route.js +131 -0
  65. package/dist/modules/staff/api/portal/time-reports/[id]/route.js.map +7 -0
  66. package/dist/modules/staff/api/portal/time-reports/route.js +179 -0
  67. package/dist/modules/staff/api/portal/time-reports/route.js.map +7 -0
  68. package/dist/modules/staff/api/team-members/self/route.js +1 -3
  69. package/dist/modules/staff/api/team-members/self/route.js.map +2 -2
  70. package/dist/modules/staff/api/team-members/tags/assign/route.js +1 -3
  71. package/dist/modules/staff/api/team-members/tags/assign/route.js.map +2 -2
  72. package/dist/modules/staff/api/team-members/tags/unassign/route.js +1 -3
  73. package/dist/modules/staff/api/team-members/tags/unassign/route.js.map +2 -2
  74. package/dist/modules/staff/api/timesheets/_shared/withTimesheetInterceptors.js +174 -0
  75. package/dist/modules/staff/api/timesheets/_shared/withTimesheetInterceptors.js.map +7 -0
  76. package/dist/modules/staff/api/timesheets/access-requests/route.js +226 -0
  77. package/dist/modules/staff/api/timesheets/access-requests/route.js.map +7 -0
  78. package/dist/modules/staff/api/timesheets/my-projects/[projectId]/route.js +15 -8
  79. package/dist/modules/staff/api/timesheets/my-projects/[projectId]/route.js.map +2 -2
  80. package/dist/modules/staff/api/timesheets/my-projects/route.js +13 -1
  81. package/dist/modules/staff/api/timesheets/my-projects/route.js.map +2 -2
  82. package/dist/modules/staff/api/timesheets/my-work/myWorkAggregate.js +42 -0
  83. package/dist/modules/staff/api/timesheets/my-work/myWorkAggregate.js.map +7 -0
  84. package/dist/modules/staff/api/timesheets/my-work/route.js +383 -0
  85. package/dist/modules/staff/api/timesheets/my-work/route.js.map +7 -0
  86. package/dist/modules/staff/api/timesheets/projects/kpis/route.js +14 -2
  87. package/dist/modules/staff/api/timesheets/projects/kpis/route.js.map +2 -2
  88. package/dist/modules/staff/api/timesheets/reports/[id]/close/route.js +168 -0
  89. package/dist/modules/staff/api/timesheets/reports/[id]/close/route.js.map +7 -0
  90. package/dist/modules/staff/api/timesheets/reports/[id]/export/route.js +246 -0
  91. package/dist/modules/staff/api/timesheets/reports/[id]/export/route.js.map +7 -0
  92. package/dist/modules/staff/api/timesheets/reports/[id]/sheet/route.js +183 -0
  93. package/dist/modules/staff/api/timesheets/reports/[id]/sheet/route.js.map +7 -0
  94. package/dist/modules/staff/api/timesheets/reports/[id]/unlock/route.js +164 -0
  95. package/dist/modules/staff/api/timesheets/reports/[id]/unlock/route.js.map +7 -0
  96. package/dist/modules/staff/api/timesheets/reports/preview/route.js +360 -0
  97. package/dist/modules/staff/api/timesheets/reports/preview/route.js.map +7 -0
  98. package/dist/modules/staff/api/timesheets/reports/route.js +316 -0
  99. package/dist/modules/staff/api/timesheets/reports/route.js.map +7 -0
  100. package/dist/modules/staff/api/timesheets/reports/shared.js +63 -0
  101. package/dist/modules/staff/api/timesheets/reports/shared.js.map +7 -0
  102. package/dist/modules/staff/api/timesheets/settings/reapply-rounding/route.js +164 -0
  103. package/dist/modules/staff/api/timesheets/settings/reapply-rounding/route.js.map +7 -0
  104. package/dist/modules/staff/api/timesheets/settings/rounding-impact/route.js +168 -0
  105. package/dist/modules/staff/api/timesheets/settings/rounding-impact/route.js.map +7 -0
  106. package/dist/modules/staff/api/timesheets/settings/route.js +199 -0
  107. package/dist/modules/staff/api/timesheets/settings/route.js.map +7 -0
  108. package/dist/modules/staff/api/timesheets/tags/access.js +76 -0
  109. package/dist/modules/staff/api/timesheets/tags/access.js.map +7 -0
  110. package/dist/modules/staff/api/timesheets/tags/entry-assignments/route.js +235 -0
  111. package/dist/modules/staff/api/timesheets/tags/entry-assignments/route.js.map +7 -0
  112. package/dist/modules/staff/api/timesheets/tags/route.js +160 -0
  113. package/dist/modules/staff/api/timesheets/tags/route.js.map +7 -0
  114. package/dist/modules/staff/api/timesheets/tags/task-assignments/route.js +233 -0
  115. package/dist/modules/staff/api/timesheets/tags/task-assignments/route.js.map +7 -0
  116. package/dist/modules/staff/api/timesheets/task-statuses/route.js +188 -0
  117. package/dist/modules/staff/api/timesheets/task-statuses/route.js.map +7 -0
  118. package/dist/modules/staff/api/timesheets/tasks/[id]/comments/route.js +399 -0
  119. package/dist/modules/staff/api/timesheets/tasks/[id]/comments/route.js.map +7 -0
  120. package/dist/modules/staff/api/timesheets/tasks/[id]/status/route.js +210 -0
  121. package/dist/modules/staff/api/timesheets/tasks/[id]/status/route.js.map +7 -0
  122. package/dist/modules/staff/api/timesheets/tasks/route.js +333 -0
  123. package/dist/modules/staff/api/timesheets/tasks/route.js.map +7 -0
  124. package/dist/modules/staff/api/timesheets/time-entries/[id]/duplicate/route.js +228 -0
  125. package/dist/modules/staff/api/timesheets/time-entries/[id]/duplicate/route.js.map +7 -0
  126. package/dist/modules/staff/api/timesheets/time-entries/[id]/segments/[segmentId]/route.js +29 -10
  127. package/dist/modules/staff/api/timesheets/time-entries/[id]/segments/[segmentId]/route.js.map +2 -2
  128. package/dist/modules/staff/api/timesheets/time-entries/[id]/segments/route.js +31 -18
  129. package/dist/modules/staff/api/timesheets/time-entries/[id]/segments/route.js.map +2 -2
  130. package/dist/modules/staff/api/timesheets/time-entries/[id]/timer-start/route.js +21 -7
  131. package/dist/modules/staff/api/timesheets/time-entries/[id]/timer-start/route.js.map +2 -2
  132. package/dist/modules/staff/api/timesheets/time-entries/[id]/timer-stop/route.js +27 -7
  133. package/dist/modules/staff/api/timesheets/time-entries/[id]/timer-stop/route.js.map +2 -2
  134. package/dist/modules/staff/api/timesheets/time-entries/bulk/route.js +215 -32
  135. package/dist/modules/staff/api/timesheets/time-entries/bulk/route.js.map +2 -2
  136. package/dist/modules/staff/api/timesheets/time-entries/copy-day/route.js +378 -0
  137. package/dist/modules/staff/api/timesheets/time-entries/copy-day/route.js.map +7 -0
  138. package/dist/modules/staff/api/timesheets/time-entries/overlaps/route.js +340 -0
  139. package/dist/modules/staff/api/timesheets/time-entries/overlaps/route.js.map +7 -0
  140. package/dist/modules/staff/api/timesheets/time-entries/route.js +238 -26
  141. package/dist/modules/staff/api/timesheets/time-entries/route.js.map +2 -2
  142. package/dist/modules/staff/api/timesheets/time-entries/start-timer/route.js +23 -8
  143. package/dist/modules/staff/api/timesheets/time-entries/start-timer/route.js.map +2 -2
  144. package/dist/modules/staff/api/timesheets/time-projects/[id]/change-currency/route.js +209 -0
  145. package/dist/modules/staff/api/timesheets/time-projects/[id]/change-currency/route.js.map +7 -0
  146. package/dist/modules/staff/api/timesheets/time-projects/[id]/employees/route.js +59 -2
  147. package/dist/modules/staff/api/timesheets/time-projects/[id]/employees/route.js.map +2 -2
  148. package/dist/modules/staff/api/timesheets/time-projects/route.js +264 -22
  149. package/dist/modules/staff/api/timesheets/time-projects/route.js.map +2 -2
  150. package/dist/modules/staff/backend/staff/time-tracking/board/page.js +110 -0
  151. package/dist/modules/staff/backend/staff/time-tracking/board/page.js.map +7 -0
  152. package/dist/modules/staff/backend/staff/time-tracking/board/page.meta.js +18 -0
  153. package/dist/modules/staff/backend/staff/time-tracking/board/page.meta.js.map +7 -0
  154. package/dist/modules/staff/backend/staff/time-tracking/entries/page.js +981 -0
  155. package/dist/modules/staff/backend/staff/time-tracking/entries/page.js.map +7 -0
  156. package/dist/modules/staff/backend/staff/time-tracking/entries/page.meta.js +18 -0
  157. package/dist/modules/staff/backend/staff/time-tracking/entries/page.meta.js.map +7 -0
  158. package/dist/modules/staff/backend/staff/time-tracking/page.js +583 -0
  159. package/dist/modules/staff/backend/staff/time-tracking/page.js.map +7 -0
  160. package/dist/modules/staff/backend/staff/time-tracking/page.meta.js +15 -0
  161. package/dist/modules/staff/backend/staff/time-tracking/page.meta.js.map +7 -0
  162. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.js +65 -0
  163. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.js.map +7 -0
  164. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.meta.js +16 -0
  165. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.meta.js.map +7 -0
  166. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.js +229 -0
  167. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.js.map +7 -0
  168. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.meta.js +16 -0
  169. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.meta.js.map +7 -0
  170. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.js +1014 -0
  171. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.js.map +7 -0
  172. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.meta.js +16 -0
  173. package/dist/modules/staff/backend/staff/time-tracking/projects/[id]/page.meta.js.map +7 -0
  174. package/dist/modules/staff/backend/staff/time-tracking/projects/create/page.js +97 -0
  175. package/dist/modules/staff/backend/staff/time-tracking/projects/create/page.js.map +7 -0
  176. package/dist/modules/staff/backend/staff/time-tracking/projects/create/page.meta.js +16 -0
  177. package/dist/modules/staff/backend/staff/time-tracking/projects/create/page.meta.js.map +7 -0
  178. package/dist/modules/staff/backend/staff/time-tracking/projects/page.js +1040 -0
  179. package/dist/modules/staff/backend/staff/time-tracking/projects/page.js.map +7 -0
  180. package/dist/modules/staff/backend/staff/time-tracking/projects/page.meta.js +19 -0
  181. package/dist/modules/staff/backend/staff/time-tracking/projects/page.meta.js.map +7 -0
  182. package/dist/modules/staff/backend/staff/time-tracking/projects/projectFormConfig.js +353 -0
  183. package/dist/modules/staff/backend/staff/time-tracking/projects/projectFormConfig.js.map +7 -0
  184. package/dist/modules/staff/backend/staff/time-tracking/reports/[id]/page.js +457 -0
  185. package/dist/modules/staff/backend/staff/time-tracking/reports/[id]/page.js.map +7 -0
  186. package/dist/modules/staff/backend/staff/time-tracking/reports/[id]/page.meta.js +16 -0
  187. package/dist/modules/staff/backend/staff/time-tracking/reports/[id]/page.meta.js.map +7 -0
  188. package/dist/modules/staff/backend/staff/time-tracking/reports/create/page.js +697 -0
  189. package/dist/modules/staff/backend/staff/time-tracking/reports/create/page.js.map +7 -0
  190. package/dist/modules/staff/backend/staff/time-tracking/reports/create/page.meta.js +16 -0
  191. package/dist/modules/staff/backend/staff/time-tracking/reports/create/page.meta.js.map +7 -0
  192. package/dist/modules/staff/backend/staff/time-tracking/reports/page.js +174 -0
  193. package/dist/modules/staff/backend/staff/time-tracking/reports/page.js.map +7 -0
  194. package/dist/modules/staff/backend/staff/time-tracking/reports/page.meta.js +18 -0
  195. package/dist/modules/staff/backend/staff/time-tracking/reports/page.meta.js.map +7 -0
  196. package/dist/modules/staff/backend/staff/time-tracking/settings/page.js +546 -0
  197. package/dist/modules/staff/backend/staff/time-tracking/settings/page.js.map +7 -0
  198. package/dist/modules/staff/backend/staff/time-tracking/settings/page.meta.js +18 -0
  199. package/dist/modules/staff/backend/staff/time-tracking/settings/page.meta.js.map +7 -0
  200. package/dist/modules/staff/backend/staff/time-tracking/timesheet/GridView.js +710 -0
  201. package/dist/modules/staff/backend/staff/time-tracking/timesheet/GridView.js.map +7 -0
  202. package/dist/modules/staff/backend/staff/time-tracking/timesheet/page.js +646 -0
  203. package/dist/modules/staff/backend/staff/time-tracking/timesheet/page.js.map +7 -0
  204. package/dist/modules/staff/backend/staff/time-tracking/timesheet/page.meta.js +18 -0
  205. package/dist/modules/staff/backend/staff/time-tracking/timesheet/page.meta.js.map +7 -0
  206. package/dist/modules/staff/backend/staff/timesheets/page.js +4 -793
  207. package/dist/modules/staff/backend/staff/timesheets/page.js.map +2 -2
  208. package/dist/modules/staff/backend/staff/timesheets/page.meta.js +2 -7
  209. package/dist/modules/staff/backend/staff/timesheets/page.meta.js.map +2 -2
  210. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.js +5 -136
  211. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.js.map +2 -2
  212. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.meta.js +1 -7
  213. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.meta.js.map +2 -2
  214. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/page.js +5 -445
  215. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/page.js.map +3 -3
  216. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/page.meta.js +1 -7
  217. package/dist/modules/staff/backend/staff/timesheets/projects/[id]/page.meta.js.map +2 -2
  218. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.js +4 -76
  219. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.js.map +2 -2
  220. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.meta.js +1 -7
  221. package/dist/modules/staff/backend/staff/timesheets/projects/create/page.meta.js.map +2 -2
  222. package/dist/modules/staff/backend/staff/timesheets/projects/page.js +4 -613
  223. package/dist/modules/staff/backend/staff/timesheets/projects/page.js.map +2 -2
  224. package/dist/modules/staff/backend/staff/timesheets/projects/page.meta.js +2 -17
  225. package/dist/modules/staff/backend/staff/timesheets/projects/page.meta.js.map +2 -2
  226. package/dist/modules/staff/ce.js +40 -0
  227. package/dist/modules/staff/ce.js.map +2 -2
  228. package/dist/modules/staff/cli.js +166 -1
  229. package/dist/modules/staff/cli.js.map +2 -2
  230. package/dist/modules/staff/commands/index.js +5 -0
  231. package/dist/modules/staff/commands/index.js.map +2 -2
  232. package/dist/modules/staff/commands/timesheets-entries.js +569 -21
  233. package/dist/modules/staff/commands/timesheets-entries.js.map +3 -3
  234. package/dist/modules/staff/commands/timesheets-projects.js +450 -7
  235. package/dist/modules/staff/commands/timesheets-projects.js.map +2 -2
  236. package/dist/modules/staff/commands/timesheets-reports.js +1036 -0
  237. package/dist/modules/staff/commands/timesheets-reports.js.map +7 -0
  238. package/dist/modules/staff/commands/timesheets-tags.js +1015 -0
  239. package/dist/modules/staff/commands/timesheets-tags.js.map +7 -0
  240. package/dist/modules/staff/commands/timesheets-task-comments.js +438 -0
  241. package/dist/modules/staff/commands/timesheets-task-comments.js.map +7 -0
  242. package/dist/modules/staff/commands/timesheets-task-statuses.js +723 -0
  243. package/dist/modules/staff/commands/timesheets-task-statuses.js.map +7 -0
  244. package/dist/modules/staff/commands/timesheets-tasks.js +834 -0
  245. package/dist/modules/staff/commands/timesheets-tasks.js.map +7 -0
  246. package/dist/modules/staff/data/enrichers.js +426 -12
  247. package/dist/modules/staff/data/enrichers.js.map +2 -2
  248. package/dist/modules/staff/data/entities.js +552 -3
  249. package/dist/modules/staff/data/entities.js.map +2 -2
  250. package/dist/modules/staff/data/extensions.js +41 -0
  251. package/dist/modules/staff/data/extensions.js.map +7 -0
  252. package/dist/modules/staff/data/validators.js +254 -9
  253. package/dist/modules/staff/data/validators.js.map +2 -2
  254. package/dist/modules/staff/di.js +42 -1
  255. package/dist/modules/staff/di.js.map +2 -2
  256. package/dist/modules/staff/events.js +84 -6
  257. package/dist/modules/staff/events.js.map +2 -2
  258. package/dist/modules/staff/events.payloads.js +158 -0
  259. package/dist/modules/staff/events.payloads.js.map +7 -0
  260. package/dist/modules/staff/extension-points.js +261 -0
  261. package/dist/modules/staff/extension-points.js.map +7 -0
  262. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.js +138 -0
  263. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.js.map +7 -0
  264. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.meta.js +12 -0
  265. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.meta.js.map +7 -0
  266. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/page.js +133 -0
  267. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/page.js.map +7 -0
  268. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/page.meta.js +19 -0
  269. package/dist/modules/staff/frontend/[orgSlug]/portal/time-reports/page.meta.js.map +7 -0
  270. package/dist/modules/staff/lib/crud.js +11 -1
  271. package/dist/modules/staff/lib/crud.js.map +2 -2
  272. package/dist/modules/staff/lib/time-tracking/access.js +92 -0
  273. package/dist/modules/staff/lib/time-tracking/access.js.map +7 -0
  274. package/dist/modules/staff/lib/time-tracking/billability.js +39 -0
  275. package/dist/modules/staff/lib/time-tracking/billability.js.map +7 -0
  276. package/dist/modules/staff/lib/time-tracking/capacity.js +68 -0
  277. package/dist/modules/staff/lib/time-tracking/capacity.js.map +7 -0
  278. package/dist/modules/staff/lib/time-tracking/componentContracts.js +15 -0
  279. package/dist/modules/staff/lib/time-tracking/componentContracts.js.map +7 -0
  280. package/dist/modules/staff/lib/time-tracking/cost.js +82 -0
  281. package/dist/modules/staff/lib/time-tracking/cost.js.map +7 -0
  282. package/dist/modules/staff/lib/time-tracking/duration.js +55 -0
  283. package/dist/modules/staff/lib/time-tracking/duration.js.map +7 -0
  284. package/dist/modules/staff/lib/time-tracking/featureAccess.js +41 -0
  285. package/dist/modules/staff/lib/time-tracking/featureAccess.js.map +7 -0
  286. package/dist/modules/staff/lib/time-tracking/interval.js +72 -0
  287. package/dist/modules/staff/lib/time-tracking/interval.js.map +7 -0
  288. package/dist/modules/staff/lib/time-tracking/migrateProjectCodes.js +88 -0
  289. package/dist/modules/staff/lib/time-tracking/migrateProjectCodes.js.map +7 -0
  290. package/dist/modules/staff/lib/time-tracking/moneyVisibility.js +10 -0
  291. package/dist/modules/staff/lib/time-tracking/moneyVisibility.js.map +7 -0
  292. package/dist/modules/staff/lib/time-tracking/overlap.js +87 -0
  293. package/dist/modules/staff/lib/time-tracking/overlap.js.map +7 -0
  294. package/dist/modules/staff/lib/time-tracking/portalRecipients.js +27 -0
  295. package/dist/modules/staff/lib/time-tracking/portalRecipients.js.map +7 -0
  296. package/dist/modules/staff/lib/time-tracking/portalReports.js +16 -0
  297. package/dist/modules/staff/lib/time-tracking/portalReports.js.map +7 -0
  298. package/dist/modules/staff/lib/time-tracking/projectCode.js +135 -0
  299. package/dist/modules/staff/lib/time-tracking/projectCode.js.map +7 -0
  300. package/dist/modules/staff/lib/time-tracking/reapplyRounding.js +187 -0
  301. package/dist/modules/staff/lib/time-tracking/reapplyRounding.js.map +7 -0
  302. package/dist/modules/staff/lib/time-tracking/recalculationRunner.js +80 -0
  303. package/dist/modules/staff/lib/time-tracking/recalculationRunner.js.map +7 -0
  304. package/dist/modules/staff/lib/time-tracking/recalculations.js +56 -0
  305. package/dist/modules/staff/lib/time-tracking/recalculations.js.map +7 -0
  306. package/dist/modules/staff/lib/time-tracking/registries/invoke.js +63 -0
  307. package/dist/modules/staff/lib/time-tracking/registries/invoke.js.map +7 -0
  308. package/dist/modules/staff/lib/time-tracking/registries/registry.js +62 -0
  309. package/dist/modules/staff/lib/time-tracking/registries/registry.js.map +7 -0
  310. package/dist/modules/staff/lib/time-tracking/registries/scope.js +21 -0
  311. package/dist/modules/staff/lib/time-tracking/registries/scope.js.map +7 -0
  312. package/dist/modules/staff/lib/time-tracking/rollup.js +34 -0
  313. package/dist/modules/staff/lib/time-tracking/rollup.js.map +7 -0
  314. package/dist/modules/staff/lib/time-tracking/rounding.js +66 -0
  315. package/dist/modules/staff/lib/time-tracking/rounding.js.map +7 -0
  316. package/dist/modules/staff/lib/time-tracking/roundingImpact.js +39 -0
  317. package/dist/modules/staff/lib/time-tracking/roundingImpact.js.map +7 -0
  318. package/dist/modules/staff/lib/time-tracking/settingKeys.js +214 -0
  319. package/dist/modules/staff/lib/time-tracking/settingKeys.js.map +7 -0
  320. package/dist/modules/staff/lib/time-tracking/settings.js +87 -0
  321. package/dist/modules/staff/lib/time-tracking/settings.js.map +7 -0
  322. package/dist/modules/staff/lib/time-tracking/sqlInClause.js +9 -0
  323. package/dist/modules/staff/lib/time-tracking/sqlInClause.js.map +7 -0
  324. package/dist/modules/staff/lib/time-tracking/timeEntrySources.js +48 -0
  325. package/dist/modules/staff/lib/time-tracking/timeEntrySources.js.map +7 -0
  326. package/dist/modules/staff/lib/time-tracking-ui/BoardFilterChips.js +283 -0
  327. package/dist/modules/staff/lib/time-tracking-ui/BoardFilterChips.js.map +7 -0
  328. package/dist/modules/staff/lib/time-tracking-ui/CustomerPicker.js +324 -0
  329. package/dist/modules/staff/lib/time-tracking-ui/CustomerPicker.js.map +7 -0
  330. package/dist/modules/staff/lib/time-tracking-ui/DurationInput.js +121 -0
  331. package/dist/modules/staff/lib/time-tracking-ui/DurationInput.js.map +7 -0
  332. package/dist/modules/staff/lib/time-tracking-ui/EntryDetailsFields.js +188 -0
  333. package/dist/modules/staff/lib/time-tracking-ui/EntryDetailsFields.js.map +7 -0
  334. package/dist/modules/staff/lib/time-tracking-ui/EntryFilterBar.js +89 -0
  335. package/dist/modules/staff/lib/time-tracking-ui/EntryFilterBar.js.map +7 -0
  336. package/dist/modules/staff/lib/time-tracking-ui/KanbanBoard.js +855 -0
  337. package/dist/modules/staff/lib/time-tracking-ui/KanbanBoard.js.map +7 -0
  338. package/dist/modules/staff/lib/time-tracking-ui/KanbanCard.js +360 -0
  339. package/dist/modules/staff/lib/time-tracking-ui/KanbanCard.js.map +7 -0
  340. package/dist/modules/staff/lib/time-tracking-ui/KanbanColumn.js +259 -0
  341. package/dist/modules/staff/lib/time-tracking-ui/KanbanColumn.js.map +7 -0
  342. package/dist/modules/staff/lib/time-tracking-ui/NewTaskDialog.js +238 -0
  343. package/dist/modules/staff/lib/time-tracking-ui/NewTaskDialog.js.map +7 -0
  344. package/dist/modules/staff/lib/time-tracking-ui/NoProjectAccess.js +130 -0
  345. package/dist/modules/staff/lib/time-tracking-ui/NoProjectAccess.js.map +7 -0
  346. package/dist/modules/staff/lib/time-tracking-ui/PeriodSelector.js +98 -0
  347. package/dist/modules/staff/lib/time-tracking-ui/PeriodSelector.js.map +7 -0
  348. package/dist/modules/staff/lib/time-tracking-ui/PhasePlaceholder.js +27 -0
  349. package/dist/modules/staff/lib/time-tracking-ui/PhasePlaceholder.js.map +7 -0
  350. package/dist/modules/staff/lib/time-tracking-ui/ProjectCodeField.js +166 -0
  351. package/dist/modules/staff/lib/time-tracking-ui/ProjectCodeField.js.map +7 -0
  352. package/dist/modules/staff/lib/time-tracking-ui/ProjectCurrencyField.js +295 -0
  353. package/dist/modules/staff/lib/time-tracking-ui/ProjectCurrencyField.js.map +7 -0
  354. package/dist/modules/staff/lib/time-tracking-ui/ProjectFormSections.js +212 -0
  355. package/dist/modules/staff/lib/time-tracking-ui/ProjectFormSections.js.map +7 -0
  356. package/dist/modules/staff/lib/time-tracking-ui/ProjectTeamDrawer.js +729 -0
  357. package/dist/modules/staff/lib/time-tracking-ui/ProjectTeamDrawer.js.map +7 -0
  358. package/dist/modules/staff/lib/time-tracking-ui/ReportSheet.js +217 -0
  359. package/dist/modules/staff/lib/time-tracking-ui/ReportSheet.js.map +7 -0
  360. package/dist/modules/staff/lib/time-tracking-ui/TagPicker.js +158 -0
  361. package/dist/modules/staff/lib/time-tracking-ui/TagPicker.js.map +7 -0
  362. package/dist/modules/staff/lib/time-tracking-ui/TaskBoardScreen.js +224 -0
  363. package/dist/modules/staff/lib/time-tracking-ui/TaskBoardScreen.js.map +7 -0
  364. package/dist/modules/staff/lib/time-tracking-ui/TaskCommentThread.js +93 -0
  365. package/dist/modules/staff/lib/time-tracking-ui/TaskCommentThread.js.map +7 -0
  366. package/dist/modules/staff/lib/time-tracking-ui/TaskDrawer.js +1196 -0
  367. package/dist/modules/staff/lib/time-tracking-ui/TaskDrawer.js.map +7 -0
  368. package/dist/modules/staff/lib/time-tracking-ui/TaskListView.js +176 -0
  369. package/dist/modules/staff/lib/time-tracking-ui/TaskListView.js.map +7 -0
  370. package/dist/modules/staff/lib/time-tracking-ui/TaskPicker.js +307 -0
  371. package/dist/modules/staff/lib/time-tracking-ui/TaskPicker.js.map +7 -0
  372. package/dist/modules/staff/lib/time-tracking-ui/TaskQuickLog.js +284 -0
  373. package/dist/modules/staff/lib/time-tracking-ui/TaskQuickLog.js.map +7 -0
  374. package/dist/modules/staff/lib/time-tracking-ui/TimeEntriesSummaryFooter.js +73 -0
  375. package/dist/modules/staff/lib/time-tracking-ui/TimeEntriesSummaryFooter.js.map +7 -0
  376. package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDialog.js +1499 -0
  377. package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDialog.js.map +7 -0
  378. package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDurationCell.js +95 -0
  379. package/dist/modules/staff/lib/time-tracking-ui/TimeEntryDurationCell.js.map +7 -0
  380. package/dist/modules/staff/lib/time-tracking-ui/TimesheetCalendar.js +188 -0
  381. package/dist/modules/staff/lib/time-tracking-ui/TimesheetCalendar.js.map +7 -0
  382. package/dist/modules/staff/lib/time-tracking-ui/TimesheetPeriodFooter.js +61 -0
  383. package/dist/modules/staff/lib/time-tracking-ui/TimesheetPeriodFooter.js.map +7 -0
  384. package/dist/modules/staff/lib/time-tracking-ui/TimesheetViewSwitch.js +45 -0
  385. package/dist/modules/staff/lib/time-tracking-ui/TimesheetViewSwitch.js.map +7 -0
  386. package/dist/modules/staff/lib/time-tracking-ui/boardDirectory.js +176 -0
  387. package/dist/modules/staff/lib/time-tracking-ui/boardDirectory.js.map +7 -0
  388. package/dist/modules/staff/lib/time-tracking-ui/boardFilters.js +82 -0
  389. package/dist/modules/staff/lib/time-tracking-ui/boardFilters.js.map +7 -0
  390. package/dist/modules/staff/lib/time-tracking-ui/boardSummary.js +5 -0
  391. package/dist/modules/staff/lib/time-tracking-ui/boardSummary.js.map +7 -0
  392. package/dist/modules/staff/lib/time-tracking-ui/kanbanBoardData.js +152 -0
  393. package/dist/modules/staff/lib/time-tracking-ui/kanbanBoardData.js.map +7 -0
  394. package/dist/modules/staff/lib/time-tracking-ui/projectTeamAssignment.js +92 -0
  395. package/dist/modules/staff/lib/time-tracking-ui/projectTeamAssignment.js.map +7 -0
  396. package/dist/modules/staff/lib/time-tracking-ui/taskDrawerData.js +111 -0
  397. package/dist/modules/staff/lib/time-tracking-ui/taskDrawerData.js.map +7 -0
  398. package/dist/modules/staff/lib/time-tracking-ui/timeEntryDialogState.js +243 -0
  399. package/dist/modules/staff/lib/time-tracking-ui/timeEntryDialogState.js.map +7 -0
  400. package/dist/modules/staff/lib/time-tracking-ui/timeEntryListData.js +151 -0
  401. package/dist/modules/staff/lib/time-tracking-ui/timeEntryListData.js.map +7 -0
  402. package/dist/modules/staff/lib/time-tracking-ui/timeTrackingSettingsForm.js +105 -0
  403. package/dist/modules/staff/lib/time-tracking-ui/timeTrackingSettingsForm.js.map +7 -0
  404. package/dist/modules/staff/lib/time-tracking-ui/timesheetData.js +132 -0
  405. package/dist/modules/staff/lib/time-tracking-ui/timesheetData.js.map +7 -0
  406. package/dist/modules/staff/lib/time-tracking-ui/timesheetPeriod.js +205 -0
  407. package/dist/modules/staff/lib/time-tracking-ui/timesheetPeriod.js.map +7 -0
  408. package/dist/modules/staff/lib/time-tracking-ui/timesheetTargets.js +53 -0
  409. package/dist/modules/staff/lib/time-tracking-ui/timesheetTargets.js.map +7 -0
  410. package/dist/modules/staff/lib/time-tracking-ui/useBoardFilters.js +77 -0
  411. package/dist/modules/staff/lib/time-tracking-ui/useBoardFilters.js.map +7 -0
  412. package/dist/modules/staff/lib/time-tracking-ui/useTimesheetPreferences.js +151 -0
  413. package/dist/modules/staff/lib/time-tracking-ui/useTimesheetPreferences.js.map +7 -0
  414. package/dist/modules/staff/lib/timeTrackingSeeds.js +809 -0
  415. package/dist/modules/staff/lib/timeTrackingSeeds.js.map +7 -0
  416. package/dist/modules/staff/lib/timesheets/timeEntryCacheInvalidation.js +2 -3
  417. package/dist/modules/staff/lib/timesheets/timeEntryCacheInvalidation.js.map +2 -2
  418. package/dist/modules/staff/lib/timesheets/timeEntryDecoration.js +152 -0
  419. package/dist/modules/staff/lib/timesheets/timeEntryDecoration.js.map +7 -0
  420. package/dist/modules/staff/lib/timesheets-projects/budgetBurn.js +36 -0
  421. package/dist/modules/staff/lib/timesheets-projects/budgetBurn.js.map +7 -0
  422. package/dist/modules/staff/lib/timesheets-projects/budgetThreshold.js +66 -0
  423. package/dist/modules/staff/lib/timesheets-projects/budgetThreshold.js.map +7 -0
  424. package/dist/modules/staff/lib/timesheets-projects/budgetThresholdState.js +78 -0
  425. package/dist/modules/staff/lib/timesheets-projects/budgetThresholdState.js.map +7 -0
  426. package/dist/modules/staff/lib/timesheets-projects/computeProjectFinancials.js +81 -0
  427. package/dist/modules/staff/lib/timesheets-projects/computeProjectFinancials.js.map +7 -0
  428. package/dist/modules/staff/lib/timesheets-projects/reportSelection.js +44 -0
  429. package/dist/modules/staff/lib/timesheets-projects/reportSelection.js.map +7 -0
  430. package/dist/modules/staff/lib/timesheets-projects-ui/AssignMembersDialog.js +169 -0
  431. package/dist/modules/staff/lib/timesheets-projects-ui/AssignMembersDialog.js.map +7 -0
  432. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectBudgetCell.js +22 -0
  433. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectBudgetCell.js.map +7 -0
  434. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectCard.js +51 -1
  435. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectCard.js.map +2 -2
  436. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectsBulkActionsBar.js +70 -0
  437. package/dist/modules/staff/lib/timesheets-projects-ui/ProjectsBulkActionsBar.js.map +7 -0
  438. package/dist/modules/staff/lib/timesheets-reports/buildReportSheet.js +63 -0
  439. package/dist/modules/staff/lib/timesheets-reports/buildReportSheet.js.map +7 -0
  440. package/dist/modules/staff/lib/timesheets-reports/loadReportData.js +170 -0
  441. package/dist/modules/staff/lib/timesheets-reports/loadReportData.js.map +7 -0
  442. package/dist/modules/staff/lib/timesheets-reports/pdf.js +205 -0
  443. package/dist/modules/staff/lib/timesheets-reports/pdf.js.map +7 -0
  444. package/dist/modules/staff/lib/timesheets-reports/reportApprovalPolicies.js +68 -0
  445. package/dist/modules/staff/lib/timesheets-reports/reportApprovalPolicies.js.map +7 -0
  446. package/dist/modules/staff/lib/timesheets-reports/reportConfigData.js +135 -0
  447. package/dist/modules/staff/lib/timesheets-reports/reportConfigData.js.map +7 -0
  448. package/dist/modules/staff/lib/timesheets-reports/reportConfigState.js +48 -0
  449. package/dist/modules/staff/lib/timesheets-reports/reportConfigState.js.map +7 -0
  450. package/dist/modules/staff/lib/timesheets-reports/reportExport.js +262 -0
  451. package/dist/modules/staff/lib/timesheets-reports/reportExport.js.map +7 -0
  452. package/dist/modules/staff/lib/timesheets-reports/reportExportFormats.js +34 -0
  453. package/dist/modules/staff/lib/timesheets-reports/reportExportFormats.js.map +7 -0
  454. package/dist/modules/staff/lib/timesheets-reports/reportGroupings.js +79 -0
  455. package/dist/modules/staff/lib/timesheets-reports/reportGroupings.js.map +7 -0
  456. package/dist/modules/staff/lib/timesheets-reports/reportLabels.js +11 -0
  457. package/dist/modules/staff/lib/timesheets-reports/reportLabels.js.map +7 -0
  458. package/dist/modules/staff/lib/timesheets-reports/reportReference.js +83 -0
  459. package/dist/modules/staff/lib/timesheets-reports/reportReference.js.map +7 -0
  460. package/dist/modules/staff/lib/timesheets-reports/reportRows.js +42 -0
  461. package/dist/modules/staff/lib/timesheets-reports/reportRows.js.map +7 -0
  462. package/dist/modules/staff/lib/timesheets-reports/reportSheetData.js +107 -0
  463. package/dist/modules/staff/lib/timesheets-reports/reportSheetData.js.map +7 -0
  464. package/dist/modules/staff/lib/timesheets-reports/reportTotals.js +289 -0
  465. package/dist/modules/staff/lib/timesheets-reports/reportTotals.js.map +7 -0
  466. package/dist/modules/staff/lib/timesheets-reports/xlsx.js +145 -0
  467. package/dist/modules/staff/lib/timesheets-reports/xlsx.js.map +7 -0
  468. package/dist/modules/staff/lib/timesheets-tasks/computeTaskRollups.js +116 -0
  469. package/dist/modules/staff/lib/timesheets-tasks/computeTaskRollups.js.map +7 -0
  470. package/dist/modules/staff/lib/timesheets-tasks/defaultStatusTemplate.js +50 -0
  471. package/dist/modules/staff/lib/timesheets-tasks/defaultStatusTemplate.js.map +7 -0
  472. package/dist/modules/staff/lib/timesheets-tasks/seedProjectStatuses.js +27 -0
  473. package/dist/modules/staff/lib/timesheets-tasks/seedProjectStatuses.js.map +7 -0
  474. package/dist/modules/staff/lib/timesheets-tasks/statusPositions.js +65 -0
  475. package/dist/modules/staff/lib/timesheets-tasks/statusPositions.js.map +7 -0
  476. package/dist/modules/staff/lib/timesheets-tasks/statusSlug.js +31 -0
  477. package/dist/modules/staff/lib/timesheets-tasks/statusSlug.js.map +7 -0
  478. package/dist/modules/staff/lib/timesheets-tasks/taskHierarchy.js +31 -0
  479. package/dist/modules/staff/lib/timesheets-tasks/taskHierarchy.js.map +7 -0
  480. package/dist/modules/staff/lib/timesheets-tasks/taskHoursTotals.js +17 -0
  481. package/dist/modules/staff/lib/timesheets-tasks/taskHoursTotals.js.map +7 -0
  482. package/dist/modules/staff/lib/timesheets-tasks/taskReference.js +51 -0
  483. package/dist/modules/staff/lib/timesheets-tasks/taskReference.js.map +7 -0
  484. package/dist/modules/staff/lib/timesheets-ui/CreateProjectDialog.js +11 -4
  485. package/dist/modules/staff/lib/timesheets-ui/CreateProjectDialog.js.map +2 -2
  486. package/dist/modules/staff/lib/timesheets-ui/ListView.js +369 -111
  487. package/dist/modules/staff/lib/timesheets-ui/ListView.js.map +2 -2
  488. package/dist/modules/staff/lib/timesheets-ui/TimerBar.js +47 -2
  489. package/dist/modules/staff/lib/timesheets-ui/TimerBar.js.map +2 -2
  490. package/dist/modules/staff/migrations/Migration20260813073131_staff.js +79 -0
  491. package/dist/modules/staff/migrations/Migration20260813073131_staff.js.map +7 -0
  492. package/dist/modules/staff/migrations/Migration20260824143357_staff.js +15 -0
  493. package/dist/modules/staff/migrations/Migration20260824143357_staff.js.map +7 -0
  494. package/dist/modules/staff/notifications.client.js +16 -0
  495. package/dist/modules/staff/notifications.client.js.map +7 -0
  496. package/dist/modules/staff/notifications.handlers.js +80 -0
  497. package/dist/modules/staff/notifications.handlers.js.map +7 -0
  498. package/dist/modules/staff/notifications.js +168 -0
  499. package/dist/modules/staff/notifications.js.map +2 -2
  500. package/dist/modules/staff/search.js +159 -1
  501. package/dist/modules/staff/search.js.map +2 -2
  502. package/dist/modules/staff/setup.js +20 -1
  503. package/dist/modules/staff/setup.js.map +2 -2
  504. package/dist/modules/staff/subscribers/time-project-access-requested-notification.js +68 -0
  505. package/dist/modules/staff/subscribers/time-project-access-requested-notification.js.map +7 -0
  506. package/dist/modules/staff/subscribers/time-project-budget-threshold-notification.js +149 -0
  507. package/dist/modules/staff/subscribers/time-project-budget-threshold-notification.js.map +7 -0
  508. package/dist/modules/staff/subscribers/time-report-approved-notification.js +78 -0
  509. package/dist/modules/staff/subscribers/time-report-approved-notification.js.map +7 -0
  510. package/dist/modules/staff/subscribers/time-report-portal-broadcast.js +78 -0
  511. package/dist/modules/staff/subscribers/time-report-portal-broadcast.js.map +7 -0
  512. package/dist/modules/staff/translations.js +4 -1
  513. package/dist/modules/staff/translations.js.map +2 -2
  514. package/dist/modules/staff/widgets/components.js +7 -0
  515. package/dist/modules/staff/widgets/components.js.map +7 -0
  516. package/dist/modules/staff/widgets/injection/timer-sidebar-indicator/widget.js +5 -4
  517. package/dist/modules/staff/widgets/injection/timer-sidebar-indicator/widget.js.map +2 -2
  518. package/dist/modules/staff/widgets/notifications/TimeProjectAccessRequestedRenderer.js +135 -0
  519. package/dist/modules/staff/widgets/notifications/TimeProjectAccessRequestedRenderer.js.map +7 -0
  520. package/dist/modules/staff/widgets/notifications/index.js +5 -0
  521. package/dist/modules/staff/widgets/notifications/index.js.map +7 -0
  522. package/dist/modules/staff/workers/timesheets-reapply-rounding.js +43 -0
  523. package/dist/modules/staff/workers/timesheets-reapply-rounding.js.map +7 -0
  524. package/generated/entities/staff_time_entry/index.ts +7 -0
  525. package/generated/entities/staff_time_entry_tag/index.ts +6 -0
  526. package/generated/entities/staff_time_project/index.ts +8 -0
  527. package/generated/entities/staff_time_report/index.ts +27 -0
  528. package/generated/entities/staff_time_report_entry/index.ts +12 -0
  529. package/generated/entities/staff_time_report_event/index.ts +9 -0
  530. package/generated/entities/staff_time_report_project/index.ts +6 -0
  531. package/generated/entities/staff_time_tag/index.ts +9 -0
  532. package/generated/entities/staff_time_task/index.ts +17 -0
  533. package/generated/entities/staff_time_task_comment/index.ts +9 -0
  534. package/generated/entities/staff_time_task_status/index.ts +13 -0
  535. package/generated/entities/staff_time_task_tag/index.ts +6 -0
  536. package/generated/entities.ids.generated.ts +11 -1
  537. package/generated/entity-fields-registry.ts +149 -0
  538. package/package.json +7 -7
  539. package/src/helpers/integration/timesheetFixtures.ts +31 -1
  540. package/src/modules/auth/README.md +1 -1
  541. package/src/modules/auth/cli.ts +35 -1
  542. package/src/modules/auth/i18n/de.json +7 -0
  543. package/src/modules/auth/i18n/en.json +7 -0
  544. package/src/modules/auth/i18n/es.json +7 -0
  545. package/src/modules/auth/i18n/ko.json +7 -0
  546. package/src/modules/auth/i18n/pl.json +7 -0
  547. package/src/modules/auth/lib/backendChrome.tsx +1 -0
  548. package/src/modules/customer_accounts/lib/customerRoleAcls.ts +79 -0
  549. package/src/modules/customer_accounts/setup.ts +1 -45
  550. package/src/modules/data_sync/AGENTS.md +34 -0
  551. package/src/modules/data_sync/api/options.ts +2 -0
  552. package/src/modules/data_sync/backend/data-sync/page.tsx +82 -33
  553. package/src/modules/data_sync/i18n/de.json +1 -0
  554. package/src/modules/data_sync/i18n/en.json +1 -0
  555. package/src/modules/data_sync/i18n/es.json +1 -0
  556. package/src/modules/data_sync/i18n/ko.json +1 -0
  557. package/src/modules/data_sync/i18n/pl.json +1 -0
  558. package/src/modules/data_sync/lib/adapter.ts +45 -0
  559. package/src/modules/data_sync/lib/start-controls.ts +89 -0
  560. package/src/modules/staff/AGENTS.md +769 -1
  561. package/src/modules/staff/acl.ts +9 -0
  562. package/src/modules/staff/ai-agents.ts +189 -0
  563. package/src/modules/staff/ai-tools/time-tracking-pack.ts +494 -0
  564. package/src/modules/staff/ai-tools/types.ts +82 -0
  565. package/src/modules/staff/ai-tools.ts +13 -0
  566. package/src/modules/staff/analytics.ts +113 -0
  567. package/src/modules/staff/api/guards.ts +85 -3
  568. package/src/modules/staff/api/leave-requests/accept/route.ts +0 -2
  569. package/src/modules/staff/api/leave-requests/reject/route.ts +0 -2
  570. package/src/modules/staff/api/portal/time-reports/[id]/route.ts +182 -0
  571. package/src/modules/staff/api/portal/time-reports/route.ts +270 -0
  572. package/src/modules/staff/api/team-members/self/route.ts +0 -2
  573. package/src/modules/staff/api/team-members/tags/assign/route.ts +0 -2
  574. package/src/modules/staff/api/team-members/tags/unassign/route.ts +0 -2
  575. package/src/modules/staff/api/timesheets/_shared/withTimesheetInterceptors.ts +292 -0
  576. package/src/modules/staff/api/timesheets/access-requests/route.ts +299 -0
  577. package/src/modules/staff/api/timesheets/my-projects/[projectId]/route.ts +15 -7
  578. package/src/modules/staff/api/timesheets/my-projects/route.ts +14 -1
  579. package/src/modules/staff/api/timesheets/my-work/myWorkAggregate.ts +90 -0
  580. package/src/modules/staff/api/timesheets/my-work/route.ts +475 -0
  581. package/src/modules/staff/api/timesheets/projects/kpis/route.ts +15 -2
  582. package/src/modules/staff/api/timesheets/reports/[id]/close/route.ts +203 -0
  583. package/src/modules/staff/api/timesheets/reports/[id]/export/route.ts +315 -0
  584. package/src/modules/staff/api/timesheets/reports/[id]/sheet/route.ts +220 -0
  585. package/src/modules/staff/api/timesheets/reports/[id]/unlock/route.ts +208 -0
  586. package/src/modules/staff/api/timesheets/reports/preview/route.ts +449 -0
  587. package/src/modules/staff/api/timesheets/reports/route.ts +386 -0
  588. package/src/modules/staff/api/timesheets/reports/shared.ts +121 -0
  589. package/src/modules/staff/api/timesheets/settings/reapply-rounding/route.ts +205 -0
  590. package/src/modules/staff/api/timesheets/settings/rounding-impact/route.ts +226 -0
  591. package/src/modules/staff/api/timesheets/settings/route.ts +242 -0
  592. package/src/modules/staff/api/timesheets/tags/access.ts +134 -0
  593. package/src/modules/staff/api/timesheets/tags/entry-assignments/route.ts +290 -0
  594. package/src/modules/staff/api/timesheets/tags/route.ts +177 -0
  595. package/src/modules/staff/api/timesheets/tags/task-assignments/route.ts +294 -0
  596. package/src/modules/staff/api/timesheets/task-statuses/route.ts +232 -0
  597. package/src/modules/staff/api/timesheets/tasks/[id]/comments/route.ts +532 -0
  598. package/src/modules/staff/api/timesheets/tasks/[id]/status/route.ts +271 -0
  599. package/src/modules/staff/api/timesheets/tasks/route.ts +443 -0
  600. package/src/modules/staff/api/timesheets/time-entries/[id]/duplicate/route.ts +306 -0
  601. package/src/modules/staff/api/timesheets/time-entries/[id]/segments/[segmentId]/route.ts +32 -10
  602. package/src/modules/staff/api/timesheets/time-entries/[id]/segments/route.ts +32 -17
  603. package/src/modules/staff/api/timesheets/time-entries/[id]/timer-start/route.ts +27 -6
  604. package/src/modules/staff/api/timesheets/time-entries/[id]/timer-stop/route.ts +36 -6
  605. package/src/modules/staff/api/timesheets/time-entries/bulk/route.ts +331 -34
  606. package/src/modules/staff/api/timesheets/time-entries/copy-day/route.ts +533 -0
  607. package/src/modules/staff/api/timesheets/time-entries/overlaps/route.ts +457 -0
  608. package/src/modules/staff/api/timesheets/time-entries/route.ts +378 -24
  609. package/src/modules/staff/api/timesheets/time-entries/start-timer/route.ts +31 -9
  610. package/src/modules/staff/api/timesheets/time-projects/[id]/change-currency/route.ts +246 -0
  611. package/src/modules/staff/api/timesheets/time-projects/[id]/employees/route.ts +62 -2
  612. package/src/modules/staff/api/timesheets/time-projects/route.ts +397 -22
  613. package/src/modules/staff/backend/staff/time-tracking/board/page.meta.ts +14 -0
  614. package/src/modules/staff/backend/staff/time-tracking/board/page.tsx +151 -0
  615. package/src/modules/staff/backend/staff/time-tracking/entries/page.meta.ts +14 -0
  616. package/src/modules/staff/backend/staff/time-tracking/entries/page.tsx +1229 -0
  617. package/src/modules/staff/backend/staff/time-tracking/page.meta.ts +11 -0
  618. package/src/modules/staff/backend/staff/time-tracking/page.tsx +823 -0
  619. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.meta.ts +12 -0
  620. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/board/page.tsx +81 -0
  621. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.meta.ts +12 -0
  622. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/edit/page.tsx +275 -0
  623. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/page.meta.ts +12 -0
  624. package/src/modules/staff/backend/staff/time-tracking/projects/[id]/page.tsx +1420 -0
  625. package/src/modules/staff/backend/staff/time-tracking/projects/create/page.meta.ts +12 -0
  626. package/src/modules/staff/backend/staff/time-tracking/projects/create/page.tsx +109 -0
  627. package/src/modules/staff/backend/staff/time-tracking/projects/page.meta.ts +15 -0
  628. package/src/modules/staff/backend/staff/time-tracking/projects/page.tsx +1254 -0
  629. package/src/modules/staff/backend/staff/time-tracking/projects/projectFormConfig.ts +466 -0
  630. package/src/modules/staff/backend/staff/time-tracking/reports/[id]/page.meta.ts +12 -0
  631. package/src/modules/staff/backend/staff/time-tracking/reports/[id]/page.tsx +632 -0
  632. package/src/modules/staff/backend/staff/time-tracking/reports/create/page.meta.ts +12 -0
  633. package/src/modules/staff/backend/staff/time-tracking/reports/create/page.tsx +867 -0
  634. package/src/modules/staff/backend/staff/time-tracking/reports/page.meta.ts +14 -0
  635. package/src/modules/staff/backend/staff/time-tracking/reports/page.tsx +246 -0
  636. package/src/modules/staff/backend/staff/time-tracking/settings/page.meta.ts +14 -0
  637. package/src/modules/staff/backend/staff/time-tracking/settings/page.tsx +701 -0
  638. package/src/modules/staff/backend/staff/time-tracking/timesheet/GridView.tsx +953 -0
  639. package/src/modules/staff/backend/staff/time-tracking/timesheet/page.meta.ts +14 -0
  640. package/src/modules/staff/backend/staff/time-tracking/timesheet/page.tsx +800 -0
  641. package/src/modules/staff/backend/staff/timesheets/page.meta.ts +6 -6
  642. package/src/modules/staff/backend/staff/timesheets/page.tsx +12 -1010
  643. package/src/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.meta.ts +0 -6
  644. package/src/modules/staff/backend/staff/timesheets/projects/[id]/edit/page.tsx +4 -158
  645. package/src/modules/staff/backend/staff/timesheets/projects/[id]/page.meta.ts +0 -6
  646. package/src/modules/staff/backend/staff/timesheets/projects/[id]/page.tsx +4 -609
  647. package/src/modules/staff/backend/staff/timesheets/projects/create/page.meta.ts +0 -6
  648. package/src/modules/staff/backend/staff/timesheets/projects/create/page.tsx +3 -89
  649. package/src/modules/staff/backend/staff/timesheets/projects/page.meta.ts +2 -19
  650. package/src/modules/staff/backend/staff/timesheets/projects/page.tsx +3 -778
  651. package/src/modules/staff/ce.ts +63 -0
  652. package/src/modules/staff/cli.ts +207 -1
  653. package/src/modules/staff/commands/index.ts +5 -0
  654. package/src/modules/staff/commands/timesheets-entries.ts +1006 -28
  655. package/src/modules/staff/commands/timesheets-projects.ts +593 -7
  656. package/src/modules/staff/commands/timesheets-reports.ts +1329 -0
  657. package/src/modules/staff/commands/timesheets-tags.ts +1315 -0
  658. package/src/modules/staff/commands/timesheets-task-comments.ts +583 -0
  659. package/src/modules/staff/commands/timesheets-task-statuses.ts +889 -0
  660. package/src/modules/staff/commands/timesheets-tasks.ts +1121 -0
  661. package/src/modules/staff/data/enrichers.ts +675 -10
  662. package/src/modules/staff/data/entities.ts +494 -2
  663. package/src/modules/staff/data/extensions.ts +68 -0
  664. package/src/modules/staff/data/validators.ts +348 -3
  665. package/src/modules/staff/di.ts +96 -0
  666. package/src/modules/staff/events.payloads.ts +268 -0
  667. package/src/modules/staff/events.ts +87 -5
  668. package/src/modules/staff/extension-points.ts +308 -0
  669. package/src/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.meta.ts +10 -0
  670. package/src/modules/staff/frontend/[orgSlug]/portal/time-reports/[id]/page.tsx +225 -0
  671. package/src/modules/staff/frontend/[orgSlug]/portal/time-reports/page.meta.ts +17 -0
  672. package/src/modules/staff/frontend/[orgSlug]/portal/time-reports/page.tsx +182 -0
  673. package/src/modules/staff/i18n/de.json +899 -0
  674. package/src/modules/staff/i18n/en.json +899 -0
  675. package/src/modules/staff/i18n/es.json +899 -0
  676. package/src/modules/staff/i18n/ko.json +899 -0
  677. package/src/modules/staff/i18n/pl.json +899 -0
  678. package/src/modules/staff/lib/crud.ts +14 -3
  679. package/src/modules/staff/lib/time-tracking/access.ts +155 -0
  680. package/src/modules/staff/lib/time-tracking/billability.ts +68 -0
  681. package/src/modules/staff/lib/time-tracking/capacity.ts +124 -0
  682. package/src/modules/staff/lib/time-tracking/componentContracts.ts +26 -0
  683. package/src/modules/staff/lib/time-tracking/cost.ts +144 -0
  684. package/src/modules/staff/lib/time-tracking/duration.ts +68 -0
  685. package/src/modules/staff/lib/time-tracking/featureAccess.ts +115 -0
  686. package/src/modules/staff/lib/time-tracking/interval.ts +90 -0
  687. package/src/modules/staff/lib/time-tracking/migrateProjectCodes.ts +161 -0
  688. package/src/modules/staff/lib/time-tracking/moneyVisibility.ts +37 -0
  689. package/src/modules/staff/lib/time-tracking/overlap.ts +159 -0
  690. package/src/modules/staff/lib/time-tracking/portalRecipients.ts +76 -0
  691. package/src/modules/staff/lib/time-tracking/portalReports.ts +31 -0
  692. package/src/modules/staff/lib/time-tracking/projectCode.ts +221 -0
  693. package/src/modules/staff/lib/time-tracking/reapplyRounding.ts +313 -0
  694. package/src/modules/staff/lib/time-tracking/recalculationRunner.ts +118 -0
  695. package/src/modules/staff/lib/time-tracking/recalculations.ts +135 -0
  696. package/src/modules/staff/lib/time-tracking/registries/invoke.ts +122 -0
  697. package/src/modules/staff/lib/time-tracking/registries/registry.ts +124 -0
  698. package/src/modules/staff/lib/time-tracking/registries/scope.ts +56 -0
  699. package/src/modules/staff/lib/time-tracking/rollup.ts +59 -0
  700. package/src/modules/staff/lib/time-tracking/rounding.ts +126 -0
  701. package/src/modules/staff/lib/time-tracking/roundingImpact.ts +75 -0
  702. package/src/modules/staff/lib/time-tracking/settingKeys.ts +274 -0
  703. package/src/modules/staff/lib/time-tracking/settings.ts +168 -0
  704. package/src/modules/staff/lib/time-tracking/sqlInClause.ts +22 -0
  705. package/src/modules/staff/lib/time-tracking/timeEntrySources.ts +85 -0
  706. package/src/modules/staff/lib/time-tracking-ui/BoardFilterChips.tsx +360 -0
  707. package/src/modules/staff/lib/time-tracking-ui/CustomerPicker.tsx +427 -0
  708. package/src/modules/staff/lib/time-tracking-ui/DurationInput.tsx +192 -0
  709. package/src/modules/staff/lib/time-tracking-ui/EntryDetailsFields.tsx +224 -0
  710. package/src/modules/staff/lib/time-tracking-ui/EntryFilterBar.tsx +144 -0
  711. package/src/modules/staff/lib/time-tracking-ui/KanbanBoard.tsx +1065 -0
  712. package/src/modules/staff/lib/time-tracking-ui/KanbanCard.tsx +435 -0
  713. package/src/modules/staff/lib/time-tracking-ui/KanbanColumn.tsx +316 -0
  714. package/src/modules/staff/lib/time-tracking-ui/NewTaskDialog.tsx +291 -0
  715. package/src/modules/staff/lib/time-tracking-ui/NoProjectAccess.tsx +162 -0
  716. package/src/modules/staff/lib/time-tracking-ui/PeriodSelector.tsx +149 -0
  717. package/src/modules/staff/lib/time-tracking-ui/PhasePlaceholder.tsx +31 -0
  718. package/src/modules/staff/lib/time-tracking-ui/ProjectCodeField.tsx +230 -0
  719. package/src/modules/staff/lib/time-tracking-ui/ProjectCurrencyField.tsx +432 -0
  720. package/src/modules/staff/lib/time-tracking-ui/ProjectFormSections.tsx +323 -0
  721. package/src/modules/staff/lib/time-tracking-ui/ProjectTeamDrawer.tsx +930 -0
  722. package/src/modules/staff/lib/time-tracking-ui/ReportSheet.tsx +357 -0
  723. package/src/modules/staff/lib/time-tracking-ui/TagPicker.tsx +195 -0
  724. package/src/modules/staff/lib/time-tracking-ui/TaskBoardScreen.tsx +243 -0
  725. package/src/modules/staff/lib/time-tracking-ui/TaskCommentThread.tsx +137 -0
  726. package/src/modules/staff/lib/time-tracking-ui/TaskDrawer.tsx +1405 -0
  727. package/src/modules/staff/lib/time-tracking-ui/TaskListView.tsx +260 -0
  728. package/src/modules/staff/lib/time-tracking-ui/TaskPicker.tsx +435 -0
  729. package/src/modules/staff/lib/time-tracking-ui/TaskQuickLog.tsx +296 -0
  730. package/src/modules/staff/lib/time-tracking-ui/TimeEntriesSummaryFooter.tsx +97 -0
  731. package/src/modules/staff/lib/time-tracking-ui/TimeEntryDialog.tsx +1929 -0
  732. package/src/modules/staff/lib/time-tracking-ui/TimeEntryDurationCell.tsx +126 -0
  733. package/src/modules/staff/lib/time-tracking-ui/TimesheetCalendar.tsx +265 -0
  734. package/src/modules/staff/lib/time-tracking-ui/TimesheetPeriodFooter.tsx +78 -0
  735. package/src/modules/staff/lib/time-tracking-ui/TimesheetViewSwitch.tsx +70 -0
  736. package/src/modules/staff/lib/time-tracking-ui/boardDirectory.ts +231 -0
  737. package/src/modules/staff/lib/time-tracking-ui/boardFilters.ts +128 -0
  738. package/src/modules/staff/lib/time-tracking-ui/boardSummary.ts +20 -0
  739. package/src/modules/staff/lib/time-tracking-ui/kanbanBoardData.ts +228 -0
  740. package/src/modules/staff/lib/time-tracking-ui/projectTeamAssignment.ts +143 -0
  741. package/src/modules/staff/lib/time-tracking-ui/taskDrawerData.ts +194 -0
  742. package/src/modules/staff/lib/time-tracking-ui/timeEntryDialogState.ts +400 -0
  743. package/src/modules/staff/lib/time-tracking-ui/timeEntryListData.ts +271 -0
  744. package/src/modules/staff/lib/time-tracking-ui/timeTrackingSettingsForm.ts +168 -0
  745. package/src/modules/staff/lib/time-tracking-ui/timesheetData.ts +225 -0
  746. package/src/modules/staff/lib/time-tracking-ui/timesheetPeriod.ts +278 -0
  747. package/src/modules/staff/lib/time-tracking-ui/timesheetTargets.ts +93 -0
  748. package/src/modules/staff/lib/time-tracking-ui/useBoardFilters.ts +107 -0
  749. package/src/modules/staff/lib/time-tracking-ui/useTimesheetPreferences.ts +245 -0
  750. package/src/modules/staff/lib/timeTrackingSeeds.ts +1037 -0
  751. package/src/modules/staff/lib/timesheets/timeEntryCacheInvalidation.ts +11 -10
  752. package/src/modules/staff/lib/timesheets/timeEntryDecoration.ts +256 -0
  753. package/src/modules/staff/lib/timesheets-projects/budgetBurn.ts +60 -0
  754. package/src/modules/staff/lib/timesheets-projects/budgetThreshold.ts +135 -0
  755. package/src/modules/staff/lib/timesheets-projects/budgetThresholdState.ts +137 -0
  756. package/src/modules/staff/lib/timesheets-projects/computeProjectFinancials.ts +142 -0
  757. package/src/modules/staff/lib/timesheets-projects/reportSelection.ts +82 -0
  758. package/src/modules/staff/lib/timesheets-projects-ui/AssignMembersDialog.tsx +237 -0
  759. package/src/modules/staff/lib/timesheets-projects-ui/ProjectBudgetCell.tsx +33 -0
  760. package/src/modules/staff/lib/timesheets-projects-ui/ProjectCard.tsx +56 -1
  761. package/src/modules/staff/lib/timesheets-projects-ui/ProjectsBulkActionsBar.tsx +90 -0
  762. package/src/modules/staff/lib/timesheets-reports/buildReportSheet.ts +125 -0
  763. package/src/modules/staff/lib/timesheets-reports/loadReportData.ts +251 -0
  764. package/src/modules/staff/lib/timesheets-reports/pdf.ts +263 -0
  765. package/src/modules/staff/lib/timesheets-reports/reportApprovalPolicies.ts +137 -0
  766. package/src/modules/staff/lib/timesheets-reports/reportConfigData.ts +247 -0
  767. package/src/modules/staff/lib/timesheets-reports/reportConfigState.ts +89 -0
  768. package/src/modules/staff/lib/timesheets-reports/reportExport.ts +373 -0
  769. package/src/modules/staff/lib/timesheets-reports/reportExportFormats.ts +71 -0
  770. package/src/modules/staff/lib/timesheets-reports/reportGroupings.ts +153 -0
  771. package/src/modules/staff/lib/timesheets-reports/reportLabels.ts +23 -0
  772. package/src/modules/staff/lib/timesheets-reports/reportReference.ts +146 -0
  773. package/src/modules/staff/lib/timesheets-reports/reportRows.ts +89 -0
  774. package/src/modules/staff/lib/timesheets-reports/reportSheetData.ts +196 -0
  775. package/src/modules/staff/lib/timesheets-reports/reportTotals.ts +544 -0
  776. package/src/modules/staff/lib/timesheets-reports/xlsx.ts +207 -0
  777. package/src/modules/staff/lib/timesheets-tasks/computeTaskRollups.ts +238 -0
  778. package/src/modules/staff/lib/timesheets-tasks/defaultStatusTemplate.ts +90 -0
  779. package/src/modules/staff/lib/timesheets-tasks/seedProjectStatuses.ts +43 -0
  780. package/src/modules/staff/lib/timesheets-tasks/statusPositions.ts +132 -0
  781. package/src/modules/staff/lib/timesheets-tasks/statusSlug.ts +43 -0
  782. package/src/modules/staff/lib/timesheets-tasks/taskHierarchy.ts +99 -0
  783. package/src/modules/staff/lib/timesheets-tasks/taskHoursTotals.ts +42 -0
  784. package/src/modules/staff/lib/timesheets-tasks/taskReference.ts +108 -0
  785. package/src/modules/staff/lib/timesheets-ui/CreateProjectDialog.tsx +18 -4
  786. package/src/modules/staff/lib/timesheets-ui/ListView.tsx +504 -149
  787. package/src/modules/staff/lib/timesheets-ui/TimerBar.tsx +50 -2
  788. package/src/modules/staff/migrations/.snapshot-open-mercato.json +3244 -228
  789. package/src/modules/staff/migrations/Migration20260813073131_staff.ts +94 -0
  790. package/src/modules/staff/migrations/Migration20260824143357_staff.ts +17 -0
  791. package/src/modules/staff/notifications.client.ts +16 -0
  792. package/src/modules/staff/notifications.handlers.ts +88 -0
  793. package/src/modules/staff/notifications.ts +163 -0
  794. package/src/modules/staff/search.ts +191 -1
  795. package/src/modules/staff/setup.ts +22 -0
  796. package/src/modules/staff/subscribers/time-project-access-requested-notification.ts +95 -0
  797. package/src/modules/staff/subscribers/time-project-budget-threshold-notification.ts +226 -0
  798. package/src/modules/staff/subscribers/time-report-approved-notification.ts +116 -0
  799. package/src/modules/staff/subscribers/time-report-portal-broadcast.ts +120 -0
  800. package/src/modules/staff/translations.ts +17 -0
  801. package/src/modules/staff/widgets/components.ts +34 -0
  802. package/src/modules/staff/widgets/injection/timer-sidebar-indicator/widget.tsx +6 -5
  803. package/src/modules/staff/widgets/notifications/TimeProjectAccessRequestedRenderer.tsx +138 -0
  804. package/src/modules/staff/widgets/notifications/index.ts +1 -0
  805. package/src/modules/staff/workers/timesheets-reapply-rounding.ts +59 -0
  806. package/dist/modules/staff/backend/staff/timesheets/projects/projectFormConfig.js +0 -123
  807. package/dist/modules/staff/backend/staff/timesheets/projects/projectFormConfig.js.map +0 -7
  808. package/src/modules/staff/backend/staff/timesheets/projects/projectFormConfig.ts +0 -138
@@ -21,6 +21,7 @@
21
21
  "scale": null,
22
22
  "default": null,
23
23
  "comment": null,
24
+ "collation": null,
24
25
  "enumItems": [],
25
26
  "mappedType": "datetime"
26
27
  },
@@ -37,6 +38,7 @@
37
38
  "scale": null,
38
39
  "default": null,
39
40
  "comment": null,
41
+ "collation": null,
40
42
  "enumItems": [],
41
43
  "mappedType": "datetime"
42
44
  },
@@ -53,6 +55,7 @@
53
55
  "scale": null,
54
56
  "default": null,
55
57
  "comment": null,
58
+ "collation": null,
56
59
  "enumItems": [],
57
60
  "mappedType": "uuid"
58
61
  },
@@ -69,6 +72,7 @@
69
72
  "scale": null,
70
73
  "default": null,
71
74
  "comment": null,
75
+ "collation": null,
72
76
  "enumItems": [],
73
77
  "mappedType": "text"
74
78
  },
@@ -85,6 +89,7 @@
85
89
  "scale": null,
86
90
  "default": null,
87
91
  "comment": null,
92
+ "collation": null,
88
93
  "enumItems": [],
89
94
  "mappedType": "datetime"
90
95
  },
@@ -101,6 +106,7 @@
101
106
  "scale": null,
102
107
  "default": null,
103
108
  "comment": null,
109
+ "collation": null,
104
110
  "enumItems": [],
105
111
  "mappedType": "datetime"
106
112
  },
@@ -117,6 +123,7 @@
117
123
  "scale": null,
118
124
  "default": "gen_random_uuid()",
119
125
  "comment": null,
126
+ "collation": null,
120
127
  "enumItems": [],
121
128
  "mappedType": "uuid"
122
129
  },
@@ -133,6 +140,7 @@
133
140
  "scale": null,
134
141
  "default": null,
135
142
  "comment": null,
143
+ "collation": null,
136
144
  "enumItems": [],
137
145
  "mappedType": "uuid"
138
146
  },
@@ -149,6 +157,7 @@
149
157
  "scale": null,
150
158
  "default": null,
151
159
  "comment": null,
160
+ "collation": null,
152
161
  "enumItems": [],
153
162
  "mappedType": "text"
154
163
  },
@@ -165,6 +174,7 @@
165
174
  "scale": null,
166
175
  "default": null,
167
176
  "comment": null,
177
+ "collation": null,
168
178
  "enumItems": [],
169
179
  "mappedType": "uuid"
170
180
  },
@@ -181,6 +191,7 @@
181
191
  "scale": null,
182
192
  "default": null,
183
193
  "comment": null,
194
+ "collation": null,
184
195
  "enumItems": [],
185
196
  "mappedType": "datetime"
186
197
  },
@@ -197,6 +208,7 @@
197
208
  "scale": null,
198
209
  "default": "'pending'",
199
210
  "comment": null,
211
+ "collation": null,
200
212
  "enumItems": [
201
213
  "pending",
202
214
  "approved",
@@ -217,6 +229,7 @@
217
229
  "scale": null,
218
230
  "default": null,
219
231
  "comment": null,
232
+ "collation": null,
220
233
  "enumItems": [],
221
234
  "mappedType": "uuid"
222
235
  },
@@ -233,6 +246,7 @@
233
246
  "scale": null,
234
247
  "default": null,
235
248
  "comment": null,
249
+ "collation": null,
236
250
  "enumItems": [],
237
251
  "mappedType": "uuid"
238
252
  },
@@ -249,6 +263,7 @@
249
263
  "scale": null,
250
264
  "default": null,
251
265
  "comment": null,
266
+ "collation": null,
252
267
  "enumItems": [],
253
268
  "mappedType": "text"
254
269
  },
@@ -265,6 +280,7 @@
265
280
  "scale": null,
266
281
  "default": null,
267
282
  "comment": null,
283
+ "collation": null,
268
284
  "enumItems": [],
269
285
  "mappedType": "uuid"
270
286
  },
@@ -281,6 +297,7 @@
281
297
  "scale": null,
282
298
  "default": null,
283
299
  "comment": null,
300
+ "collation": null,
284
301
  "enumItems": [],
285
302
  "mappedType": "text"
286
303
  },
@@ -297,6 +314,7 @@
297
314
  "scale": null,
298
315
  "default": null,
299
316
  "comment": null,
317
+ "collation": null,
300
318
  "enumItems": [],
301
319
  "mappedType": "datetime"
302
320
  }
@@ -354,6 +372,7 @@
354
372
  "columnName": "status"
355
373
  }
356
374
  ],
375
+ "triggers": [],
357
376
  "foreignKeys": {
358
377
  "staff_leave_requests_member_id_foreign": {
359
378
  "columnNames": [
@@ -386,6 +405,7 @@
386
405
  "scale": null,
387
406
  "default": null,
388
407
  "comment": null,
408
+ "collation": null,
389
409
  "enumItems": [],
390
410
  "mappedType": "text"
391
411
  },
@@ -402,6 +422,7 @@
402
422
  "scale": null,
403
423
  "default": null,
404
424
  "comment": null,
425
+ "collation": null,
405
426
  "enumItems": [],
406
427
  "mappedType": "text"
407
428
  },
@@ -418,6 +439,7 @@
418
439
  "scale": null,
419
440
  "default": null,
420
441
  "comment": null,
442
+ "collation": null,
421
443
  "enumItems": [],
422
444
  "mappedType": "text"
423
445
  },
@@ -434,6 +456,7 @@
434
456
  "scale": null,
435
457
  "default": null,
436
458
  "comment": null,
459
+ "collation": null,
437
460
  "enumItems": [],
438
461
  "mappedType": "uuid"
439
462
  },
@@ -450,6 +473,7 @@
450
473
  "scale": null,
451
474
  "default": null,
452
475
  "comment": null,
476
+ "collation": null,
453
477
  "enumItems": [],
454
478
  "mappedType": "text"
455
479
  },
@@ -466,6 +490,7 @@
466
490
  "scale": null,
467
491
  "default": null,
468
492
  "comment": null,
493
+ "collation": null,
469
494
  "enumItems": [],
470
495
  "mappedType": "datetime"
471
496
  },
@@ -482,6 +507,7 @@
482
507
  "scale": null,
483
508
  "default": "gen_random_uuid()",
484
509
  "comment": null,
510
+ "collation": null,
485
511
  "enumItems": [],
486
512
  "mappedType": "uuid"
487
513
  },
@@ -498,6 +524,7 @@
498
524
  "scale": null,
499
525
  "default": null,
500
526
  "comment": null,
527
+ "collation": null,
501
528
  "enumItems": [],
502
529
  "mappedType": "uuid"
503
530
  },
@@ -514,6 +541,7 @@
514
541
  "scale": null,
515
542
  "default": null,
516
543
  "comment": null,
544
+ "collation": null,
517
545
  "enumItems": [],
518
546
  "mappedType": "datetime"
519
547
  },
@@ -530,6 +558,7 @@
530
558
  "scale": null,
531
559
  "default": null,
532
560
  "comment": null,
561
+ "collation": null,
533
562
  "enumItems": [],
534
563
  "mappedType": "uuid"
535
564
  },
@@ -546,6 +575,7 @@
546
575
  "scale": null,
547
576
  "default": null,
548
577
  "comment": null,
578
+ "collation": null,
549
579
  "enumItems": [],
550
580
  "mappedType": "text"
551
581
  },
@@ -562,6 +592,7 @@
562
592
  "scale": null,
563
593
  "default": null,
564
594
  "comment": null,
595
+ "collation": null,
565
596
  "enumItems": [],
566
597
  "mappedType": "uuid"
567
598
  },
@@ -578,6 +609,7 @@
578
609
  "scale": null,
579
610
  "default": null,
580
611
  "comment": null,
612
+ "collation": null,
581
613
  "enumItems": [],
582
614
  "mappedType": "datetime"
583
615
  }
@@ -628,6 +660,7 @@
628
660
  }
629
661
  ],
630
662
  "checks": [],
663
+ "triggers": [],
631
664
  "foreignKeys": {
632
665
  "staff_team_member_activities_member_id_foreign": {
633
666
  "columnNames": [
@@ -660,6 +693,7 @@
660
693
  "scale": null,
661
694
  "default": null,
662
695
  "comment": null,
696
+ "collation": null,
663
697
  "enumItems": [],
664
698
  "mappedType": "text"
665
699
  },
@@ -676,6 +710,7 @@
676
710
  "scale": null,
677
711
  "default": null,
678
712
  "comment": null,
713
+ "collation": null,
679
714
  "enumItems": [],
680
715
  "mappedType": "text"
681
716
  },
@@ -692,6 +727,7 @@
692
727
  "scale": null,
693
728
  "default": null,
694
729
  "comment": null,
730
+ "collation": null,
695
731
  "enumItems": [],
696
732
  "mappedType": "text"
697
733
  },
@@ -708,6 +744,7 @@
708
744
  "scale": null,
709
745
  "default": null,
710
746
  "comment": null,
747
+ "collation": null,
711
748
  "enumItems": [],
712
749
  "mappedType": "text"
713
750
  },
@@ -724,6 +761,7 @@
724
761
  "scale": null,
725
762
  "default": null,
726
763
  "comment": null,
764
+ "collation": null,
727
765
  "enumItems": [],
728
766
  "mappedType": "text"
729
767
  },
@@ -740,6 +778,7 @@
740
778
  "scale": null,
741
779
  "default": null,
742
780
  "comment": null,
781
+ "collation": null,
743
782
  "enumItems": [],
744
783
  "mappedType": "text"
745
784
  },
@@ -756,6 +795,7 @@
756
795
  "scale": null,
757
796
  "default": null,
758
797
  "comment": null,
798
+ "collation": null,
759
799
  "enumItems": [],
760
800
  "mappedType": "datetime"
761
801
  },
@@ -772,6 +812,7 @@
772
812
  "scale": null,
773
813
  "default": null,
774
814
  "comment": null,
815
+ "collation": null,
775
816
  "enumItems": [],
776
817
  "mappedType": "text"
777
818
  },
@@ -788,6 +829,7 @@
788
829
  "scale": null,
789
830
  "default": "gen_random_uuid()",
790
831
  "comment": null,
832
+ "collation": null,
791
833
  "enumItems": [],
792
834
  "mappedType": "uuid"
793
835
  },
@@ -804,6 +846,7 @@
804
846
  "scale": null,
805
847
  "default": "false",
806
848
  "comment": null,
849
+ "collation": null,
807
850
  "enumItems": [],
808
851
  "mappedType": "boolean"
809
852
  },
@@ -820,6 +863,7 @@
820
863
  "scale": null,
821
864
  "default": null,
822
865
  "comment": null,
866
+ "collation": null,
823
867
  "enumItems": [],
824
868
  "mappedType": "float"
825
869
  },
@@ -836,6 +880,7 @@
836
880
  "scale": null,
837
881
  "default": null,
838
882
  "comment": null,
883
+ "collation": null,
839
884
  "enumItems": [],
840
885
  "mappedType": "float"
841
886
  },
@@ -852,6 +897,7 @@
852
897
  "scale": null,
853
898
  "default": null,
854
899
  "comment": null,
900
+ "collation": null,
855
901
  "enumItems": [],
856
902
  "mappedType": "uuid"
857
903
  },
@@ -868,6 +914,7 @@
868
914
  "scale": null,
869
915
  "default": null,
870
916
  "comment": null,
917
+ "collation": null,
871
918
  "enumItems": [],
872
919
  "mappedType": "text"
873
920
  },
@@ -884,6 +931,7 @@
884
931
  "scale": null,
885
932
  "default": null,
886
933
  "comment": null,
934
+ "collation": null,
887
935
  "enumItems": [],
888
936
  "mappedType": "uuid"
889
937
  },
@@ -900,6 +948,7 @@
900
948
  "scale": null,
901
949
  "default": null,
902
950
  "comment": null,
951
+ "collation": null,
903
952
  "enumItems": [],
904
953
  "mappedType": "text"
905
954
  },
@@ -916,6 +965,7 @@
916
965
  "scale": null,
917
966
  "default": null,
918
967
  "comment": null,
968
+ "collation": null,
919
969
  "enumItems": [],
920
970
  "mappedType": "text"
921
971
  },
@@ -932,6 +982,7 @@
932
982
  "scale": null,
933
983
  "default": null,
934
984
  "comment": null,
985
+ "collation": null,
935
986
  "enumItems": [],
936
987
  "mappedType": "text"
937
988
  },
@@ -948,6 +999,7 @@
948
999
  "scale": null,
949
1000
  "default": null,
950
1001
  "comment": null,
1002
+ "collation": null,
951
1003
  "enumItems": [],
952
1004
  "mappedType": "uuid"
953
1005
  },
@@ -964,6 +1016,7 @@
964
1016
  "scale": null,
965
1017
  "default": null,
966
1018
  "comment": null,
1019
+ "collation": null,
967
1020
  "enumItems": [],
968
1021
  "mappedType": "datetime"
969
1022
  }
@@ -1002,6 +1055,7 @@
1002
1055
  }
1003
1056
  ],
1004
1057
  "checks": [],
1058
+ "triggers": [],
1005
1059
  "foreignKeys": {
1006
1060
  "staff_team_member_addresses_member_id_foreign": {
1007
1061
  "columnNames": [
@@ -1034,6 +1088,7 @@
1034
1088
  "scale": null,
1035
1089
  "default": null,
1036
1090
  "comment": null,
1091
+ "collation": null,
1037
1092
  "enumItems": [],
1038
1093
  "mappedType": "text"
1039
1094
  },
@@ -1050,6 +1105,7 @@
1050
1105
  "scale": null,
1051
1106
  "default": null,
1052
1107
  "comment": null,
1108
+ "collation": null,
1053
1109
  "enumItems": [],
1054
1110
  "mappedType": "text"
1055
1111
  },
@@ -1066,6 +1122,7 @@
1066
1122
  "scale": null,
1067
1123
  "default": null,
1068
1124
  "comment": null,
1125
+ "collation": null,
1069
1126
  "enumItems": [],
1070
1127
  "mappedType": "uuid"
1071
1128
  },
@@ -1082,6 +1139,7 @@
1082
1139
  "scale": null,
1083
1140
  "default": null,
1084
1141
  "comment": null,
1142
+ "collation": null,
1085
1143
  "enumItems": [],
1086
1144
  "mappedType": "text"
1087
1145
  },
@@ -1098,6 +1156,7 @@
1098
1156
  "scale": null,
1099
1157
  "default": null,
1100
1158
  "comment": null,
1159
+ "collation": null,
1101
1160
  "enumItems": [],
1102
1161
  "mappedType": "datetime"
1103
1162
  },
@@ -1114,6 +1173,7 @@
1114
1173
  "scale": null,
1115
1174
  "default": null,
1116
1175
  "comment": null,
1176
+ "collation": null,
1117
1177
  "enumItems": [],
1118
1178
  "mappedType": "datetime"
1119
1179
  },
@@ -1130,6 +1190,7 @@
1130
1190
  "scale": null,
1131
1191
  "default": "gen_random_uuid()",
1132
1192
  "comment": null,
1193
+ "collation": null,
1133
1194
  "enumItems": [],
1134
1195
  "mappedType": "uuid"
1135
1196
  },
@@ -1146,6 +1207,7 @@
1146
1207
  "scale": null,
1147
1208
  "default": null,
1148
1209
  "comment": null,
1210
+ "collation": null,
1149
1211
  "enumItems": [],
1150
1212
  "mappedType": "uuid"
1151
1213
  },
@@ -1162,6 +1224,7 @@
1162
1224
  "scale": null,
1163
1225
  "default": null,
1164
1226
  "comment": null,
1227
+ "collation": null,
1165
1228
  "enumItems": [],
1166
1229
  "mappedType": "uuid"
1167
1230
  },
@@ -1178,6 +1241,7 @@
1178
1241
  "scale": null,
1179
1242
  "default": null,
1180
1243
  "comment": null,
1244
+ "collation": null,
1181
1245
  "enumItems": [],
1182
1246
  "mappedType": "uuid"
1183
1247
  },
@@ -1194,6 +1258,7 @@
1194
1258
  "scale": null,
1195
1259
  "default": null,
1196
1260
  "comment": null,
1261
+ "collation": null,
1197
1262
  "enumItems": [],
1198
1263
  "mappedType": "datetime"
1199
1264
  }
@@ -1232,6 +1297,7 @@
1232
1297
  }
1233
1298
  ],
1234
1299
  "checks": [],
1300
+ "triggers": [],
1235
1301
  "foreignKeys": {
1236
1302
  "staff_team_member_comments_member_id_foreign": {
1237
1303
  "columnNames": [
@@ -1264,6 +1330,7 @@
1264
1330
  "scale": null,
1265
1331
  "default": null,
1266
1332
  "comment": null,
1333
+ "collation": null,
1267
1334
  "enumItems": [],
1268
1335
  "mappedType": "text"
1269
1336
  },
@@ -1280,6 +1347,7 @@
1280
1347
  "scale": null,
1281
1348
  "default": null,
1282
1349
  "comment": null,
1350
+ "collation": null,
1283
1351
  "enumItems": [],
1284
1352
  "mappedType": "datetime"
1285
1353
  },
@@ -1296,6 +1364,7 @@
1296
1364
  "scale": null,
1297
1365
  "default": null,
1298
1366
  "comment": null,
1367
+ "collation": null,
1299
1368
  "enumItems": [],
1300
1369
  "mappedType": "text"
1301
1370
  },
@@ -1312,6 +1381,7 @@
1312
1381
  "scale": null,
1313
1382
  "default": null,
1314
1383
  "comment": null,
1384
+ "collation": null,
1315
1385
  "enumItems": [],
1316
1386
  "mappedType": "datetime"
1317
1387
  },
@@ -1328,6 +1398,7 @@
1328
1398
  "scale": null,
1329
1399
  "default": "gen_random_uuid()",
1330
1400
  "comment": null,
1401
+ "collation": null,
1331
1402
  "enumItems": [],
1332
1403
  "mappedType": "uuid"
1333
1404
  },
@@ -1344,6 +1415,7 @@
1344
1415
  "scale": null,
1345
1416
  "default": null,
1346
1417
  "comment": null,
1418
+ "collation": null,
1347
1419
  "enumItems": [],
1348
1420
  "mappedType": "uuid"
1349
1421
  },
@@ -1360,6 +1432,7 @@
1360
1432
  "scale": null,
1361
1433
  "default": null,
1362
1434
  "comment": null,
1435
+ "collation": null,
1363
1436
  "enumItems": [],
1364
1437
  "mappedType": "text"
1365
1438
  },
@@ -1376,6 +1449,7 @@
1376
1449
  "scale": null,
1377
1450
  "default": null,
1378
1451
  "comment": null,
1452
+ "collation": null,
1379
1453
  "enumItems": [],
1380
1454
  "mappedType": "uuid"
1381
1455
  },
@@ -1392,6 +1466,7 @@
1392
1466
  "scale": null,
1393
1467
  "default": null,
1394
1468
  "comment": null,
1469
+ "collation": null,
1395
1470
  "enumItems": [],
1396
1471
  "mappedType": "datetime"
1397
1472
  },
@@ -1408,6 +1483,7 @@
1408
1483
  "scale": null,
1409
1484
  "default": null,
1410
1485
  "comment": null,
1486
+ "collation": null,
1411
1487
  "enumItems": [],
1412
1488
  "mappedType": "uuid"
1413
1489
  },
@@ -1424,6 +1500,7 @@
1424
1500
  "scale": null,
1425
1501
  "default": null,
1426
1502
  "comment": null,
1503
+ "collation": null,
1427
1504
  "enumItems": [],
1428
1505
  "mappedType": "datetime"
1429
1506
  }
@@ -1473,6 +1550,7 @@
1473
1550
  }
1474
1551
  ],
1475
1552
  "checks": [],
1553
+ "triggers": [],
1476
1554
  "foreignKeys": {
1477
1555
  "staff_team_member_job_histories_member_id_foreign": {
1478
1556
  "columnNames": [
@@ -1505,6 +1583,7 @@
1505
1583
  "scale": null,
1506
1584
  "default": null,
1507
1585
  "comment": null,
1586
+ "collation": null,
1508
1587
  "enumItems": [],
1509
1588
  "mappedType": "uuid"
1510
1589
  },
@@ -1521,6 +1600,7 @@
1521
1600
  "scale": null,
1522
1601
  "default": null,
1523
1602
  "comment": null,
1603
+ "collation": null,
1524
1604
  "enumItems": [],
1525
1605
  "mappedType": "datetime"
1526
1606
  },
@@ -1537,6 +1617,7 @@
1537
1617
  "scale": null,
1538
1618
  "default": null,
1539
1619
  "comment": null,
1620
+ "collation": null,
1540
1621
  "enumItems": [],
1541
1622
  "mappedType": "datetime"
1542
1623
  },
@@ -1553,6 +1634,7 @@
1553
1634
  "scale": null,
1554
1635
  "default": null,
1555
1636
  "comment": null,
1637
+ "collation": null,
1556
1638
  "enumItems": [],
1557
1639
  "mappedType": "text"
1558
1640
  },
@@ -1569,6 +1651,7 @@
1569
1651
  "scale": null,
1570
1652
  "default": null,
1571
1653
  "comment": null,
1654
+ "collation": null,
1572
1655
  "enumItems": [],
1573
1656
  "mappedType": "text"
1574
1657
  },
@@ -1585,6 +1668,7 @@
1585
1668
  "scale": null,
1586
1669
  "default": "gen_random_uuid()",
1587
1670
  "comment": null,
1671
+ "collation": null,
1588
1672
  "enumItems": [],
1589
1673
  "mappedType": "uuid"
1590
1674
  },
@@ -1601,6 +1685,7 @@
1601
1685
  "scale": null,
1602
1686
  "default": "true",
1603
1687
  "comment": null,
1688
+ "collation": null,
1604
1689
  "enumItems": [],
1605
1690
  "mappedType": "boolean"
1606
1691
  },
@@ -1617,6 +1702,7 @@
1617
1702
  "scale": null,
1618
1703
  "default": null,
1619
1704
  "comment": null,
1705
+ "collation": null,
1620
1706
  "enumItems": [],
1621
1707
  "mappedType": "uuid"
1622
1708
  },
@@ -1633,6 +1719,7 @@
1633
1719
  "scale": null,
1634
1720
  "default": "'[]'",
1635
1721
  "comment": null,
1722
+ "collation": null,
1636
1723
  "enumItems": [],
1637
1724
  "mappedType": "json"
1638
1725
  },
@@ -1649,6 +1736,7 @@
1649
1736
  "scale": null,
1650
1737
  "default": "'[]'",
1651
1738
  "comment": null,
1739
+ "collation": null,
1652
1740
  "enumItems": [],
1653
1741
  "mappedType": "json"
1654
1742
  },
@@ -1665,6 +1753,7 @@
1665
1753
  "scale": null,
1666
1754
  "default": null,
1667
1755
  "comment": null,
1756
+ "collation": null,
1668
1757
  "enumItems": [],
1669
1758
  "mappedType": "uuid"
1670
1759
  },
@@ -1681,6 +1770,7 @@
1681
1770
  "scale": null,
1682
1771
  "default": null,
1683
1772
  "comment": null,
1773
+ "collation": null,
1684
1774
  "enumItems": [],
1685
1775
  "mappedType": "uuid"
1686
1776
  },
@@ -1697,6 +1787,7 @@
1697
1787
  "scale": null,
1698
1788
  "default": null,
1699
1789
  "comment": null,
1790
+ "collation": null,
1700
1791
  "enumItems": [],
1701
1792
  "mappedType": "datetime"
1702
1793
  },
@@ -1713,6 +1804,7 @@
1713
1804
  "scale": null,
1714
1805
  "default": null,
1715
1806
  "comment": null,
1807
+ "collation": null,
1716
1808
  "enumItems": [],
1717
1809
  "mappedType": "uuid"
1718
1810
  }
@@ -1741,6 +1833,7 @@
1741
1833
  }
1742
1834
  ],
1743
1835
  "checks": [],
1836
+ "triggers": [],
1744
1837
  "foreignKeys": {},
1745
1838
  "comment": null
1746
1839
  },
@@ -1761,6 +1854,7 @@
1761
1854
  "scale": null,
1762
1855
  "default": null,
1763
1856
  "comment": null,
1857
+ "collation": null,
1764
1858
  "enumItems": [],
1765
1859
  "mappedType": "text"
1766
1860
  },
@@ -1777,6 +1871,7 @@
1777
1871
  "scale": null,
1778
1872
  "default": null,
1779
1873
  "comment": null,
1874
+ "collation": null,
1780
1875
  "enumItems": [],
1781
1876
  "mappedType": "text"
1782
1877
  },
@@ -1793,6 +1888,7 @@
1793
1888
  "scale": null,
1794
1889
  "default": null,
1795
1890
  "comment": null,
1891
+ "collation": null,
1796
1892
  "enumItems": [],
1797
1893
  "mappedType": "datetime"
1798
1894
  },
@@ -1809,6 +1905,7 @@
1809
1905
  "scale": null,
1810
1906
  "default": null,
1811
1907
  "comment": null,
1908
+ "collation": null,
1812
1909
  "enumItems": [],
1813
1910
  "mappedType": "datetime"
1814
1911
  },
@@ -1825,6 +1922,7 @@
1825
1922
  "scale": null,
1826
1923
  "default": null,
1827
1924
  "comment": null,
1925
+ "collation": null,
1828
1926
  "enumItems": [],
1829
1927
  "mappedType": "text"
1830
1928
  },
@@ -1841,6 +1939,7 @@
1841
1939
  "scale": null,
1842
1940
  "default": "gen_random_uuid()",
1843
1941
  "comment": null,
1942
+ "collation": null,
1844
1943
  "enumItems": [],
1845
1944
  "mappedType": "uuid"
1846
1945
  },
@@ -1857,6 +1956,7 @@
1857
1956
  "scale": null,
1858
1957
  "default": null,
1859
1958
  "comment": null,
1959
+ "collation": null,
1860
1960
  "enumItems": [],
1861
1961
  "mappedType": "text"
1862
1962
  },
@@ -1873,6 +1973,7 @@
1873
1973
  "scale": null,
1874
1974
  "default": null,
1875
1975
  "comment": null,
1976
+ "collation": null,
1876
1977
  "enumItems": [],
1877
1978
  "mappedType": "uuid"
1878
1979
  },
@@ -1889,6 +1990,7 @@
1889
1990
  "scale": null,
1890
1991
  "default": null,
1891
1992
  "comment": null,
1993
+ "collation": null,
1892
1994
  "enumItems": [],
1893
1995
  "mappedType": "uuid"
1894
1996
  },
@@ -1905,6 +2007,7 @@
1905
2007
  "scale": null,
1906
2008
  "default": null,
1907
2009
  "comment": null,
2010
+ "collation": null,
1908
2011
  "enumItems": [],
1909
2012
  "mappedType": "uuid"
1910
2013
  },
@@ -1921,6 +2024,7 @@
1921
2024
  "scale": null,
1922
2025
  "default": null,
1923
2026
  "comment": null,
2027
+ "collation": null,
1924
2028
  "enumItems": [],
1925
2029
  "mappedType": "datetime"
1926
2030
  }
@@ -1949,6 +2053,7 @@
1949
2053
  }
1950
2054
  ],
1951
2055
  "checks": [],
2056
+ "triggers": [],
1952
2057
  "foreignKeys": {},
1953
2058
  "comment": null
1954
2059
  },
@@ -1969,6 +2074,7 @@
1969
2074
  "scale": null,
1970
2075
  "default": null,
1971
2076
  "comment": null,
2077
+ "collation": null,
1972
2078
  "enumItems": [],
1973
2079
  "mappedType": "datetime"
1974
2080
  },
@@ -1985,6 +2091,7 @@
1985
2091
  "scale": null,
1986
2092
  "default": null,
1987
2093
  "comment": null,
2094
+ "collation": null,
1988
2095
  "enumItems": [],
1989
2096
  "mappedType": "datetime"
1990
2097
  },
@@ -2001,6 +2108,7 @@
2001
2108
  "scale": null,
2002
2109
  "default": null,
2003
2110
  "comment": null,
2111
+ "collation": null,
2004
2112
  "enumItems": [],
2005
2113
  "mappedType": "text"
2006
2114
  },
@@ -2017,6 +2125,7 @@
2017
2125
  "scale": null,
2018
2126
  "default": "gen_random_uuid()",
2019
2127
  "comment": null,
2128
+ "collation": null,
2020
2129
  "enumItems": [],
2021
2130
  "mappedType": "uuid"
2022
2131
  },
@@ -2033,6 +2142,7 @@
2033
2142
  "scale": null,
2034
2143
  "default": "true",
2035
2144
  "comment": null,
2145
+ "collation": null,
2036
2146
  "enumItems": [],
2037
2147
  "mappedType": "boolean"
2038
2148
  },
@@ -2049,6 +2159,7 @@
2049
2159
  "scale": null,
2050
2160
  "default": null,
2051
2161
  "comment": null,
2162
+ "collation": null,
2052
2163
  "enumItems": [],
2053
2164
  "mappedType": "text"
2054
2165
  },
@@ -2065,6 +2176,7 @@
2065
2176
  "scale": null,
2066
2177
  "default": null,
2067
2178
  "comment": null,
2179
+ "collation": null,
2068
2180
  "enumItems": [],
2069
2181
  "mappedType": "uuid"
2070
2182
  },
@@ -2081,6 +2193,7 @@
2081
2193
  "scale": null,
2082
2194
  "default": null,
2083
2195
  "comment": null,
2196
+ "collation": null,
2084
2197
  "enumItems": [],
2085
2198
  "mappedType": "uuid"
2086
2199
  },
@@ -2097,6 +2210,7 @@
2097
2210
  "scale": null,
2098
2211
  "default": null,
2099
2212
  "comment": null,
2213
+ "collation": null,
2100
2214
  "enumItems": [],
2101
2215
  "mappedType": "datetime"
2102
2216
  }
@@ -2125,6 +2239,7 @@
2125
2239
  }
2126
2240
  ],
2127
2241
  "checks": [],
2242
+ "triggers": [],
2128
2243
  "foreignKeys": {},
2129
2244
  "comment": null
2130
2245
  },
@@ -2145,6 +2260,7 @@
2145
2260
  "scale": null,
2146
2261
  "default": null,
2147
2262
  "comment": null,
2263
+ "collation": null,
2148
2264
  "enumItems": [],
2149
2265
  "mappedType": "datetime"
2150
2266
  },
@@ -2161,6 +2277,7 @@
2161
2277
  "scale": null,
2162
2278
  "default": null,
2163
2279
  "comment": null,
2280
+ "collation": null,
2164
2281
  "enumItems": [],
2165
2282
  "mappedType": "uuid"
2166
2283
  },
@@ -2177,6 +2294,7 @@
2177
2294
  "scale": null,
2178
2295
  "default": null,
2179
2296
  "comment": null,
2297
+ "collation": null,
2180
2298
  "enumItems": [],
2181
2299
  "mappedType": "date"
2182
2300
  },
@@ -2193,6 +2311,7 @@
2193
2311
  "scale": null,
2194
2312
  "default": null,
2195
2313
  "comment": null,
2314
+ "collation": null,
2196
2315
  "enumItems": [],
2197
2316
  "mappedType": "uuid"
2198
2317
  },
@@ -2209,6 +2328,7 @@
2209
2328
  "scale": null,
2210
2329
  "default": null,
2211
2330
  "comment": null,
2331
+ "collation": null,
2212
2332
  "enumItems": [],
2213
2333
  "mappedType": "datetime"
2214
2334
  },
@@ -2225,6 +2345,7 @@
2225
2345
  "scale": null,
2226
2346
  "default": "0",
2227
2347
  "comment": null,
2348
+ "collation": null,
2228
2349
  "enumItems": [],
2229
2350
  "mappedType": "integer"
2230
2351
  },
@@ -2241,6 +2362,7 @@
2241
2362
  "scale": null,
2242
2363
  "default": null,
2243
2364
  "comment": null,
2365
+ "collation": null,
2244
2366
  "enumItems": [],
2245
2367
  "mappedType": "datetime"
2246
2368
  },
@@ -2257,6 +2379,58 @@
2257
2379
  "scale": null,
2258
2380
  "default": "gen_random_uuid()",
2259
2381
  "comment": null,
2382
+ "collation": null,
2383
+ "enumItems": [],
2384
+ "mappedType": "uuid"
2385
+ },
2386
+ "is_billable": {
2387
+ "name": "is_billable",
2388
+ "type": "boolean",
2389
+ "unsigned": false,
2390
+ "autoincrement": false,
2391
+ "primary": false,
2392
+ "nullable": false,
2393
+ "unique": false,
2394
+ "length": null,
2395
+ "precision": null,
2396
+ "scale": null,
2397
+ "default": "true",
2398
+ "comment": null,
2399
+ "collation": null,
2400
+ "enumItems": [],
2401
+ "mappedType": "boolean"
2402
+ },
2403
+ "locked_at": {
2404
+ "name": "locked_at",
2405
+ "type": "timestamptz(6)",
2406
+ "unsigned": false,
2407
+ "autoincrement": false,
2408
+ "primary": false,
2409
+ "nullable": true,
2410
+ "unique": false,
2411
+ "length": 6,
2412
+ "precision": null,
2413
+ "scale": null,
2414
+ "default": null,
2415
+ "comment": null,
2416
+ "collation": null,
2417
+ "enumItems": [],
2418
+ "mappedType": "datetime"
2419
+ },
2420
+ "locked_report_id": {
2421
+ "name": "locked_report_id",
2422
+ "type": "uuid",
2423
+ "unsigned": false,
2424
+ "autoincrement": false,
2425
+ "primary": false,
2426
+ "nullable": true,
2427
+ "unique": false,
2428
+ "length": null,
2429
+ "precision": null,
2430
+ "scale": null,
2431
+ "default": null,
2432
+ "comment": null,
2433
+ "collation": null,
2260
2434
  "enumItems": [],
2261
2435
  "mappedType": "uuid"
2262
2436
  },
@@ -2273,6 +2447,7 @@
2273
2447
  "scale": null,
2274
2448
  "default": null,
2275
2449
  "comment": null,
2450
+ "collation": null,
2276
2451
  "enumItems": [],
2277
2452
  "mappedType": "text"
2278
2453
  },
@@ -2289,6 +2464,7 @@
2289
2464
  "scale": null,
2290
2465
  "default": null,
2291
2466
  "comment": null,
2467
+ "collation": null,
2292
2468
  "enumItems": [],
2293
2469
  "mappedType": "uuid"
2294
2470
  },
@@ -2305,9 +2481,61 @@
2305
2481
  "scale": null,
2306
2482
  "default": null,
2307
2483
  "comment": null,
2484
+ "collation": null,
2308
2485
  "enumItems": [],
2309
2486
  "mappedType": "uuid"
2310
2487
  },
2488
+ "rate_currency_code": {
2489
+ "name": "rate_currency_code",
2490
+ "type": "text",
2491
+ "unsigned": false,
2492
+ "autoincrement": false,
2493
+ "primary": false,
2494
+ "nullable": true,
2495
+ "unique": false,
2496
+ "length": null,
2497
+ "precision": null,
2498
+ "scale": null,
2499
+ "default": null,
2500
+ "comment": null,
2501
+ "collation": null,
2502
+ "enumItems": [],
2503
+ "mappedType": "text"
2504
+ },
2505
+ "rate_override_amount": {
2506
+ "name": "rate_override_amount",
2507
+ "type": "numeric(14,4)",
2508
+ "unsigned": false,
2509
+ "autoincrement": false,
2510
+ "primary": false,
2511
+ "nullable": true,
2512
+ "unique": false,
2513
+ "length": null,
2514
+ "precision": 14,
2515
+ "scale": 4,
2516
+ "default": null,
2517
+ "comment": null,
2518
+ "collation": null,
2519
+ "enumItems": [],
2520
+ "mappedType": "decimal"
2521
+ },
2522
+ "rounded_minutes": {
2523
+ "name": "rounded_minutes",
2524
+ "type": "int",
2525
+ "unsigned": false,
2526
+ "autoincrement": false,
2527
+ "primary": false,
2528
+ "nullable": true,
2529
+ "unique": false,
2530
+ "length": null,
2531
+ "precision": null,
2532
+ "scale": null,
2533
+ "default": null,
2534
+ "comment": null,
2535
+ "collation": null,
2536
+ "enumItems": [],
2537
+ "mappedType": "integer"
2538
+ },
2311
2539
  "source": {
2312
2540
  "name": "source",
2313
2541
  "type": "text",
@@ -2321,13 +2549,9 @@
2321
2549
  "scale": null,
2322
2550
  "default": "'manual'",
2323
2551
  "comment": null,
2324
- "enumItems": [
2325
- "manual",
2326
- "timer",
2327
- "kiosk",
2328
- "mobile"
2329
- ],
2330
- "mappedType": "enum"
2552
+ "collation": null,
2553
+ "enumItems": [],
2554
+ "mappedType": "text"
2331
2555
  },
2332
2556
  "staff_member_id": {
2333
2557
  "name": "staff_member_id",
@@ -2342,6 +2566,7 @@
2342
2566
  "scale": null,
2343
2567
  "default": null,
2344
2568
  "comment": null,
2569
+ "collation": null,
2345
2570
  "enumItems": [],
2346
2571
  "mappedType": "uuid"
2347
2572
  },
@@ -2358,9 +2583,27 @@
2358
2583
  "scale": null,
2359
2584
  "default": null,
2360
2585
  "comment": null,
2586
+ "collation": null,
2361
2587
  "enumItems": [],
2362
2588
  "mappedType": "datetime"
2363
2589
  },
2590
+ "task_id": {
2591
+ "name": "task_id",
2592
+ "type": "uuid",
2593
+ "unsigned": false,
2594
+ "autoincrement": false,
2595
+ "primary": false,
2596
+ "nullable": true,
2597
+ "unique": false,
2598
+ "length": null,
2599
+ "precision": null,
2600
+ "scale": null,
2601
+ "default": null,
2602
+ "comment": null,
2603
+ "collation": null,
2604
+ "enumItems": [],
2605
+ "mappedType": "uuid"
2606
+ },
2364
2607
  "tenant_id": {
2365
2608
  "name": "tenant_id",
2366
2609
  "type": "uuid",
@@ -2374,6 +2617,7 @@
2374
2617
  "scale": null,
2375
2618
  "default": null,
2376
2619
  "comment": null,
2620
+ "collation": null,
2377
2621
  "enumItems": [],
2378
2622
  "mappedType": "uuid"
2379
2623
  },
@@ -2390,6 +2634,7 @@
2390
2634
  "scale": null,
2391
2635
  "default": null,
2392
2636
  "comment": null,
2637
+ "collation": null,
2393
2638
  "enumItems": [],
2394
2639
  "mappedType": "uuid"
2395
2640
  },
@@ -2406,11 +2651,23 @@
2406
2651
  "scale": null,
2407
2652
  "default": null,
2408
2653
  "comment": null,
2654
+ "collation": null,
2409
2655
  "enumItems": [],
2410
2656
  "mappedType": "datetime"
2411
2657
  }
2412
2658
  },
2413
2659
  "indexes": [
2660
+ {
2661
+ "columnNames": [
2662
+ "organization_id",
2663
+ "locked_report_id"
2664
+ ],
2665
+ "composite": true,
2666
+ "constraint": false,
2667
+ "keyName": "staff_time_entries_locked_report_idx",
2668
+ "primary": false,
2669
+ "unique": false
2670
+ },
2414
2671
  {
2415
2672
  "columnNames": [
2416
2673
  "organization_id",
@@ -2423,6 +2680,19 @@
2423
2680
  "primary": false,
2424
2681
  "unique": false
2425
2682
  },
2683
+ {
2684
+ "columnNames": [
2685
+ "organization_id",
2686
+ "staff_member_id",
2687
+ "date",
2688
+ "started_at"
2689
+ ],
2690
+ "composite": true,
2691
+ "constraint": false,
2692
+ "keyName": "staff_time_entries_member_overlap_idx",
2693
+ "primary": false,
2694
+ "unique": false
2695
+ },
2426
2696
  {
2427
2697
  "columnNames": [
2428
2698
  "id"
@@ -2445,6 +2715,17 @@
2445
2715
  "primary": false,
2446
2716
  "unique": false
2447
2717
  },
2718
+ {
2719
+ "columnNames": [
2720
+ "organization_id",
2721
+ "task_id"
2722
+ ],
2723
+ "composite": true,
2724
+ "constraint": false,
2725
+ "keyName": "staff_time_entries_task_idx",
2726
+ "primary": false,
2727
+ "unique": false
2728
+ },
2448
2729
  {
2449
2730
  "columnNames": [
2450
2731
  "tenant_id",
@@ -2457,14 +2738,8 @@
2457
2738
  "unique": false
2458
2739
  }
2459
2740
  ],
2460
- "checks": [
2461
- {
2462
- "name": "staff_time_entries_source_check",
2463
- "expression": "\"source\" in ('manual', 'timer', 'kiosk', 'mobile')",
2464
- "definition": "check (\"source\" in ('manual', 'timer', 'kiosk', 'mobile'))",
2465
- "columnName": "source"
2466
- }
2467
- ],
2741
+ "checks": [],
2742
+ "triggers": [],
2468
2743
  "foreignKeys": {},
2469
2744
  "comment": null
2470
2745
  },
@@ -2485,6 +2760,7 @@
2485
2760
  "scale": null,
2486
2761
  "default": null,
2487
2762
  "comment": null,
2763
+ "collation": null,
2488
2764
  "enumItems": [],
2489
2765
  "mappedType": "datetime"
2490
2766
  },
@@ -2501,6 +2777,7 @@
2501
2777
  "scale": null,
2502
2778
  "default": null,
2503
2779
  "comment": null,
2780
+ "collation": null,
2504
2781
  "enumItems": [],
2505
2782
  "mappedType": "datetime"
2506
2783
  },
@@ -2517,6 +2794,7 @@
2517
2794
  "scale": null,
2518
2795
  "default": null,
2519
2796
  "comment": null,
2797
+ "collation": null,
2520
2798
  "enumItems": [],
2521
2799
  "mappedType": "datetime"
2522
2800
  },
@@ -2533,6 +2811,7 @@
2533
2811
  "scale": null,
2534
2812
  "default": "gen_random_uuid()",
2535
2813
  "comment": null,
2814
+ "collation": null,
2536
2815
  "enumItems": [],
2537
2816
  "mappedType": "uuid"
2538
2817
  },
@@ -2549,6 +2828,7 @@
2549
2828
  "scale": null,
2550
2829
  "default": null,
2551
2830
  "comment": null,
2831
+ "collation": null,
2552
2832
  "enumItems": [],
2553
2833
  "mappedType": "uuid"
2554
2834
  },
@@ -2565,6 +2845,7 @@
2565
2845
  "scale": null,
2566
2846
  "default": "'work'",
2567
2847
  "comment": null,
2848
+ "collation": null,
2568
2849
  "enumItems": [
2569
2850
  "work",
2570
2851
  "break"
@@ -2584,6 +2865,7 @@
2584
2865
  "scale": null,
2585
2866
  "default": null,
2586
2867
  "comment": null,
2868
+ "collation": null,
2587
2869
  "enumItems": [],
2588
2870
  "mappedType": "datetime"
2589
2871
  },
@@ -2600,6 +2882,7 @@
2600
2882
  "scale": null,
2601
2883
  "default": null,
2602
2884
  "comment": null,
2885
+ "collation": null,
2603
2886
  "enumItems": [],
2604
2887
  "mappedType": "uuid"
2605
2888
  },
@@ -2616,6 +2899,7 @@
2616
2899
  "scale": null,
2617
2900
  "default": null,
2618
2901
  "comment": null,
2902
+ "collation": null,
2619
2903
  "enumItems": [],
2620
2904
  "mappedType": "uuid"
2621
2905
  },
@@ -2632,6 +2916,7 @@
2632
2916
  "scale": null,
2633
2917
  "default": null,
2634
2918
  "comment": null,
2919
+ "collation": null,
2635
2920
  "enumItems": [],
2636
2921
  "mappedType": "datetime"
2637
2922
  }
@@ -2677,45 +2962,14 @@
2677
2962
  "columnName": "segment_type"
2678
2963
  }
2679
2964
  ],
2965
+ "triggers": [],
2680
2966
  "foreignKeys": {},
2681
2967
  "comment": null
2682
2968
  },
2683
2969
  {
2684
- "name": "staff_time_project_members",
2970
+ "name": "staff_time_entry_tags",
2685
2971
  "schema": "public",
2686
2972
  "columns": {
2687
- "assigned_end_date": {
2688
- "name": "assigned_end_date",
2689
- "type": "date",
2690
- "unsigned": false,
2691
- "autoincrement": false,
2692
- "primary": false,
2693
- "nullable": true,
2694
- "unique": false,
2695
- "length": null,
2696
- "precision": null,
2697
- "scale": null,
2698
- "default": null,
2699
- "comment": null,
2700
- "enumItems": [],
2701
- "mappedType": "date"
2702
- },
2703
- "assigned_start_date": {
2704
- "name": "assigned_start_date",
2705
- "type": "date",
2706
- "unsigned": false,
2707
- "autoincrement": false,
2708
- "primary": false,
2709
- "nullable": false,
2710
- "unique": false,
2711
- "length": null,
2712
- "precision": null,
2713
- "scale": null,
2714
- "default": null,
2715
- "comment": null,
2716
- "enumItems": [],
2717
- "mappedType": "date"
2718
- },
2719
2973
  "created_at": {
2720
2974
  "name": "created_at",
2721
2975
  "type": "timestamptz(6)",
@@ -2729,22 +2983,7 @@
2729
2983
  "scale": null,
2730
2984
  "default": null,
2731
2985
  "comment": null,
2732
- "enumItems": [],
2733
- "mappedType": "datetime"
2734
- },
2735
- "deleted_at": {
2736
- "name": "deleted_at",
2737
- "type": "timestamptz(6)",
2738
- "unsigned": false,
2739
- "autoincrement": false,
2740
- "primary": false,
2741
- "nullable": true,
2742
- "unique": false,
2743
- "length": 6,
2744
- "precision": null,
2745
- "scale": null,
2746
- "default": null,
2747
- "comment": null,
2986
+ "collation": null,
2748
2987
  "enumItems": [],
2749
2988
  "mappedType": "datetime"
2750
2989
  },
@@ -2761,6 +3000,7 @@
2761
3000
  "scale": null,
2762
3001
  "default": "gen_random_uuid()",
2763
3002
  "comment": null,
3003
+ "collation": null,
2764
3004
  "enumItems": [],
2765
3005
  "mappedType": "uuid"
2766
3006
  },
@@ -2777,43 +3017,12 @@
2777
3017
  "scale": null,
2778
3018
  "default": null,
2779
3019
  "comment": null,
3020
+ "collation": null,
2780
3021
  "enumItems": [],
2781
3022
  "mappedType": "uuid"
2782
3023
  },
2783
- "role": {
2784
- "name": "role",
2785
- "type": "text",
2786
- "unsigned": false,
2787
- "autoincrement": false,
2788
- "primary": false,
2789
- "nullable": true,
2790
- "unique": false,
2791
- "length": null,
2792
- "precision": null,
2793
- "scale": null,
2794
- "default": null,
2795
- "comment": null,
2796
- "enumItems": [],
2797
- "mappedType": "text"
2798
- },
2799
- "show_in_grid": {
2800
- "name": "show_in_grid",
2801
- "type": "boolean",
2802
- "unsigned": false,
2803
- "autoincrement": false,
2804
- "primary": false,
2805
- "nullable": false,
2806
- "unique": false,
2807
- "length": null,
2808
- "precision": null,
2809
- "scale": null,
2810
- "default": "false",
2811
- "comment": null,
2812
- "enumItems": [],
2813
- "mappedType": "boolean"
2814
- },
2815
- "staff_member_id": {
2816
- "name": "staff_member_id",
3024
+ "tag_id": {
3025
+ "name": "tag_id",
2817
3026
  "type": "uuid",
2818
3027
  "unsigned": false,
2819
3028
  "autoincrement": false,
@@ -2825,28 +3034,10 @@
2825
3034
  "scale": null,
2826
3035
  "default": null,
2827
3036
  "comment": null,
3037
+ "collation": null,
2828
3038
  "enumItems": [],
2829
3039
  "mappedType": "uuid"
2830
3040
  },
2831
- "status": {
2832
- "name": "status",
2833
- "type": "text",
2834
- "unsigned": false,
2835
- "autoincrement": false,
2836
- "primary": false,
2837
- "nullable": false,
2838
- "unique": false,
2839
- "length": null,
2840
- "precision": null,
2841
- "scale": null,
2842
- "default": "'active'",
2843
- "comment": null,
2844
- "enumItems": [
2845
- "active",
2846
- "inactive"
2847
- ],
2848
- "mappedType": "enum"
2849
- },
2850
3041
  "tenant_id": {
2851
3042
  "name": "tenant_id",
2852
3043
  "type": "uuid",
@@ -2860,11 +3051,12 @@
2860
3051
  "scale": null,
2861
3052
  "default": null,
2862
3053
  "comment": null,
3054
+ "collation": null,
2863
3055
  "enumItems": [],
2864
3056
  "mappedType": "uuid"
2865
3057
  },
2866
- "time_project_id": {
2867
- "name": "time_project_id",
3058
+ "time_entry_id": {
3059
+ "name": "time_entry_id",
2868
3060
  "type": "uuid",
2869
3061
  "unsigned": false,
2870
3062
  "autoincrement": false,
@@ -2876,56 +3068,2817 @@
2876
3068
  "scale": null,
2877
3069
  "default": null,
2878
3070
  "comment": null,
3071
+ "collation": null,
2879
3072
  "enumItems": [],
2880
3073
  "mappedType": "uuid"
2881
- },
2882
- "updated_at": {
2883
- "name": "updated_at",
2884
- "type": "timestamptz(6)",
2885
- "unsigned": false,
2886
- "autoincrement": false,
2887
- "primary": false,
2888
- "nullable": false,
2889
- "unique": false,
2890
- "length": 6,
2891
- "precision": null,
2892
- "scale": null,
2893
- "default": null,
2894
- "comment": null,
2895
- "enumItems": [],
2896
- "mappedType": "datetime"
2897
3074
  }
2898
3075
  },
2899
3076
  "indexes": [
2900
3077
  {
2901
3078
  "columnNames": [
2902
3079
  "organization_id",
2903
- "staff_member_id"
3080
+ "time_entry_id"
3081
+ ],
3082
+ "composite": true,
3083
+ "constraint": false,
3084
+ "keyName": "staff_time_entry_tags_entry_idx",
3085
+ "primary": false,
3086
+ "unique": false
3087
+ },
3088
+ {
3089
+ "columnNames": [
3090
+ "id"
3091
+ ],
3092
+ "composite": false,
3093
+ "constraint": true,
3094
+ "keyName": "staff_time_entry_tags_pkey",
3095
+ "primary": true,
3096
+ "unique": true
3097
+ },
3098
+ {
3099
+ "columnNames": [
3100
+ "tenant_id",
3101
+ "organization_id"
3102
+ ],
3103
+ "composite": true,
3104
+ "constraint": false,
3105
+ "keyName": "staff_time_entry_tags_tenant_org_idx",
3106
+ "primary": false,
3107
+ "unique": false
3108
+ },
3109
+ {
3110
+ "columnNames": [
3111
+ "tag_id",
3112
+ "time_entry_id"
3113
+ ],
3114
+ "composite": true,
3115
+ "constraint": false,
3116
+ "keyName": "staff_time_entry_tags_unique_idx",
3117
+ "primary": false,
3118
+ "unique": false
3119
+ }
3120
+ ],
3121
+ "checks": [],
3122
+ "triggers": [],
3123
+ "foreignKeys": {},
3124
+ "comment": null
3125
+ },
3126
+ {
3127
+ "name": "staff_time_project_members",
3128
+ "schema": "public",
3129
+ "columns": {
3130
+ "assigned_end_date": {
3131
+ "name": "assigned_end_date",
3132
+ "type": "date",
3133
+ "unsigned": false,
3134
+ "autoincrement": false,
3135
+ "primary": false,
3136
+ "nullable": true,
3137
+ "unique": false,
3138
+ "length": null,
3139
+ "precision": null,
3140
+ "scale": null,
3141
+ "default": null,
3142
+ "comment": null,
3143
+ "collation": null,
3144
+ "enumItems": [],
3145
+ "mappedType": "date"
3146
+ },
3147
+ "assigned_start_date": {
3148
+ "name": "assigned_start_date",
3149
+ "type": "date",
3150
+ "unsigned": false,
3151
+ "autoincrement": false,
3152
+ "primary": false,
3153
+ "nullable": false,
3154
+ "unique": false,
3155
+ "length": null,
3156
+ "precision": null,
3157
+ "scale": null,
3158
+ "default": null,
3159
+ "comment": null,
3160
+ "collation": null,
3161
+ "enumItems": [],
3162
+ "mappedType": "date"
3163
+ },
3164
+ "created_at": {
3165
+ "name": "created_at",
3166
+ "type": "timestamptz(6)",
3167
+ "unsigned": false,
3168
+ "autoincrement": false,
3169
+ "primary": false,
3170
+ "nullable": false,
3171
+ "unique": false,
3172
+ "length": 6,
3173
+ "precision": null,
3174
+ "scale": null,
3175
+ "default": null,
3176
+ "comment": null,
3177
+ "collation": null,
3178
+ "enumItems": [],
3179
+ "mappedType": "datetime"
3180
+ },
3181
+ "deleted_at": {
3182
+ "name": "deleted_at",
3183
+ "type": "timestamptz(6)",
3184
+ "unsigned": false,
3185
+ "autoincrement": false,
3186
+ "primary": false,
3187
+ "nullable": true,
3188
+ "unique": false,
3189
+ "length": 6,
3190
+ "precision": null,
3191
+ "scale": null,
3192
+ "default": null,
3193
+ "comment": null,
3194
+ "collation": null,
3195
+ "enumItems": [],
3196
+ "mappedType": "datetime"
3197
+ },
3198
+ "id": {
3199
+ "name": "id",
3200
+ "type": "uuid",
3201
+ "unsigned": false,
3202
+ "autoincrement": false,
3203
+ "primary": true,
3204
+ "nullable": false,
3205
+ "unique": false,
3206
+ "length": null,
3207
+ "precision": null,
3208
+ "scale": null,
3209
+ "default": "gen_random_uuid()",
3210
+ "comment": null,
3211
+ "collation": null,
3212
+ "enumItems": [],
3213
+ "mappedType": "uuid"
3214
+ },
3215
+ "organization_id": {
3216
+ "name": "organization_id",
3217
+ "type": "uuid",
3218
+ "unsigned": false,
3219
+ "autoincrement": false,
3220
+ "primary": false,
3221
+ "nullable": false,
3222
+ "unique": false,
3223
+ "length": null,
3224
+ "precision": null,
3225
+ "scale": null,
3226
+ "default": null,
3227
+ "comment": null,
3228
+ "collation": null,
3229
+ "enumItems": [],
3230
+ "mappedType": "uuid"
3231
+ },
3232
+ "role": {
3233
+ "name": "role",
3234
+ "type": "text",
3235
+ "unsigned": false,
3236
+ "autoincrement": false,
3237
+ "primary": false,
3238
+ "nullable": true,
3239
+ "unique": false,
3240
+ "length": null,
3241
+ "precision": null,
3242
+ "scale": null,
3243
+ "default": null,
3244
+ "comment": null,
3245
+ "collation": null,
3246
+ "enumItems": [],
3247
+ "mappedType": "text"
3248
+ },
3249
+ "show_in_grid": {
3250
+ "name": "show_in_grid",
3251
+ "type": "boolean",
3252
+ "unsigned": false,
3253
+ "autoincrement": false,
3254
+ "primary": false,
3255
+ "nullable": false,
3256
+ "unique": false,
3257
+ "length": null,
3258
+ "precision": null,
3259
+ "scale": null,
3260
+ "default": "false",
3261
+ "comment": null,
3262
+ "collation": null,
3263
+ "enumItems": [],
3264
+ "mappedType": "boolean"
3265
+ },
3266
+ "staff_member_id": {
3267
+ "name": "staff_member_id",
3268
+ "type": "uuid",
3269
+ "unsigned": false,
3270
+ "autoincrement": false,
3271
+ "primary": false,
3272
+ "nullable": false,
3273
+ "unique": false,
3274
+ "length": null,
3275
+ "precision": null,
3276
+ "scale": null,
3277
+ "default": null,
3278
+ "comment": null,
3279
+ "collation": null,
3280
+ "enumItems": [],
3281
+ "mappedType": "uuid"
3282
+ },
3283
+ "status": {
3284
+ "name": "status",
3285
+ "type": "text",
3286
+ "unsigned": false,
3287
+ "autoincrement": false,
3288
+ "primary": false,
3289
+ "nullable": false,
3290
+ "unique": false,
3291
+ "length": null,
3292
+ "precision": null,
3293
+ "scale": null,
3294
+ "default": "'active'",
3295
+ "comment": null,
3296
+ "collation": null,
3297
+ "enumItems": [
3298
+ "active",
3299
+ "inactive"
3300
+ ],
3301
+ "mappedType": "enum"
3302
+ },
3303
+ "tenant_id": {
3304
+ "name": "tenant_id",
3305
+ "type": "uuid",
3306
+ "unsigned": false,
3307
+ "autoincrement": false,
3308
+ "primary": false,
3309
+ "nullable": false,
3310
+ "unique": false,
3311
+ "length": null,
3312
+ "precision": null,
3313
+ "scale": null,
3314
+ "default": null,
3315
+ "comment": null,
3316
+ "collation": null,
3317
+ "enumItems": [],
3318
+ "mappedType": "uuid"
3319
+ },
3320
+ "time_project_id": {
3321
+ "name": "time_project_id",
3322
+ "type": "uuid",
3323
+ "unsigned": false,
3324
+ "autoincrement": false,
3325
+ "primary": false,
3326
+ "nullable": false,
3327
+ "unique": false,
3328
+ "length": null,
3329
+ "precision": null,
3330
+ "scale": null,
3331
+ "default": null,
3332
+ "comment": null,
3333
+ "collation": null,
3334
+ "enumItems": [],
3335
+ "mappedType": "uuid"
3336
+ },
3337
+ "updated_at": {
3338
+ "name": "updated_at",
3339
+ "type": "timestamptz(6)",
3340
+ "unsigned": false,
3341
+ "autoincrement": false,
3342
+ "primary": false,
3343
+ "nullable": false,
3344
+ "unique": false,
3345
+ "length": 6,
3346
+ "precision": null,
3347
+ "scale": null,
3348
+ "default": null,
3349
+ "comment": null,
3350
+ "collation": null,
3351
+ "enumItems": [],
3352
+ "mappedType": "datetime"
3353
+ }
3354
+ },
3355
+ "indexes": [
3356
+ {
3357
+ "columnNames": [
3358
+ "organization_id",
3359
+ "staff_member_id"
2904
3360
  ],
2905
3361
  "composite": true,
2906
3362
  "constraint": false,
2907
3363
  "keyName": "staff_time_project_members_member_idx",
2908
3364
  "primary": false,
2909
- "unique": false
3365
+ "unique": false
3366
+ },
3367
+ {
3368
+ "columnNames": [
3369
+ "id"
3370
+ ],
3371
+ "composite": false,
3372
+ "constraint": true,
3373
+ "keyName": "staff_time_project_members_pkey",
3374
+ "primary": true,
3375
+ "unique": true
3376
+ },
3377
+ {
3378
+ "columnNames": [
3379
+ "organization_id",
3380
+ "time_project_id"
3381
+ ],
3382
+ "composite": true,
3383
+ "constraint": false,
3384
+ "keyName": "staff_time_project_members_project_idx",
3385
+ "primary": false,
3386
+ "unique": false
3387
+ },
3388
+ {
3389
+ "columnNames": [
3390
+ "tenant_id",
3391
+ "organization_id"
3392
+ ],
3393
+ "composite": true,
3394
+ "constraint": false,
3395
+ "keyName": "staff_time_project_members_tenant_org_idx",
3396
+ "primary": false,
3397
+ "unique": false
3398
+ },
3399
+ {
3400
+ "columnNames": [
3401
+ "organization_id",
3402
+ "tenant_id",
3403
+ "time_project_id",
3404
+ "staff_member_id"
3405
+ ],
3406
+ "composite": true,
3407
+ "constraint": false,
3408
+ "keyName": "staff_time_project_members_unique_idx",
3409
+ "primary": false,
3410
+ "unique": false
3411
+ }
3412
+ ],
3413
+ "checks": [
3414
+ {
3415
+ "name": "staff_time_project_members_status_check",
3416
+ "expression": "\"status\" in ('active', 'inactive')",
3417
+ "definition": "check (\"status\" in ('active', 'inactive'))",
3418
+ "columnName": "status"
3419
+ }
3420
+ ],
3421
+ "triggers": [],
3422
+ "foreignKeys": {},
3423
+ "comment": null
3424
+ },
3425
+ {
3426
+ "name": "staff_time_projects",
3427
+ "schema": "public",
3428
+ "columns": {
3429
+ "billable_by_default": {
3430
+ "name": "billable_by_default",
3431
+ "type": "boolean",
3432
+ "unsigned": false,
3433
+ "autoincrement": false,
3434
+ "primary": false,
3435
+ "nullable": false,
3436
+ "unique": false,
3437
+ "length": null,
3438
+ "precision": null,
3439
+ "scale": null,
3440
+ "default": "true",
3441
+ "comment": null,
3442
+ "collation": null,
3443
+ "enumItems": [],
3444
+ "mappedType": "boolean"
3445
+ },
3446
+ "budget_alerted_at_percent": {
3447
+ "name": "budget_alerted_at_percent",
3448
+ "type": "int",
3449
+ "unsigned": false,
3450
+ "autoincrement": false,
3451
+ "primary": false,
3452
+ "nullable": true,
3453
+ "unique": false,
3454
+ "length": null,
3455
+ "precision": null,
3456
+ "scale": null,
3457
+ "default": null,
3458
+ "comment": null,
3459
+ "collation": null,
3460
+ "enumItems": [],
3461
+ "mappedType": "integer"
3462
+ },
3463
+ "budget_kind": {
3464
+ "name": "budget_kind",
3465
+ "type": "text",
3466
+ "unsigned": false,
3467
+ "autoincrement": false,
3468
+ "primary": false,
3469
+ "nullable": false,
3470
+ "unique": false,
3471
+ "length": null,
3472
+ "precision": null,
3473
+ "scale": null,
3474
+ "default": "'none'",
3475
+ "comment": null,
3476
+ "collation": null,
3477
+ "enumItems": [
3478
+ "none",
3479
+ "hours",
3480
+ "amount"
3481
+ ],
3482
+ "mappedType": "enum"
3483
+ },
3484
+ "budget_value": {
3485
+ "name": "budget_value",
3486
+ "type": "numeric(14,4)",
3487
+ "unsigned": false,
3488
+ "autoincrement": false,
3489
+ "primary": false,
3490
+ "nullable": true,
3491
+ "unique": false,
3492
+ "length": null,
3493
+ "precision": 14,
3494
+ "scale": 4,
3495
+ "default": null,
3496
+ "comment": null,
3497
+ "collation": null,
3498
+ "enumItems": [],
3499
+ "mappedType": "decimal"
3500
+ },
3501
+ "budget_warn_at_percent": {
3502
+ "name": "budget_warn_at_percent",
3503
+ "type": "int",
3504
+ "unsigned": false,
3505
+ "autoincrement": false,
3506
+ "primary": false,
3507
+ "nullable": false,
3508
+ "unique": false,
3509
+ "length": null,
3510
+ "precision": null,
3511
+ "scale": null,
3512
+ "default": "80",
3513
+ "comment": null,
3514
+ "collation": null,
3515
+ "enumItems": [],
3516
+ "mappedType": "integer"
3517
+ },
3518
+ "code": {
3519
+ "name": "code",
3520
+ "type": "text",
3521
+ "unsigned": false,
3522
+ "autoincrement": false,
3523
+ "primary": false,
3524
+ "nullable": false,
3525
+ "unique": false,
3526
+ "length": null,
3527
+ "precision": null,
3528
+ "scale": null,
3529
+ "default": null,
3530
+ "comment": null,
3531
+ "collation": null,
3532
+ "enumItems": [],
3533
+ "mappedType": "text"
3534
+ },
3535
+ "color": {
3536
+ "name": "color",
3537
+ "type": "varchar(20)",
3538
+ "unsigned": false,
3539
+ "autoincrement": false,
3540
+ "primary": false,
3541
+ "nullable": true,
3542
+ "unique": false,
3543
+ "length": 20,
3544
+ "precision": null,
3545
+ "scale": null,
3546
+ "default": null,
3547
+ "comment": null,
3548
+ "collation": null,
3549
+ "enumItems": [],
3550
+ "mappedType": "string"
3551
+ },
3552
+ "cost_center": {
3553
+ "name": "cost_center",
3554
+ "type": "text",
3555
+ "unsigned": false,
3556
+ "autoincrement": false,
3557
+ "primary": false,
3558
+ "nullable": true,
3559
+ "unique": false,
3560
+ "length": null,
3561
+ "precision": null,
3562
+ "scale": null,
3563
+ "default": null,
3564
+ "comment": null,
3565
+ "collation": null,
3566
+ "enumItems": [],
3567
+ "mappedType": "text"
3568
+ },
3569
+ "created_at": {
3570
+ "name": "created_at",
3571
+ "type": "timestamptz(6)",
3572
+ "unsigned": false,
3573
+ "autoincrement": false,
3574
+ "primary": false,
3575
+ "nullable": false,
3576
+ "unique": false,
3577
+ "length": 6,
3578
+ "precision": null,
3579
+ "scale": null,
3580
+ "default": null,
3581
+ "comment": null,
3582
+ "collation": null,
3583
+ "enumItems": [],
3584
+ "mappedType": "datetime"
3585
+ },
3586
+ "currency_code": {
3587
+ "name": "currency_code",
3588
+ "type": "text",
3589
+ "unsigned": false,
3590
+ "autoincrement": false,
3591
+ "primary": false,
3592
+ "nullable": true,
3593
+ "unique": false,
3594
+ "length": null,
3595
+ "precision": null,
3596
+ "scale": null,
3597
+ "default": null,
3598
+ "comment": null,
3599
+ "collation": null,
3600
+ "enumItems": [],
3601
+ "mappedType": "text"
3602
+ },
3603
+ "customer_id": {
3604
+ "name": "customer_id",
3605
+ "type": "uuid",
3606
+ "unsigned": false,
3607
+ "autoincrement": false,
3608
+ "primary": false,
3609
+ "nullable": true,
3610
+ "unique": false,
3611
+ "length": null,
3612
+ "precision": null,
3613
+ "scale": null,
3614
+ "default": null,
3615
+ "comment": null,
3616
+ "collation": null,
3617
+ "enumItems": [],
3618
+ "mappedType": "uuid"
3619
+ },
3620
+ "customer_snapshot": {
3621
+ "name": "customer_snapshot",
3622
+ "type": "jsonb",
3623
+ "unsigned": false,
3624
+ "autoincrement": false,
3625
+ "primary": false,
3626
+ "nullable": true,
3627
+ "unique": false,
3628
+ "length": null,
3629
+ "precision": null,
3630
+ "scale": null,
3631
+ "default": null,
3632
+ "comment": null,
3633
+ "collation": null,
3634
+ "enumItems": [],
3635
+ "mappedType": "json"
3636
+ },
3637
+ "deleted_at": {
3638
+ "name": "deleted_at",
3639
+ "type": "timestamptz(6)",
3640
+ "unsigned": false,
3641
+ "autoincrement": false,
3642
+ "primary": false,
3643
+ "nullable": true,
3644
+ "unique": false,
3645
+ "length": 6,
3646
+ "precision": null,
3647
+ "scale": null,
3648
+ "default": null,
3649
+ "comment": null,
3650
+ "collation": null,
3651
+ "enumItems": [],
3652
+ "mappedType": "datetime"
3653
+ },
3654
+ "description": {
3655
+ "name": "description",
3656
+ "type": "text",
3657
+ "unsigned": false,
3658
+ "autoincrement": false,
3659
+ "primary": false,
3660
+ "nullable": true,
3661
+ "unique": false,
3662
+ "length": null,
3663
+ "precision": null,
3664
+ "scale": null,
3665
+ "default": null,
3666
+ "comment": null,
3667
+ "collation": null,
3668
+ "enumItems": [],
3669
+ "mappedType": "text"
3670
+ },
3671
+ "hourly_rate": {
3672
+ "name": "hourly_rate",
3673
+ "type": "numeric(14,4)",
3674
+ "unsigned": false,
3675
+ "autoincrement": false,
3676
+ "primary": false,
3677
+ "nullable": true,
3678
+ "unique": false,
3679
+ "length": null,
3680
+ "precision": 14,
3681
+ "scale": 4,
3682
+ "default": null,
3683
+ "comment": null,
3684
+ "collation": null,
3685
+ "enumItems": [],
3686
+ "mappedType": "decimal"
3687
+ },
3688
+ "id": {
3689
+ "name": "id",
3690
+ "type": "uuid",
3691
+ "unsigned": false,
3692
+ "autoincrement": false,
3693
+ "primary": true,
3694
+ "nullable": false,
3695
+ "unique": false,
3696
+ "length": null,
3697
+ "precision": null,
3698
+ "scale": null,
3699
+ "default": "gen_random_uuid()",
3700
+ "comment": null,
3701
+ "collation": null,
3702
+ "enumItems": [],
3703
+ "mappedType": "uuid"
3704
+ },
3705
+ "name": {
3706
+ "name": "name",
3707
+ "type": "text",
3708
+ "unsigned": false,
3709
+ "autoincrement": false,
3710
+ "primary": false,
3711
+ "nullable": false,
3712
+ "unique": false,
3713
+ "length": null,
3714
+ "precision": null,
3715
+ "scale": null,
3716
+ "default": null,
3717
+ "comment": null,
3718
+ "collation": null,
3719
+ "enumItems": [],
3720
+ "mappedType": "text"
3721
+ },
3722
+ "organization_id": {
3723
+ "name": "organization_id",
3724
+ "type": "uuid",
3725
+ "unsigned": false,
3726
+ "autoincrement": false,
3727
+ "primary": false,
3728
+ "nullable": false,
3729
+ "unique": false,
3730
+ "length": null,
3731
+ "precision": null,
3732
+ "scale": null,
3733
+ "default": null,
3734
+ "comment": null,
3735
+ "collation": null,
3736
+ "enumItems": [],
3737
+ "mappedType": "uuid"
3738
+ },
3739
+ "owner_user_id": {
3740
+ "name": "owner_user_id",
3741
+ "type": "uuid",
3742
+ "unsigned": false,
3743
+ "autoincrement": false,
3744
+ "primary": false,
3745
+ "nullable": true,
3746
+ "unique": false,
3747
+ "length": null,
3748
+ "precision": null,
3749
+ "scale": null,
3750
+ "default": null,
3751
+ "comment": null,
3752
+ "collation": null,
3753
+ "enumItems": [],
3754
+ "mappedType": "uuid"
3755
+ },
3756
+ "project_type": {
3757
+ "name": "project_type",
3758
+ "type": "text",
3759
+ "unsigned": false,
3760
+ "autoincrement": false,
3761
+ "primary": false,
3762
+ "nullable": true,
3763
+ "unique": false,
3764
+ "length": null,
3765
+ "precision": null,
3766
+ "scale": null,
3767
+ "default": null,
3768
+ "comment": null,
3769
+ "collation": null,
3770
+ "enumItems": [],
3771
+ "mappedType": "text"
3772
+ },
3773
+ "start_date": {
3774
+ "name": "start_date",
3775
+ "type": "date",
3776
+ "unsigned": false,
3777
+ "autoincrement": false,
3778
+ "primary": false,
3779
+ "nullable": true,
3780
+ "unique": false,
3781
+ "length": null,
3782
+ "precision": null,
3783
+ "scale": null,
3784
+ "default": null,
3785
+ "comment": null,
3786
+ "collation": null,
3787
+ "enumItems": [],
3788
+ "mappedType": "date"
3789
+ },
3790
+ "status": {
3791
+ "name": "status",
3792
+ "type": "text",
3793
+ "unsigned": false,
3794
+ "autoincrement": false,
3795
+ "primary": false,
3796
+ "nullable": false,
3797
+ "unique": false,
3798
+ "length": null,
3799
+ "precision": null,
3800
+ "scale": null,
3801
+ "default": "'active'",
3802
+ "comment": null,
3803
+ "collation": null,
3804
+ "enumItems": [
3805
+ "active",
3806
+ "on_hold",
3807
+ "completed"
3808
+ ],
3809
+ "mappedType": "enum"
3810
+ },
3811
+ "tenant_id": {
3812
+ "name": "tenant_id",
3813
+ "type": "uuid",
3814
+ "unsigned": false,
3815
+ "autoincrement": false,
3816
+ "primary": false,
3817
+ "nullable": false,
3818
+ "unique": false,
3819
+ "length": null,
3820
+ "precision": null,
3821
+ "scale": null,
3822
+ "default": null,
3823
+ "comment": null,
3824
+ "collation": null,
3825
+ "enumItems": [],
3826
+ "mappedType": "uuid"
3827
+ },
3828
+ "updated_at": {
3829
+ "name": "updated_at",
3830
+ "type": "timestamptz(6)",
3831
+ "unsigned": false,
3832
+ "autoincrement": false,
3833
+ "primary": false,
3834
+ "nullable": false,
3835
+ "unique": false,
3836
+ "length": 6,
3837
+ "precision": null,
3838
+ "scale": null,
3839
+ "default": null,
3840
+ "comment": null,
3841
+ "collation": null,
3842
+ "enumItems": [],
3843
+ "mappedType": "datetime"
3844
+ }
3845
+ },
3846
+ "indexes": [
3847
+ {
3848
+ "columnNames": [
3849
+ "organization_id",
3850
+ "tenant_id",
3851
+ "code"
3852
+ ],
3853
+ "composite": true,
3854
+ "constraint": false,
3855
+ "keyName": "staff_time_projects_code_unique_idx",
3856
+ "primary": false,
3857
+ "unique": false
3858
+ },
3859
+ {
3860
+ "columnNames": [
3861
+ "id"
3862
+ ],
3863
+ "composite": false,
3864
+ "constraint": true,
3865
+ "keyName": "staff_time_projects_pkey",
3866
+ "primary": true,
3867
+ "unique": true
3868
+ },
3869
+ {
3870
+ "columnNames": [
3871
+ "tenant_id",
3872
+ "organization_id"
3873
+ ],
3874
+ "composite": true,
3875
+ "constraint": false,
3876
+ "keyName": "staff_time_projects_tenant_org_idx",
3877
+ "primary": false,
3878
+ "unique": false
3879
+ }
3880
+ ],
3881
+ "checks": [
3882
+ {
3883
+ "name": "staff_time_projects_budget_kind_check",
3884
+ "expression": "\"budget_kind\" in ('none', 'hours', 'amount')",
3885
+ "definition": "check (\"budget_kind\" in ('none', 'hours', 'amount'))",
3886
+ "columnName": "budget_kind"
3887
+ },
3888
+ {
3889
+ "name": "staff_time_projects_status_check",
3890
+ "expression": "\"status\" in ('active', 'on_hold', 'completed')",
3891
+ "definition": "check (\"status\" in ('active', 'on_hold', 'completed'))",
3892
+ "columnName": "status"
3893
+ }
3894
+ ],
3895
+ "triggers": [],
3896
+ "foreignKeys": {},
3897
+ "comment": null
3898
+ },
3899
+ {
3900
+ "name": "staff_time_report_entries",
3901
+ "schema": "public",
3902
+ "columns": {
3903
+ "created_at": {
3904
+ "name": "created_at",
3905
+ "type": "timestamptz(6)",
3906
+ "unsigned": false,
3907
+ "autoincrement": false,
3908
+ "primary": false,
3909
+ "nullable": false,
3910
+ "unique": false,
3911
+ "length": 6,
3912
+ "precision": null,
3913
+ "scale": null,
3914
+ "default": null,
3915
+ "comment": null,
3916
+ "collation": null,
3917
+ "enumItems": [],
3918
+ "mappedType": "datetime"
3919
+ },
3920
+ "frozen_amount": {
3921
+ "name": "frozen_amount",
3922
+ "type": "numeric(14,2)",
3923
+ "unsigned": false,
3924
+ "autoincrement": false,
3925
+ "primary": false,
3926
+ "nullable": true,
3927
+ "unique": false,
3928
+ "length": null,
3929
+ "precision": 14,
3930
+ "scale": 2,
3931
+ "default": null,
3932
+ "comment": null,
3933
+ "collation": null,
3934
+ "enumItems": [],
3935
+ "mappedType": "decimal"
3936
+ },
3937
+ "frozen_currency_code": {
3938
+ "name": "frozen_currency_code",
3939
+ "type": "text",
3940
+ "unsigned": false,
3941
+ "autoincrement": false,
3942
+ "primary": false,
3943
+ "nullable": false,
3944
+ "unique": false,
3945
+ "length": null,
3946
+ "precision": null,
3947
+ "scale": null,
3948
+ "default": null,
3949
+ "comment": null,
3950
+ "collation": null,
3951
+ "enumItems": [],
3952
+ "mappedType": "text"
3953
+ },
3954
+ "frozen_is_billable": {
3955
+ "name": "frozen_is_billable",
3956
+ "type": "boolean",
3957
+ "unsigned": false,
3958
+ "autoincrement": false,
3959
+ "primary": false,
3960
+ "nullable": false,
3961
+ "unique": false,
3962
+ "length": null,
3963
+ "precision": null,
3964
+ "scale": null,
3965
+ "default": "true",
3966
+ "comment": null,
3967
+ "collation": null,
3968
+ "enumItems": [],
3969
+ "mappedType": "boolean"
3970
+ },
3971
+ "frozen_rate_amount": {
3972
+ "name": "frozen_rate_amount",
3973
+ "type": "numeric(14,4)",
3974
+ "unsigned": false,
3975
+ "autoincrement": false,
3976
+ "primary": false,
3977
+ "nullable": true,
3978
+ "unique": false,
3979
+ "length": null,
3980
+ "precision": 14,
3981
+ "scale": 4,
3982
+ "default": null,
3983
+ "comment": null,
3984
+ "collation": null,
3985
+ "enumItems": [],
3986
+ "mappedType": "decimal"
3987
+ },
3988
+ "frozen_raw_minutes": {
3989
+ "name": "frozen_raw_minutes",
3990
+ "type": "int",
3991
+ "unsigned": false,
3992
+ "autoincrement": false,
3993
+ "primary": false,
3994
+ "nullable": false,
3995
+ "unique": false,
3996
+ "length": null,
3997
+ "precision": null,
3998
+ "scale": null,
3999
+ "default": "0",
4000
+ "comment": null,
4001
+ "collation": null,
4002
+ "enumItems": [],
4003
+ "mappedType": "integer"
4004
+ },
4005
+ "frozen_rounded_minutes": {
4006
+ "name": "frozen_rounded_minutes",
4007
+ "type": "int",
4008
+ "unsigned": false,
4009
+ "autoincrement": false,
4010
+ "primary": false,
4011
+ "nullable": false,
4012
+ "unique": false,
4013
+ "length": null,
4014
+ "precision": null,
4015
+ "scale": null,
4016
+ "default": "0",
4017
+ "comment": null,
4018
+ "collation": null,
4019
+ "enumItems": [],
4020
+ "mappedType": "integer"
4021
+ },
4022
+ "id": {
4023
+ "name": "id",
4024
+ "type": "uuid",
4025
+ "unsigned": false,
4026
+ "autoincrement": false,
4027
+ "primary": true,
4028
+ "nullable": false,
4029
+ "unique": false,
4030
+ "length": null,
4031
+ "precision": null,
4032
+ "scale": null,
4033
+ "default": "gen_random_uuid()",
4034
+ "comment": null,
4035
+ "collation": null,
4036
+ "enumItems": [],
4037
+ "mappedType": "uuid"
4038
+ },
4039
+ "organization_id": {
4040
+ "name": "organization_id",
4041
+ "type": "uuid",
4042
+ "unsigned": false,
4043
+ "autoincrement": false,
4044
+ "primary": false,
4045
+ "nullable": false,
4046
+ "unique": false,
4047
+ "length": null,
4048
+ "precision": null,
4049
+ "scale": null,
4050
+ "default": null,
4051
+ "comment": null,
4052
+ "collation": null,
4053
+ "enumItems": [],
4054
+ "mappedType": "uuid"
4055
+ },
4056
+ "report_id": {
4057
+ "name": "report_id",
4058
+ "type": "uuid",
4059
+ "unsigned": false,
4060
+ "autoincrement": false,
4061
+ "primary": false,
4062
+ "nullable": false,
4063
+ "unique": false,
4064
+ "length": null,
4065
+ "precision": null,
4066
+ "scale": null,
4067
+ "default": null,
4068
+ "comment": null,
4069
+ "collation": null,
4070
+ "enumItems": [],
4071
+ "mappedType": "uuid"
4072
+ },
4073
+ "tenant_id": {
4074
+ "name": "tenant_id",
4075
+ "type": "uuid",
4076
+ "unsigned": false,
4077
+ "autoincrement": false,
4078
+ "primary": false,
4079
+ "nullable": false,
4080
+ "unique": false,
4081
+ "length": null,
4082
+ "precision": null,
4083
+ "scale": null,
4084
+ "default": null,
4085
+ "comment": null,
4086
+ "collation": null,
4087
+ "enumItems": [],
4088
+ "mappedType": "uuid"
4089
+ },
4090
+ "time_entry_id": {
4091
+ "name": "time_entry_id",
4092
+ "type": "uuid",
4093
+ "unsigned": false,
4094
+ "autoincrement": false,
4095
+ "primary": false,
4096
+ "nullable": false,
4097
+ "unique": false,
4098
+ "length": null,
4099
+ "precision": null,
4100
+ "scale": null,
4101
+ "default": null,
4102
+ "comment": null,
4103
+ "collation": null,
4104
+ "enumItems": [],
4105
+ "mappedType": "uuid"
4106
+ }
4107
+ },
4108
+ "indexes": [
4109
+ {
4110
+ "columnNames": [
4111
+ "organization_id",
4112
+ "time_entry_id"
4113
+ ],
4114
+ "composite": true,
4115
+ "constraint": false,
4116
+ "keyName": "staff_time_report_entries_entry_idx",
4117
+ "primary": false,
4118
+ "unique": false
4119
+ },
4120
+ {
4121
+ "columnNames": [
4122
+ "id"
4123
+ ],
4124
+ "composite": false,
4125
+ "constraint": true,
4126
+ "keyName": "staff_time_report_entries_pkey",
4127
+ "primary": true,
4128
+ "unique": true
4129
+ },
4130
+ {
4131
+ "columnNames": [
4132
+ "tenant_id",
4133
+ "organization_id"
4134
+ ],
4135
+ "composite": true,
4136
+ "constraint": false,
4137
+ "keyName": "staff_time_report_entries_tenant_org_idx",
4138
+ "primary": false,
4139
+ "unique": false
4140
+ },
4141
+ {
4142
+ "columnNames": [
4143
+ "report_id",
4144
+ "time_entry_id"
4145
+ ],
4146
+ "composite": true,
4147
+ "constraint": false,
4148
+ "keyName": "staff_time_report_entries_unique_idx",
4149
+ "primary": false,
4150
+ "unique": false
4151
+ }
4152
+ ],
4153
+ "checks": [],
4154
+ "triggers": [],
4155
+ "foreignKeys": {},
4156
+ "comment": null
4157
+ },
4158
+ {
4159
+ "name": "staff_time_report_events",
4160
+ "schema": "public",
4161
+ "columns": {
4162
+ "actor_user_id": {
4163
+ "name": "actor_user_id",
4164
+ "type": "uuid",
4165
+ "unsigned": false,
4166
+ "autoincrement": false,
4167
+ "primary": false,
4168
+ "nullable": true,
4169
+ "unique": false,
4170
+ "length": null,
4171
+ "precision": null,
4172
+ "scale": null,
4173
+ "default": null,
4174
+ "comment": null,
4175
+ "collation": null,
4176
+ "enumItems": [],
4177
+ "mappedType": "uuid"
4178
+ },
4179
+ "created_at": {
4180
+ "name": "created_at",
4181
+ "type": "timestamptz(6)",
4182
+ "unsigned": false,
4183
+ "autoincrement": false,
4184
+ "primary": false,
4185
+ "nullable": false,
4186
+ "unique": false,
4187
+ "length": 6,
4188
+ "precision": null,
4189
+ "scale": null,
4190
+ "default": null,
4191
+ "comment": null,
4192
+ "collation": null,
4193
+ "enumItems": [],
4194
+ "mappedType": "datetime"
4195
+ },
4196
+ "event_type": {
4197
+ "name": "event_type",
4198
+ "type": "text",
4199
+ "unsigned": false,
4200
+ "autoincrement": false,
4201
+ "primary": false,
4202
+ "nullable": false,
4203
+ "unique": false,
4204
+ "length": null,
4205
+ "precision": null,
4206
+ "scale": null,
4207
+ "default": null,
4208
+ "comment": null,
4209
+ "collation": null,
4210
+ "enumItems": [
4211
+ "closed",
4212
+ "unlocked",
4213
+ "exported"
4214
+ ],
4215
+ "mappedType": "enum"
4216
+ },
4217
+ "id": {
4218
+ "name": "id",
4219
+ "type": "uuid",
4220
+ "unsigned": false,
4221
+ "autoincrement": false,
4222
+ "primary": true,
4223
+ "nullable": false,
4224
+ "unique": false,
4225
+ "length": null,
4226
+ "precision": null,
4227
+ "scale": null,
4228
+ "default": "gen_random_uuid()",
4229
+ "comment": null,
4230
+ "collation": null,
4231
+ "enumItems": [],
4232
+ "mappedType": "uuid"
4233
+ },
4234
+ "metadata": {
4235
+ "name": "metadata",
4236
+ "type": "jsonb",
4237
+ "unsigned": false,
4238
+ "autoincrement": false,
4239
+ "primary": false,
4240
+ "nullable": true,
4241
+ "unique": false,
4242
+ "length": null,
4243
+ "precision": null,
4244
+ "scale": null,
4245
+ "default": null,
4246
+ "comment": null,
4247
+ "collation": null,
4248
+ "enumItems": [],
4249
+ "mappedType": "json"
4250
+ },
4251
+ "organization_id": {
4252
+ "name": "organization_id",
4253
+ "type": "uuid",
4254
+ "unsigned": false,
4255
+ "autoincrement": false,
4256
+ "primary": false,
4257
+ "nullable": false,
4258
+ "unique": false,
4259
+ "length": null,
4260
+ "precision": null,
4261
+ "scale": null,
4262
+ "default": null,
4263
+ "comment": null,
4264
+ "collation": null,
4265
+ "enumItems": [],
4266
+ "mappedType": "uuid"
4267
+ },
4268
+ "reason": {
4269
+ "name": "reason",
4270
+ "type": "text",
4271
+ "unsigned": false,
4272
+ "autoincrement": false,
4273
+ "primary": false,
4274
+ "nullable": true,
4275
+ "unique": false,
4276
+ "length": null,
4277
+ "precision": null,
4278
+ "scale": null,
4279
+ "default": null,
4280
+ "comment": null,
4281
+ "collation": null,
4282
+ "enumItems": [],
4283
+ "mappedType": "text"
4284
+ },
4285
+ "report_id": {
4286
+ "name": "report_id",
4287
+ "type": "uuid",
4288
+ "unsigned": false,
4289
+ "autoincrement": false,
4290
+ "primary": false,
4291
+ "nullable": false,
4292
+ "unique": false,
4293
+ "length": null,
4294
+ "precision": null,
4295
+ "scale": null,
4296
+ "default": null,
4297
+ "comment": null,
4298
+ "collation": null,
4299
+ "enumItems": [],
4300
+ "mappedType": "uuid"
4301
+ },
4302
+ "tenant_id": {
4303
+ "name": "tenant_id",
4304
+ "type": "uuid",
4305
+ "unsigned": false,
4306
+ "autoincrement": false,
4307
+ "primary": false,
4308
+ "nullable": false,
4309
+ "unique": false,
4310
+ "length": null,
4311
+ "precision": null,
4312
+ "scale": null,
4313
+ "default": null,
4314
+ "comment": null,
4315
+ "collation": null,
4316
+ "enumItems": [],
4317
+ "mappedType": "uuid"
4318
+ }
4319
+ },
4320
+ "indexes": [
4321
+ {
4322
+ "columnNames": [
4323
+ "id"
4324
+ ],
4325
+ "composite": false,
4326
+ "constraint": true,
4327
+ "keyName": "staff_time_report_events_pkey",
4328
+ "primary": true,
4329
+ "unique": true
4330
+ },
4331
+ {
4332
+ "columnNames": [
4333
+ "organization_id",
4334
+ "report_id",
4335
+ "created_at"
4336
+ ],
4337
+ "composite": true,
4338
+ "constraint": false,
4339
+ "keyName": "staff_time_report_events_report_idx",
4340
+ "primary": false,
4341
+ "unique": false
4342
+ },
4343
+ {
4344
+ "columnNames": [
4345
+ "tenant_id",
4346
+ "organization_id"
4347
+ ],
4348
+ "composite": true,
4349
+ "constraint": false,
4350
+ "keyName": "staff_time_report_events_tenant_org_idx",
4351
+ "primary": false,
4352
+ "unique": false
4353
+ }
4354
+ ],
4355
+ "checks": [
4356
+ {
4357
+ "name": "staff_time_report_events_event_type_check",
4358
+ "expression": "\"event_type\" in ('closed', 'unlocked', 'exported')",
4359
+ "definition": "check (\"event_type\" in ('closed', 'unlocked', 'exported'))",
4360
+ "columnName": "event_type"
4361
+ }
4362
+ ],
4363
+ "triggers": [],
4364
+ "foreignKeys": {},
4365
+ "comment": null
4366
+ },
4367
+ {
4368
+ "name": "staff_time_report_projects",
4369
+ "schema": "public",
4370
+ "columns": {
4371
+ "created_at": {
4372
+ "name": "created_at",
4373
+ "type": "timestamptz(6)",
4374
+ "unsigned": false,
4375
+ "autoincrement": false,
4376
+ "primary": false,
4377
+ "nullable": false,
4378
+ "unique": false,
4379
+ "length": 6,
4380
+ "precision": null,
4381
+ "scale": null,
4382
+ "default": null,
4383
+ "comment": null,
4384
+ "collation": null,
4385
+ "enumItems": [],
4386
+ "mappedType": "datetime"
4387
+ },
4388
+ "id": {
4389
+ "name": "id",
4390
+ "type": "uuid",
4391
+ "unsigned": false,
4392
+ "autoincrement": false,
4393
+ "primary": true,
4394
+ "nullable": false,
4395
+ "unique": false,
4396
+ "length": null,
4397
+ "precision": null,
4398
+ "scale": null,
4399
+ "default": "gen_random_uuid()",
4400
+ "comment": null,
4401
+ "collation": null,
4402
+ "enumItems": [],
4403
+ "mappedType": "uuid"
4404
+ },
4405
+ "organization_id": {
4406
+ "name": "organization_id",
4407
+ "type": "uuid",
4408
+ "unsigned": false,
4409
+ "autoincrement": false,
4410
+ "primary": false,
4411
+ "nullable": false,
4412
+ "unique": false,
4413
+ "length": null,
4414
+ "precision": null,
4415
+ "scale": null,
4416
+ "default": null,
4417
+ "comment": null,
4418
+ "collation": null,
4419
+ "enumItems": [],
4420
+ "mappedType": "uuid"
4421
+ },
4422
+ "report_id": {
4423
+ "name": "report_id",
4424
+ "type": "uuid",
4425
+ "unsigned": false,
4426
+ "autoincrement": false,
4427
+ "primary": false,
4428
+ "nullable": false,
4429
+ "unique": false,
4430
+ "length": null,
4431
+ "precision": null,
4432
+ "scale": null,
4433
+ "default": null,
4434
+ "comment": null,
4435
+ "collation": null,
4436
+ "enumItems": [],
4437
+ "mappedType": "uuid"
4438
+ },
4439
+ "tenant_id": {
4440
+ "name": "tenant_id",
4441
+ "type": "uuid",
4442
+ "unsigned": false,
4443
+ "autoincrement": false,
4444
+ "primary": false,
4445
+ "nullable": false,
4446
+ "unique": false,
4447
+ "length": null,
4448
+ "precision": null,
4449
+ "scale": null,
4450
+ "default": null,
4451
+ "comment": null,
4452
+ "collation": null,
4453
+ "enumItems": [],
4454
+ "mappedType": "uuid"
4455
+ },
4456
+ "time_project_id": {
4457
+ "name": "time_project_id",
4458
+ "type": "uuid",
4459
+ "unsigned": false,
4460
+ "autoincrement": false,
4461
+ "primary": false,
4462
+ "nullable": false,
4463
+ "unique": false,
4464
+ "length": null,
4465
+ "precision": null,
4466
+ "scale": null,
4467
+ "default": null,
4468
+ "comment": null,
4469
+ "collation": null,
4470
+ "enumItems": [],
4471
+ "mappedType": "uuid"
4472
+ }
4473
+ },
4474
+ "indexes": [
4475
+ {
4476
+ "columnNames": [
4477
+ "id"
4478
+ ],
4479
+ "composite": false,
4480
+ "constraint": true,
4481
+ "keyName": "staff_time_report_projects_pkey",
4482
+ "primary": true,
4483
+ "unique": true
4484
+ },
4485
+ {
4486
+ "columnNames": [
4487
+ "organization_id",
4488
+ "time_project_id"
4489
+ ],
4490
+ "composite": true,
4491
+ "constraint": false,
4492
+ "keyName": "staff_time_report_projects_project_idx",
4493
+ "primary": false,
4494
+ "unique": false
4495
+ },
4496
+ {
4497
+ "columnNames": [
4498
+ "tenant_id",
4499
+ "organization_id"
4500
+ ],
4501
+ "composite": true,
4502
+ "constraint": false,
4503
+ "keyName": "staff_time_report_projects_tenant_org_idx",
4504
+ "primary": false,
4505
+ "unique": false
4506
+ },
4507
+ {
4508
+ "columnNames": [
4509
+ "report_id",
4510
+ "time_project_id"
4511
+ ],
4512
+ "composite": true,
4513
+ "constraint": false,
4514
+ "keyName": "staff_time_report_projects_unique_idx",
4515
+ "primary": false,
4516
+ "unique": false
4517
+ }
4518
+ ],
4519
+ "checks": [],
4520
+ "triggers": [],
4521
+ "foreignKeys": {},
4522
+ "comment": null
4523
+ },
4524
+ {
4525
+ "name": "staff_time_reports",
4526
+ "schema": "public",
4527
+ "columns": {
4528
+ "closed_at": {
4529
+ "name": "closed_at",
4530
+ "type": "timestamptz(6)",
4531
+ "unsigned": false,
4532
+ "autoincrement": false,
4533
+ "primary": false,
4534
+ "nullable": true,
4535
+ "unique": false,
4536
+ "length": 6,
4537
+ "precision": null,
4538
+ "scale": null,
4539
+ "default": null,
4540
+ "comment": null,
4541
+ "collation": null,
4542
+ "enumItems": [],
4543
+ "mappedType": "datetime"
4544
+ },
4545
+ "closed_by_user_id": {
4546
+ "name": "closed_by_user_id",
4547
+ "type": "uuid",
4548
+ "unsigned": false,
4549
+ "autoincrement": false,
4550
+ "primary": false,
4551
+ "nullable": true,
4552
+ "unique": false,
4553
+ "length": null,
4554
+ "precision": null,
4555
+ "scale": null,
4556
+ "default": null,
4557
+ "comment": null,
4558
+ "collation": null,
4559
+ "enumItems": [],
4560
+ "mappedType": "uuid"
4561
+ },
4562
+ "created_at": {
4563
+ "name": "created_at",
4564
+ "type": "timestamptz(6)",
4565
+ "unsigned": false,
4566
+ "autoincrement": false,
4567
+ "primary": false,
4568
+ "nullable": false,
4569
+ "unique": false,
4570
+ "length": 6,
4571
+ "precision": null,
4572
+ "scale": null,
4573
+ "default": null,
4574
+ "comment": null,
4575
+ "collation": null,
4576
+ "enumItems": [],
4577
+ "mappedType": "datetime"
4578
+ },
4579
+ "created_by_user_id": {
4580
+ "name": "created_by_user_id",
4581
+ "type": "uuid",
4582
+ "unsigned": false,
4583
+ "autoincrement": false,
4584
+ "primary": false,
4585
+ "nullable": true,
4586
+ "unique": false,
4587
+ "length": null,
4588
+ "precision": null,
4589
+ "scale": null,
4590
+ "default": null,
4591
+ "comment": null,
4592
+ "collation": null,
4593
+ "enumItems": [],
4594
+ "mappedType": "uuid"
4595
+ },
4596
+ "currency_code": {
4597
+ "name": "currency_code",
4598
+ "type": "text",
4599
+ "unsigned": false,
4600
+ "autoincrement": false,
4601
+ "primary": false,
4602
+ "nullable": false,
4603
+ "unique": false,
4604
+ "length": null,
4605
+ "precision": null,
4606
+ "scale": null,
4607
+ "default": null,
4608
+ "comment": null,
4609
+ "collation": null,
4610
+ "enumItems": [],
4611
+ "mappedType": "text"
4612
+ },
4613
+ "customer_id": {
4614
+ "name": "customer_id",
4615
+ "type": "uuid",
4616
+ "unsigned": false,
4617
+ "autoincrement": false,
4618
+ "primary": false,
4619
+ "nullable": false,
4620
+ "unique": false,
4621
+ "length": null,
4622
+ "precision": null,
4623
+ "scale": null,
4624
+ "default": null,
4625
+ "comment": null,
4626
+ "collation": null,
4627
+ "enumItems": [],
4628
+ "mappedType": "uuid"
4629
+ },
4630
+ "customer_snapshot": {
4631
+ "name": "customer_snapshot",
4632
+ "type": "jsonb",
4633
+ "unsigned": false,
4634
+ "autoincrement": false,
4635
+ "primary": false,
4636
+ "nullable": true,
4637
+ "unique": false,
4638
+ "length": null,
4639
+ "precision": null,
4640
+ "scale": null,
4641
+ "default": null,
4642
+ "comment": null,
4643
+ "collation": null,
4644
+ "enumItems": [],
4645
+ "mappedType": "json"
4646
+ },
4647
+ "deleted_at": {
4648
+ "name": "deleted_at",
4649
+ "type": "timestamptz(6)",
4650
+ "unsigned": false,
4651
+ "autoincrement": false,
4652
+ "primary": false,
4653
+ "nullable": true,
4654
+ "unique": false,
4655
+ "length": 6,
4656
+ "precision": null,
4657
+ "scale": null,
4658
+ "default": null,
4659
+ "comment": null,
4660
+ "collation": null,
4661
+ "enumItems": [],
4662
+ "mappedType": "datetime"
4663
+ },
4664
+ "grouping": {
4665
+ "name": "grouping",
4666
+ "type": "text",
4667
+ "unsigned": false,
4668
+ "autoincrement": false,
4669
+ "primary": false,
4670
+ "nullable": false,
4671
+ "unique": false,
4672
+ "length": null,
4673
+ "precision": null,
4674
+ "scale": null,
4675
+ "default": "'project_task'",
4676
+ "comment": null,
4677
+ "collation": null,
4678
+ "enumItems": [],
4679
+ "mappedType": "text"
4680
+ },
4681
+ "id": {
4682
+ "name": "id",
4683
+ "type": "uuid",
4684
+ "unsigned": false,
4685
+ "autoincrement": false,
4686
+ "primary": true,
4687
+ "nullable": false,
4688
+ "unique": false,
4689
+ "length": null,
4690
+ "precision": null,
4691
+ "scale": null,
4692
+ "default": "gen_random_uuid()",
4693
+ "comment": null,
4694
+ "collation": null,
4695
+ "enumItems": [],
4696
+ "mappedType": "uuid"
4697
+ },
4698
+ "include_already_reported": {
4699
+ "name": "include_already_reported",
4700
+ "type": "boolean",
4701
+ "unsigned": false,
4702
+ "autoincrement": false,
4703
+ "primary": false,
4704
+ "nullable": false,
4705
+ "unique": false,
4706
+ "length": null,
4707
+ "precision": null,
4708
+ "scale": null,
4709
+ "default": "false",
4710
+ "comment": null,
4711
+ "collation": null,
4712
+ "enumItems": [],
4713
+ "mappedType": "boolean"
4714
+ },
4715
+ "nonbillable_mode": {
4716
+ "name": "nonbillable_mode",
4717
+ "type": "text",
4718
+ "unsigned": false,
4719
+ "autoincrement": false,
4720
+ "primary": false,
4721
+ "nullable": false,
4722
+ "unique": false,
4723
+ "length": null,
4724
+ "precision": null,
4725
+ "scale": null,
4726
+ "default": "'separate'",
4727
+ "comment": null,
4728
+ "collation": null,
4729
+ "enumItems": [
4730
+ "separate",
4731
+ "exclude"
4732
+ ],
4733
+ "mappedType": "enum"
4734
+ },
4735
+ "organization_id": {
4736
+ "name": "organization_id",
4737
+ "type": "uuid",
4738
+ "unsigned": false,
4739
+ "autoincrement": false,
4740
+ "primary": false,
4741
+ "nullable": false,
4742
+ "unique": false,
4743
+ "length": null,
4744
+ "precision": null,
4745
+ "scale": null,
4746
+ "default": null,
4747
+ "comment": null,
4748
+ "collation": null,
4749
+ "enumItems": [],
4750
+ "mappedType": "uuid"
4751
+ },
4752
+ "period_from": {
4753
+ "name": "period_from",
4754
+ "type": "date",
4755
+ "unsigned": false,
4756
+ "autoincrement": false,
4757
+ "primary": false,
4758
+ "nullable": false,
4759
+ "unique": false,
4760
+ "length": null,
4761
+ "precision": null,
4762
+ "scale": null,
4763
+ "default": null,
4764
+ "comment": null,
4765
+ "collation": null,
4766
+ "enumItems": [],
4767
+ "mappedType": "date"
4768
+ },
4769
+ "period_kind": {
4770
+ "name": "period_kind",
4771
+ "type": "text",
4772
+ "unsigned": false,
4773
+ "autoincrement": false,
4774
+ "primary": false,
4775
+ "nullable": false,
4776
+ "unique": false,
4777
+ "length": null,
4778
+ "precision": null,
4779
+ "scale": null,
4780
+ "default": "'month'",
4781
+ "comment": null,
4782
+ "collation": null,
4783
+ "enumItems": [
4784
+ "week",
4785
+ "month",
4786
+ "year",
4787
+ "custom"
4788
+ ],
4789
+ "mappedType": "enum"
4790
+ },
4791
+ "period_to": {
4792
+ "name": "period_to",
4793
+ "type": "date",
4794
+ "unsigned": false,
4795
+ "autoincrement": false,
4796
+ "primary": false,
4797
+ "nullable": false,
4798
+ "unique": false,
4799
+ "length": null,
4800
+ "precision": null,
4801
+ "scale": null,
4802
+ "default": null,
4803
+ "comment": null,
4804
+ "collation": null,
4805
+ "enumItems": [],
4806
+ "mappedType": "date"
4807
+ },
4808
+ "reference": {
4809
+ "name": "reference",
4810
+ "type": "text",
4811
+ "unsigned": false,
4812
+ "autoincrement": false,
4813
+ "primary": false,
4814
+ "nullable": false,
4815
+ "unique": false,
4816
+ "length": null,
4817
+ "precision": null,
4818
+ "scale": null,
4819
+ "default": null,
4820
+ "comment": null,
4821
+ "collation": null,
4822
+ "enumItems": [],
4823
+ "mappedType": "text"
4824
+ },
4825
+ "rounding_direction": {
4826
+ "name": "rounding_direction",
4827
+ "type": "text",
4828
+ "unsigned": false,
4829
+ "autoincrement": false,
4830
+ "primary": false,
4831
+ "nullable": false,
4832
+ "unique": false,
4833
+ "length": null,
4834
+ "precision": null,
4835
+ "scale": null,
4836
+ "default": "'up'",
4837
+ "comment": null,
4838
+ "collation": null,
4839
+ "enumItems": [],
4840
+ "mappedType": "text"
4841
+ },
4842
+ "rounding_unit_minutes": {
4843
+ "name": "rounding_unit_minutes",
4844
+ "type": "int",
4845
+ "unsigned": false,
4846
+ "autoincrement": false,
4847
+ "primary": false,
4848
+ "nullable": false,
4849
+ "unique": false,
4850
+ "length": null,
4851
+ "precision": null,
4852
+ "scale": null,
4853
+ "default": "0",
4854
+ "comment": null,
4855
+ "collation": null,
4856
+ "enumItems": [],
4857
+ "mappedType": "integer"
4858
+ },
4859
+ "show_rates": {
4860
+ "name": "show_rates",
4861
+ "type": "boolean",
4862
+ "unsigned": false,
4863
+ "autoincrement": false,
4864
+ "primary": false,
4865
+ "nullable": false,
4866
+ "unique": false,
4867
+ "length": null,
4868
+ "precision": null,
4869
+ "scale": null,
4870
+ "default": "true",
4871
+ "comment": null,
4872
+ "collation": null,
4873
+ "enumItems": [],
4874
+ "mappedType": "boolean"
4875
+ },
4876
+ "status": {
4877
+ "name": "status",
4878
+ "type": "text",
4879
+ "unsigned": false,
4880
+ "autoincrement": false,
4881
+ "primary": false,
4882
+ "nullable": false,
4883
+ "unique": false,
4884
+ "length": null,
4885
+ "precision": null,
4886
+ "scale": null,
4887
+ "default": "'draft'",
4888
+ "comment": null,
4889
+ "collation": null,
4890
+ "enumItems": [
4891
+ "draft",
4892
+ "closed"
4893
+ ],
4894
+ "mappedType": "enum"
4895
+ },
4896
+ "tenant_id": {
4897
+ "name": "tenant_id",
4898
+ "type": "uuid",
4899
+ "unsigned": false,
4900
+ "autoincrement": false,
4901
+ "primary": false,
4902
+ "nullable": false,
4903
+ "unique": false,
4904
+ "length": null,
4905
+ "precision": null,
4906
+ "scale": null,
4907
+ "default": null,
4908
+ "comment": null,
4909
+ "collation": null,
4910
+ "enumItems": [],
4911
+ "mappedType": "uuid"
4912
+ },
4913
+ "title": {
4914
+ "name": "title",
4915
+ "type": "text",
4916
+ "unsigned": false,
4917
+ "autoincrement": false,
4918
+ "primary": false,
4919
+ "nullable": false,
4920
+ "unique": false,
4921
+ "length": null,
4922
+ "precision": null,
4923
+ "scale": null,
4924
+ "default": null,
4925
+ "comment": null,
4926
+ "collation": null,
4927
+ "enumItems": [],
4928
+ "mappedType": "text"
4929
+ },
4930
+ "total_amount": {
4931
+ "name": "total_amount",
4932
+ "type": "numeric(14,2)",
4933
+ "unsigned": false,
4934
+ "autoincrement": false,
4935
+ "primary": false,
4936
+ "nullable": true,
4937
+ "unique": false,
4938
+ "length": null,
4939
+ "precision": 14,
4940
+ "scale": 2,
4941
+ "default": null,
4942
+ "comment": null,
4943
+ "collation": null,
4944
+ "enumItems": [],
4945
+ "mappedType": "decimal"
4946
+ },
4947
+ "total_billable_minutes": {
4948
+ "name": "total_billable_minutes",
4949
+ "type": "int",
4950
+ "unsigned": false,
4951
+ "autoincrement": false,
4952
+ "primary": false,
4953
+ "nullable": true,
4954
+ "unique": false,
4955
+ "length": null,
4956
+ "precision": null,
4957
+ "scale": null,
4958
+ "default": null,
4959
+ "comment": null,
4960
+ "collation": null,
4961
+ "enumItems": [],
4962
+ "mappedType": "integer"
4963
+ },
4964
+ "total_nonbillable_minutes": {
4965
+ "name": "total_nonbillable_minutes",
4966
+ "type": "int",
4967
+ "unsigned": false,
4968
+ "autoincrement": false,
4969
+ "primary": false,
4970
+ "nullable": true,
4971
+ "unique": false,
4972
+ "length": null,
4973
+ "precision": null,
4974
+ "scale": null,
4975
+ "default": null,
4976
+ "comment": null,
4977
+ "collation": null,
4978
+ "enumItems": [],
4979
+ "mappedType": "integer"
4980
+ },
4981
+ "updated_at": {
4982
+ "name": "updated_at",
4983
+ "type": "timestamptz(6)",
4984
+ "unsigned": false,
4985
+ "autoincrement": false,
4986
+ "primary": false,
4987
+ "nullable": false,
4988
+ "unique": false,
4989
+ "length": 6,
4990
+ "precision": null,
4991
+ "scale": null,
4992
+ "default": null,
4993
+ "comment": null,
4994
+ "collation": null,
4995
+ "enumItems": [],
4996
+ "mappedType": "datetime"
4997
+ }
4998
+ },
4999
+ "indexes": [
5000
+ {
5001
+ "columnNames": [
5002
+ "organization_id",
5003
+ "customer_id"
5004
+ ],
5005
+ "composite": true,
5006
+ "constraint": false,
5007
+ "keyName": "staff_time_reports_customer_idx",
5008
+ "primary": false,
5009
+ "unique": false
5010
+ },
5011
+ {
5012
+ "columnNames": [
5013
+ "id"
5014
+ ],
5015
+ "composite": false,
5016
+ "constraint": true,
5017
+ "keyName": "staff_time_reports_pkey",
5018
+ "primary": true,
5019
+ "unique": true
5020
+ },
5021
+ {
5022
+ "columnNames": [
5023
+ "organization_id",
5024
+ "tenant_id",
5025
+ "reference"
5026
+ ],
5027
+ "composite": true,
5028
+ "constraint": false,
5029
+ "keyName": "staff_time_reports_reference_unique_idx",
5030
+ "primary": false,
5031
+ "unique": false
5032
+ },
5033
+ {
5034
+ "columnNames": [
5035
+ "organization_id",
5036
+ "status",
5037
+ "period_from"
5038
+ ],
5039
+ "composite": true,
5040
+ "constraint": false,
5041
+ "keyName": "staff_time_reports_status_idx",
5042
+ "primary": false,
5043
+ "unique": false
5044
+ },
5045
+ {
5046
+ "columnNames": [
5047
+ "tenant_id",
5048
+ "organization_id"
5049
+ ],
5050
+ "composite": true,
5051
+ "constraint": false,
5052
+ "keyName": "staff_time_reports_tenant_org_idx",
5053
+ "primary": false,
5054
+ "unique": false
5055
+ }
5056
+ ],
5057
+ "checks": [
5058
+ {
5059
+ "name": "staff_time_reports_nonbillable_mode_check",
5060
+ "expression": "\"nonbillable_mode\" in ('separate', 'exclude')",
5061
+ "definition": "check (\"nonbillable_mode\" in ('separate', 'exclude'))",
5062
+ "columnName": "nonbillable_mode"
5063
+ },
5064
+ {
5065
+ "name": "staff_time_reports_period_kind_check",
5066
+ "expression": "\"period_kind\" in ('week', 'month', 'year', 'custom')",
5067
+ "definition": "check (\"period_kind\" in ('week', 'month', 'year', 'custom'))",
5068
+ "columnName": "period_kind"
5069
+ },
5070
+ {
5071
+ "name": "staff_time_reports_status_check",
5072
+ "expression": "\"status\" in ('draft', 'closed')",
5073
+ "definition": "check (\"status\" in ('draft', 'closed'))",
5074
+ "columnName": "status"
5075
+ }
5076
+ ],
5077
+ "triggers": [],
5078
+ "foreignKeys": {},
5079
+ "comment": null
5080
+ },
5081
+ {
5082
+ "name": "staff_time_tags",
5083
+ "schema": "public",
5084
+ "columns": {
5085
+ "color": {
5086
+ "name": "color",
5087
+ "type": "text",
5088
+ "unsigned": false,
5089
+ "autoincrement": false,
5090
+ "primary": false,
5091
+ "nullable": true,
5092
+ "unique": false,
5093
+ "length": null,
5094
+ "precision": null,
5095
+ "scale": null,
5096
+ "default": null,
5097
+ "comment": null,
5098
+ "collation": null,
5099
+ "enumItems": [],
5100
+ "mappedType": "text"
5101
+ },
5102
+ "created_at": {
5103
+ "name": "created_at",
5104
+ "type": "timestamptz(6)",
5105
+ "unsigned": false,
5106
+ "autoincrement": false,
5107
+ "primary": false,
5108
+ "nullable": false,
5109
+ "unique": false,
5110
+ "length": 6,
5111
+ "precision": null,
5112
+ "scale": null,
5113
+ "default": null,
5114
+ "comment": null,
5115
+ "collation": null,
5116
+ "enumItems": [],
5117
+ "mappedType": "datetime"
5118
+ },
5119
+ "deleted_at": {
5120
+ "name": "deleted_at",
5121
+ "type": "timestamptz(6)",
5122
+ "unsigned": false,
5123
+ "autoincrement": false,
5124
+ "primary": false,
5125
+ "nullable": true,
5126
+ "unique": false,
5127
+ "length": 6,
5128
+ "precision": null,
5129
+ "scale": null,
5130
+ "default": null,
5131
+ "comment": null,
5132
+ "collation": null,
5133
+ "enumItems": [],
5134
+ "mappedType": "datetime"
5135
+ },
5136
+ "id": {
5137
+ "name": "id",
5138
+ "type": "uuid",
5139
+ "unsigned": false,
5140
+ "autoincrement": false,
5141
+ "primary": true,
5142
+ "nullable": false,
5143
+ "unique": false,
5144
+ "length": null,
5145
+ "precision": null,
5146
+ "scale": null,
5147
+ "default": "gen_random_uuid()",
5148
+ "comment": null,
5149
+ "collation": null,
5150
+ "enumItems": [],
5151
+ "mappedType": "uuid"
5152
+ },
5153
+ "label": {
5154
+ "name": "label",
5155
+ "type": "text",
5156
+ "unsigned": false,
5157
+ "autoincrement": false,
5158
+ "primary": false,
5159
+ "nullable": false,
5160
+ "unique": false,
5161
+ "length": null,
5162
+ "precision": null,
5163
+ "scale": null,
5164
+ "default": null,
5165
+ "comment": null,
5166
+ "collation": null,
5167
+ "enumItems": [],
5168
+ "mappedType": "text"
5169
+ },
5170
+ "organization_id": {
5171
+ "name": "organization_id",
5172
+ "type": "uuid",
5173
+ "unsigned": false,
5174
+ "autoincrement": false,
5175
+ "primary": false,
5176
+ "nullable": false,
5177
+ "unique": false,
5178
+ "length": null,
5179
+ "precision": null,
5180
+ "scale": null,
5181
+ "default": null,
5182
+ "comment": null,
5183
+ "collation": null,
5184
+ "enumItems": [],
5185
+ "mappedType": "uuid"
5186
+ },
5187
+ "slug": {
5188
+ "name": "slug",
5189
+ "type": "text",
5190
+ "unsigned": false,
5191
+ "autoincrement": false,
5192
+ "primary": false,
5193
+ "nullable": false,
5194
+ "unique": false,
5195
+ "length": null,
5196
+ "precision": null,
5197
+ "scale": null,
5198
+ "default": null,
5199
+ "comment": null,
5200
+ "collation": null,
5201
+ "enumItems": [],
5202
+ "mappedType": "text"
5203
+ },
5204
+ "tenant_id": {
5205
+ "name": "tenant_id",
5206
+ "type": "uuid",
5207
+ "unsigned": false,
5208
+ "autoincrement": false,
5209
+ "primary": false,
5210
+ "nullable": false,
5211
+ "unique": false,
5212
+ "length": null,
5213
+ "precision": null,
5214
+ "scale": null,
5215
+ "default": null,
5216
+ "comment": null,
5217
+ "collation": null,
5218
+ "enumItems": [],
5219
+ "mappedType": "uuid"
5220
+ },
5221
+ "updated_at": {
5222
+ "name": "updated_at",
5223
+ "type": "timestamptz(6)",
5224
+ "unsigned": false,
5225
+ "autoincrement": false,
5226
+ "primary": false,
5227
+ "nullable": false,
5228
+ "unique": false,
5229
+ "length": 6,
5230
+ "precision": null,
5231
+ "scale": null,
5232
+ "default": null,
5233
+ "comment": null,
5234
+ "collation": null,
5235
+ "enumItems": [],
5236
+ "mappedType": "datetime"
5237
+ }
5238
+ },
5239
+ "indexes": [
5240
+ {
5241
+ "columnNames": [
5242
+ "id"
5243
+ ],
5244
+ "composite": false,
5245
+ "constraint": true,
5246
+ "keyName": "staff_time_tags_pkey",
5247
+ "primary": true,
5248
+ "unique": true
5249
+ },
5250
+ {
5251
+ "columnNames": [
5252
+ "organization_id",
5253
+ "tenant_id",
5254
+ "slug"
5255
+ ],
5256
+ "composite": true,
5257
+ "constraint": false,
5258
+ "keyName": "staff_time_tags_slug_unique_idx",
5259
+ "primary": false,
5260
+ "unique": false
5261
+ },
5262
+ {
5263
+ "columnNames": [
5264
+ "tenant_id",
5265
+ "organization_id"
5266
+ ],
5267
+ "composite": true,
5268
+ "constraint": false,
5269
+ "keyName": "staff_time_tags_tenant_org_idx",
5270
+ "primary": false,
5271
+ "unique": false
5272
+ }
5273
+ ],
5274
+ "checks": [],
5275
+ "triggers": [],
5276
+ "foreignKeys": {},
5277
+ "comment": null
5278
+ },
5279
+ {
5280
+ "name": "staff_time_task_comments",
5281
+ "schema": "public",
5282
+ "columns": {
5283
+ "author_user_id": {
5284
+ "name": "author_user_id",
5285
+ "type": "uuid",
5286
+ "unsigned": false,
5287
+ "autoincrement": false,
5288
+ "primary": false,
5289
+ "nullable": true,
5290
+ "unique": false,
5291
+ "length": null,
5292
+ "precision": null,
5293
+ "scale": null,
5294
+ "default": null,
5295
+ "comment": null,
5296
+ "collation": null,
5297
+ "enumItems": [],
5298
+ "mappedType": "uuid"
5299
+ },
5300
+ "body": {
5301
+ "name": "body",
5302
+ "type": "text",
5303
+ "unsigned": false,
5304
+ "autoincrement": false,
5305
+ "primary": false,
5306
+ "nullable": false,
5307
+ "unique": false,
5308
+ "length": null,
5309
+ "precision": null,
5310
+ "scale": null,
5311
+ "default": null,
5312
+ "comment": null,
5313
+ "collation": null,
5314
+ "enumItems": [],
5315
+ "mappedType": "text"
5316
+ },
5317
+ "created_at": {
5318
+ "name": "created_at",
5319
+ "type": "timestamptz(6)",
5320
+ "unsigned": false,
5321
+ "autoincrement": false,
5322
+ "primary": false,
5323
+ "nullable": false,
5324
+ "unique": false,
5325
+ "length": 6,
5326
+ "precision": null,
5327
+ "scale": null,
5328
+ "default": null,
5329
+ "comment": null,
5330
+ "collation": null,
5331
+ "enumItems": [],
5332
+ "mappedType": "datetime"
5333
+ },
5334
+ "deleted_at": {
5335
+ "name": "deleted_at",
5336
+ "type": "timestamptz(6)",
5337
+ "unsigned": false,
5338
+ "autoincrement": false,
5339
+ "primary": false,
5340
+ "nullable": true,
5341
+ "unique": false,
5342
+ "length": 6,
5343
+ "precision": null,
5344
+ "scale": null,
5345
+ "default": null,
5346
+ "comment": null,
5347
+ "collation": null,
5348
+ "enumItems": [],
5349
+ "mappedType": "datetime"
5350
+ },
5351
+ "id": {
5352
+ "name": "id",
5353
+ "type": "uuid",
5354
+ "unsigned": false,
5355
+ "autoincrement": false,
5356
+ "primary": true,
5357
+ "nullable": false,
5358
+ "unique": false,
5359
+ "length": null,
5360
+ "precision": null,
5361
+ "scale": null,
5362
+ "default": "gen_random_uuid()",
5363
+ "comment": null,
5364
+ "collation": null,
5365
+ "enumItems": [],
5366
+ "mappedType": "uuid"
5367
+ },
5368
+ "organization_id": {
5369
+ "name": "organization_id",
5370
+ "type": "uuid",
5371
+ "unsigned": false,
5372
+ "autoincrement": false,
5373
+ "primary": false,
5374
+ "nullable": false,
5375
+ "unique": false,
5376
+ "length": null,
5377
+ "precision": null,
5378
+ "scale": null,
5379
+ "default": null,
5380
+ "comment": null,
5381
+ "collation": null,
5382
+ "enumItems": [],
5383
+ "mappedType": "uuid"
5384
+ },
5385
+ "task_id": {
5386
+ "name": "task_id",
5387
+ "type": "uuid",
5388
+ "unsigned": false,
5389
+ "autoincrement": false,
5390
+ "primary": false,
5391
+ "nullable": false,
5392
+ "unique": false,
5393
+ "length": null,
5394
+ "precision": null,
5395
+ "scale": null,
5396
+ "default": null,
5397
+ "comment": null,
5398
+ "collation": null,
5399
+ "enumItems": [],
5400
+ "mappedType": "uuid"
5401
+ },
5402
+ "tenant_id": {
5403
+ "name": "tenant_id",
5404
+ "type": "uuid",
5405
+ "unsigned": false,
5406
+ "autoincrement": false,
5407
+ "primary": false,
5408
+ "nullable": false,
5409
+ "unique": false,
5410
+ "length": null,
5411
+ "precision": null,
5412
+ "scale": null,
5413
+ "default": null,
5414
+ "comment": null,
5415
+ "collation": null,
5416
+ "enumItems": [],
5417
+ "mappedType": "uuid"
5418
+ },
5419
+ "updated_at": {
5420
+ "name": "updated_at",
5421
+ "type": "timestamptz(6)",
5422
+ "unsigned": false,
5423
+ "autoincrement": false,
5424
+ "primary": false,
5425
+ "nullable": false,
5426
+ "unique": false,
5427
+ "length": 6,
5428
+ "precision": null,
5429
+ "scale": null,
5430
+ "default": null,
5431
+ "comment": null,
5432
+ "collation": null,
5433
+ "enumItems": [],
5434
+ "mappedType": "datetime"
5435
+ }
5436
+ },
5437
+ "indexes": [
5438
+ {
5439
+ "columnNames": [
5440
+ "id"
5441
+ ],
5442
+ "composite": false,
5443
+ "constraint": true,
5444
+ "keyName": "staff_time_task_comments_pkey",
5445
+ "primary": true,
5446
+ "unique": true
5447
+ },
5448
+ {
5449
+ "columnNames": [
5450
+ "organization_id",
5451
+ "task_id",
5452
+ "created_at"
5453
+ ],
5454
+ "composite": true,
5455
+ "constraint": false,
5456
+ "keyName": "staff_time_task_comments_task_idx",
5457
+ "primary": false,
5458
+ "unique": false
5459
+ },
5460
+ {
5461
+ "columnNames": [
5462
+ "tenant_id",
5463
+ "organization_id"
5464
+ ],
5465
+ "composite": true,
5466
+ "constraint": false,
5467
+ "keyName": "staff_time_task_comments_tenant_org_idx",
5468
+ "primary": false,
5469
+ "unique": false
5470
+ }
5471
+ ],
5472
+ "checks": [],
5473
+ "triggers": [],
5474
+ "foreignKeys": {},
5475
+ "comment": null
5476
+ },
5477
+ {
5478
+ "name": "staff_time_task_statuses",
5479
+ "schema": "public",
5480
+ "columns": {
5481
+ "color": {
5482
+ "name": "color",
5483
+ "type": "text",
5484
+ "unsigned": false,
5485
+ "autoincrement": false,
5486
+ "primary": false,
5487
+ "nullable": true,
5488
+ "unique": false,
5489
+ "length": null,
5490
+ "precision": null,
5491
+ "scale": null,
5492
+ "default": null,
5493
+ "comment": null,
5494
+ "collation": null,
5495
+ "enumItems": [],
5496
+ "mappedType": "text"
5497
+ },
5498
+ "created_at": {
5499
+ "name": "created_at",
5500
+ "type": "timestamptz(6)",
5501
+ "unsigned": false,
5502
+ "autoincrement": false,
5503
+ "primary": false,
5504
+ "nullable": false,
5505
+ "unique": false,
5506
+ "length": 6,
5507
+ "precision": null,
5508
+ "scale": null,
5509
+ "default": null,
5510
+ "comment": null,
5511
+ "collation": null,
5512
+ "enumItems": [],
5513
+ "mappedType": "datetime"
5514
+ },
5515
+ "deleted_at": {
5516
+ "name": "deleted_at",
5517
+ "type": "timestamptz(6)",
5518
+ "unsigned": false,
5519
+ "autoincrement": false,
5520
+ "primary": false,
5521
+ "nullable": true,
5522
+ "unique": false,
5523
+ "length": 6,
5524
+ "precision": null,
5525
+ "scale": null,
5526
+ "default": null,
5527
+ "comment": null,
5528
+ "collation": null,
5529
+ "enumItems": [],
5530
+ "mappedType": "datetime"
5531
+ },
5532
+ "id": {
5533
+ "name": "id",
5534
+ "type": "uuid",
5535
+ "unsigned": false,
5536
+ "autoincrement": false,
5537
+ "primary": true,
5538
+ "nullable": false,
5539
+ "unique": false,
5540
+ "length": null,
5541
+ "precision": null,
5542
+ "scale": null,
5543
+ "default": "gen_random_uuid()",
5544
+ "comment": null,
5545
+ "collation": null,
5546
+ "enumItems": [],
5547
+ "mappedType": "uuid"
5548
+ },
5549
+ "is_default": {
5550
+ "name": "is_default",
5551
+ "type": "boolean",
5552
+ "unsigned": false,
5553
+ "autoincrement": false,
5554
+ "primary": false,
5555
+ "nullable": false,
5556
+ "unique": false,
5557
+ "length": null,
5558
+ "precision": null,
5559
+ "scale": null,
5560
+ "default": "false",
5561
+ "comment": null,
5562
+ "collation": null,
5563
+ "enumItems": [],
5564
+ "mappedType": "boolean"
5565
+ },
5566
+ "is_done": {
5567
+ "name": "is_done",
5568
+ "type": "boolean",
5569
+ "unsigned": false,
5570
+ "autoincrement": false,
5571
+ "primary": false,
5572
+ "nullable": false,
5573
+ "unique": false,
5574
+ "length": null,
5575
+ "precision": null,
5576
+ "scale": null,
5577
+ "default": "false",
5578
+ "comment": null,
5579
+ "collation": null,
5580
+ "enumItems": [],
5581
+ "mappedType": "boolean"
5582
+ },
5583
+ "name": {
5584
+ "name": "name",
5585
+ "type": "text",
5586
+ "unsigned": false,
5587
+ "autoincrement": false,
5588
+ "primary": false,
5589
+ "nullable": false,
5590
+ "unique": false,
5591
+ "length": null,
5592
+ "precision": null,
5593
+ "scale": null,
5594
+ "default": null,
5595
+ "comment": null,
5596
+ "collation": null,
5597
+ "enumItems": [],
5598
+ "mappedType": "text"
5599
+ },
5600
+ "organization_id": {
5601
+ "name": "organization_id",
5602
+ "type": "uuid",
5603
+ "unsigned": false,
5604
+ "autoincrement": false,
5605
+ "primary": false,
5606
+ "nullable": false,
5607
+ "unique": false,
5608
+ "length": null,
5609
+ "precision": null,
5610
+ "scale": null,
5611
+ "default": null,
5612
+ "comment": null,
5613
+ "collation": null,
5614
+ "enumItems": [],
5615
+ "mappedType": "uuid"
5616
+ },
5617
+ "position": {
5618
+ "name": "position",
5619
+ "type": "int",
5620
+ "unsigned": false,
5621
+ "autoincrement": false,
5622
+ "primary": false,
5623
+ "nullable": false,
5624
+ "unique": false,
5625
+ "length": null,
5626
+ "precision": null,
5627
+ "scale": null,
5628
+ "default": "0",
5629
+ "comment": null,
5630
+ "collation": null,
5631
+ "enumItems": [],
5632
+ "mappedType": "integer"
5633
+ },
5634
+ "slug": {
5635
+ "name": "slug",
5636
+ "type": "text",
5637
+ "unsigned": false,
5638
+ "autoincrement": false,
5639
+ "primary": false,
5640
+ "nullable": false,
5641
+ "unique": false,
5642
+ "length": null,
5643
+ "precision": null,
5644
+ "scale": null,
5645
+ "default": null,
5646
+ "comment": null,
5647
+ "collation": null,
5648
+ "enumItems": [],
5649
+ "mappedType": "text"
5650
+ },
5651
+ "tenant_id": {
5652
+ "name": "tenant_id",
5653
+ "type": "uuid",
5654
+ "unsigned": false,
5655
+ "autoincrement": false,
5656
+ "primary": false,
5657
+ "nullable": false,
5658
+ "unique": false,
5659
+ "length": null,
5660
+ "precision": null,
5661
+ "scale": null,
5662
+ "default": null,
5663
+ "comment": null,
5664
+ "collation": null,
5665
+ "enumItems": [],
5666
+ "mappedType": "uuid"
5667
+ },
5668
+ "time_project_id": {
5669
+ "name": "time_project_id",
5670
+ "type": "uuid",
5671
+ "unsigned": false,
5672
+ "autoincrement": false,
5673
+ "primary": false,
5674
+ "nullable": false,
5675
+ "unique": false,
5676
+ "length": null,
5677
+ "precision": null,
5678
+ "scale": null,
5679
+ "default": null,
5680
+ "comment": null,
5681
+ "collation": null,
5682
+ "enumItems": [],
5683
+ "mappedType": "uuid"
5684
+ },
5685
+ "updated_at": {
5686
+ "name": "updated_at",
5687
+ "type": "timestamptz(6)",
5688
+ "unsigned": false,
5689
+ "autoincrement": false,
5690
+ "primary": false,
5691
+ "nullable": false,
5692
+ "unique": false,
5693
+ "length": 6,
5694
+ "precision": null,
5695
+ "scale": null,
5696
+ "default": null,
5697
+ "comment": null,
5698
+ "collation": null,
5699
+ "enumItems": [],
5700
+ "mappedType": "datetime"
5701
+ }
5702
+ },
5703
+ "indexes": [
5704
+ {
5705
+ "columnNames": [
5706
+ "id"
5707
+ ],
5708
+ "composite": false,
5709
+ "constraint": true,
5710
+ "keyName": "staff_time_task_statuses_pkey",
5711
+ "primary": true,
5712
+ "unique": true
5713
+ },
5714
+ {
5715
+ "columnNames": [
5716
+ "organization_id",
5717
+ "time_project_id",
5718
+ "position"
5719
+ ],
5720
+ "composite": true,
5721
+ "constraint": false,
5722
+ "keyName": "staff_time_task_statuses_project_idx",
5723
+ "primary": false,
5724
+ "unique": false
5725
+ },
5726
+ {
5727
+ "columnNames": [
5728
+ "organization_id",
5729
+ "tenant_id",
5730
+ "time_project_id",
5731
+ "slug"
5732
+ ],
5733
+ "composite": true,
5734
+ "constraint": false,
5735
+ "keyName": "staff_time_task_statuses_slug_unique_idx",
5736
+ "primary": false,
5737
+ "unique": false
5738
+ },
5739
+ {
5740
+ "columnNames": [
5741
+ "tenant_id",
5742
+ "organization_id"
5743
+ ],
5744
+ "composite": true,
5745
+ "constraint": false,
5746
+ "keyName": "staff_time_task_statuses_tenant_org_idx",
5747
+ "primary": false,
5748
+ "unique": false
5749
+ }
5750
+ ],
5751
+ "checks": [],
5752
+ "triggers": [],
5753
+ "foreignKeys": {},
5754
+ "comment": null
5755
+ },
5756
+ {
5757
+ "name": "staff_time_task_tags",
5758
+ "schema": "public",
5759
+ "columns": {
5760
+ "created_at": {
5761
+ "name": "created_at",
5762
+ "type": "timestamptz(6)",
5763
+ "unsigned": false,
5764
+ "autoincrement": false,
5765
+ "primary": false,
5766
+ "nullable": false,
5767
+ "unique": false,
5768
+ "length": 6,
5769
+ "precision": null,
5770
+ "scale": null,
5771
+ "default": null,
5772
+ "comment": null,
5773
+ "collation": null,
5774
+ "enumItems": [],
5775
+ "mappedType": "datetime"
5776
+ },
5777
+ "id": {
5778
+ "name": "id",
5779
+ "type": "uuid",
5780
+ "unsigned": false,
5781
+ "autoincrement": false,
5782
+ "primary": true,
5783
+ "nullable": false,
5784
+ "unique": false,
5785
+ "length": null,
5786
+ "precision": null,
5787
+ "scale": null,
5788
+ "default": "gen_random_uuid()",
5789
+ "comment": null,
5790
+ "collation": null,
5791
+ "enumItems": [],
5792
+ "mappedType": "uuid"
5793
+ },
5794
+ "organization_id": {
5795
+ "name": "organization_id",
5796
+ "type": "uuid",
5797
+ "unsigned": false,
5798
+ "autoincrement": false,
5799
+ "primary": false,
5800
+ "nullable": false,
5801
+ "unique": false,
5802
+ "length": null,
5803
+ "precision": null,
5804
+ "scale": null,
5805
+ "default": null,
5806
+ "comment": null,
5807
+ "collation": null,
5808
+ "enumItems": [],
5809
+ "mappedType": "uuid"
5810
+ },
5811
+ "tag_id": {
5812
+ "name": "tag_id",
5813
+ "type": "uuid",
5814
+ "unsigned": false,
5815
+ "autoincrement": false,
5816
+ "primary": false,
5817
+ "nullable": false,
5818
+ "unique": false,
5819
+ "length": null,
5820
+ "precision": null,
5821
+ "scale": null,
5822
+ "default": null,
5823
+ "comment": null,
5824
+ "collation": null,
5825
+ "enumItems": [],
5826
+ "mappedType": "uuid"
5827
+ },
5828
+ "task_id": {
5829
+ "name": "task_id",
5830
+ "type": "uuid",
5831
+ "unsigned": false,
5832
+ "autoincrement": false,
5833
+ "primary": false,
5834
+ "nullable": false,
5835
+ "unique": false,
5836
+ "length": null,
5837
+ "precision": null,
5838
+ "scale": null,
5839
+ "default": null,
5840
+ "comment": null,
5841
+ "collation": null,
5842
+ "enumItems": [],
5843
+ "mappedType": "uuid"
2910
5844
  },
5845
+ "tenant_id": {
5846
+ "name": "tenant_id",
5847
+ "type": "uuid",
5848
+ "unsigned": false,
5849
+ "autoincrement": false,
5850
+ "primary": false,
5851
+ "nullable": false,
5852
+ "unique": false,
5853
+ "length": null,
5854
+ "precision": null,
5855
+ "scale": null,
5856
+ "default": null,
5857
+ "comment": null,
5858
+ "collation": null,
5859
+ "enumItems": [],
5860
+ "mappedType": "uuid"
5861
+ }
5862
+ },
5863
+ "indexes": [
2911
5864
  {
2912
5865
  "columnNames": [
2913
5866
  "id"
2914
5867
  ],
2915
5868
  "composite": false,
2916
5869
  "constraint": true,
2917
- "keyName": "staff_time_project_members_pkey",
5870
+ "keyName": "staff_time_task_tags_pkey",
2918
5871
  "primary": true,
2919
5872
  "unique": true
2920
5873
  },
2921
5874
  {
2922
5875
  "columnNames": [
2923
5876
  "organization_id",
2924
- "time_project_id"
5877
+ "task_id"
2925
5878
  ],
2926
5879
  "composite": true,
2927
5880
  "constraint": false,
2928
- "keyName": "staff_time_project_members_project_idx",
5881
+ "keyName": "staff_time_task_tags_task_idx",
2929
5882
  "primary": false,
2930
5883
  "unique": false
2931
5884
  },
@@ -2936,86 +5889,64 @@
2936
5889
  ],
2937
5890
  "composite": true,
2938
5891
  "constraint": false,
2939
- "keyName": "staff_time_project_members_tenant_org_idx",
5892
+ "keyName": "staff_time_task_tags_tenant_org_idx",
2940
5893
  "primary": false,
2941
5894
  "unique": false
2942
5895
  },
2943
5896
  {
2944
5897
  "columnNames": [
2945
- "organization_id",
2946
- "tenant_id",
2947
- "time_project_id",
2948
- "staff_member_id"
5898
+ "tag_id",
5899
+ "task_id"
2949
5900
  ],
2950
5901
  "composite": true,
2951
5902
  "constraint": false,
2952
- "keyName": "staff_time_project_members_unique_idx",
5903
+ "keyName": "staff_time_task_tags_unique_idx",
2953
5904
  "primary": false,
2954
5905
  "unique": false
2955
5906
  }
2956
5907
  ],
2957
- "checks": [
2958
- {
2959
- "name": "staff_time_project_members_status_check",
2960
- "expression": "\"status\" in ('active', 'inactive')",
2961
- "definition": "check (\"status\" in ('active', 'inactive'))",
2962
- "columnName": "status"
2963
- }
2964
- ],
5908
+ "checks": [],
5909
+ "triggers": [],
2965
5910
  "foreignKeys": {},
2966
5911
  "comment": null
2967
5912
  },
2968
5913
  {
2969
- "name": "staff_time_projects",
5914
+ "name": "staff_time_tasks",
2970
5915
  "schema": "public",
2971
5916
  "columns": {
2972
- "code": {
2973
- "name": "code",
2974
- "type": "text",
2975
- "unsigned": false,
2976
- "autoincrement": false,
2977
- "primary": false,
2978
- "nullable": false,
2979
- "unique": false,
2980
- "length": null,
2981
- "precision": null,
2982
- "scale": null,
2983
- "default": null,
2984
- "comment": null,
2985
- "enumItems": [],
2986
- "mappedType": "text"
2987
- },
2988
- "color": {
2989
- "name": "color",
2990
- "type": "varchar(20)",
5917
+ "assignee_staff_member_id": {
5918
+ "name": "assignee_staff_member_id",
5919
+ "type": "uuid",
2991
5920
  "unsigned": false,
2992
5921
  "autoincrement": false,
2993
5922
  "primary": false,
2994
5923
  "nullable": true,
2995
5924
  "unique": false,
2996
- "length": 20,
5925
+ "length": null,
2997
5926
  "precision": null,
2998
5927
  "scale": null,
2999
5928
  "default": null,
3000
5929
  "comment": null,
5930
+ "collation": null,
3001
5931
  "enumItems": [],
3002
- "mappedType": "string"
5932
+ "mappedType": "uuid"
3003
5933
  },
3004
- "cost_center": {
3005
- "name": "cost_center",
3006
- "type": "text",
5934
+ "closed_at": {
5935
+ "name": "closed_at",
5936
+ "type": "timestamptz(6)",
3007
5937
  "unsigned": false,
3008
5938
  "autoincrement": false,
3009
5939
  "primary": false,
3010
5940
  "nullable": true,
3011
5941
  "unique": false,
3012
- "length": null,
5942
+ "length": 6,
3013
5943
  "precision": null,
3014
5944
  "scale": null,
3015
5945
  "default": null,
3016
5946
  "comment": null,
5947
+ "collation": null,
3017
5948
  "enumItems": [],
3018
- "mappedType": "text"
5949
+ "mappedType": "datetime"
3019
5950
  },
3020
5951
  "created_at": {
3021
5952
  "name": "created_at",
@@ -3030,11 +5961,12 @@
3030
5961
  "scale": null,
3031
5962
  "default": null,
3032
5963
  "comment": null,
5964
+ "collation": null,
3033
5965
  "enumItems": [],
3034
5966
  "mappedType": "datetime"
3035
5967
  },
3036
- "customer_id": {
3037
- "name": "customer_id",
5968
+ "created_by_user_id": {
5969
+ "name": "created_by_user_id",
3038
5970
  "type": "uuid",
3039
5971
  "unsigned": false,
3040
5972
  "autoincrement": false,
@@ -3046,6 +5978,7 @@
3046
5978
  "scale": null,
3047
5979
  "default": null,
3048
5980
  "comment": null,
5981
+ "collation": null,
3049
5982
  "enumItems": [],
3050
5983
  "mappedType": "uuid"
3051
5984
  },
@@ -3062,6 +5995,7 @@
3062
5995
  "scale": null,
3063
5996
  "default": null,
3064
5997
  "comment": null,
5998
+ "collation": null,
3065
5999
  "enumItems": [],
3066
6000
  "mappedType": "datetime"
3067
6001
  },
@@ -3078,6 +6012,7 @@
3078
6012
  "scale": null,
3079
6013
  "default": null,
3080
6014
  "comment": null,
6015
+ "collation": null,
3081
6016
  "enumItems": [],
3082
6017
  "mappedType": "text"
3083
6018
  },
@@ -3094,12 +6029,13 @@
3094
6029
  "scale": null,
3095
6030
  "default": "gen_random_uuid()",
3096
6031
  "comment": null,
6032
+ "collation": null,
3097
6033
  "enumItems": [],
3098
6034
  "mappedType": "uuid"
3099
6035
  },
3100
- "name": {
3101
- "name": "name",
3102
- "type": "text",
6036
+ "organization_id": {
6037
+ "name": "organization_id",
6038
+ "type": "uuid",
3103
6039
  "unsigned": false,
3104
6040
  "autoincrement": false,
3105
6041
  "primary": false,
@@ -3110,76 +6046,81 @@
3110
6046
  "scale": null,
3111
6047
  "default": null,
3112
6048
  "comment": null,
6049
+ "collation": null,
3113
6050
  "enumItems": [],
3114
- "mappedType": "text"
6051
+ "mappedType": "uuid"
3115
6052
  },
3116
- "organization_id": {
3117
- "name": "organization_id",
6053
+ "parent_task_id": {
6054
+ "name": "parent_task_id",
3118
6055
  "type": "uuid",
3119
6056
  "unsigned": false,
3120
6057
  "autoincrement": false,
3121
6058
  "primary": false,
3122
- "nullable": false,
6059
+ "nullable": true,
3123
6060
  "unique": false,
3124
6061
  "length": null,
3125
6062
  "precision": null,
3126
6063
  "scale": null,
3127
6064
  "default": null,
3128
6065
  "comment": null,
6066
+ "collation": null,
3129
6067
  "enumItems": [],
3130
6068
  "mappedType": "uuid"
3131
6069
  },
3132
- "owner_user_id": {
3133
- "name": "owner_user_id",
3134
- "type": "uuid",
6070
+ "position": {
6071
+ "name": "position",
6072
+ "type": "int",
3135
6073
  "unsigned": false,
3136
6074
  "autoincrement": false,
3137
6075
  "primary": false,
3138
- "nullable": true,
6076
+ "nullable": false,
3139
6077
  "unique": false,
3140
6078
  "length": null,
3141
6079
  "precision": null,
3142
6080
  "scale": null,
3143
- "default": null,
6081
+ "default": "0",
3144
6082
  "comment": null,
6083
+ "collation": null,
3145
6084
  "enumItems": [],
3146
- "mappedType": "uuid"
6085
+ "mappedType": "integer"
3147
6086
  },
3148
- "project_type": {
3149
- "name": "project_type",
6087
+ "reference": {
6088
+ "name": "reference",
3150
6089
  "type": "text",
3151
6090
  "unsigned": false,
3152
6091
  "autoincrement": false,
3153
6092
  "primary": false,
3154
- "nullable": true,
6093
+ "nullable": false,
3155
6094
  "unique": false,
3156
6095
  "length": null,
3157
6096
  "precision": null,
3158
6097
  "scale": null,
3159
6098
  "default": null,
3160
6099
  "comment": null,
6100
+ "collation": null,
3161
6101
  "enumItems": [],
3162
6102
  "mappedType": "text"
3163
6103
  },
3164
- "start_date": {
3165
- "name": "start_date",
3166
- "type": "date",
6104
+ "sequence_number": {
6105
+ "name": "sequence_number",
6106
+ "type": "int",
3167
6107
  "unsigned": false,
3168
6108
  "autoincrement": false,
3169
6109
  "primary": false,
3170
- "nullable": true,
6110
+ "nullable": false,
3171
6111
  "unique": false,
3172
6112
  "length": null,
3173
6113
  "precision": null,
3174
6114
  "scale": null,
3175
- "default": null,
6115
+ "default": "0",
3176
6116
  "comment": null,
6117
+ "collation": null,
3177
6118
  "enumItems": [],
3178
- "mappedType": "date"
6119
+ "mappedType": "integer"
3179
6120
  },
3180
- "status": {
3181
- "name": "status",
3182
- "type": "text",
6121
+ "task_status_id": {
6122
+ "name": "task_status_id",
6123
+ "type": "uuid",
3183
6124
  "unsigned": false,
3184
6125
  "autoincrement": false,
3185
6126
  "primary": false,
@@ -3188,14 +6129,11 @@
3188
6129
  "length": null,
3189
6130
  "precision": null,
3190
6131
  "scale": null,
3191
- "default": "'active'",
6132
+ "default": null,
3192
6133
  "comment": null,
3193
- "enumItems": [
3194
- "active",
3195
- "on_hold",
3196
- "completed"
3197
- ],
3198
- "mappedType": "enum"
6134
+ "collation": null,
6135
+ "enumItems": [],
6136
+ "mappedType": "uuid"
3199
6137
  },
3200
6138
  "tenant_id": {
3201
6139
  "name": "tenant_id",
@@ -3210,9 +6148,44 @@
3210
6148
  "scale": null,
3211
6149
  "default": null,
3212
6150
  "comment": null,
6151
+ "collation": null,
6152
+ "enumItems": [],
6153
+ "mappedType": "uuid"
6154
+ },
6155
+ "time_project_id": {
6156
+ "name": "time_project_id",
6157
+ "type": "uuid",
6158
+ "unsigned": false,
6159
+ "autoincrement": false,
6160
+ "primary": false,
6161
+ "nullable": false,
6162
+ "unique": false,
6163
+ "length": null,
6164
+ "precision": null,
6165
+ "scale": null,
6166
+ "default": null,
6167
+ "comment": null,
6168
+ "collation": null,
3213
6169
  "enumItems": [],
3214
6170
  "mappedType": "uuid"
3215
6171
  },
6172
+ "title": {
6173
+ "name": "title",
6174
+ "type": "text",
6175
+ "unsigned": false,
6176
+ "autoincrement": false,
6177
+ "primary": false,
6178
+ "nullable": false,
6179
+ "unique": false,
6180
+ "length": null,
6181
+ "precision": null,
6182
+ "scale": null,
6183
+ "default": null,
6184
+ "comment": null,
6185
+ "collation": null,
6186
+ "enumItems": [],
6187
+ "mappedType": "text"
6188
+ },
3216
6189
  "updated_at": {
3217
6190
  "name": "updated_at",
3218
6191
  "type": "timestamptz(6)",
@@ -3226,6 +6199,7 @@
3226
6199
  "scale": null,
3227
6200
  "default": null,
3228
6201
  "comment": null,
6202
+ "collation": null,
3229
6203
  "enumItems": [],
3230
6204
  "mappedType": "datetime"
3231
6205
  }
@@ -3234,12 +6208,35 @@
3234
6208
  {
3235
6209
  "columnNames": [
3236
6210
  "organization_id",
3237
- "tenant_id",
3238
- "code"
6211
+ "assignee_staff_member_id"
3239
6212
  ],
3240
6213
  "composite": true,
3241
6214
  "constraint": false,
3242
- "keyName": "staff_time_projects_code_unique_idx",
6215
+ "keyName": "staff_time_tasks_assignee_idx",
6216
+ "primary": false,
6217
+ "unique": false
6218
+ },
6219
+ {
6220
+ "columnNames": [
6221
+ "organization_id",
6222
+ "time_project_id",
6223
+ "task_status_id",
6224
+ "position"
6225
+ ],
6226
+ "composite": true,
6227
+ "constraint": false,
6228
+ "keyName": "staff_time_tasks_board_idx",
6229
+ "primary": false,
6230
+ "unique": false
6231
+ },
6232
+ {
6233
+ "columnNames": [
6234
+ "organization_id",
6235
+ "parent_task_id"
6236
+ ],
6237
+ "composite": true,
6238
+ "constraint": false,
6239
+ "keyName": "staff_time_tasks_parent_idx",
3243
6240
  "primary": false,
3244
6241
  "unique": false
3245
6242
  },
@@ -3249,30 +6246,49 @@
3249
6246
  ],
3250
6247
  "composite": false,
3251
6248
  "constraint": true,
3252
- "keyName": "staff_time_projects_pkey",
6249
+ "keyName": "staff_time_tasks_pkey",
3253
6250
  "primary": true,
3254
6251
  "unique": true
3255
6252
  },
3256
6253
  {
3257
6254
  "columnNames": [
6255
+ "organization_id",
3258
6256
  "tenant_id",
3259
- "organization_id"
6257
+ "reference"
3260
6258
  ],
3261
6259
  "composite": true,
3262
6260
  "constraint": false,
3263
- "keyName": "staff_time_projects_tenant_org_idx",
6261
+ "keyName": "staff_time_tasks_reference_unique_idx",
3264
6262
  "primary": false,
3265
6263
  "unique": false
3266
- }
3267
- ],
3268
- "checks": [
6264
+ },
3269
6265
  {
3270
- "name": "staff_time_projects_status_check",
3271
- "expression": "\"status\" in ('active', 'on_hold', 'completed')",
3272
- "definition": "check (\"status\" in ('active', 'on_hold', 'completed'))",
3273
- "columnName": "status"
6266
+ "columnNames": [
6267
+ "organization_id",
6268
+ "tenant_id",
6269
+ "time_project_id",
6270
+ "sequence_number"
6271
+ ],
6272
+ "composite": true,
6273
+ "constraint": false,
6274
+ "keyName": "staff_time_tasks_sequence_unique_idx",
6275
+ "primary": false,
6276
+ "unique": false
6277
+ },
6278
+ {
6279
+ "columnNames": [
6280
+ "tenant_id",
6281
+ "organization_id"
6282
+ ],
6283
+ "composite": true,
6284
+ "constraint": false,
6285
+ "keyName": "staff_time_tasks_tenant_org_idx",
6286
+ "primary": false,
6287
+ "unique": false
3274
6288
  }
3275
6289
  ],
6290
+ "checks": [],
6291
+ "triggers": [],
3276
6292
  "foreignKeys": {},
3277
6293
  "comment": null
3278
6294
  }