@procxo/shared 1.0.2 → 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.
- package/package.json +4 -2
- package/src/config/index.ts +5 -0
- package/src/config/ormconfig.factory.ts +102 -0
- package/src/config/typeorm.config.ts +22 -0
- package/src/core/constant/index.ts +1 -0
- package/src/core/constant/notification-preference.ts +113 -0
- package/src/core/json/core-data/currency.json +8 -0
- package/{dist → src}/core/json/core-data/department.json +38 -38
- package/{dist → src}/core/json/core-data/permission.json +898 -898
- package/src/core/json/core-data/role.json +30 -0
- package/src/core/json/core-data/user.json +12 -0
- package/src/core/json/geographic-data/cities.json +54693 -0
- package/src/core/json/geographic-data/countries.json +31 -0
- package/src/database/entities/activity-logs.entity.ts +31 -0
- package/src/database/entities/address.entity.ts +31 -0
- package/src/database/entities/alert.entity.ts +139 -0
- package/src/database/entities/approval-condition.entity.ts +48 -0
- package/src/database/entities/approval-hierarchy-role.entity.ts +24 -0
- package/src/database/entities/approval-hierarchy-user.entity.ts +24 -0
- package/src/database/entities/approval-hierarchy.entity.ts +59 -0
- package/src/database/entities/approval-journey.entity.ts +75 -0
- package/src/database/entities/approval-level-escalation-user.entity.ts +23 -0
- package/src/database/entities/approval-level-escalation.entity.ts +45 -0
- package/src/database/entities/approval-level-user.entity.ts +25 -0
- package/src/database/entities/approval-level.entity.ts +51 -0
- package/src/database/entities/base.entity.ts +31 -0
- package/src/database/entities/chat.entity.ts +36 -0
- package/src/database/entities/city.entity.ts +25 -0
- package/src/database/entities/client.entity.ts +91 -0
- package/src/database/entities/contact.entity.ts +27 -0
- package/src/database/entities/country.entity.ts +69 -0
- package/src/database/entities/credit-note.entity.ts +88 -0
- package/src/database/entities/currency.entity.ts +21 -0
- package/src/database/entities/department.entity.ts +21 -0
- package/src/database/entities/entitlement.entity.ts +64 -0
- package/src/database/entities/expense.entity.ts +141 -0
- package/src/database/entities/file.entity.ts +22 -0
- package/src/database/entities/fixed-invoice-item.entity.ts +29 -0
- package/src/database/entities/group.entity.ts +21 -0
- package/src/database/entities/gst.entity.ts +32 -0
- package/src/database/entities/holiday.entity.ts +51 -0
- package/{dist/database/entities/index.d.ts → src/database/entities/index.ts} +79 -78
- package/src/database/entities/invoice-template-footer.entity.ts +70 -0
- package/src/database/entities/invoice-template-header.entity.ts +34 -0
- package/src/database/entities/invoice-template-table.entity.ts +83 -0
- package/src/database/entities/invoice-template.entity.ts +119 -0
- package/src/database/entities/invoice.entity.ts +139 -0
- package/src/database/entities/invoice_item.entity.ts +69 -0
- package/src/database/entities/leave-balance.entity.ts +118 -0
- package/src/database/entities/leave-request.entity.ts +155 -0
- package/src/database/entities/leave-type.entity.ts +37 -0
- package/src/database/entities/matter-tag.entity.ts +21 -0
- package/src/database/entities/matter-task-view-filter.entity.ts +21 -0
- package/src/database/entities/matter-team-member.entity.ts +30 -0
- package/src/database/entities/matter.entity.ts +156 -0
- package/src/database/entities/payment.entity.ts +72 -0
- package/src/database/entities/permission.entity.ts +27 -0
- package/src/database/entities/quickbooks-connection.entity.ts +35 -0
- package/src/database/entities/quickbooks-sync-log.entity.ts +79 -0
- package/src/database/entities/role-permission.entity.ts +30 -0
- package/src/database/entities/role-shift.entity.ts +43 -0
- package/src/database/entities/role.entity.ts +30 -0
- package/src/database/entities/sequence-generator.entity.ts +40 -0
- package/src/database/entities/shift.entity.ts +72 -0
- package/src/database/entities/sub-task-tag.entity.ts +22 -0
- package/src/database/entities/subtask-user.entity.ts +21 -0
- package/src/database/entities/subtask.entity.ts +125 -0
- package/src/database/entities/summary-task-status.entity.ts +15 -0
- package/src/database/entities/superset.entity.ts +38 -0
- package/src/database/entities/tag.entity.ts +19 -0
- package/src/database/entities/task-comment.entity.ts +41 -0
- package/src/database/entities/task-milestone.entity.ts +14 -0
- package/src/database/entities/task-remainder.entity.ts +29 -0
- package/src/database/entities/task-tag.entity.ts +22 -0
- package/src/database/entities/task-type.entity.ts +14 -0
- package/src/database/entities/task-user.entity.ts +21 -0
- package/src/database/entities/task.entity.ts +176 -0
- package/src/database/entities/template-task.entity.ts +25 -0
- package/src/database/entities/template.entity.ts +28 -0
- package/src/database/entities/timesheet-comment.entity.ts +45 -0
- package/src/database/entities/timesheet-event.entity.ts +256 -0
- package/src/database/entities/timesheet-summary.entity.ts +101 -0
- package/src/database/entities/timesheet.entity.ts +76 -0
- package/src/database/entities/transfer-ownership.entity.ts +39 -0
- package/src/database/entities/upload-log.entity.ts +78 -0
- package/src/database/entities/user-notification-channel.entity.ts +43 -0
- package/src/database/entities/user-notification-preference.entity.ts +50 -0
- package/src/database/entities/user-role.entity.ts +25 -0
- package/src/database/entities/user-session-history.entity.ts +45 -0
- package/src/database/entities/user-shift.entity.ts +109 -0
- package/src/database/entities/user.entity.ts +198 -0
- package/src/database/index.ts +1 -0
- package/{dist/database/migrations/1770706648232-initialMigration.js → src/database/migrations/1770706648232-initialMigration.ts} +9 -9
- package/src/database/seeder/base.seed.ts +104 -0
- package/src/database/seeder/config/seeder.config.ts +26 -0
- package/src/database/seeder/errors/seeder.error.ts +20 -0
- package/src/database/seeder/seed-runner.ts +200 -0
- package/src/database/seeder/seeds/city.seed.ts +70 -0
- package/src/database/seeder/seeds/country.seed.ts +58 -0
- package/src/database/seeder/seeds/currency.seed.ts +52 -0
- package/src/database/seeder/seeds/department.seed.ts +47 -0
- package/src/database/seeder/seeds/permission.seed.ts +54 -0
- package/src/database/seeder/seeds/role-permission.seed.ts +58 -0
- package/src/database/seeder/seeds/role.seed.ts +52 -0
- package/src/database/seeder/seeds/user-role.seed.ts +72 -0
- package/src/database/seeder/seeds/user.seed.ts +87 -0
- package/{dist/index.d.ts → src/index.ts} +5 -1
- package/src/scripts/create-schema.ts +94 -0
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -7
- package/dist/config/index.js.map +0 -1
- package/dist/config/ormconfig.factory.d.ts +0 -10
- package/dist/config/ormconfig.factory.d.ts.map +0 -1
- package/dist/config/ormconfig.factory.js +0 -47
- package/dist/config/ormconfig.factory.js.map +0 -1
- package/dist/config/typeorm.config.d.ts +0 -4
- package/dist/config/typeorm.config.d.ts.map +0 -1
- package/dist/config/typeorm.config.js +0 -22
- package/dist/config/typeorm.config.js.map +0 -1
- package/dist/core/constant/index.d.ts +0 -2
- package/dist/core/constant/index.d.ts.map +0 -1
- package/dist/core/constant/index.js +0 -18
- package/dist/core/constant/index.js.map +0 -1
- package/dist/core/constant/notification-preference.d.ts +0 -29
- package/dist/core/constant/notification-preference.d.ts.map +0 -1
- package/dist/core/constant/notification-preference.js +0 -81
- package/dist/core/constant/notification-preference.js.map +0 -1
- package/dist/core/json/core-data/currency.json +0 -8
- package/dist/core/json/core-data/role.json +0 -30
- package/dist/core/json/core-data/user.json +0 -12
- package/dist/core/json/geographic-data/cities.json +0 -54693
- package/dist/core/json/geographic-data/countries.json +0 -31
- package/dist/database/entities/activity-logs.entity.d.ts +0 -11
- package/dist/database/entities/activity-logs.entity.d.ts.map +0 -1
- package/dist/database/entities/activity-logs.entity.js +0 -56
- package/dist/database/entities/activity-logs.entity.js.map +0 -1
- package/dist/database/entities/address.entity.d.ts +0 -13
- package/dist/database/entities/address.entity.d.ts.map +0 -1
- package/dist/database/entities/address.entity.js +0 -63
- package/dist/database/entities/address.entity.js.map +0 -1
- package/dist/database/entities/alert.entity.d.ts +0 -37
- package/dist/database/entities/alert.entity.d.ts.map +0 -1
- package/dist/database/entities/alert.entity.js +0 -171
- package/dist/database/entities/alert.entity.js.map +0 -1
- package/dist/database/entities/approval-condition.entity.d.ts +0 -16
- package/dist/database/entities/approval-condition.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-condition.entity.js +0 -66
- package/dist/database/entities/approval-condition.entity.js.map +0 -1
- package/dist/database/entities/approval-hierarchy-role.entity.d.ts +0 -10
- package/dist/database/entities/approval-hierarchy-role.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-hierarchy-role.entity.js +0 -47
- package/dist/database/entities/approval-hierarchy-role.entity.js.map +0 -1
- package/dist/database/entities/approval-hierarchy-user.entity.d.ts +0 -10
- package/dist/database/entities/approval-hierarchy-user.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-hierarchy-user.entity.js +0 -47
- package/dist/database/entities/approval-hierarchy-user.entity.js.map +0 -1
- package/dist/database/entities/approval-hierarchy.entity.d.ts +0 -22
- package/dist/database/entities/approval-hierarchy.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-hierarchy.entity.js +0 -80
- package/dist/database/entities/approval-hierarchy.entity.js.map +0 -1
- package/dist/database/entities/approval-journey.entity.d.ts +0 -32
- package/dist/database/entities/approval-journey.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-journey.entity.js +0 -125
- package/dist/database/entities/approval-journey.entity.js.map +0 -1
- package/dist/database/entities/approval-level-escalation-user.entity.d.ts +0 -10
- package/dist/database/entities/approval-level-escalation-user.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-level-escalation-user.entity.js +0 -47
- package/dist/database/entities/approval-level-escalation-user.entity.js.map +0 -1
- package/dist/database/entities/approval-level-escalation.entity.d.ts +0 -14
- package/dist/database/entities/approval-level-escalation.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-level-escalation.entity.js +0 -65
- package/dist/database/entities/approval-level-escalation.entity.js.map +0 -1
- package/dist/database/entities/approval-level-user.entity.d.ts +0 -10
- package/dist/database/entities/approval-level-user.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-level-user.entity.js +0 -49
- package/dist/database/entities/approval-level-user.entity.js.map +0 -1
- package/dist/database/entities/approval-level.entity.d.ts +0 -17
- package/dist/database/entities/approval-level.entity.d.ts.map +0 -1
- package/dist/database/entities/approval-level.entity.js +0 -76
- package/dist/database/entities/approval-level.entity.js.map +0 -1
- package/dist/database/entities/base.entity.d.ts +0 -12
- package/dist/database/entities/base.entity.d.ts.map +0 -1
- package/dist/database/entities/base.entity.js +0 -63
- package/dist/database/entities/base.entity.js.map +0 -1
- package/dist/database/entities/chat.entity.d.ts +0 -13
- package/dist/database/entities/chat.entity.d.ts.map +0 -1
- package/dist/database/entities/chat.entity.js +0 -67
- package/dist/database/entities/chat.entity.js.map +0 -1
- package/dist/database/entities/city.entity.d.ts +0 -11
- package/dist/database/entities/city.entity.d.ts.map +0 -1
- package/dist/database/entities/city.entity.js +0 -53
- package/dist/database/entities/city.entity.js.map +0 -1
- package/dist/database/entities/client.entity.d.ts +0 -40
- package/dist/database/entities/client.entity.d.ts.map +0 -1
- package/dist/database/entities/client.entity.js +0 -146
- package/dist/database/entities/client.entity.js.map +0 -1
- package/dist/database/entities/contact.entity.d.ts +0 -12
- package/dist/database/entities/contact.entity.d.ts.map +0 -1
- package/dist/database/entities/contact.entity.js +0 -57
- package/dist/database/entities/contact.entity.js.map +0 -1
- package/dist/database/entities/country.entity.d.ts +0 -26
- package/dist/database/entities/country.entity.d.ts.map +0 -1
- package/dist/database/entities/country.entity.js +0 -127
- package/dist/database/entities/country.entity.js.map +0 -1
- package/dist/database/entities/credit-note.entity.d.ts +0 -35
- package/dist/database/entities/credit-note.entity.d.ts.map +0 -1
- package/dist/database/entities/credit-note.entity.js +0 -144
- package/dist/database/entities/credit-note.entity.js.map +0 -1
- package/dist/database/entities/currency.entity.d.ts +0 -10
- package/dist/database/entities/currency.entity.d.ts.map +0 -1
- package/dist/database/entities/currency.entity.js +0 -47
- package/dist/database/entities/currency.entity.js.map +0 -1
- package/dist/database/entities/department.entity.d.ts +0 -10
- package/dist/database/entities/department.entity.d.ts.map +0 -1
- package/dist/database/entities/department.entity.js +0 -47
- package/dist/database/entities/department.entity.js.map +0 -1
- package/dist/database/entities/entitlement.entity.d.ts +0 -24
- package/dist/database/entities/entitlement.entity.d.ts.map +0 -1
- package/dist/database/entities/entitlement.entity.js +0 -106
- package/dist/database/entities/entitlement.entity.js.map +0 -1
- package/dist/database/entities/expense.entity.d.ts +0 -47
- package/dist/database/entities/expense.entity.d.ts.map +0 -1
- package/dist/database/entities/expense.entity.js +0 -221
- package/dist/database/entities/expense.entity.js.map +0 -1
- package/dist/database/entities/file.entity.d.ts +0 -9
- package/dist/database/entities/file.entity.d.ts.map +0 -1
- package/dist/database/entities/file.entity.js +0 -46
- package/dist/database/entities/file.entity.js.map +0 -1
- package/dist/database/entities/fixed-invoice-item.entity.d.ts +0 -9
- package/dist/database/entities/fixed-invoice-item.entity.d.ts.map +0 -1
- package/dist/database/entities/fixed-invoice-item.entity.js +0 -52
- package/dist/database/entities/fixed-invoice-item.entity.js.map +0 -1
- package/dist/database/entities/group.entity.d.ts +0 -9
- package/dist/database/entities/group.entity.d.ts.map +0 -1
- package/dist/database/entities/group.entity.js +0 -45
- package/dist/database/entities/group.entity.js.map +0 -1
- package/dist/database/entities/gst.entity.d.ts +0 -6
- package/dist/database/entities/gst.entity.d.ts.map +0 -1
- package/dist/database/entities/gst.entity.js +0 -44
- package/dist/database/entities/gst.entity.js.map +0 -1
- package/dist/database/entities/holiday.entity.d.ts +0 -14
- package/dist/database/entities/holiday.entity.d.ts.map +0 -1
- package/dist/database/entities/holiday.entity.js +0 -79
- package/dist/database/entities/holiday.entity.js.map +0 -1
- package/dist/database/entities/index.d.ts.map +0 -1
- package/dist/database/entities/index.js +0 -94
- package/dist/database/entities/index.js.map +0 -1
- package/dist/database/entities/invoice-template-footer.entity.d.ts +0 -24
- package/dist/database/entities/invoice-template-footer.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice-template-footer.entity.js +0 -118
- package/dist/database/entities/invoice-template-footer.entity.js.map +0 -1
- package/dist/database/entities/invoice-template-header.entity.d.ts +0 -14
- package/dist/database/entities/invoice-template-header.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice-template-header.entity.js +0 -68
- package/dist/database/entities/invoice-template-header.entity.js.map +0 -1
- package/dist/database/entities/invoice-template-table.entity.d.ts +0 -35
- package/dist/database/entities/invoice-template-table.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice-template-table.entity.js +0 -143
- package/dist/database/entities/invoice-template-table.entity.js.map +0 -1
- package/dist/database/entities/invoice-template.entity.d.ts +0 -39
- package/dist/database/entities/invoice-template.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice-template.entity.js +0 -157
- package/dist/database/entities/invoice-template.entity.js.map +0 -1
- package/dist/database/entities/invoice.entity.d.ts +0 -46
- package/dist/database/entities/invoice.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice.entity.js +0 -212
- package/dist/database/entities/invoice.entity.js.map +0 -1
- package/dist/database/entities/invoice_item.entity.d.ts +0 -22
- package/dist/database/entities/invoice_item.entity.d.ts.map +0 -1
- package/dist/database/entities/invoice_item.entity.js +0 -89
- package/dist/database/entities/invoice_item.entity.js.map +0 -1
- package/dist/database/entities/leave-balance.entity.d.ts +0 -38
- package/dist/database/entities/leave-balance.entity.d.ts.map +0 -1
- package/dist/database/entities/leave-balance.entity.js +0 -166
- package/dist/database/entities/leave-balance.entity.js.map +0 -1
- package/dist/database/entities/leave-request.entity.d.ts +0 -64
- package/dist/database/entities/leave-request.entity.d.ts.map +0 -1
- package/dist/database/entities/leave-request.entity.js +0 -219
- package/dist/database/entities/leave-request.entity.js.map +0 -1
- package/dist/database/entities/leave-type.entity.d.ts +0 -15
- package/dist/database/entities/leave-type.entity.d.ts.map +0 -1
- package/dist/database/entities/leave-type.entity.js +0 -72
- package/dist/database/entities/leave-type.entity.js.map +0 -1
- package/dist/database/entities/matter-tag.entity.d.ts +0 -10
- package/dist/database/entities/matter-tag.entity.d.ts.map +0 -1
- package/dist/database/entities/matter-tag.entity.js +0 -45
- package/dist/database/entities/matter-tag.entity.js.map +0 -1
- package/dist/database/entities/matter-task-view-filter.entity.d.ts +0 -11
- package/dist/database/entities/matter-task-view-filter.entity.d.ts.map +0 -1
- package/dist/database/entities/matter-task-view-filter.entity.js +0 -42
- package/dist/database/entities/matter-task-view-filter.entity.js.map +0 -1
- package/dist/database/entities/matter-team-member.entity.d.ts +0 -11
- package/dist/database/entities/matter-team-member.entity.d.ts.map +0 -1
- package/dist/database/entities/matter-team-member.entity.js +0 -56
- package/dist/database/entities/matter-team-member.entity.js.map +0 -1
- package/dist/database/entities/matter.entity.d.ts +0 -62
- package/dist/database/entities/matter.entity.d.ts.map +0 -1
- package/dist/database/entities/matter.entity.js +0 -249
- package/dist/database/entities/matter.entity.js.map +0 -1
- package/dist/database/entities/payment.entity.d.ts +0 -26
- package/dist/database/entities/payment.entity.d.ts.map +0 -1
- package/dist/database/entities/payment.entity.js +0 -127
- package/dist/database/entities/payment.entity.js.map +0 -1
- package/dist/database/entities/permission.entity.d.ts +0 -11
- package/dist/database/entities/permission.entity.d.ts.map +0 -1
- package/dist/database/entities/permission.entity.js +0 -52
- package/dist/database/entities/permission.entity.js.map +0 -1
- package/dist/database/entities/quickbooks-connection.entity.d.ts +0 -14
- package/dist/database/entities/quickbooks-connection.entity.d.ts.map +0 -1
- package/dist/database/entities/quickbooks-connection.entity.js +0 -71
- package/dist/database/entities/quickbooks-connection.entity.js.map +0 -1
- package/dist/database/entities/quickbooks-sync-log.entity.d.ts +0 -34
- package/dist/database/entities/quickbooks-sync-log.entity.d.ts.map +0 -1
- package/dist/database/entities/quickbooks-sync-log.entity.js +0 -116
- package/dist/database/entities/quickbooks-sync-log.entity.js.map +0 -1
- package/dist/database/entities/role-permission.entity.d.ts +0 -10
- package/dist/database/entities/role-permission.entity.d.ts.map +0 -1
- package/dist/database/entities/role-permission.entity.js +0 -49
- package/dist/database/entities/role-permission.entity.js.map +0 -1
- package/dist/database/entities/role-shift.entity.d.ts +0 -8
- package/dist/database/entities/role-shift.entity.d.ts.map +0 -1
- package/dist/database/entities/role-shift.entity.js +0 -48
- package/dist/database/entities/role-shift.entity.js.map +0 -1
- package/dist/database/entities/role.entity.d.ts +0 -13
- package/dist/database/entities/role.entity.d.ts.map +0 -1
- package/dist/database/entities/role.entity.js +0 -58
- package/dist/database/entities/role.entity.js.map +0 -1
- package/dist/database/entities/sequence-generator.entity.d.ts +0 -8
- package/dist/database/entities/sequence-generator.entity.d.ts.map +0 -1
- package/dist/database/entities/sequence-generator.entity.js +0 -64
- package/dist/database/entities/sequence-generator.entity.js.map +0 -1
- package/dist/database/entities/shift.entity.d.ts +0 -18
- package/dist/database/entities/shift.entity.d.ts.map +0 -1
- package/dist/database/entities/shift.entity.js +0 -110
- package/dist/database/entities/shift.entity.js.map +0 -1
- package/dist/database/entities/sub-task-tag.entity.d.ts +0 -10
- package/dist/database/entities/sub-task-tag.entity.d.ts.map +0 -1
- package/dist/database/entities/sub-task-tag.entity.js +0 -45
- package/dist/database/entities/sub-task-tag.entity.js.map +0 -1
- package/dist/database/entities/subtask-user.entity.d.ts +0 -10
- package/dist/database/entities/subtask-user.entity.d.ts.map +0 -1
- package/dist/database/entities/subtask-user.entity.js +0 -45
- package/dist/database/entities/subtask-user.entity.js.map +0 -1
- package/dist/database/entities/subtask.entity.d.ts +0 -47
- package/dist/database/entities/subtask.entity.d.ts.map +0 -1
- package/dist/database/entities/subtask.entity.js +0 -185
- package/dist/database/entities/subtask.entity.js.map +0 -1
- package/dist/database/entities/summary-task-status.entity.d.ts +0 -7
- package/dist/database/entities/summary-task-status.entity.d.ts.map +0 -1
- package/dist/database/entities/summary-task-status.entity.js +0 -37
- package/dist/database/entities/summary-task-status.entity.js.map +0 -1
- package/dist/database/entities/superset.entity.d.ts +0 -15
- package/dist/database/entities/superset.entity.d.ts.map +0 -1
- package/dist/database/entities/superset.entity.js +0 -73
- package/dist/database/entities/superset.entity.js.map +0 -1
- package/dist/database/entities/tag.entity.d.ts +0 -10
- package/dist/database/entities/tag.entity.d.ts.map +0 -1
- package/dist/database/entities/tag.entity.js +0 -43
- package/dist/database/entities/tag.entity.js.map +0 -1
- package/dist/database/entities/task-comment.entity.d.ts +0 -15
- package/dist/database/entities/task-comment.entity.d.ts.map +0 -1
- package/dist/database/entities/task-comment.entity.js +0 -67
- package/dist/database/entities/task-comment.entity.js.map +0 -1
- package/dist/database/entities/task-milestone.entity.d.ts +0 -7
- package/dist/database/entities/task-milestone.entity.d.ts.map +0 -1
- package/dist/database/entities/task-milestone.entity.js +0 -36
- package/dist/database/entities/task-milestone.entity.js.map +0 -1
- package/dist/database/entities/task-remainder.entity.d.ts +0 -12
- package/dist/database/entities/task-remainder.entity.d.ts.map +0 -1
- package/dist/database/entities/task-remainder.entity.js +0 -57
- package/dist/database/entities/task-remainder.entity.js.map +0 -1
- package/dist/database/entities/task-tag.entity.d.ts +0 -10
- package/dist/database/entities/task-tag.entity.d.ts.map +0 -1
- package/dist/database/entities/task-tag.entity.js +0 -45
- package/dist/database/entities/task-tag.entity.js.map +0 -1
- package/dist/database/entities/task-type.entity.d.ts +0 -7
- package/dist/database/entities/task-type.entity.d.ts.map +0 -1
- package/dist/database/entities/task-type.entity.js +0 -36
- package/dist/database/entities/task-type.entity.js.map +0 -1
- package/dist/database/entities/task-user.entity.d.ts +0 -10
- package/dist/database/entities/task-user.entity.d.ts.map +0 -1
- package/dist/database/entities/task-user.entity.js +0 -45
- package/dist/database/entities/task-user.entity.js.map +0 -1
- package/dist/database/entities/task.entity.d.ts +0 -53
- package/dist/database/entities/task.entity.d.ts.map +0 -1
- package/dist/database/entities/task.entity.js +0 -259
- package/dist/database/entities/task.entity.js.map +0 -1
- package/dist/database/entities/template-task.entity.d.ts +0 -11
- package/dist/database/entities/template-task.entity.d.ts.map +0 -1
- package/dist/database/entities/template-task.entity.js +0 -53
- package/dist/database/entities/template-task.entity.js.map +0 -1
- package/dist/database/entities/template.entity.d.ts +0 -13
- package/dist/database/entities/template.entity.d.ts.map +0 -1
- package/dist/database/entities/template.entity.js +0 -58
- package/dist/database/entities/template.entity.js.map +0 -1
- package/dist/database/entities/timesheet-comment.entity.d.ts +0 -11
- package/dist/database/entities/timesheet-comment.entity.d.ts.map +0 -1
- package/dist/database/entities/timesheet-comment.entity.js +0 -65
- package/dist/database/entities/timesheet-comment.entity.js.map +0 -1
- package/dist/database/entities/timesheet-event.entity.d.ts +0 -48
- package/dist/database/entities/timesheet-event.entity.d.ts.map +0 -1
- package/dist/database/entities/timesheet-event.entity.js +0 -328
- package/dist/database/entities/timesheet-event.entity.js.map +0 -1
- package/dist/database/entities/timesheet-summary.entity.d.ts +0 -27
- package/dist/database/entities/timesheet-summary.entity.d.ts.map +0 -1
- package/dist/database/entities/timesheet-summary.entity.js +0 -161
- package/dist/database/entities/timesheet-summary.entity.js.map +0 -1
- package/dist/database/entities/timesheet.entity.d.ts +0 -32
- package/dist/database/entities/timesheet.entity.d.ts.map +0 -1
- package/dist/database/entities/timesheet.entity.js +0 -112
- package/dist/database/entities/timesheet.entity.js.map +0 -1
- package/dist/database/entities/transfer-ownership.entity.d.ts +0 -15
- package/dist/database/entities/transfer-ownership.entity.d.ts.map +0 -1
- package/dist/database/entities/transfer-ownership.entity.js +0 -75
- package/dist/database/entities/transfer-ownership.entity.js.map +0 -1
- package/dist/database/entities/upload-log.entity.d.ts +0 -31
- package/dist/database/entities/upload-log.entity.d.ts.map +0 -1
- package/dist/database/entities/upload-log.entity.js +0 -111
- package/dist/database/entities/upload-log.entity.js.map +0 -1
- package/dist/database/entities/user-notification-channel.entity.d.ts +0 -8
- package/dist/database/entities/user-notification-channel.entity.d.ts.map +0 -1
- package/dist/database/entities/user-notification-channel.entity.js +0 -63
- package/dist/database/entities/user-notification-channel.entity.js.map +0 -1
- package/dist/database/entities/user-notification-preference.entity.d.ts +0 -10
- package/dist/database/entities/user-notification-preference.entity.d.ts.map +0 -1
- package/dist/database/entities/user-notification-preference.entity.js +0 -72
- package/dist/database/entities/user-notification-preference.entity.js.map +0 -1
- package/dist/database/entities/user-role.entity.d.ts +0 -10
- package/dist/database/entities/user-role.entity.d.ts.map +0 -1
- package/dist/database/entities/user-role.entity.js +0 -45
- package/dist/database/entities/user-role.entity.js.map +0 -1
- package/dist/database/entities/user-session-history.entity.d.ts +0 -16
- package/dist/database/entities/user-session-history.entity.d.ts.map +0 -1
- package/dist/database/entities/user-session-history.entity.js +0 -78
- package/dist/database/entities/user-session-history.entity.js.map +0 -1
- package/dist/database/entities/user-shift.entity.d.ts +0 -24
- package/dist/database/entities/user-shift.entity.d.ts.map +0 -1
- package/dist/database/entities/user-shift.entity.js +0 -153
- package/dist/database/entities/user-shift.entity.js.map +0 -1
- package/dist/database/entities/user.entity.d.ts +0 -74
- package/dist/database/entities/user.entity.d.ts.map +0 -1
- package/dist/database/entities/user.entity.js +0 -280
- package/dist/database/entities/user.entity.js.map +0 -1
- package/dist/database/index.d.ts +0 -2
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/index.js +0 -18
- package/dist/database/index.js.map +0 -1
- package/dist/database/migrations/1770706648232-initialMigration.d.ts +0 -7
- package/dist/database/migrations/1770706648232-initialMigration.d.ts.map +0 -1
- package/dist/database/migrations/1770706648232-initialMigration.js.map +0 -1
- package/dist/database/seeder/base.seed.d.ts +0 -19
- package/dist/database/seeder/base.seed.d.ts.map +0 -1
- package/dist/database/seeder/base.seed.js +0 -83
- package/dist/database/seeder/base.seed.js.map +0 -1
- package/dist/database/seeder/config/seeder.config.d.ts +0 -7
- package/dist/database/seeder/config/seeder.config.d.ts.map +0 -1
- package/dist/database/seeder/config/seeder.config.js +0 -21
- package/dist/database/seeder/config/seeder.config.js.map +0 -1
- package/dist/database/seeder/errors/seeder.error.d.ts +0 -11
- package/dist/database/seeder/errors/seeder.error.d.ts.map +0 -1
- package/dist/database/seeder/errors/seeder.error.js +0 -27
- package/dist/database/seeder/errors/seeder.error.js.map +0 -1
- package/dist/database/seeder/seed-runner.d.ts +0 -2
- package/dist/database/seeder/seed-runner.d.ts.map +0 -1
- package/dist/database/seeder/seed-runner.js +0 -157
- package/dist/database/seeder/seed-runner.js.map +0 -1
- package/dist/database/seeder/seeds/city.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/city.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/city.seed.js +0 -62
- package/dist/database/seeder/seeds/city.seed.js.map +0 -1
- package/dist/database/seeder/seeds/country.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/country.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/country.seed.js +0 -54
- package/dist/database/seeder/seeds/country.seed.js.map +0 -1
- package/dist/database/seeder/seeds/currency.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/currency.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/currency.seed.js +0 -50
- package/dist/database/seeder/seeds/currency.seed.js.map +0 -1
- package/dist/database/seeder/seeds/department.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/department.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/department.seed.js +0 -48
- package/dist/database/seeder/seeds/department.seed.js.map +0 -1
- package/dist/database/seeder/seeds/permission.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/permission.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/permission.seed.js +0 -54
- package/dist/database/seeder/seeds/permission.seed.js.map +0 -1
- package/dist/database/seeder/seeds/role-permission.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/role-permission.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/role-permission.seed.js +0 -47
- package/dist/database/seeder/seeds/role-permission.seed.js.map +0 -1
- package/dist/database/seeder/seeds/role.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/role.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/role.seed.js +0 -52
- package/dist/database/seeder/seeds/role.seed.js.map +0 -1
- package/dist/database/seeder/seeds/user-role.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/user-role.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/user-role.seed.js +0 -66
- package/dist/database/seeder/seeds/user-role.seed.js.map +0 -1
- package/dist/database/seeder/seeds/user.seed.d.ts +0 -8
- package/dist/database/seeder/seeds/user.seed.d.ts.map +0 -1
- package/dist/database/seeder/seeds/user.seed.js +0 -110
- package/dist/database/seeder/seeds/user.seed.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/scripts/create-schema.d.ts +0 -2
- package/dist/scripts/create-schema.d.ts.map +0 -1
- package/dist/scripts/create-schema.js +0 -77
- package/dist/scripts/create-schema.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": 101,
|
|
4
|
+
"name": "India",
|
|
5
|
+
"iso3": "IND",
|
|
6
|
+
"iso2": "IN",
|
|
7
|
+
"numeric_code": "356",
|
|
8
|
+
"phonecode": "91",
|
|
9
|
+
"capital": "New Delhi",
|
|
10
|
+
"currency": "INR",
|
|
11
|
+
"currency_name": "Indian rupee",
|
|
12
|
+
"currency_symbol": "₹",
|
|
13
|
+
"tld": ".in",
|
|
14
|
+
"native": "भारत",
|
|
15
|
+
"region": "Asia",
|
|
16
|
+
"nationality": "Indian",
|
|
17
|
+
"timezones": [
|
|
18
|
+
{
|
|
19
|
+
"zoneName": "Asia/Kolkata",
|
|
20
|
+
"gmtOffset": 19800,
|
|
21
|
+
"gmtOffsetName": "UTC+05:30",
|
|
22
|
+
"abbreviation": "IST",
|
|
23
|
+
"tzName": "Indian Standard Time"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"latitude": "20.00000000",
|
|
27
|
+
"longitude": "77.00000000",
|
|
28
|
+
"emoji": "🇮🇳",
|
|
29
|
+
"emojiU": "U+1F1EE U+1F1F3"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseEntity } from './base.entity';
|
|
2
|
+
import {
|
|
3
|
+
Entity,
|
|
4
|
+
Column,
|
|
5
|
+
} from 'typeorm';
|
|
6
|
+
|
|
7
|
+
@Entity({ name: 'activity_logs', schema: 'core' })
|
|
8
|
+
export class ActivityLog extends BaseEntity {
|
|
9
|
+
@Column({ name: 'user_id' , nullable: true})
|
|
10
|
+
userId: number;
|
|
11
|
+
|
|
12
|
+
@Column({ name: 'resource_type' , nullable: true})
|
|
13
|
+
resourceType: string;
|
|
14
|
+
|
|
15
|
+
@Column({ name: 'resource_id' , nullable: true})
|
|
16
|
+
resourceId: number;
|
|
17
|
+
|
|
18
|
+
@Column({ name: 'action' , nullable: true})
|
|
19
|
+
action: string;
|
|
20
|
+
|
|
21
|
+
@Column({ name: 'description' , nullable: true})
|
|
22
|
+
description: string;
|
|
23
|
+
|
|
24
|
+
@Column({ name: 'before_data' , type: 'json', nullable: true })
|
|
25
|
+
beforeData: Record<string, any>;
|
|
26
|
+
|
|
27
|
+
@Column({ name: 'after_data' , type: 'json', nullable: true })
|
|
28
|
+
afterData: Record<string, any>;
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Entity, Column, OneToOne, JoinColumn } from 'typeorm';
|
|
2
|
+
import { BaseEntity } from './base.entity';
|
|
3
|
+
import { Client } from './client.entity';
|
|
4
|
+
|
|
5
|
+
@Entity({ name: 'addresses', schema: 'core' })
|
|
6
|
+
export class Address extends BaseEntity {
|
|
7
|
+
@Column({ unique: true })
|
|
8
|
+
clientId: number;
|
|
9
|
+
|
|
10
|
+
@Column({ nullable: true })
|
|
11
|
+
address: string;
|
|
12
|
+
|
|
13
|
+
@Column({ length: 100, nullable: true })
|
|
14
|
+
billingContactPerson: string;
|
|
15
|
+
|
|
16
|
+
@Column({ nullable: true })
|
|
17
|
+
invoiceFrequency: string;
|
|
18
|
+
|
|
19
|
+
@Column({ type: 'int', nullable: true })
|
|
20
|
+
invoiceDayOfWeek: number;
|
|
21
|
+
|
|
22
|
+
@Column({ nullable: true })
|
|
23
|
+
attachment: string;
|
|
24
|
+
|
|
25
|
+
@Column({ type: 'text', nullable: true })
|
|
26
|
+
notes: string;
|
|
27
|
+
|
|
28
|
+
@OneToOne(() => Client, client => client.address)
|
|
29
|
+
@JoinColumn({ name: 'clientId' })
|
|
30
|
+
client: Client;
|
|
31
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
|
|
2
|
+
import { BaseEntity } from './base.entity';
|
|
3
|
+
|
|
4
|
+
export enum AlertType {
|
|
5
|
+
MATTER = 'matter',
|
|
6
|
+
INVOICE = 'invoice',
|
|
7
|
+
OTHER = 'other',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export enum AlertStatus {
|
|
11
|
+
UNREAD = 'unread',
|
|
12
|
+
READ = 'read',
|
|
13
|
+
ARCHIVED = 'archived',
|
|
14
|
+
DELETED = 'deleted',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export enum AlertPriority {
|
|
18
|
+
CRITICAL = 'critical',
|
|
19
|
+
HIGH = 'high',
|
|
20
|
+
NORMAL = 'normal',
|
|
21
|
+
LOW = 'low',
|
|
22
|
+
BULK = 'bulk',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* User Alert Entity
|
|
27
|
+
* Represents the structure of the user alert table in the database.
|
|
28
|
+
*/
|
|
29
|
+
@Entity({ name: 'alerts', schema: 'notification' })
|
|
30
|
+
export class Alert extends BaseEntity {
|
|
31
|
+
@Column({
|
|
32
|
+
type: 'varchar',
|
|
33
|
+
length: 255,
|
|
34
|
+
nullable: false,
|
|
35
|
+
comment: 'Title of the alert entry',
|
|
36
|
+
})
|
|
37
|
+
title: string;
|
|
38
|
+
|
|
39
|
+
@Column({
|
|
40
|
+
type: 'text',
|
|
41
|
+
nullable: false,
|
|
42
|
+
comment: 'Message of the alert entry',
|
|
43
|
+
})
|
|
44
|
+
message?: string;
|
|
45
|
+
|
|
46
|
+
@Column({
|
|
47
|
+
type: 'enum',
|
|
48
|
+
enum: AlertType,
|
|
49
|
+
default: AlertType.OTHER,
|
|
50
|
+
comment: 'Type of the alert entry',
|
|
51
|
+
})
|
|
52
|
+
type: AlertType;
|
|
53
|
+
|
|
54
|
+
@Column({
|
|
55
|
+
type: 'enum',
|
|
56
|
+
enum: AlertPriority,
|
|
57
|
+
default: AlertPriority.NORMAL,
|
|
58
|
+
comment: 'Priority of the alert entry',
|
|
59
|
+
})
|
|
60
|
+
priority: AlertPriority;
|
|
61
|
+
|
|
62
|
+
@Column({
|
|
63
|
+
type: 'enum',
|
|
64
|
+
enum: AlertStatus,
|
|
65
|
+
default: AlertStatus.UNREAD,
|
|
66
|
+
comment: 'Status of the alert entry',
|
|
67
|
+
})
|
|
68
|
+
status: AlertStatus;
|
|
69
|
+
|
|
70
|
+
@Column({
|
|
71
|
+
name: 'user_id',
|
|
72
|
+
type: 'integer',
|
|
73
|
+
nullable: false,
|
|
74
|
+
comment: 'ID of the user associated with the alert entry',
|
|
75
|
+
})
|
|
76
|
+
userId: number;
|
|
77
|
+
|
|
78
|
+
@Column({
|
|
79
|
+
name: 'read_at',
|
|
80
|
+
type: 'timestamp',
|
|
81
|
+
nullable: true,
|
|
82
|
+
comment: 'Read at of the alert entry',
|
|
83
|
+
})
|
|
84
|
+
readAt: Date | null;
|
|
85
|
+
|
|
86
|
+
@Column({
|
|
87
|
+
type: 'timestamp',
|
|
88
|
+
nullable: true,
|
|
89
|
+
comment: 'Expires at of the alert entry',
|
|
90
|
+
})
|
|
91
|
+
expiresAt?: Date;
|
|
92
|
+
|
|
93
|
+
@Column({
|
|
94
|
+
type: 'json',
|
|
95
|
+
nullable: true,
|
|
96
|
+
comment: 'Metadata of the alert entry',
|
|
97
|
+
})
|
|
98
|
+
metadata: Record<string, any> | null;
|
|
99
|
+
|
|
100
|
+
@Column({
|
|
101
|
+
type: 'json',
|
|
102
|
+
nullable: true,
|
|
103
|
+
comment: 'Action data of the alert entry',
|
|
104
|
+
})
|
|
105
|
+
actionData: Record<string, any> | null;
|
|
106
|
+
|
|
107
|
+
// Optional: Track related entity
|
|
108
|
+
@Column({
|
|
109
|
+
name: 'related_entity_id',
|
|
110
|
+
type: 'varchar',
|
|
111
|
+
length: 100,
|
|
112
|
+
nullable: true,
|
|
113
|
+
comment: 'ID of related business entity (matter, invoice, etc.)',
|
|
114
|
+
})
|
|
115
|
+
relatedEntityId: string | null;
|
|
116
|
+
|
|
117
|
+
@Column({
|
|
118
|
+
name: 'related_entity_type',
|
|
119
|
+
type: 'varchar',
|
|
120
|
+
length: 50,
|
|
121
|
+
nullable: true,
|
|
122
|
+
comment: 'Type of related business entity',
|
|
123
|
+
})
|
|
124
|
+
relatedEntityType: string | null;
|
|
125
|
+
|
|
126
|
+
markAsRead(): void {
|
|
127
|
+
this.status = AlertStatus.READ;
|
|
128
|
+
this.readAt = new Date();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
markAsUnread(): void {
|
|
132
|
+
this.status = AlertStatus.UNREAD;
|
|
133
|
+
this.readAt = null;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
archive(): void {
|
|
137
|
+
this.status = AlertStatus.ARCHIVED;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Column,
|
|
3
|
+
Entity,
|
|
4
|
+
JoinColumn,
|
|
5
|
+
ManyToOne,
|
|
6
|
+
OneToMany,
|
|
7
|
+
} from 'typeorm';
|
|
8
|
+
import { ApprovalHierarchy } from './approval-hierarchy.entity';
|
|
9
|
+
import { ApprovalLevel } from './approval-level.entity';
|
|
10
|
+
import { BaseEntity } from './base.entity';
|
|
11
|
+
|
|
12
|
+
export enum ConditionTypeEnum {
|
|
13
|
+
Price = 'Price',
|
|
14
|
+
Escalation = 'Escalation',
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@Entity({ name: 'approval_conditions', schema: 'user' })
|
|
18
|
+
export class ApprovalCondition extends BaseEntity {
|
|
19
|
+
@Column({ name: 'approval_hierarchy_id', nullable: true })
|
|
20
|
+
approval_hierarchy_id: number;
|
|
21
|
+
|
|
22
|
+
@ManyToOne(
|
|
23
|
+
() => ApprovalHierarchy,
|
|
24
|
+
(hierarchy) => hierarchy.approval_condition,
|
|
25
|
+
{
|
|
26
|
+
onDelete: 'CASCADE',
|
|
27
|
+
},
|
|
28
|
+
)
|
|
29
|
+
@JoinColumn({ name: 'approval_hierarchy_id' })
|
|
30
|
+
approval_hierarchy: ApprovalHierarchy;
|
|
31
|
+
|
|
32
|
+
@Column({
|
|
33
|
+
name: 'conditions',
|
|
34
|
+
nullable: true,
|
|
35
|
+
type: 'enum',
|
|
36
|
+
enum: ConditionTypeEnum,
|
|
37
|
+
})
|
|
38
|
+
conditions: ConditionTypeEnum;
|
|
39
|
+
|
|
40
|
+
@Column({ name: 'price_from', nullable: true, type: 'float' })
|
|
41
|
+
price_from: number;
|
|
42
|
+
|
|
43
|
+
@Column({ name: 'price_to', nullable: true, type: 'float' })
|
|
44
|
+
price_to: number;
|
|
45
|
+
|
|
46
|
+
@OneToMany(() => ApprovalLevel, (level) => level.approval_condition)
|
|
47
|
+
approval_level: ApprovalLevel[];
|
|
48
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// entities/approval-hierarchy-role.entity.ts
|
|
2
|
+
import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
|
|
3
|
+
import { ApprovalHierarchy } from './approval-hierarchy.entity';
|
|
4
|
+
import { Role } from './role.entity';
|
|
5
|
+
import { BaseEntity } from './base.entity';
|
|
6
|
+
|
|
7
|
+
@Entity({ name: 'approval_hierarchy_roles', schema: 'user' })
|
|
8
|
+
export class ApprovalHierarchyRole extends BaseEntity {
|
|
9
|
+
@Column({ name: 'approval_hierarchy_id' })
|
|
10
|
+
approval_hierarchy_id: number;
|
|
11
|
+
|
|
12
|
+
@ManyToOne(() => ApprovalHierarchy, (hierarchy) => hierarchy.initiator_roles, {
|
|
13
|
+
onDelete: 'CASCADE',
|
|
14
|
+
})
|
|
15
|
+
@JoinColumn({ name: 'approval_hierarchy_id' })
|
|
16
|
+
approval_hierarchy: ApprovalHierarchy;
|
|
17
|
+
|
|
18
|
+
@Column({ name: 'role_id' })
|
|
19
|
+
role_id: number;
|
|
20
|
+
|
|
21
|
+
@ManyToOne(() => Role, { onDelete: 'CASCADE' })
|
|
22
|
+
@JoinColumn({ name: 'role_id' })
|
|
23
|
+
role: Role;
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// entities/approval-hierarchy-user.entity.ts
|
|
2
|
+
import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
|
|
3
|
+
import { ApprovalHierarchy } from './approval-hierarchy.entity';
|
|
4
|
+
import { User } from './user.entity';
|
|
5
|
+
import { BaseEntity } from './base.entity';
|
|
6
|
+
|
|
7
|
+
@Entity({ name: 'approval_hierarchy_users', schema: 'user' })
|
|
8
|
+
export class ApprovalHierarchyUser extends BaseEntity {
|
|
9
|
+
@Column({ name: 'approval_hierarchy_id' })
|
|
10
|
+
approval_hierarchy_id: number;
|
|
11
|
+
|
|
12
|
+
@ManyToOne(() => ApprovalHierarchy, (hierarchy) => hierarchy.initiator_users, {
|
|
13
|
+
onDelete: 'CASCADE',
|
|
14
|
+
})
|
|
15
|
+
@JoinColumn({ name: 'approval_hierarchy_id' })
|
|
16
|
+
approval_hierarchy: ApprovalHierarchy;
|
|
17
|
+
|
|
18
|
+
@Column({ name: 'user_id' })
|
|
19
|
+
user_id: number;
|
|
20
|
+
|
|
21
|
+
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
|
22
|
+
@JoinColumn({ name: 'user_id' })
|
|
23
|
+
user: User;
|
|
24
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Entity, Column, OneToMany } from 'typeorm';
|
|
2
|
+
import { BaseEntity } from './base.entity';
|
|
3
|
+
import { ApprovalCondition } from './approval-condition.entity';
|
|
4
|
+
import { ApprovalLevel } from './approval-level.entity';
|
|
5
|
+
import { ApprovalHierarchyUser } from './approval-hierarchy-user.entity';
|
|
6
|
+
import { ApprovalHierarchyRole } from './approval-hierarchy-role.entity';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export enum InitiatorTypeEnum {
|
|
10
|
+
Role = 'Role',
|
|
11
|
+
User = 'User',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@Entity({ name: 'approval_hierarchy', schema: 'user' })
|
|
15
|
+
export class ApprovalHierarchy extends BaseEntity {
|
|
16
|
+
@Column({ name: 'name', nullable: true })
|
|
17
|
+
name: string;
|
|
18
|
+
|
|
19
|
+
@Column({ name: 'slug', unique: true, nullable: true })
|
|
20
|
+
slug: string;
|
|
21
|
+
|
|
22
|
+
@Column({ name: 'module', nullable: true })
|
|
23
|
+
module: string;
|
|
24
|
+
|
|
25
|
+
@Column({ name: 'task', nullable: true })
|
|
26
|
+
task: string;
|
|
27
|
+
|
|
28
|
+
@Column({ name: 'initiator_type', type: 'enum', enum: InitiatorTypeEnum })
|
|
29
|
+
initiator_type: InitiatorTypeEnum;
|
|
30
|
+
|
|
31
|
+
@Column({ name: 'is_active', default: true })
|
|
32
|
+
is_active: boolean;
|
|
33
|
+
|
|
34
|
+
@OneToMany(
|
|
35
|
+
() => ApprovalCondition,
|
|
36
|
+
(condition) => condition.approval_hierarchy,
|
|
37
|
+
)
|
|
38
|
+
approval_condition: ApprovalCondition[];
|
|
39
|
+
|
|
40
|
+
@OneToMany(() => ApprovalLevel, (level) => level.approval_hierarchy)
|
|
41
|
+
approval_level: ApprovalLevel[];
|
|
42
|
+
|
|
43
|
+
@OneToMany(
|
|
44
|
+
() => ApprovalHierarchyUser,
|
|
45
|
+
(hierarchyUser) => hierarchyUser.approval_hierarchy,
|
|
46
|
+
{ cascade: true }
|
|
47
|
+
)
|
|
48
|
+
initiator_users: ApprovalHierarchyUser[];
|
|
49
|
+
|
|
50
|
+
@OneToMany(
|
|
51
|
+
() => ApprovalHierarchyRole,
|
|
52
|
+
(hierarchyRole) => hierarchyRole.approval_hierarchy,
|
|
53
|
+
{ cascade: true }
|
|
54
|
+
)
|
|
55
|
+
initiator_roles: ApprovalHierarchyRole[];
|
|
56
|
+
|
|
57
|
+
// @OneToMany(() => ApprovalJourney, (journey) => journey.approvalHierarchy)
|
|
58
|
+
// approvalJourneys: ApprovalJourney[];
|
|
59
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Entity, Column, ManyToOne, JoinColumn } from 'typeorm';
|
|
2
|
+
import { ApprovalHierarchy } from './approval-hierarchy.entity';
|
|
3
|
+
import { BaseEntity } from './base.entity';
|
|
4
|
+
import { User } from './user.entity';
|
|
5
|
+
|
|
6
|
+
export enum ApprovalJourneyStatusEnum {
|
|
7
|
+
PENDING = 'Pending',
|
|
8
|
+
APPROVED = 'Approved',
|
|
9
|
+
REJECTED = 'Rejected',
|
|
10
|
+
AUTO_APPROVED = 'AutoApproved',
|
|
11
|
+
AUTO_REJECTED = 'AutoRejected',
|
|
12
|
+
ESCALATED = 'Escalated',
|
|
13
|
+
NA = 'NA',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@Entity({ name: 'approval_journey', schema: 'user' })
|
|
17
|
+
export class ApprovalJourney extends BaseEntity {
|
|
18
|
+
@Column({ name: 'parent_id', type: 'varchar', nullable: true })
|
|
19
|
+
parent_id?: string;
|
|
20
|
+
|
|
21
|
+
@Column({ name: 'journy_type', type: 'varchar', nullable: true })
|
|
22
|
+
journy_type?: string;
|
|
23
|
+
|
|
24
|
+
@Column({ name: 'task_type', type: 'varchar', nullable: true })
|
|
25
|
+
task_type?: string;
|
|
26
|
+
|
|
27
|
+
@Column({ name: 'approval_hierarchy_id', type: 'int', nullable: true })
|
|
28
|
+
approval_hierarchy_id?: number;
|
|
29
|
+
|
|
30
|
+
@ManyToOne(() => ApprovalHierarchy, { onDelete: 'CASCADE' })
|
|
31
|
+
@JoinColumn({ name: 'approval_hierarchy_id' })
|
|
32
|
+
approval_hierarchy?: ApprovalHierarchy;
|
|
33
|
+
|
|
34
|
+
@Column({ name: 'approvar_id', type: 'int', nullable: true })
|
|
35
|
+
approvar_id?: number;
|
|
36
|
+
|
|
37
|
+
@Column({ name: 'requester_id', type: 'int', nullable: true })
|
|
38
|
+
requester_id?: number;
|
|
39
|
+
|
|
40
|
+
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
|
41
|
+
@JoinColumn({ name: 'requester_id' })
|
|
42
|
+
requester?: User;
|
|
43
|
+
|
|
44
|
+
@ManyToOne(() => User, { onDelete: 'CASCADE' })
|
|
45
|
+
@JoinColumn({ name: 'approvar_id' })
|
|
46
|
+
user?: User;
|
|
47
|
+
|
|
48
|
+
@Column({ type: 'varchar', nullable: true })
|
|
49
|
+
level?: string;
|
|
50
|
+
|
|
51
|
+
@Column({
|
|
52
|
+
type: 'enum',
|
|
53
|
+
enum: ApprovalJourneyStatusEnum,
|
|
54
|
+
default: ApprovalJourneyStatusEnum.PENDING,
|
|
55
|
+
})
|
|
56
|
+
status: ApprovalJourneyStatusEnum;
|
|
57
|
+
|
|
58
|
+
@Column({ name: 'reject_reason', type: 'text', nullable: true })
|
|
59
|
+
reject_reason?: string;
|
|
60
|
+
|
|
61
|
+
@Column({ name: 'is_approver_turn', type: 'boolean', default: false })
|
|
62
|
+
is_approver_turn: boolean;
|
|
63
|
+
|
|
64
|
+
@Column({ name: 'valid_till', type: 'timestamp', nullable: true })
|
|
65
|
+
valid_till?: Date;
|
|
66
|
+
|
|
67
|
+
@Column({ name: 'duration', type: 'varchar', nullable: true })
|
|
68
|
+
duration?: string;
|
|
69
|
+
|
|
70
|
+
@Column({ name: 'valid_to', type: 'timestamp', nullable: true })
|
|
71
|
+
valid_to?: Date;
|
|
72
|
+
|
|
73
|
+
@Column({ name: 'journey_batch_id', type: 'uuid', nullable: true })
|
|
74
|
+
journey_batch_id?: string;
|
|
75
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Entity, Column, ManyToOne, JoinColumn } from "typeorm";
|
|
2
|
+
import { BaseEntity } from "./base.entity";
|
|
3
|
+
import { ApprovalLevelEscalation } from "./approval-level-escalation.entity";
|
|
4
|
+
import { User } from "./user.entity";
|
|
5
|
+
|
|
6
|
+
@Entity({ name: 'approval_level_escalation_users', schema: 'user' })
|
|
7
|
+
export class ApprovalLevelEscalationUser extends BaseEntity {
|
|
8
|
+
@Column({ name: 'approval_level_escalation_id', nullable: true })
|
|
9
|
+
approval_level_escalation_id: number;
|
|
10
|
+
|
|
11
|
+
@ManyToOne(() => ApprovalLevelEscalation, (approval_level_escalation) => approval_level_escalation.approval_level_escalation_user, {
|
|
12
|
+
onDelete: "CASCADE",
|
|
13
|
+
})
|
|
14
|
+
@JoinColumn({ name: 'approval_level_escalation_id' })
|
|
15
|
+
approval_level_escalation: ApprovalLevelEscalation;
|
|
16
|
+
|
|
17
|
+
@Column({ name: 'approver_id', nullable: true })
|
|
18
|
+
approver_id: number;
|
|
19
|
+
|
|
20
|
+
@ManyToOne(() => User, (user) => user.approval_level_escalation_user, { onDelete: "CASCADE" })
|
|
21
|
+
@JoinColumn({ name: 'approver_id' })
|
|
22
|
+
user: User;
|
|
23
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Entity,
|
|
3
|
+
Column,
|
|
4
|
+
ManyToOne,
|
|
5
|
+
OneToMany,
|
|
6
|
+
JoinColumn,
|
|
7
|
+
} from 'typeorm';
|
|
8
|
+
import { ApprovalLevel } from './approval-level.entity';
|
|
9
|
+
import { User } from './user.entity';
|
|
10
|
+
import { ApprovalLevelEscalationUser } from './approval-level-escalation-user.entity';
|
|
11
|
+
import { BaseEntity } from './base.entity';
|
|
12
|
+
|
|
13
|
+
@Entity({ name: 'approval_level_escalations', schema: 'user' })
|
|
14
|
+
export class ApprovalLevelEscalation extends BaseEntity {
|
|
15
|
+
@Column({ name: 'approval_level_id', nullable: true })
|
|
16
|
+
approval_level_id: number;
|
|
17
|
+
|
|
18
|
+
@ManyToOne(() => ApprovalLevel, (level) => level.approval_level_escalation, {
|
|
19
|
+
onDelete: 'CASCADE',
|
|
20
|
+
})
|
|
21
|
+
@JoinColumn({ name: 'approval_level_id', referencedColumnName: 'id' })
|
|
22
|
+
approval_level: ApprovalLevel;
|
|
23
|
+
|
|
24
|
+
@Column({ name: 'escalation_approver_id', nullable: true })
|
|
25
|
+
escalation_approver_id: number;
|
|
26
|
+
|
|
27
|
+
@ManyToOne(() => User, (user) => user.approval_level_escalation, {
|
|
28
|
+
onDelete: 'CASCADE',
|
|
29
|
+
})
|
|
30
|
+
@JoinColumn({ name: 'escalation_approver_id' })
|
|
31
|
+
user: User;
|
|
32
|
+
|
|
33
|
+
@Column({ name: 'valid_till_hours', nullable: true })
|
|
34
|
+
valid_till_hours: number;
|
|
35
|
+
|
|
36
|
+
@Column({ name: 'valid_till_minutes', nullable: true })
|
|
37
|
+
valid_till_minutes: number;
|
|
38
|
+
|
|
39
|
+
@OneToMany(
|
|
40
|
+
() => ApprovalLevelEscalationUser,
|
|
41
|
+
(approval_level_escalation_user) =>
|
|
42
|
+
approval_level_escalation_user.approval_level_escalation,
|
|
43
|
+
)
|
|
44
|
+
approval_level_escalation_user: ApprovalLevelEscalationUser[];
|
|
45
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm';
|
|
2
|
+
import { BaseEntity } from './base.entity';
|
|
3
|
+
import { ApprovalLevel } from './approval-level.entity';
|
|
4
|
+
import { User } from './user.entity';
|
|
5
|
+
|
|
6
|
+
@Entity({ name: 'approval_level_users', schema: 'user' })
|
|
7
|
+
export class ApprovalLevelUser extends BaseEntity {
|
|
8
|
+
@Column({ name: 'approval_level_id', nullable: true })
|
|
9
|
+
approval_level_id: number;
|
|
10
|
+
|
|
11
|
+
@ManyToOne(() => ApprovalLevel, (level) => level.approval_level_users, {
|
|
12
|
+
onDelete: 'CASCADE',
|
|
13
|
+
})
|
|
14
|
+
@JoinColumn({ name: 'approval_level_id' })
|
|
15
|
+
approval_level: ApprovalLevel;
|
|
16
|
+
|
|
17
|
+
@Column({ name: 'approver_id', nullable: true })
|
|
18
|
+
approver_id: number;
|
|
19
|
+
|
|
20
|
+
@ManyToOne(() => User, (user) => user.approval_level_user, {
|
|
21
|
+
onDelete: 'CASCADE',
|
|
22
|
+
})
|
|
23
|
+
@JoinColumn({ name: 'approver_id' })
|
|
24
|
+
user: User;
|
|
25
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Column,
|
|
3
|
+
Entity,
|
|
4
|
+
JoinColumn,
|
|
5
|
+
ManyToOne,
|
|
6
|
+
OneToMany,
|
|
7
|
+
} from 'typeorm';
|
|
8
|
+
import { ApprovalHierarchy } from './approval-hierarchy.entity';
|
|
9
|
+
import { ApprovalCondition } from './approval-condition.entity';
|
|
10
|
+
import { ApprovalLevelUser } from './approval-level-user.entity';
|
|
11
|
+
import { ApprovalLevelEscalation } from './approval-level-escalation.entity';
|
|
12
|
+
import { BaseEntity } from './base.entity';
|
|
13
|
+
|
|
14
|
+
@Entity({ name: 'approval_levels', schema: 'user' })
|
|
15
|
+
export class ApprovalLevel extends BaseEntity {
|
|
16
|
+
@Column({ nullable: true })
|
|
17
|
+
approval_hierarchy_id: number;
|
|
18
|
+
|
|
19
|
+
@ManyToOne(() => ApprovalHierarchy, (hierarchy) => hierarchy.approval_level, {
|
|
20
|
+
onDelete: 'CASCADE',
|
|
21
|
+
})
|
|
22
|
+
@JoinColumn({ name: 'approval_hierarchy_id' })
|
|
23
|
+
approval_hierarchy: ApprovalHierarchy;
|
|
24
|
+
|
|
25
|
+
@Column({ name: 'approval_condition_id', nullable: true })
|
|
26
|
+
approval_condition_id: number;
|
|
27
|
+
|
|
28
|
+
@ManyToOne(() => ApprovalCondition, (condition) => condition.approval_level, {
|
|
29
|
+
onDelete: 'CASCADE',
|
|
30
|
+
})
|
|
31
|
+
@JoinColumn({ name: 'approval_condition_id' })
|
|
32
|
+
approval_condition: ApprovalCondition;
|
|
33
|
+
|
|
34
|
+
@Column({ name: 'level', nullable: true })
|
|
35
|
+
level: string;
|
|
36
|
+
|
|
37
|
+
@Column({ name: 'valid_till_hours', nullable: true })
|
|
38
|
+
valid_till_hours: number;
|
|
39
|
+
|
|
40
|
+
@Column({ name: 'valid_till_minutes', nullable: true })
|
|
41
|
+
valid_till_minutes: number;
|
|
42
|
+
|
|
43
|
+
@OneToMany(
|
|
44
|
+
() => ApprovalLevelEscalation,
|
|
45
|
+
(escalation) => escalation.approval_level,
|
|
46
|
+
)
|
|
47
|
+
approval_level_escalation: ApprovalLevelEscalation[];
|
|
48
|
+
|
|
49
|
+
@OneToMany(() => ApprovalLevelUser, (user) => user.approval_level)
|
|
50
|
+
approval_level_users: ApprovalLevelUser[];
|
|
51
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CreateDateColumn, PrimaryGeneratedColumn, UpdateDateColumn, Column, DeleteDateColumn, Generated } from 'typeorm';
|
|
2
|
+
|
|
3
|
+
export abstract class BaseEntity {
|
|
4
|
+
@PrimaryGeneratedColumn('increment')
|
|
5
|
+
id: number;
|
|
6
|
+
|
|
7
|
+
@Column()
|
|
8
|
+
@Generated('uuid')
|
|
9
|
+
uuid: string;
|
|
10
|
+
|
|
11
|
+
@CreateDateColumn({ name: 'created_at' })
|
|
12
|
+
createdAt: Date | null;
|
|
13
|
+
|
|
14
|
+
@Column({ name: 'created_by', type: 'int', nullable: true })
|
|
15
|
+
createdBy: number | null;
|
|
16
|
+
|
|
17
|
+
@UpdateDateColumn({ name: 'updated_at' })
|
|
18
|
+
updatedAt: Date | null;
|
|
19
|
+
|
|
20
|
+
@Column({ name: 'updated_by', type: 'int', nullable: true })
|
|
21
|
+
updatedBy: number | null;
|
|
22
|
+
|
|
23
|
+
@Column({ name: 'is_deleted', default: false })
|
|
24
|
+
isDeleted: boolean;
|
|
25
|
+
|
|
26
|
+
@Column({ name: 'deleted_by', type: 'int', nullable: true })
|
|
27
|
+
deletedBy: number | null;
|
|
28
|
+
|
|
29
|
+
@DeleteDateColumn({ name: 'deleted_at', nullable: true })
|
|
30
|
+
deletedAt: Date | null;
|
|
31
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Entity, Column, ManyToOne, JoinColumn, Index } from 'typeorm';
|
|
2
|
+
import { BaseEntity } from './base.entity';
|
|
3
|
+
import { User } from './user.entity';
|
|
4
|
+
|
|
5
|
+
@Entity({ name: 'chats', schema: 'user' })
|
|
6
|
+
@Index(['senderId', 'receiverId'])
|
|
7
|
+
@Index(['createdAt'])
|
|
8
|
+
@Index(['isRead'])
|
|
9
|
+
export class Chat extends BaseEntity {
|
|
10
|
+
@Column({ name: 'chat_id', type: 'bigint', primary: true, generated: 'increment' })
|
|
11
|
+
chatId: string;
|
|
12
|
+
|
|
13
|
+
@Column({ name: 'sender_id', nullable: false })
|
|
14
|
+
senderId: number;
|
|
15
|
+
|
|
16
|
+
@Column({ name: 'receiver_id', nullable: false })
|
|
17
|
+
receiverId: number;
|
|
18
|
+
|
|
19
|
+
@Column({ name: 'message', type: 'text', nullable: true })
|
|
20
|
+
message: string;
|
|
21
|
+
|
|
22
|
+
@Column({ name: 'file_id', nullable: true })
|
|
23
|
+
fileId: number;
|
|
24
|
+
|
|
25
|
+
@Column({ name: 'is_read', default: false })
|
|
26
|
+
isRead: boolean;
|
|
27
|
+
|
|
28
|
+
// Relationships
|
|
29
|
+
@ManyToOne(() => User, (user) => user.sent_chats, { onDelete: 'CASCADE' })
|
|
30
|
+
@JoinColumn({ name: 'sender_id' })
|
|
31
|
+
sender: User;
|
|
32
|
+
|
|
33
|
+
@ManyToOne(() => User, (user) => user.received_chats, { onDelete: 'CASCADE' })
|
|
34
|
+
@JoinColumn({ name: 'receiver_id' })
|
|
35
|
+
receiver: User;
|
|
36
|
+
}
|