@procxo/shared 1.0.1 → 1.0.4

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 (511) hide show
  1. package/README.md +5 -5
  2. package/package.json +4 -2
  3. package/src/config/index.ts +5 -0
  4. package/src/config/ormconfig.factory.ts +102 -0
  5. package/src/config/typeorm.config.ts +22 -0
  6. package/src/core/constant/index.ts +1 -0
  7. package/src/core/constant/notification-preference.ts +113 -0
  8. package/src/core/json/core-data/currency.json +8 -0
  9. package/{dist → src}/core/json/core-data/department.json +38 -38
  10. package/{dist → src}/core/json/core-data/permission.json +898 -898
  11. package/src/core/json/core-data/role.json +30 -0
  12. package/src/core/json/core-data/user.json +12 -0
  13. package/src/core/json/geographic-data/cities.json +54693 -0
  14. package/src/core/json/geographic-data/countries.json +31 -0
  15. package/src/database/entities/activity-logs.entity.ts +31 -0
  16. package/src/database/entities/address.entity.ts +31 -0
  17. package/src/database/entities/alert.entity.ts +139 -0
  18. package/src/database/entities/approval-condition.entity.ts +48 -0
  19. package/src/database/entities/approval-hierarchy-role.entity.ts +24 -0
  20. package/src/database/entities/approval-hierarchy-user.entity.ts +24 -0
  21. package/src/database/entities/approval-hierarchy.entity.ts +59 -0
  22. package/src/database/entities/approval-journey.entity.ts +75 -0
  23. package/src/database/entities/approval-level-escalation-user.entity.ts +23 -0
  24. package/src/database/entities/approval-level-escalation.entity.ts +45 -0
  25. package/src/database/entities/approval-level-user.entity.ts +25 -0
  26. package/src/database/entities/approval-level.entity.ts +51 -0
  27. package/src/database/entities/base.entity.ts +31 -0
  28. package/src/database/entities/chat.entity.ts +36 -0
  29. package/src/database/entities/city.entity.ts +25 -0
  30. package/src/database/entities/client.entity.ts +91 -0
  31. package/src/database/entities/contact.entity.ts +27 -0
  32. package/src/database/entities/country.entity.ts +69 -0
  33. package/src/database/entities/credit-note.entity.ts +88 -0
  34. package/src/database/entities/currency.entity.ts +21 -0
  35. package/src/database/entities/department.entity.ts +21 -0
  36. package/src/database/entities/entitlement.entity.ts +64 -0
  37. package/src/database/entities/expense.entity.ts +141 -0
  38. package/src/database/entities/file.entity.ts +22 -0
  39. package/src/database/entities/fixed-invoice-item.entity.ts +29 -0
  40. package/src/database/entities/group.entity.ts +21 -0
  41. package/src/database/entities/gst.entity.ts +32 -0
  42. package/src/database/entities/holiday.entity.ts +51 -0
  43. package/{dist/database/entities/index.d.ts → src/database/entities/index.ts} +79 -78
  44. package/src/database/entities/invoice-template-footer.entity.ts +70 -0
  45. package/src/database/entities/invoice-template-header.entity.ts +34 -0
  46. package/src/database/entities/invoice-template-table.entity.ts +83 -0
  47. package/src/database/entities/invoice-template.entity.ts +119 -0
  48. package/src/database/entities/invoice.entity.ts +139 -0
  49. package/src/database/entities/invoice_item.entity.ts +69 -0
  50. package/src/database/entities/leave-balance.entity.ts +118 -0
  51. package/src/database/entities/leave-request.entity.ts +155 -0
  52. package/src/database/entities/leave-type.entity.ts +37 -0
  53. package/src/database/entities/matter-tag.entity.ts +21 -0
  54. package/src/database/entities/matter-task-view-filter.entity.ts +21 -0
  55. package/src/database/entities/matter-team-member.entity.ts +30 -0
  56. package/src/database/entities/matter.entity.ts +156 -0
  57. package/src/database/entities/payment.entity.ts +72 -0
  58. package/src/database/entities/permission.entity.ts +27 -0
  59. package/src/database/entities/quickbooks-connection.entity.ts +35 -0
  60. package/src/database/entities/quickbooks-sync-log.entity.ts +79 -0
  61. package/src/database/entities/role-permission.entity.ts +30 -0
  62. package/src/database/entities/role-shift.entity.ts +43 -0
  63. package/src/database/entities/role.entity.ts +30 -0
  64. package/src/database/entities/sequence-generator.entity.ts +40 -0
  65. package/src/database/entities/shift.entity.ts +72 -0
  66. package/src/database/entities/sub-task-tag.entity.ts +22 -0
  67. package/src/database/entities/subtask-user.entity.ts +21 -0
  68. package/src/database/entities/subtask.entity.ts +125 -0
  69. package/src/database/entities/summary-task-status.entity.ts +15 -0
  70. package/src/database/entities/superset.entity.ts +38 -0
  71. package/src/database/entities/tag.entity.ts +19 -0
  72. package/src/database/entities/task-comment.entity.ts +41 -0
  73. package/src/database/entities/task-milestone.entity.ts +14 -0
  74. package/src/database/entities/task-remainder.entity.ts +29 -0
  75. package/src/database/entities/task-tag.entity.ts +22 -0
  76. package/src/database/entities/task-type.entity.ts +14 -0
  77. package/src/database/entities/task-user.entity.ts +21 -0
  78. package/src/database/entities/task.entity.ts +176 -0
  79. package/src/database/entities/template-task.entity.ts +25 -0
  80. package/src/database/entities/template.entity.ts +28 -0
  81. package/src/database/entities/timesheet-comment.entity.ts +45 -0
  82. package/src/database/entities/timesheet-event.entity.ts +256 -0
  83. package/src/database/entities/timesheet-summary.entity.ts +101 -0
  84. package/src/database/entities/timesheet.entity.ts +76 -0
  85. package/src/database/entities/transfer-ownership.entity.ts +39 -0
  86. package/src/database/entities/upload-log.entity.ts +78 -0
  87. package/src/database/entities/user-notification-channel.entity.ts +43 -0
  88. package/src/database/entities/user-notification-preference.entity.ts +50 -0
  89. package/src/database/entities/user-role.entity.ts +25 -0
  90. package/src/database/entities/user-session-history.entity.ts +45 -0
  91. package/src/database/entities/user-shift.entity.ts +109 -0
  92. package/src/database/entities/user.entity.ts +198 -0
  93. package/src/database/index.ts +1 -0
  94. package/{dist/database/migrations/1770706648232-initialMigration.js → src/database/migrations/1770706648232-initialMigration.ts} +9 -9
  95. package/src/database/seeder/base.seed.ts +104 -0
  96. package/src/database/seeder/config/seeder.config.ts +26 -0
  97. package/src/database/seeder/errors/seeder.error.ts +20 -0
  98. package/src/database/seeder/seed-runner.ts +200 -0
  99. package/src/database/seeder/seeds/city.seed.ts +70 -0
  100. package/src/database/seeder/seeds/country.seed.ts +58 -0
  101. package/src/database/seeder/seeds/currency.seed.ts +52 -0
  102. package/src/database/seeder/seeds/department.seed.ts +47 -0
  103. package/src/database/seeder/seeds/permission.seed.ts +54 -0
  104. package/src/database/seeder/seeds/role-permission.seed.ts +58 -0
  105. package/src/database/seeder/seeds/role.seed.ts +52 -0
  106. package/src/database/seeder/seeds/user-role.seed.ts +72 -0
  107. package/src/database/seeder/seeds/user.seed.ts +87 -0
  108. package/{dist/index.d.ts → src/index.ts} +5 -1
  109. package/src/scripts/create-schema.ts +94 -0
  110. package/dist/config/index.d.ts +0 -2
  111. package/dist/config/index.d.ts.map +0 -1
  112. package/dist/config/index.js +0 -7
  113. package/dist/config/index.js.map +0 -1
  114. package/dist/config/ormconfig.factory.d.ts +0 -10
  115. package/dist/config/ormconfig.factory.d.ts.map +0 -1
  116. package/dist/config/ormconfig.factory.js +0 -47
  117. package/dist/config/ormconfig.factory.js.map +0 -1
  118. package/dist/config/typeorm.config.d.ts +0 -4
  119. package/dist/config/typeorm.config.d.ts.map +0 -1
  120. package/dist/config/typeorm.config.js +0 -22
  121. package/dist/config/typeorm.config.js.map +0 -1
  122. package/dist/core/constant/index.d.ts +0 -2
  123. package/dist/core/constant/index.d.ts.map +0 -1
  124. package/dist/core/constant/index.js +0 -18
  125. package/dist/core/constant/index.js.map +0 -1
  126. package/dist/core/constant/notification-preference.d.ts +0 -29
  127. package/dist/core/constant/notification-preference.d.ts.map +0 -1
  128. package/dist/core/constant/notification-preference.js +0 -81
  129. package/dist/core/constant/notification-preference.js.map +0 -1
  130. package/dist/core/json/core-data/currency.json +0 -8
  131. package/dist/core/json/core-data/role.json +0 -30
  132. package/dist/core/json/core-data/user.json +0 -12
  133. package/dist/core/json/geographic-data/cities.json +0 -54693
  134. package/dist/core/json/geographic-data/countries.json +0 -31
  135. package/dist/database/entities/activity-logs.entity.d.ts +0 -11
  136. package/dist/database/entities/activity-logs.entity.d.ts.map +0 -1
  137. package/dist/database/entities/activity-logs.entity.js +0 -56
  138. package/dist/database/entities/activity-logs.entity.js.map +0 -1
  139. package/dist/database/entities/address.entity.d.ts +0 -13
  140. package/dist/database/entities/address.entity.d.ts.map +0 -1
  141. package/dist/database/entities/address.entity.js +0 -63
  142. package/dist/database/entities/address.entity.js.map +0 -1
  143. package/dist/database/entities/alert.entity.d.ts +0 -37
  144. package/dist/database/entities/alert.entity.d.ts.map +0 -1
  145. package/dist/database/entities/alert.entity.js +0 -171
  146. package/dist/database/entities/alert.entity.js.map +0 -1
  147. package/dist/database/entities/approval-condition.entity.d.ts +0 -16
  148. package/dist/database/entities/approval-condition.entity.d.ts.map +0 -1
  149. package/dist/database/entities/approval-condition.entity.js +0 -66
  150. package/dist/database/entities/approval-condition.entity.js.map +0 -1
  151. package/dist/database/entities/approval-hierarchy-role.entity.d.ts +0 -10
  152. package/dist/database/entities/approval-hierarchy-role.entity.d.ts.map +0 -1
  153. package/dist/database/entities/approval-hierarchy-role.entity.js +0 -47
  154. package/dist/database/entities/approval-hierarchy-role.entity.js.map +0 -1
  155. package/dist/database/entities/approval-hierarchy-user.entity.d.ts +0 -10
  156. package/dist/database/entities/approval-hierarchy-user.entity.d.ts.map +0 -1
  157. package/dist/database/entities/approval-hierarchy-user.entity.js +0 -47
  158. package/dist/database/entities/approval-hierarchy-user.entity.js.map +0 -1
  159. package/dist/database/entities/approval-hierarchy.entity.d.ts +0 -22
  160. package/dist/database/entities/approval-hierarchy.entity.d.ts.map +0 -1
  161. package/dist/database/entities/approval-hierarchy.entity.js +0 -80
  162. package/dist/database/entities/approval-hierarchy.entity.js.map +0 -1
  163. package/dist/database/entities/approval-journey.entity.d.ts +0 -32
  164. package/dist/database/entities/approval-journey.entity.d.ts.map +0 -1
  165. package/dist/database/entities/approval-journey.entity.js +0 -125
  166. package/dist/database/entities/approval-journey.entity.js.map +0 -1
  167. package/dist/database/entities/approval-level-escalation-user.entity.d.ts +0 -10
  168. package/dist/database/entities/approval-level-escalation-user.entity.d.ts.map +0 -1
  169. package/dist/database/entities/approval-level-escalation-user.entity.js +0 -47
  170. package/dist/database/entities/approval-level-escalation-user.entity.js.map +0 -1
  171. package/dist/database/entities/approval-level-escalation.entity.d.ts +0 -14
  172. package/dist/database/entities/approval-level-escalation.entity.d.ts.map +0 -1
  173. package/dist/database/entities/approval-level-escalation.entity.js +0 -65
  174. package/dist/database/entities/approval-level-escalation.entity.js.map +0 -1
  175. package/dist/database/entities/approval-level-user.entity.d.ts +0 -10
  176. package/dist/database/entities/approval-level-user.entity.d.ts.map +0 -1
  177. package/dist/database/entities/approval-level-user.entity.js +0 -49
  178. package/dist/database/entities/approval-level-user.entity.js.map +0 -1
  179. package/dist/database/entities/approval-level.entity.d.ts +0 -17
  180. package/dist/database/entities/approval-level.entity.d.ts.map +0 -1
  181. package/dist/database/entities/approval-level.entity.js +0 -76
  182. package/dist/database/entities/approval-level.entity.js.map +0 -1
  183. package/dist/database/entities/base.entity.d.ts +0 -12
  184. package/dist/database/entities/base.entity.d.ts.map +0 -1
  185. package/dist/database/entities/base.entity.js +0 -63
  186. package/dist/database/entities/base.entity.js.map +0 -1
  187. package/dist/database/entities/chat.entity.d.ts +0 -13
  188. package/dist/database/entities/chat.entity.d.ts.map +0 -1
  189. package/dist/database/entities/chat.entity.js +0 -67
  190. package/dist/database/entities/chat.entity.js.map +0 -1
  191. package/dist/database/entities/city.entity.d.ts +0 -11
  192. package/dist/database/entities/city.entity.d.ts.map +0 -1
  193. package/dist/database/entities/city.entity.js +0 -53
  194. package/dist/database/entities/city.entity.js.map +0 -1
  195. package/dist/database/entities/client.entity.d.ts +0 -40
  196. package/dist/database/entities/client.entity.d.ts.map +0 -1
  197. package/dist/database/entities/client.entity.js +0 -146
  198. package/dist/database/entities/client.entity.js.map +0 -1
  199. package/dist/database/entities/contact.entity.d.ts +0 -12
  200. package/dist/database/entities/contact.entity.d.ts.map +0 -1
  201. package/dist/database/entities/contact.entity.js +0 -57
  202. package/dist/database/entities/contact.entity.js.map +0 -1
  203. package/dist/database/entities/country.entity.d.ts +0 -26
  204. package/dist/database/entities/country.entity.d.ts.map +0 -1
  205. package/dist/database/entities/country.entity.js +0 -127
  206. package/dist/database/entities/country.entity.js.map +0 -1
  207. package/dist/database/entities/credit-note.entity.d.ts +0 -35
  208. package/dist/database/entities/credit-note.entity.d.ts.map +0 -1
  209. package/dist/database/entities/credit-note.entity.js +0 -144
  210. package/dist/database/entities/credit-note.entity.js.map +0 -1
  211. package/dist/database/entities/currency.entity.d.ts +0 -10
  212. package/dist/database/entities/currency.entity.d.ts.map +0 -1
  213. package/dist/database/entities/currency.entity.js +0 -47
  214. package/dist/database/entities/currency.entity.js.map +0 -1
  215. package/dist/database/entities/department.entity.d.ts +0 -10
  216. package/dist/database/entities/department.entity.d.ts.map +0 -1
  217. package/dist/database/entities/department.entity.js +0 -47
  218. package/dist/database/entities/department.entity.js.map +0 -1
  219. package/dist/database/entities/entitlement.entity.d.ts +0 -24
  220. package/dist/database/entities/entitlement.entity.d.ts.map +0 -1
  221. package/dist/database/entities/entitlement.entity.js +0 -106
  222. package/dist/database/entities/entitlement.entity.js.map +0 -1
  223. package/dist/database/entities/expense.entity.d.ts +0 -47
  224. package/dist/database/entities/expense.entity.d.ts.map +0 -1
  225. package/dist/database/entities/expense.entity.js +0 -221
  226. package/dist/database/entities/expense.entity.js.map +0 -1
  227. package/dist/database/entities/file.entity.d.ts +0 -9
  228. package/dist/database/entities/file.entity.d.ts.map +0 -1
  229. package/dist/database/entities/file.entity.js +0 -46
  230. package/dist/database/entities/file.entity.js.map +0 -1
  231. package/dist/database/entities/fixed-invoice-item.entity.d.ts +0 -9
  232. package/dist/database/entities/fixed-invoice-item.entity.d.ts.map +0 -1
  233. package/dist/database/entities/fixed-invoice-item.entity.js +0 -52
  234. package/dist/database/entities/fixed-invoice-item.entity.js.map +0 -1
  235. package/dist/database/entities/group.entity.d.ts +0 -9
  236. package/dist/database/entities/group.entity.d.ts.map +0 -1
  237. package/dist/database/entities/group.entity.js +0 -45
  238. package/dist/database/entities/group.entity.js.map +0 -1
  239. package/dist/database/entities/gst.entity.d.ts +0 -6
  240. package/dist/database/entities/gst.entity.d.ts.map +0 -1
  241. package/dist/database/entities/gst.entity.js +0 -44
  242. package/dist/database/entities/gst.entity.js.map +0 -1
  243. package/dist/database/entities/holiday.entity.d.ts +0 -14
  244. package/dist/database/entities/holiday.entity.d.ts.map +0 -1
  245. package/dist/database/entities/holiday.entity.js +0 -79
  246. package/dist/database/entities/holiday.entity.js.map +0 -1
  247. package/dist/database/entities/index.d.ts.map +0 -1
  248. package/dist/database/entities/index.js +0 -94
  249. package/dist/database/entities/index.js.map +0 -1
  250. package/dist/database/entities/invoice-template-footer.entity.d.ts +0 -24
  251. package/dist/database/entities/invoice-template-footer.entity.d.ts.map +0 -1
  252. package/dist/database/entities/invoice-template-footer.entity.js +0 -118
  253. package/dist/database/entities/invoice-template-footer.entity.js.map +0 -1
  254. package/dist/database/entities/invoice-template-header.entity.d.ts +0 -14
  255. package/dist/database/entities/invoice-template-header.entity.d.ts.map +0 -1
  256. package/dist/database/entities/invoice-template-header.entity.js +0 -68
  257. package/dist/database/entities/invoice-template-header.entity.js.map +0 -1
  258. package/dist/database/entities/invoice-template-table.entity.d.ts +0 -35
  259. package/dist/database/entities/invoice-template-table.entity.d.ts.map +0 -1
  260. package/dist/database/entities/invoice-template-table.entity.js +0 -143
  261. package/dist/database/entities/invoice-template-table.entity.js.map +0 -1
  262. package/dist/database/entities/invoice-template.entity.d.ts +0 -39
  263. package/dist/database/entities/invoice-template.entity.d.ts.map +0 -1
  264. package/dist/database/entities/invoice-template.entity.js +0 -157
  265. package/dist/database/entities/invoice-template.entity.js.map +0 -1
  266. package/dist/database/entities/invoice.entity.d.ts +0 -46
  267. package/dist/database/entities/invoice.entity.d.ts.map +0 -1
  268. package/dist/database/entities/invoice.entity.js +0 -212
  269. package/dist/database/entities/invoice.entity.js.map +0 -1
  270. package/dist/database/entities/invoice_item.entity.d.ts +0 -22
  271. package/dist/database/entities/invoice_item.entity.d.ts.map +0 -1
  272. package/dist/database/entities/invoice_item.entity.js +0 -89
  273. package/dist/database/entities/invoice_item.entity.js.map +0 -1
  274. package/dist/database/entities/leave-balance.entity.d.ts +0 -38
  275. package/dist/database/entities/leave-balance.entity.d.ts.map +0 -1
  276. package/dist/database/entities/leave-balance.entity.js +0 -166
  277. package/dist/database/entities/leave-balance.entity.js.map +0 -1
  278. package/dist/database/entities/leave-request.entity.d.ts +0 -64
  279. package/dist/database/entities/leave-request.entity.d.ts.map +0 -1
  280. package/dist/database/entities/leave-request.entity.js +0 -219
  281. package/dist/database/entities/leave-request.entity.js.map +0 -1
  282. package/dist/database/entities/leave-type.entity.d.ts +0 -15
  283. package/dist/database/entities/leave-type.entity.d.ts.map +0 -1
  284. package/dist/database/entities/leave-type.entity.js +0 -72
  285. package/dist/database/entities/leave-type.entity.js.map +0 -1
  286. package/dist/database/entities/matter-tag.entity.d.ts +0 -10
  287. package/dist/database/entities/matter-tag.entity.d.ts.map +0 -1
  288. package/dist/database/entities/matter-tag.entity.js +0 -45
  289. package/dist/database/entities/matter-tag.entity.js.map +0 -1
  290. package/dist/database/entities/matter-task-view-filter.entity.d.ts +0 -11
  291. package/dist/database/entities/matter-task-view-filter.entity.d.ts.map +0 -1
  292. package/dist/database/entities/matter-task-view-filter.entity.js +0 -42
  293. package/dist/database/entities/matter-task-view-filter.entity.js.map +0 -1
  294. package/dist/database/entities/matter-team-member.entity.d.ts +0 -11
  295. package/dist/database/entities/matter-team-member.entity.d.ts.map +0 -1
  296. package/dist/database/entities/matter-team-member.entity.js +0 -56
  297. package/dist/database/entities/matter-team-member.entity.js.map +0 -1
  298. package/dist/database/entities/matter.entity.d.ts +0 -62
  299. package/dist/database/entities/matter.entity.d.ts.map +0 -1
  300. package/dist/database/entities/matter.entity.js +0 -249
  301. package/dist/database/entities/matter.entity.js.map +0 -1
  302. package/dist/database/entities/payment.entity.d.ts +0 -26
  303. package/dist/database/entities/payment.entity.d.ts.map +0 -1
  304. package/dist/database/entities/payment.entity.js +0 -127
  305. package/dist/database/entities/payment.entity.js.map +0 -1
  306. package/dist/database/entities/permission.entity.d.ts +0 -11
  307. package/dist/database/entities/permission.entity.d.ts.map +0 -1
  308. package/dist/database/entities/permission.entity.js +0 -52
  309. package/dist/database/entities/permission.entity.js.map +0 -1
  310. package/dist/database/entities/quickbooks-connection.entity.d.ts +0 -14
  311. package/dist/database/entities/quickbooks-connection.entity.d.ts.map +0 -1
  312. package/dist/database/entities/quickbooks-connection.entity.js +0 -71
  313. package/dist/database/entities/quickbooks-connection.entity.js.map +0 -1
  314. package/dist/database/entities/quickbooks-sync-log.entity.d.ts +0 -34
  315. package/dist/database/entities/quickbooks-sync-log.entity.d.ts.map +0 -1
  316. package/dist/database/entities/quickbooks-sync-log.entity.js +0 -116
  317. package/dist/database/entities/quickbooks-sync-log.entity.js.map +0 -1
  318. package/dist/database/entities/role-permission.entity.d.ts +0 -10
  319. package/dist/database/entities/role-permission.entity.d.ts.map +0 -1
  320. package/dist/database/entities/role-permission.entity.js +0 -49
  321. package/dist/database/entities/role-permission.entity.js.map +0 -1
  322. package/dist/database/entities/role-shift.entity.d.ts +0 -8
  323. package/dist/database/entities/role-shift.entity.d.ts.map +0 -1
  324. package/dist/database/entities/role-shift.entity.js +0 -48
  325. package/dist/database/entities/role-shift.entity.js.map +0 -1
  326. package/dist/database/entities/role.entity.d.ts +0 -13
  327. package/dist/database/entities/role.entity.d.ts.map +0 -1
  328. package/dist/database/entities/role.entity.js +0 -58
  329. package/dist/database/entities/role.entity.js.map +0 -1
  330. package/dist/database/entities/sequence-generator.entity.d.ts +0 -8
  331. package/dist/database/entities/sequence-generator.entity.d.ts.map +0 -1
  332. package/dist/database/entities/sequence-generator.entity.js +0 -64
  333. package/dist/database/entities/sequence-generator.entity.js.map +0 -1
  334. package/dist/database/entities/shift.entity.d.ts +0 -18
  335. package/dist/database/entities/shift.entity.d.ts.map +0 -1
  336. package/dist/database/entities/shift.entity.js +0 -110
  337. package/dist/database/entities/shift.entity.js.map +0 -1
  338. package/dist/database/entities/sub-task-tag.entity.d.ts +0 -10
  339. package/dist/database/entities/sub-task-tag.entity.d.ts.map +0 -1
  340. package/dist/database/entities/sub-task-tag.entity.js +0 -45
  341. package/dist/database/entities/sub-task-tag.entity.js.map +0 -1
  342. package/dist/database/entities/subtask-user.entity.d.ts +0 -10
  343. package/dist/database/entities/subtask-user.entity.d.ts.map +0 -1
  344. package/dist/database/entities/subtask-user.entity.js +0 -45
  345. package/dist/database/entities/subtask-user.entity.js.map +0 -1
  346. package/dist/database/entities/subtask.entity.d.ts +0 -47
  347. package/dist/database/entities/subtask.entity.d.ts.map +0 -1
  348. package/dist/database/entities/subtask.entity.js +0 -185
  349. package/dist/database/entities/subtask.entity.js.map +0 -1
  350. package/dist/database/entities/summary-task-status.entity.d.ts +0 -7
  351. package/dist/database/entities/summary-task-status.entity.d.ts.map +0 -1
  352. package/dist/database/entities/summary-task-status.entity.js +0 -37
  353. package/dist/database/entities/summary-task-status.entity.js.map +0 -1
  354. package/dist/database/entities/superset.entity.d.ts +0 -15
  355. package/dist/database/entities/superset.entity.d.ts.map +0 -1
  356. package/dist/database/entities/superset.entity.js +0 -73
  357. package/dist/database/entities/superset.entity.js.map +0 -1
  358. package/dist/database/entities/tag.entity.d.ts +0 -10
  359. package/dist/database/entities/tag.entity.d.ts.map +0 -1
  360. package/dist/database/entities/tag.entity.js +0 -43
  361. package/dist/database/entities/tag.entity.js.map +0 -1
  362. package/dist/database/entities/task-comment.entity.d.ts +0 -15
  363. package/dist/database/entities/task-comment.entity.d.ts.map +0 -1
  364. package/dist/database/entities/task-comment.entity.js +0 -67
  365. package/dist/database/entities/task-comment.entity.js.map +0 -1
  366. package/dist/database/entities/task-milestone.entity.d.ts +0 -7
  367. package/dist/database/entities/task-milestone.entity.d.ts.map +0 -1
  368. package/dist/database/entities/task-milestone.entity.js +0 -36
  369. package/dist/database/entities/task-milestone.entity.js.map +0 -1
  370. package/dist/database/entities/task-remainder.entity.d.ts +0 -12
  371. package/dist/database/entities/task-remainder.entity.d.ts.map +0 -1
  372. package/dist/database/entities/task-remainder.entity.js +0 -57
  373. package/dist/database/entities/task-remainder.entity.js.map +0 -1
  374. package/dist/database/entities/task-tag.entity.d.ts +0 -10
  375. package/dist/database/entities/task-tag.entity.d.ts.map +0 -1
  376. package/dist/database/entities/task-tag.entity.js +0 -45
  377. package/dist/database/entities/task-tag.entity.js.map +0 -1
  378. package/dist/database/entities/task-type.entity.d.ts +0 -7
  379. package/dist/database/entities/task-type.entity.d.ts.map +0 -1
  380. package/dist/database/entities/task-type.entity.js +0 -36
  381. package/dist/database/entities/task-type.entity.js.map +0 -1
  382. package/dist/database/entities/task-user.entity.d.ts +0 -10
  383. package/dist/database/entities/task-user.entity.d.ts.map +0 -1
  384. package/dist/database/entities/task-user.entity.js +0 -45
  385. package/dist/database/entities/task-user.entity.js.map +0 -1
  386. package/dist/database/entities/task.entity.d.ts +0 -53
  387. package/dist/database/entities/task.entity.d.ts.map +0 -1
  388. package/dist/database/entities/task.entity.js +0 -259
  389. package/dist/database/entities/task.entity.js.map +0 -1
  390. package/dist/database/entities/template-task.entity.d.ts +0 -11
  391. package/dist/database/entities/template-task.entity.d.ts.map +0 -1
  392. package/dist/database/entities/template-task.entity.js +0 -53
  393. package/dist/database/entities/template-task.entity.js.map +0 -1
  394. package/dist/database/entities/template.entity.d.ts +0 -13
  395. package/dist/database/entities/template.entity.d.ts.map +0 -1
  396. package/dist/database/entities/template.entity.js +0 -58
  397. package/dist/database/entities/template.entity.js.map +0 -1
  398. package/dist/database/entities/timesheet-comment.entity.d.ts +0 -11
  399. package/dist/database/entities/timesheet-comment.entity.d.ts.map +0 -1
  400. package/dist/database/entities/timesheet-comment.entity.js +0 -65
  401. package/dist/database/entities/timesheet-comment.entity.js.map +0 -1
  402. package/dist/database/entities/timesheet-event.entity.d.ts +0 -48
  403. package/dist/database/entities/timesheet-event.entity.d.ts.map +0 -1
  404. package/dist/database/entities/timesheet-event.entity.js +0 -328
  405. package/dist/database/entities/timesheet-event.entity.js.map +0 -1
  406. package/dist/database/entities/timesheet-summary.entity.d.ts +0 -27
  407. package/dist/database/entities/timesheet-summary.entity.d.ts.map +0 -1
  408. package/dist/database/entities/timesheet-summary.entity.js +0 -161
  409. package/dist/database/entities/timesheet-summary.entity.js.map +0 -1
  410. package/dist/database/entities/timesheet.entity.d.ts +0 -32
  411. package/dist/database/entities/timesheet.entity.d.ts.map +0 -1
  412. package/dist/database/entities/timesheet.entity.js +0 -112
  413. package/dist/database/entities/timesheet.entity.js.map +0 -1
  414. package/dist/database/entities/transfer-ownership.entity.d.ts +0 -15
  415. package/dist/database/entities/transfer-ownership.entity.d.ts.map +0 -1
  416. package/dist/database/entities/transfer-ownership.entity.js +0 -75
  417. package/dist/database/entities/transfer-ownership.entity.js.map +0 -1
  418. package/dist/database/entities/upload-log.entity.d.ts +0 -31
  419. package/dist/database/entities/upload-log.entity.d.ts.map +0 -1
  420. package/dist/database/entities/upload-log.entity.js +0 -111
  421. package/dist/database/entities/upload-log.entity.js.map +0 -1
  422. package/dist/database/entities/user-notification-channel.entity.d.ts +0 -8
  423. package/dist/database/entities/user-notification-channel.entity.d.ts.map +0 -1
  424. package/dist/database/entities/user-notification-channel.entity.js +0 -63
  425. package/dist/database/entities/user-notification-channel.entity.js.map +0 -1
  426. package/dist/database/entities/user-notification-preference.entity.d.ts +0 -10
  427. package/dist/database/entities/user-notification-preference.entity.d.ts.map +0 -1
  428. package/dist/database/entities/user-notification-preference.entity.js +0 -72
  429. package/dist/database/entities/user-notification-preference.entity.js.map +0 -1
  430. package/dist/database/entities/user-role.entity.d.ts +0 -10
  431. package/dist/database/entities/user-role.entity.d.ts.map +0 -1
  432. package/dist/database/entities/user-role.entity.js +0 -45
  433. package/dist/database/entities/user-role.entity.js.map +0 -1
  434. package/dist/database/entities/user-session-history.entity.d.ts +0 -16
  435. package/dist/database/entities/user-session-history.entity.d.ts.map +0 -1
  436. package/dist/database/entities/user-session-history.entity.js +0 -78
  437. package/dist/database/entities/user-session-history.entity.js.map +0 -1
  438. package/dist/database/entities/user-shift.entity.d.ts +0 -24
  439. package/dist/database/entities/user-shift.entity.d.ts.map +0 -1
  440. package/dist/database/entities/user-shift.entity.js +0 -153
  441. package/dist/database/entities/user-shift.entity.js.map +0 -1
  442. package/dist/database/entities/user.entity.d.ts +0 -74
  443. package/dist/database/entities/user.entity.d.ts.map +0 -1
  444. package/dist/database/entities/user.entity.js +0 -280
  445. package/dist/database/entities/user.entity.js.map +0 -1
  446. package/dist/database/index.d.ts +0 -2
  447. package/dist/database/index.d.ts.map +0 -1
  448. package/dist/database/index.js +0 -18
  449. package/dist/database/index.js.map +0 -1
  450. package/dist/database/migrations/1770706648232-initialMigration.d.ts +0 -7
  451. package/dist/database/migrations/1770706648232-initialMigration.d.ts.map +0 -1
  452. package/dist/database/migrations/1770706648232-initialMigration.js.map +0 -1
  453. package/dist/database/seeder/base.seed.d.ts +0 -19
  454. package/dist/database/seeder/base.seed.d.ts.map +0 -1
  455. package/dist/database/seeder/base.seed.js +0 -83
  456. package/dist/database/seeder/base.seed.js.map +0 -1
  457. package/dist/database/seeder/config/seeder.config.d.ts +0 -7
  458. package/dist/database/seeder/config/seeder.config.d.ts.map +0 -1
  459. package/dist/database/seeder/config/seeder.config.js +0 -21
  460. package/dist/database/seeder/config/seeder.config.js.map +0 -1
  461. package/dist/database/seeder/errors/seeder.error.d.ts +0 -11
  462. package/dist/database/seeder/errors/seeder.error.d.ts.map +0 -1
  463. package/dist/database/seeder/errors/seeder.error.js +0 -27
  464. package/dist/database/seeder/errors/seeder.error.js.map +0 -1
  465. package/dist/database/seeder/seed-runner.d.ts +0 -2
  466. package/dist/database/seeder/seed-runner.d.ts.map +0 -1
  467. package/dist/database/seeder/seed-runner.js +0 -157
  468. package/dist/database/seeder/seed-runner.js.map +0 -1
  469. package/dist/database/seeder/seeds/city.seed.d.ts +0 -8
  470. package/dist/database/seeder/seeds/city.seed.d.ts.map +0 -1
  471. package/dist/database/seeder/seeds/city.seed.js +0 -62
  472. package/dist/database/seeder/seeds/city.seed.js.map +0 -1
  473. package/dist/database/seeder/seeds/country.seed.d.ts +0 -8
  474. package/dist/database/seeder/seeds/country.seed.d.ts.map +0 -1
  475. package/dist/database/seeder/seeds/country.seed.js +0 -54
  476. package/dist/database/seeder/seeds/country.seed.js.map +0 -1
  477. package/dist/database/seeder/seeds/currency.seed.d.ts +0 -8
  478. package/dist/database/seeder/seeds/currency.seed.d.ts.map +0 -1
  479. package/dist/database/seeder/seeds/currency.seed.js +0 -50
  480. package/dist/database/seeder/seeds/currency.seed.js.map +0 -1
  481. package/dist/database/seeder/seeds/department.seed.d.ts +0 -8
  482. package/dist/database/seeder/seeds/department.seed.d.ts.map +0 -1
  483. package/dist/database/seeder/seeds/department.seed.js +0 -48
  484. package/dist/database/seeder/seeds/department.seed.js.map +0 -1
  485. package/dist/database/seeder/seeds/permission.seed.d.ts +0 -8
  486. package/dist/database/seeder/seeds/permission.seed.d.ts.map +0 -1
  487. package/dist/database/seeder/seeds/permission.seed.js +0 -54
  488. package/dist/database/seeder/seeds/permission.seed.js.map +0 -1
  489. package/dist/database/seeder/seeds/role-permission.seed.d.ts +0 -8
  490. package/dist/database/seeder/seeds/role-permission.seed.d.ts.map +0 -1
  491. package/dist/database/seeder/seeds/role-permission.seed.js +0 -47
  492. package/dist/database/seeder/seeds/role-permission.seed.js.map +0 -1
  493. package/dist/database/seeder/seeds/role.seed.d.ts +0 -8
  494. package/dist/database/seeder/seeds/role.seed.d.ts.map +0 -1
  495. package/dist/database/seeder/seeds/role.seed.js +0 -52
  496. package/dist/database/seeder/seeds/role.seed.js.map +0 -1
  497. package/dist/database/seeder/seeds/user-role.seed.d.ts +0 -8
  498. package/dist/database/seeder/seeds/user-role.seed.d.ts.map +0 -1
  499. package/dist/database/seeder/seeds/user-role.seed.js +0 -66
  500. package/dist/database/seeder/seeds/user-role.seed.js.map +0 -1
  501. package/dist/database/seeder/seeds/user.seed.d.ts +0 -8
  502. package/dist/database/seeder/seeds/user.seed.d.ts.map +0 -1
  503. package/dist/database/seeder/seeds/user.seed.js +0 -110
  504. package/dist/database/seeder/seeds/user.seed.js.map +0 -1
  505. package/dist/index.d.ts.map +0 -1
  506. package/dist/index.js.map +0 -1
  507. package/dist/scripts/create-schema.d.ts +0 -2
  508. package/dist/scripts/create-schema.d.ts.map +0 -1
  509. package/dist/scripts/create-schema.js +0 -77
  510. package/dist/scripts/create-schema.js.map +0 -1
  511. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -0,0 +1,25 @@
1
+ import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { Country } from './country.entity';
4
+
5
+ @Entity({ name: 'cities', schema: 'core' })
6
+ export class City extends BaseEntity {
7
+ @Column({ nullable: true })
8
+ name: string;
9
+
10
+ @Column({ type: 'decimal', precision: 10, scale: 8, nullable: true })
11
+ latitude: string;
12
+
13
+ @Column({ type: 'decimal', precision: 11, scale: 8, nullable: true })
14
+ longitude: string;
15
+
16
+ @Column({ default: false, nullable: true })
17
+ status: boolean;
18
+
19
+ @Column({ nullable: true, type: 'int' })
20
+ country_id: number;
21
+
22
+ @ManyToOne(() => Country, (country) => country.cities)
23
+ @JoinColumn({ name: 'country_id' })
24
+ country: Country;
25
+ }
@@ -0,0 +1,91 @@
1
+ import { Entity, Column, ManyToOne, OneToMany, JoinColumn, OneToOne } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { Contact } from './contact.entity';
4
+ import { Address } from './address.entity';
5
+ import { Group } from './group.entity';
6
+ import { Invoice } from './invoice.entity';
7
+ import { Matter } from './matter.entity';
8
+
9
+ export enum ClientType {
10
+ Prospect = 'Prospect',
11
+ Active = 'Active',
12
+ Inactive = 'Inactive',
13
+ }
14
+
15
+ export enum engagementType {
16
+ Retainer = 'Retainer',
17
+ ProjectBased = 'Project-Based',
18
+ Hourly = 'Hourly',
19
+ OneTime = 'One-Time',
20
+ }
21
+
22
+ @Entity({ name: 'clients', schema: 'core' })
23
+ export class Client extends BaseEntity {
24
+ @Column({ length: 100 , nullable: true})
25
+ clientName: string;
26
+
27
+ @Column({ nullable: true, name: 'group_id' })
28
+ groupId: number;
29
+
30
+ @Column({
31
+ type: 'enum',
32
+ enum: ['Corporation', 'Partnership', 'Government Entity', 'Individual'],
33
+ default: 'Individual',
34
+ nullable: true ,
35
+ name: 'client_type'
36
+ })
37
+ clientType: string;
38
+
39
+ @Column({ length: 10, nullable: true, name: 'pan_no' })
40
+ panNo: string;
41
+
42
+ @Column({ length: 100, nullable: true, name: 'city' })
43
+ city: string;
44
+
45
+ @Column({ length: 100, nullable: true, name: 'country' })
46
+ country: string;
47
+
48
+ @Column({ length: 100, nullable: true, name: 'gst_no' })
49
+ gstNo: string;
50
+
51
+ @Column({ type: 'boolean', nullable: true, name: 'is_tds_applicable' })
52
+ isTdsApplicable: boolean;
53
+
54
+ @Column({ nullable: true, name: 'file_id' })
55
+ fileId: number;
56
+
57
+ @Column({ type: 'jsonb', nullable: true, name: 'flowace_data' })
58
+ flowaceData: any;
59
+
60
+ @Column({name:"status", type:"enum", enum:ClientType, nullable: true})
61
+ status: ClientType|null;
62
+
63
+ @Column({name:"engagement_type", type:"enum", enum:engagementType, nullable: true})
64
+ engagementType: engagementType|null;
65
+
66
+ // QuickBooks Integration Fields
67
+ @Column({ type: 'varchar', length: 255, nullable: true, name: 'quickbooks_id' })
68
+ quickbooksId: string;
69
+
70
+ @Column({ type: 'varchar', length: 50, nullable: true, name: 'quickbooks_sync_token' })
71
+ quickbooksSyncToken: string;
72
+
73
+ @Column({ type: 'timestamp', nullable: true, name: 'last_synced_at' })
74
+ lastSyncedAt: Date;
75
+
76
+ @ManyToOne(() => Group, group => group.clientsData)
77
+ @JoinColumn({ name: 'group_id' })
78
+ group: Group;
79
+
80
+ @OneToMany(() => Invoice, (invoice) => invoice.client)
81
+ invoices: Invoice[];
82
+
83
+ @OneToMany(() => Contact, contact => contact.client)
84
+ contacts: Contact[];
85
+
86
+ @OneToMany(() => Matter, matter => matter.client)
87
+ matters: Matter[];
88
+
89
+ @OneToOne(() => Address, address => address.client)
90
+ address: Address;
91
+ }
@@ -0,0 +1,27 @@
1
+ import { Entity, Column, ManyToOne } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { Client } from './client.entity';
4
+
5
+ @Entity({ name: 'contacts', schema: 'core' })
6
+ export class Contact extends BaseEntity {
7
+ @Column()
8
+ clientId: number;
9
+
10
+ @Column({ length: 100 })
11
+ contactName: string;
12
+
13
+ @Column({ length: 10, default: 'Primary' })
14
+ contactType: string;
15
+
16
+ @Column({type: 'varchar', length: 150,nullable: true })
17
+ contactEmail: string|null;
18
+
19
+ @Column({ type: 'varchar', length: 10,nullable: true})
20
+ countryCode: string|null;
21
+
22
+ @Column({type: 'varchar', length: 15 ,nullable: true})
23
+ contactPhone: string|null;
24
+
25
+ @ManyToOne(() => Client, client => client.contacts)
26
+ client: Client;
27
+ }
@@ -0,0 +1,69 @@
1
+ import { Entity, Column, OneToMany } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { City } from './city.entity';
4
+
5
+ @Entity({name: "countries", schema:"core"})
6
+ export class Country extends BaseEntity {
7
+ @Column({ nullable: true })
8
+ name: string;
9
+
10
+ @Column({ type: 'char', length: 3, nullable: true, unique: true })
11
+ iso3: string;
12
+
13
+ @Column({ type: 'char', length: 2, nullable: true, unique: true })
14
+ iso2: string;
15
+
16
+ @Column({ type: 'char', length: 3, nullable: true })
17
+ numeric_code: string;
18
+
19
+ @Column({ nullable: true })
20
+ phonecode: string;
21
+
22
+ @Column({ nullable: true })
23
+ capital: string;
24
+
25
+ @Column({ nullable: true })
26
+ currency: string;
27
+
28
+ @Column({ nullable: true })
29
+ currency_name: string;
30
+
31
+ @Column({ nullable: true })
32
+ currency_symbol: string;
33
+
34
+ @Column({ nullable: true })
35
+ tld: string;
36
+
37
+ @Column({ nullable: true })
38
+ native: string;
39
+
40
+ @Column({ nullable: true })
41
+ region: string;
42
+
43
+ @Column({ nullable: true })
44
+ subregion: string;
45
+
46
+ @Column({ nullable: true })
47
+ nationality: string;
48
+
49
+ @Column({ type: 'decimal', precision: 10, scale: 8, nullable: true })
50
+ latitude: string;
51
+
52
+ @Column({ type: 'decimal', precision: 11, scale: 8, nullable: true })
53
+ longitude: string;
54
+
55
+ @Column({ nullable: true })
56
+ emoji: string;
57
+
58
+ @Column({ nullable: true })
59
+ emojiU: string;
60
+
61
+ @Column({ type: 'json', nullable: true })
62
+ timezones: any;
63
+
64
+ @Column({ default: false, nullable: true })
65
+ status: boolean;
66
+
67
+ @OneToMany(() => City, (city) => city.country)
68
+ cities: City[];
69
+ }
@@ -0,0 +1,88 @@
1
+ import { Entity, Column, OneToMany, OneToOne, JoinColumn, ManyToOne } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { TimesheetSummary } from './timesheet-summary.entity';
4
+ import { Expense } from './expense.entity';
5
+ import { Task } from './task.entity';
6
+ import { Invoice } from './invoice.entity';
7
+ import { User } from './user.entity';
8
+ import { InvoiceItem } from './invoice_item.entity';
9
+
10
+ export enum CreditNoteStatus {
11
+ PENDING = 'Pending',
12
+ APPROVED = 'Approved',
13
+ REJECTED = 'Rejected',
14
+ }
15
+
16
+ @Entity({ name: 'credit_notes', schema: 'core' })
17
+ export class CreditNoteEntity extends BaseEntity {
18
+ @Column({ type: 'varchar', name: 'invoice_number', nullable: false })
19
+ invoice_number: string;
20
+
21
+ @Column({ type: 'int', name: 'invoice_id', nullable: false })
22
+ invoice_id: number;
23
+
24
+ @Column({ type: 'varchar', name: 'credit_note_id', nullable: false })
25
+ credit_note_id: string;
26
+
27
+ @Column({ type: 'jsonb', name: 'bill_to', nullable: false })
28
+ bill_to: JSON;
29
+
30
+ @Column({ type: 'jsonb', name: 'bill_from', nullable: false })
31
+ bill_from: JSON;
32
+
33
+ @Column({ type: 'varchar', name: 'reason_for_credit_note', nullable: false })
34
+ reason_for_credit_note: string;
35
+
36
+ @Column({ type: 'decimal', name: 'sub_total', nullable: false })
37
+ sub_total: number;
38
+
39
+ @Column({ type: 'decimal', name: 'tds_rate', nullable: true })
40
+ tds_rate: number | null;
41
+
42
+ @Column({ type: 'decimal', name: 'tds_amount', nullable: false })
43
+ tds_amount: number;
44
+
45
+ @Column({ type: 'decimal', name: 'net_credit_after_tds', nullable: false })
46
+ net_credit_after_tds: number;
47
+
48
+ @Column({ type: 'varchar', name: 'download_url', nullable: true })
49
+ download_url: string;
50
+
51
+ @Column({ type: 'varchar', name: 'preview_url', nullable: true })
52
+ preview_url: string;
53
+
54
+ @Column({type:'int',name:'user_id',nullable:true})
55
+ userId: number;
56
+
57
+ @ManyToOne(() => User, (user) => user.creditNotes)
58
+ @JoinColumn({ name: 'user_id' })
59
+ raisedBy: User;
60
+
61
+ @Column({
62
+ name: 'status',
63
+ type: 'enum',
64
+ enum: CreditNoteStatus,
65
+ default: CreditNoteStatus.PENDING,
66
+ nullable: false,
67
+ comment: 'Status of the credit note',
68
+ })
69
+ status: CreditNoteStatus;
70
+
71
+ @OneToMany(() => TimesheetSummary, (timesheet) => timesheet.creditNote)
72
+ summaries: TimesheetSummary[];
73
+
74
+ @OneToMany(() => Expense, (expense) => expense.creditNote)
75
+ expenses: Expense[];
76
+
77
+ @OneToMany(() => Task, (task) => task.creditNote)
78
+ tasks: Task[];
79
+
80
+ @OneToOne(() => Invoice, (invoice) => invoice.creditNote, {
81
+ onDelete: 'CASCADE',
82
+ })
83
+ @JoinColumn({ name: 'invoice_id' }) // This marks invoice_id as the foreign key
84
+ invoice: Invoice;
85
+
86
+ @OneToMany(() => InvoiceItem, (invoiceItem) => invoiceItem.creditNote)
87
+ invoiceItems: InvoiceItem[];
88
+ }
@@ -0,0 +1,21 @@
1
+ import { Entity, Column, OneToMany } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { Matter } from './matter.entity';
4
+
5
+ @Entity({ name: 'currencies', schema: 'core' })
6
+ export class Currency extends BaseEntity {
7
+ @Column({ name: 'name', nullable: false, unique: true })
8
+ name: string;
9
+
10
+ @Column({ name: 'code', nullable: false, unique: true })
11
+ code: string;
12
+
13
+ @Column({ name: 'symbol', nullable: false })
14
+ symbol: string;
15
+
16
+ @Column({ name: 'is_active', nullable: false, default: true })
17
+ isActive: boolean;
18
+
19
+ @OneToMany(() => Matter, (matter) => matter.currency)
20
+ matters: Matter[];
21
+ }
@@ -0,0 +1,21 @@
1
+ import { Entity, Column, OneToMany } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { User } from './user.entity';
4
+
5
+ @Entity({ name: 'departments', schema: 'user' })
6
+ export class Department extends BaseEntity {
7
+ @Column({ name: 'department_name', unique: true })
8
+ departmentName: string;
9
+
10
+ @Column({ name: 'department_description', nullable: true, type: 'text' })
11
+ departmentDescription: string;
12
+
13
+ @Column({ name: 'department_slug', unique: true, nullable: false })
14
+ departmentSlug: string;
15
+
16
+ @Column({ name: 'is_active', default: true })
17
+ isActive: boolean;
18
+
19
+ @OneToMany(() => User, (user) => user.department)
20
+ users: User[];
21
+ }
@@ -0,0 +1,64 @@
1
+ import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { LeaveType } from './leave-type.entity';
4
+ import { User } from './user.entity';
5
+
6
+ export enum EntitlementType {
7
+ INDIVIDUAL = 'individual',
8
+ MULTIPLE = 'multiple',
9
+ }
10
+
11
+ @Entity({ name: 'entitlements', schema: 'user' })
12
+ export class Entitlement extends BaseEntity {
13
+
14
+ @Column({ name: 'entitlement_type', type: 'enum', enum: EntitlementType, nullable: true })
15
+ entitlementType: EntitlementType;
16
+
17
+ @Column({ name: 'department_id' })
18
+ departmentId: number;
19
+
20
+ @Column({ name: 'leave_type_id' })
21
+ leaveTypeId: number;
22
+
23
+ @Column({ name: 'start_date', type: 'date' })
24
+ startDate: Date;
25
+
26
+ @Column({ name: 'end_date', type: 'date' })
27
+ endDate: Date;
28
+
29
+ @Column({ name: 'entitlements', type: 'decimal', precision: 10, scale: 2, nullable: true })
30
+ entitlements: number;
31
+
32
+ @Column({ name: 'original_entitlements', type: 'decimal', precision: 10, scale: 2, nullable: true })
33
+ originalEntitlements: number;
34
+
35
+ @Column({ name: 'user_id', nullable: true })
36
+ userId: number;
37
+
38
+ @Column({ default: true, name: 'is_active' })
39
+ isActive: boolean;
40
+
41
+ @Column({ name: 'last_calculated_date', type: 'date', nullable: true })
42
+ lastCalculatedDate: Date;
43
+
44
+ // Carry Forward Settings
45
+ @Column({ name: 'enable_carry_forward', default: true })
46
+ enableCarryForward: boolean;
47
+
48
+ @Column({
49
+ name: 'max_carry_forward_percentage',
50
+ type: 'decimal',
51
+ precision: 5,
52
+ scale: 2,
53
+ default: 100.00
54
+ })
55
+ maxCarryForwardPercentage: number;
56
+
57
+ @ManyToOne(() => User, user => user.id)
58
+ @JoinColumn({ name: 'user_id' })
59
+ user: User;
60
+
61
+ @ManyToOne(() => LeaveType, leaveType => leaveType.id)
62
+ @JoinColumn({ name: 'leave_type_id' })
63
+ leaveType: LeaveType;
64
+ }
@@ -0,0 +1,141 @@
1
+ import { Entity, Column, ManyToOne, JoinColumn, OneToMany } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+ import { Matter } from './matter.entity';
4
+ import { User } from './user.entity';
5
+ import { CreditNoteEntity } from './credit-note.entity';
6
+
7
+ enum ApprovalStatus {
8
+ PENDING_APPROVAL = 'pending_approval',
9
+ APPROVED = 'approved',
10
+ REJECTED = 'rejected',
11
+ AUTO_REJECTED = 'auto_rejected',
12
+ }
13
+ @Entity({ name: 'expenses', schema: 'core' })
14
+ export class Expense extends BaseEntity {
15
+ @Column({ name: 'matter_id' })
16
+ matterId: number;
17
+
18
+ @Column({ name: 'invoice_id', nullable: true })
19
+ invoiceId: number;
20
+
21
+ @Column({ type: 'text', nullable: true })
22
+ description: string;
23
+
24
+ @Column({ length: 50 })
25
+ expenseType: string;
26
+
27
+ @Column({ name: 'requester_id', nullable: true })
28
+ requesterId: number;
29
+
30
+ @ManyToOne(() => User, { nullable: true })
31
+ @JoinColumn({ name: 'requester_id' })
32
+ requester: User;
33
+
34
+ @Column({ name: 'councillor_name', length: 255, nullable: true })
35
+ councillorName: string;
36
+
37
+ @Column({ type: 'decimal', precision: 10, scale: 2 })
38
+ amount: number;
39
+
40
+ @Column({
41
+ name: 'proposed_date_of_hearing',
42
+ type: 'timestamp',
43
+ nullable: true,
44
+ })
45
+ proposedDateOfHearing: Date;
46
+
47
+ @Column({ name: 'date_of_hearing', type: 'timestamp', nullable: true })
48
+ dateOfHearing: Date;
49
+
50
+ @Column({ name: 'file_id', nullable: true })
51
+ fileId: number;
52
+
53
+ @Column({ name: 'attachments', type: 'json', nullable: true })
54
+ attachments: any[] | null;
55
+
56
+ @Column({ name: 'paid_by', nullable: true })
57
+ paidBy: number;
58
+
59
+ @Column({ length: 50, default: 'Pending' })
60
+ status: string;
61
+
62
+ @Column({
63
+ name: 'approval_status',
64
+ length: 50,
65
+ nullable: true,
66
+ enum: ApprovalStatus,
67
+ })
68
+ approvalStatus: ApprovalStatus;
69
+
70
+ @Column({ name: 'reject_reason', nullable: true })
71
+ rejectReason: string;
72
+
73
+ @Column({ name: 'payment_method', length: 50, nullable: true })
74
+ paymentMethod: string;
75
+
76
+ @Column({ name: 'cost_to_client', nullable: true })
77
+ costToClient: boolean;
78
+
79
+ @Column({ name: 'cost_to_company', nullable: true })
80
+ costToCompany: boolean;
81
+
82
+ @Column({ name: 'bill_to_client', nullable: true })
83
+ billToClient: boolean;
84
+
85
+ @Column({ name: 'types_of_billed', length: 50, nullable: true })
86
+ typesOfBilled: string;
87
+
88
+ @Column({ name: 'date_of_expense', type: 'timestamp', nullable: true })
89
+ dateOfExpense: Date;
90
+
91
+ @Column({ name: 'reimbursement_category', length: 50, nullable: true })
92
+ reimbursementCategory: string;
93
+
94
+ @Column({ name: 'expense_category', length: 50, nullable: true })
95
+ expenseCategory: string;
96
+
97
+ @Column({ name: 'client_id', nullable: true })
98
+ clientId: number;
99
+
100
+ @ManyToOne(() => Matter, (matter) => matter.expenses)
101
+ @JoinColumn({ name: 'matter_id' })
102
+ matter: Matter;
103
+
104
+ @Column({ type: 'decimal', name: 'credit_amount', nullable: true })
105
+ credit_amount: number | null;
106
+
107
+ @Column({ type: 'decimal', name: 'balance_amount', nullable: true })
108
+ balance_amount: number | null;
109
+
110
+ @Column({ type: 'int', name: 'credit_note_id', nullable: true })
111
+ credit_note_id: number | null;
112
+
113
+ @Column({ type: 'decimal', name: 'original_amount', nullable: true })
114
+ original_amount: number | null;
115
+
116
+ @Column({
117
+ type: 'decimal',
118
+ name: 'invoiced_amount',
119
+ precision: 10,
120
+ scale: 2,
121
+ nullable: true,
122
+ default: 0,
123
+ })
124
+ invoicedAmount: number;
125
+
126
+ @Column({
127
+ type: 'decimal',
128
+ name: 'remaining_amount',
129
+ precision: 10,
130
+ scale: 2,
131
+ nullable: true,
132
+ })
133
+ remainingAmount: number;
134
+
135
+ @ManyToOne(() => CreditNoteEntity, (creditNote) => creditNote.expenses)
136
+ @JoinColumn({ name: 'credit_note_id' })
137
+ creditNote: CreditNoteEntity;
138
+
139
+ // @OneToMany(() => InvoiceItem, (invoiceItem) => invoiceItem.expense)
140
+ // invoiceItems: InvoiceItem[];
141
+ }
@@ -0,0 +1,22 @@
1
+ import { Entity, Column } from 'typeorm';
2
+ import { BaseEntity } from './base.entity';
3
+
4
+ @Entity({ name: 'file_data' , schema: 'user' })
5
+ export class FileData extends BaseEntity {
6
+ @Column()
7
+ fileName: string;
8
+
9
+ @Column()
10
+ urlLocation: string;
11
+
12
+ @Column({ nullable: true })
13
+ fileDescription: string;
14
+
15
+ @Column()
16
+ fileType: string;
17
+
18
+ @Column({ nullable: true })
19
+ previewUrl: string ;
20
+
21
+ }
22
+
@@ -0,0 +1,29 @@
1
+ // ivm-api-core/src/modules/invoice/entities/fixed-invoice-item.entity.ts
2
+ import { Entity, Column, ManyToOne, JoinColumn, Index } from 'typeorm';
3
+ import { BaseEntity } from './base.entity';
4
+ import { Invoice } from './invoice.entity';
5
+
6
+ @Entity({ name: 'fixed_invoice_items', schema: 'core' })
7
+ @Index('idx_fixed_invoice_items_invoice_id', ['invoiceId'])
8
+ export class FixedInvoiceItem extends BaseEntity {
9
+ @Column({ name: 'invoice_id' })
10
+ invoiceId: number;
11
+
12
+ @Column({
13
+ type: 'text',
14
+ name: 'description'
15
+ })
16
+ description: string;
17
+
18
+ @Column({
19
+ type: 'decimal',
20
+ precision: 10,
21
+ scale: 2,
22
+ name: 'amount'
23
+ })
24
+ amount: number;
25
+
26
+ @ManyToOne(() => Invoice, { onDelete: 'CASCADE' })
27
+ @JoinColumn({ name: 'invoice_id' })
28
+ invoice: Invoice;
29
+ }
@@ -0,0 +1,21 @@
1
+ import { Entity, Column, OneToMany } from 'typeorm';
2
+ import { Client } from './client.entity';
3
+ import { BaseEntity } from './base.entity';
4
+
5
+ @Entity({ name: 'groups', schema: 'core' })
6
+ export class Group extends BaseEntity {
7
+ @Column({ length: 255, unique: true, name: 'group_name' })
8
+ groupName: string;
9
+
10
+ @Column({ name: 'is_active', default: true , type: 'boolean',nullable: true})
11
+ isActive: boolean;
12
+
13
+ @Column('jsonb', { nullable: true, name: 'prefix_group' })
14
+ prefixGroup: Record<string, any>;
15
+
16
+ @OneToMany(() => Client, client => client.group, {
17
+ cascade: true,
18
+ onDelete: 'CASCADE',
19
+ })
20
+ clientsData: Client[];
21
+ }
@@ -0,0 +1,32 @@
1
+ import {
2
+ Entity,
3
+ Column,
4
+ Index,
5
+ } from 'typeorm';
6
+ import { BaseEntity } from './base.entity';
7
+
8
+ /**
9
+ * Gst Entity
10
+ * Represents the structure of the GST table in the database.
11
+ */
12
+ @Entity({ name: 'gst', schema: 'user' })
13
+ export class Gst extends BaseEntity {
14
+ @Index('idx_gst_number')
15
+ @Column({
16
+ name: 'gst_number',
17
+ type: 'varchar',
18
+ length: 15,
19
+ nullable: false,
20
+ unique: true,
21
+ comment: 'GST number associated with the entity',
22
+ })
23
+ gst_number: string;
24
+
25
+ @Column({
26
+ name: 'gst_info',
27
+ type: 'json',
28
+ nullable: true,
29
+ comment: 'Additional information about the GST in JSON format',
30
+ })
31
+ gst_info: Record<string, any>;
32
+ }