@procxo/shared 1.0.4 → 1.0.6
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/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/ormconfig.factory.d.ts +10 -0
- package/dist/config/ormconfig.factory.d.ts.map +1 -0
- package/dist/config/ormconfig.factory.js +48 -0
- package/dist/config/ormconfig.factory.js.map +1 -0
- package/dist/config/typeorm.config.d.ts +4 -0
- package/dist/config/typeorm.config.d.ts.map +1 -0
- package/dist/config/typeorm.config.js +22 -0
- package/dist/config/typeorm.config.js.map +1 -0
- package/dist/core/constant/index.d.ts +2 -0
- package/dist/core/constant/index.d.ts.map +1 -0
- package/dist/core/constant/index.js +18 -0
- package/dist/core/constant/index.js.map +1 -0
- package/dist/core/constant/notification-preference.d.ts +29 -0
- package/dist/core/constant/notification-preference.d.ts.map +1 -0
- package/dist/core/constant/notification-preference.js +81 -0
- package/dist/core/constant/notification-preference.js.map +1 -0
- package/dist/core/json/core-data/currency.json +8 -0
- package/{src → dist}/core/json/core-data/department.json +38 -38
- package/{src → dist}/core/json/core-data/permission.json +882 -898
- package/dist/core/json/core-data/role.json +30 -0
- package/dist/core/json/core-data/user.json +12 -0
- package/dist/core/json/geographic-data/cities.json +54693 -0
- package/dist/core/json/geographic-data/countries.json +31 -0
- package/dist/database/entities/activity-logs.entity.d.ts +11 -0
- package/dist/database/entities/activity-logs.entity.d.ts.map +1 -0
- package/dist/database/entities/activity-logs.entity.js +56 -0
- package/dist/database/entities/activity-logs.entity.js.map +1 -0
- package/dist/database/entities/address.entity.d.ts +13 -0
- package/dist/database/entities/address.entity.d.ts.map +1 -0
- package/dist/database/entities/address.entity.js +63 -0
- package/dist/database/entities/address.entity.js.map +1 -0
- package/dist/database/entities/alert.entity.d.ts +37 -0
- package/dist/database/entities/alert.entity.d.ts.map +1 -0
- package/dist/database/entities/alert.entity.js +171 -0
- package/dist/database/entities/alert.entity.js.map +1 -0
- package/dist/database/entities/approval-condition.entity.d.ts +16 -0
- package/dist/database/entities/approval-condition.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-condition.entity.js +66 -0
- package/dist/database/entities/approval-condition.entity.js.map +1 -0
- package/dist/database/entities/approval-hierarchy-role.entity.d.ts +10 -0
- package/dist/database/entities/approval-hierarchy-role.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-hierarchy-role.entity.js +47 -0
- package/dist/database/entities/approval-hierarchy-role.entity.js.map +1 -0
- package/dist/database/entities/approval-hierarchy-user.entity.d.ts +10 -0
- package/dist/database/entities/approval-hierarchy-user.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-hierarchy-user.entity.js +47 -0
- package/dist/database/entities/approval-hierarchy-user.entity.js.map +1 -0
- package/dist/database/entities/approval-hierarchy.entity.d.ts +22 -0
- package/dist/database/entities/approval-hierarchy.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-hierarchy.entity.js +80 -0
- package/dist/database/entities/approval-hierarchy.entity.js.map +1 -0
- package/dist/database/entities/approval-journey.entity.d.ts +32 -0
- package/dist/database/entities/approval-journey.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-journey.entity.js +125 -0
- package/dist/database/entities/approval-journey.entity.js.map +1 -0
- package/dist/database/entities/approval-level-escalation-user.entity.d.ts +10 -0
- package/dist/database/entities/approval-level-escalation-user.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-level-escalation-user.entity.js +47 -0
- package/dist/database/entities/approval-level-escalation-user.entity.js.map +1 -0
- package/dist/database/entities/approval-level-escalation.entity.d.ts +14 -0
- package/dist/database/entities/approval-level-escalation.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-level-escalation.entity.js +65 -0
- package/dist/database/entities/approval-level-escalation.entity.js.map +1 -0
- package/dist/database/entities/approval-level-user.entity.d.ts +10 -0
- package/dist/database/entities/approval-level-user.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-level-user.entity.js +49 -0
- package/dist/database/entities/approval-level-user.entity.js.map +1 -0
- package/dist/database/entities/approval-level.entity.d.ts +17 -0
- package/dist/database/entities/approval-level.entity.d.ts.map +1 -0
- package/dist/database/entities/approval-level.entity.js +76 -0
- package/dist/database/entities/approval-level.entity.js.map +1 -0
- package/dist/database/entities/base.entity.d.ts +12 -0
- package/dist/database/entities/base.entity.d.ts.map +1 -0
- package/dist/database/entities/base.entity.js +63 -0
- package/dist/database/entities/base.entity.js.map +1 -0
- package/dist/database/entities/chat.entity.d.ts +13 -0
- package/dist/database/entities/chat.entity.d.ts.map +1 -0
- package/dist/database/entities/chat.entity.js +67 -0
- package/dist/database/entities/chat.entity.js.map +1 -0
- package/dist/database/entities/city.entity.d.ts +11 -0
- package/dist/database/entities/city.entity.d.ts.map +1 -0
- package/dist/database/entities/city.entity.js +53 -0
- package/dist/database/entities/city.entity.js.map +1 -0
- package/dist/database/entities/client.entity.d.ts +44 -0
- package/dist/database/entities/client.entity.d.ts.map +1 -0
- package/dist/database/entities/client.entity.js +191 -0
- package/dist/database/entities/client.entity.js.map +1 -0
- package/dist/database/entities/contact.entity.d.ts +12 -0
- package/dist/database/entities/contact.entity.d.ts.map +1 -0
- package/dist/database/entities/contact.entity.js +57 -0
- package/dist/database/entities/contact.entity.js.map +1 -0
- package/dist/database/entities/country.entity.d.ts +26 -0
- package/dist/database/entities/country.entity.d.ts.map +1 -0
- package/dist/database/entities/country.entity.js +127 -0
- package/dist/database/entities/country.entity.js.map +1 -0
- package/dist/database/entities/credit-note.entity.d.ts +38 -0
- package/dist/database/entities/credit-note.entity.d.ts.map +1 -0
- package/dist/database/entities/credit-note.entity.js +159 -0
- package/dist/database/entities/credit-note.entity.js.map +1 -0
- package/dist/database/entities/currency.entity.d.ts +10 -0
- package/dist/database/entities/currency.entity.d.ts.map +1 -0
- package/dist/database/entities/currency.entity.js +47 -0
- package/dist/database/entities/currency.entity.js.map +1 -0
- package/dist/database/entities/department.entity.d.ts +10 -0
- package/dist/database/entities/department.entity.d.ts.map +1 -0
- package/dist/database/entities/department.entity.js +47 -0
- package/dist/database/entities/department.entity.js.map +1 -0
- package/dist/database/entities/entitlement.entity.d.ts +24 -0
- package/dist/database/entities/entitlement.entity.d.ts.map +1 -0
- package/dist/database/entities/entitlement.entity.js +106 -0
- package/dist/database/entities/entitlement.entity.js.map +1 -0
- package/dist/database/entities/expense.entity.d.ts +47 -0
- package/dist/database/entities/expense.entity.d.ts.map +1 -0
- package/dist/database/entities/expense.entity.js +221 -0
- package/dist/database/entities/expense.entity.js.map +1 -0
- package/dist/database/entities/file.entity.d.ts +11 -0
- package/dist/database/entities/file.entity.d.ts.map +1 -0
- package/dist/database/entities/file.entity.js +56 -0
- package/dist/database/entities/file.entity.js.map +1 -0
- package/dist/database/entities/fixed-invoice-item.entity.d.ts +9 -0
- package/dist/database/entities/fixed-invoice-item.entity.d.ts.map +1 -0
- package/dist/database/entities/fixed-invoice-item.entity.js +52 -0
- package/dist/database/entities/fixed-invoice-item.entity.js.map +1 -0
- package/dist/database/entities/group.entity.d.ts +9 -0
- package/dist/database/entities/group.entity.d.ts.map +1 -0
- package/dist/database/entities/group.entity.js +45 -0
- package/dist/database/entities/group.entity.js.map +1 -0
- package/dist/database/entities/gst.entity.d.ts +6 -0
- package/dist/database/entities/gst.entity.d.ts.map +1 -0
- package/dist/database/entities/gst.entity.js +44 -0
- package/dist/database/entities/gst.entity.js.map +1 -0
- package/dist/database/entities/holiday.entity.d.ts +14 -0
- package/dist/database/entities/holiday.entity.d.ts.map +1 -0
- package/dist/database/entities/holiday.entity.js +79 -0
- package/dist/database/entities/holiday.entity.js.map +1 -0
- package/{src/database/entities/index.ts → dist/database/entities/index.d.ts} +84 -79
- package/dist/database/entities/index.d.ts.map +1 -0
- package/dist/database/entities/index.js +100 -0
- package/dist/database/entities/index.js.map +1 -0
- package/dist/database/entities/invoice-template-footer.entity.d.ts +24 -0
- package/dist/database/entities/invoice-template-footer.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice-template-footer.entity.js +118 -0
- package/dist/database/entities/invoice-template-footer.entity.js.map +1 -0
- package/dist/database/entities/invoice-template-header.entity.d.ts +14 -0
- package/dist/database/entities/invoice-template-header.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice-template-header.entity.js +68 -0
- package/dist/database/entities/invoice-template-header.entity.js.map +1 -0
- package/dist/database/entities/invoice-template-table.entity.d.ts +35 -0
- package/dist/database/entities/invoice-template-table.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice-template-table.entity.js +143 -0
- package/dist/database/entities/invoice-template-table.entity.js.map +1 -0
- package/dist/database/entities/invoice-template.entity.d.ts +39 -0
- package/dist/database/entities/invoice-template.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice-template.entity.js +157 -0
- package/dist/database/entities/invoice-template.entity.js.map +1 -0
- package/dist/database/entities/invoice.entity.d.ts +49 -0
- package/dist/database/entities/invoice.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice.entity.js +302 -0
- package/dist/database/entities/invoice.entity.js.map +1 -0
- package/dist/database/entities/invoice_item.entity.d.ts +22 -0
- package/dist/database/entities/invoice_item.entity.d.ts.map +1 -0
- package/dist/database/entities/invoice_item.entity.js +89 -0
- package/dist/database/entities/invoice_item.entity.js.map +1 -0
- package/dist/database/entities/leave-balance.entity.d.ts +38 -0
- package/dist/database/entities/leave-balance.entity.d.ts.map +1 -0
- package/dist/database/entities/leave-balance.entity.js +166 -0
- package/dist/database/entities/leave-balance.entity.js.map +1 -0
- package/dist/database/entities/leave-request.entity.d.ts +64 -0
- package/dist/database/entities/leave-request.entity.d.ts.map +1 -0
- package/dist/database/entities/leave-request.entity.js +219 -0
- package/dist/database/entities/leave-request.entity.js.map +1 -0
- package/dist/database/entities/leave-type.entity.d.ts +15 -0
- package/dist/database/entities/leave-type.entity.d.ts.map +1 -0
- package/dist/database/entities/leave-type.entity.js +72 -0
- package/dist/database/entities/leave-type.entity.js.map +1 -0
- package/dist/database/entities/matter-tag.entity.d.ts +10 -0
- package/dist/database/entities/matter-tag.entity.d.ts.map +1 -0
- package/dist/database/entities/matter-tag.entity.js +45 -0
- package/dist/database/entities/matter-tag.entity.js.map +1 -0
- package/dist/database/entities/matter-task-view-filter.entity.d.ts +11 -0
- package/dist/database/entities/matter-task-view-filter.entity.d.ts.map +1 -0
- package/dist/database/entities/matter-task-view-filter.entity.js +42 -0
- package/dist/database/entities/matter-task-view-filter.entity.js.map +1 -0
- package/dist/database/entities/matter-team-member.entity.d.ts +11 -0
- package/dist/database/entities/matter-team-member.entity.d.ts.map +1 -0
- package/dist/database/entities/matter-team-member.entity.js +56 -0
- package/dist/database/entities/matter-team-member.entity.js.map +1 -0
- package/dist/database/entities/matter.entity.d.ts +62 -0
- package/dist/database/entities/matter.entity.d.ts.map +1 -0
- package/dist/database/entities/matter.entity.js +249 -0
- package/dist/database/entities/matter.entity.js.map +1 -0
- package/dist/database/entities/otp.entity.d.ts +24 -0
- package/dist/database/entities/otp.entity.d.ts.map +1 -0
- package/dist/database/entities/otp.entity.js +97 -0
- package/dist/database/entities/otp.entity.js.map +1 -0
- package/dist/database/entities/payment.entity.d.ts +29 -0
- package/dist/database/entities/payment.entity.d.ts.map +1 -0
- package/dist/database/entities/payment.entity.js +207 -0
- package/dist/database/entities/payment.entity.js.map +1 -0
- package/dist/database/entities/permission.entity.d.ts +11 -0
- package/dist/database/entities/permission.entity.d.ts.map +1 -0
- package/dist/database/entities/permission.entity.js +52 -0
- package/dist/database/entities/permission.entity.js.map +1 -0
- package/dist/database/entities/quickbooks-connection.entity.d.ts +14 -0
- package/dist/database/entities/quickbooks-connection.entity.d.ts.map +1 -0
- package/dist/database/entities/quickbooks-connection.entity.js +71 -0
- package/dist/database/entities/quickbooks-connection.entity.js.map +1 -0
- package/dist/database/entities/quickbooks-sync-log.entity.d.ts +34 -0
- package/dist/database/entities/quickbooks-sync-log.entity.d.ts.map +1 -0
- package/dist/database/entities/quickbooks-sync-log.entity.js +116 -0
- package/dist/database/entities/quickbooks-sync-log.entity.js.map +1 -0
- package/dist/database/entities/role-permission.entity.d.ts +10 -0
- package/dist/database/entities/role-permission.entity.d.ts.map +1 -0
- package/dist/database/entities/role-permission.entity.js +49 -0
- package/dist/database/entities/role-permission.entity.js.map +1 -0
- package/dist/database/entities/role-shift.entity.d.ts +8 -0
- package/dist/database/entities/role-shift.entity.d.ts.map +1 -0
- package/dist/database/entities/role-shift.entity.js +48 -0
- package/dist/database/entities/role-shift.entity.js.map +1 -0
- package/dist/database/entities/role.entity.d.ts +13 -0
- package/dist/database/entities/role.entity.d.ts.map +1 -0
- package/dist/database/entities/role.entity.js +58 -0
- package/dist/database/entities/role.entity.js.map +1 -0
- package/dist/database/entities/sequence-generator.entity.d.ts +8 -0
- package/dist/database/entities/sequence-generator.entity.d.ts.map +1 -0
- package/dist/database/entities/sequence-generator.entity.js +64 -0
- package/dist/database/entities/sequence-generator.entity.js.map +1 -0
- package/dist/database/entities/shift.entity.d.ts +18 -0
- package/dist/database/entities/shift.entity.d.ts.map +1 -0
- package/dist/database/entities/shift.entity.js +110 -0
- package/dist/database/entities/shift.entity.js.map +1 -0
- package/dist/database/entities/sub-task-tag.entity.d.ts +10 -0
- package/dist/database/entities/sub-task-tag.entity.d.ts.map +1 -0
- package/dist/database/entities/sub-task-tag.entity.js +45 -0
- package/dist/database/entities/sub-task-tag.entity.js.map +1 -0
- package/dist/database/entities/subtask-user.entity.d.ts +10 -0
- package/dist/database/entities/subtask-user.entity.d.ts.map +1 -0
- package/dist/database/entities/subtask-user.entity.js +45 -0
- package/dist/database/entities/subtask-user.entity.js.map +1 -0
- package/dist/database/entities/subtask.entity.d.ts +47 -0
- package/dist/database/entities/subtask.entity.d.ts.map +1 -0
- package/dist/database/entities/subtask.entity.js +185 -0
- package/dist/database/entities/subtask.entity.js.map +1 -0
- package/dist/database/entities/summary-task-status.entity.d.ts +7 -0
- package/dist/database/entities/summary-task-status.entity.d.ts.map +1 -0
- package/dist/database/entities/summary-task-status.entity.js +37 -0
- package/dist/database/entities/summary-task-status.entity.js.map +1 -0
- package/dist/database/entities/superset.entity.d.ts +15 -0
- package/dist/database/entities/superset.entity.d.ts.map +1 -0
- package/dist/database/entities/superset.entity.js +73 -0
- package/dist/database/entities/superset.entity.js.map +1 -0
- package/dist/database/entities/tag.entity.d.ts +10 -0
- package/dist/database/entities/tag.entity.d.ts.map +1 -0
- package/dist/database/entities/tag.entity.js +43 -0
- package/dist/database/entities/tag.entity.js.map +1 -0
- package/dist/database/entities/task-comment.entity.d.ts +15 -0
- package/dist/database/entities/task-comment.entity.d.ts.map +1 -0
- package/dist/database/entities/task-comment.entity.js +67 -0
- package/dist/database/entities/task-comment.entity.js.map +1 -0
- package/dist/database/entities/task-milestone.entity.d.ts +7 -0
- package/dist/database/entities/task-milestone.entity.d.ts.map +1 -0
- package/dist/database/entities/task-milestone.entity.js +36 -0
- package/dist/database/entities/task-milestone.entity.js.map +1 -0
- package/dist/database/entities/task-remainder.entity.d.ts +12 -0
- package/dist/database/entities/task-remainder.entity.d.ts.map +1 -0
- package/dist/database/entities/task-remainder.entity.js +57 -0
- package/dist/database/entities/task-remainder.entity.js.map +1 -0
- package/dist/database/entities/task-tag.entity.d.ts +10 -0
- package/dist/database/entities/task-tag.entity.d.ts.map +1 -0
- package/dist/database/entities/task-tag.entity.js +45 -0
- package/dist/database/entities/task-tag.entity.js.map +1 -0
- package/dist/database/entities/task-type.entity.d.ts +7 -0
- package/dist/database/entities/task-type.entity.d.ts.map +1 -0
- package/dist/database/entities/task-type.entity.js +36 -0
- package/dist/database/entities/task-type.entity.js.map +1 -0
- package/dist/database/entities/task-user.entity.d.ts +10 -0
- package/dist/database/entities/task-user.entity.d.ts.map +1 -0
- package/dist/database/entities/task-user.entity.js +45 -0
- package/dist/database/entities/task-user.entity.js.map +1 -0
- package/dist/database/entities/task.entity.d.ts +53 -0
- package/dist/database/entities/task.entity.d.ts.map +1 -0
- package/dist/database/entities/task.entity.js +259 -0
- package/dist/database/entities/task.entity.js.map +1 -0
- package/dist/database/entities/template-task.entity.d.ts +11 -0
- package/dist/database/entities/template-task.entity.d.ts.map +1 -0
- package/dist/database/entities/template-task.entity.js +53 -0
- package/dist/database/entities/template-task.entity.js.map +1 -0
- package/dist/database/entities/template.entity.d.ts +13 -0
- package/dist/database/entities/template.entity.d.ts.map +1 -0
- package/dist/database/entities/template.entity.js +58 -0
- package/dist/database/entities/template.entity.js.map +1 -0
- package/dist/database/entities/tenant-configuration.entity.d.ts +16 -0
- package/dist/database/entities/tenant-configuration.entity.d.ts.map +1 -0
- package/dist/database/entities/tenant-configuration.entity.js +77 -0
- package/dist/database/entities/tenant-configuration.entity.js.map +1 -0
- package/dist/database/entities/tenant-module.entity.d.ts +11 -0
- package/dist/database/entities/tenant-module.entity.d.ts.map +1 -0
- package/dist/database/entities/tenant-module.entity.js +50 -0
- package/dist/database/entities/tenant-module.entity.js.map +1 -0
- package/dist/database/entities/tenant-sub-module.entity.d.ts +9 -0
- package/dist/database/entities/tenant-sub-module.entity.d.ts.map +1 -0
- package/dist/database/entities/tenant-sub-module.entity.js +45 -0
- package/dist/database/entities/tenant-sub-module.entity.js.map +1 -0
- package/dist/database/entities/timesheet-comment.entity.d.ts +11 -0
- package/dist/database/entities/timesheet-comment.entity.d.ts.map +1 -0
- package/dist/database/entities/timesheet-comment.entity.js +65 -0
- package/dist/database/entities/timesheet-comment.entity.js.map +1 -0
- package/dist/database/entities/timesheet-event.entity.d.ts +48 -0
- package/dist/database/entities/timesheet-event.entity.d.ts.map +1 -0
- package/dist/database/entities/timesheet-event.entity.js +328 -0
- package/dist/database/entities/timesheet-event.entity.js.map +1 -0
- package/dist/database/entities/timesheet-summary.entity.d.ts +27 -0
- package/dist/database/entities/timesheet-summary.entity.d.ts.map +1 -0
- package/dist/database/entities/timesheet-summary.entity.js +161 -0
- package/dist/database/entities/timesheet-summary.entity.js.map +1 -0
- package/dist/database/entities/timesheet.entity.d.ts +32 -0
- package/dist/database/entities/timesheet.entity.d.ts.map +1 -0
- package/dist/database/entities/timesheet.entity.js +112 -0
- package/dist/database/entities/timesheet.entity.js.map +1 -0
- package/dist/database/entities/transfer-ownership.entity.d.ts +15 -0
- package/dist/database/entities/transfer-ownership.entity.d.ts.map +1 -0
- package/dist/database/entities/transfer-ownership.entity.js +75 -0
- package/dist/database/entities/transfer-ownership.entity.js.map +1 -0
- package/dist/database/entities/upload-log.entity.d.ts +32 -0
- package/dist/database/entities/upload-log.entity.d.ts.map +1 -0
- package/dist/database/entities/upload-log.entity.js +116 -0
- package/dist/database/entities/upload-log.entity.js.map +1 -0
- package/dist/database/entities/user-notification-channel.entity.d.ts +8 -0
- package/dist/database/entities/user-notification-channel.entity.d.ts.map +1 -0
- package/dist/database/entities/user-notification-channel.entity.js +63 -0
- package/dist/database/entities/user-notification-channel.entity.js.map +1 -0
- package/dist/database/entities/user-notification-preference.entity.d.ts +10 -0
- package/dist/database/entities/user-notification-preference.entity.d.ts.map +1 -0
- package/dist/database/entities/user-notification-preference.entity.js +72 -0
- package/dist/database/entities/user-notification-preference.entity.js.map +1 -0
- package/dist/database/entities/user-role.entity.d.ts +10 -0
- package/dist/database/entities/user-role.entity.d.ts.map +1 -0
- package/dist/database/entities/user-role.entity.js +45 -0
- package/dist/database/entities/user-role.entity.js.map +1 -0
- package/dist/database/entities/user-session-history.entity.d.ts +24 -0
- package/dist/database/entities/user-session-history.entity.d.ts.map +1 -0
- package/dist/database/entities/user-session-history.entity.js +95 -0
- package/dist/database/entities/user-session-history.entity.js.map +1 -0
- package/dist/database/entities/user-shift.entity.d.ts +24 -0
- package/dist/database/entities/user-shift.entity.d.ts.map +1 -0
- package/dist/database/entities/user-shift.entity.js +153 -0
- package/dist/database/entities/user-shift.entity.js.map +1 -0
- package/dist/database/entities/user.entity.d.ts +77 -0
- package/dist/database/entities/user.entity.d.ts.map +1 -0
- package/dist/database/entities/user.entity.js +295 -0
- package/dist/database/entities/user.entity.js.map +1 -0
- package/dist/database/entities/zohobooks-connection.entity.d.ts +16 -0
- package/dist/database/entities/zohobooks-connection.entity.d.ts.map +1 -0
- package/dist/database/entities/zohobooks-connection.entity.js +81 -0
- package/dist/database/entities/zohobooks-connection.entity.js.map +1 -0
- package/dist/database/entities/zohobooks-sync-log.entity.d.ts +35 -0
- package/dist/database/entities/zohobooks-sync-log.entity.d.ts.map +1 -0
- package/dist/database/entities/zohobooks-sync-log.entity.js +117 -0
- package/dist/database/entities/zohobooks-sync-log.entity.js.map +1 -0
- package/dist/database/index.d.ts +2 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +18 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/migrations/1770794314727-initialMigration.d.ts +7 -0
- package/dist/database/migrations/1770794314727-initialMigration.d.ts.map +1 -0
- package/{src/database/migrations/1770706648232-initialMigration.ts → dist/database/migrations/1770794314727-initialMigration.js} +9 -9
- package/dist/database/migrations/1770794314727-initialMigration.js.map +1 -0
- package/dist/database/migrations/1771421233389-initialTenantConfiguration_module_submodule_tables.d.ts +7 -0
- package/dist/database/migrations/1771421233389-initialTenantConfiguration_module_submodule_tables.d.ts.map +1 -0
- package/dist/database/migrations/1771421233389-initialTenantConfiguration_module_submodule_tables.js +26 -0
- package/dist/database/migrations/1771421233389-initialTenantConfiguration_module_submodule_tables.js.map +1 -0
- package/dist/database/migrations/1771494127263-added_tenantUserfieldInTenantConfigurationTable.d.ts +7 -0
- package/dist/database/migrations/1771494127263-added_tenantUserfieldInTenantConfigurationTable.d.ts.map +1 -0
- package/dist/database/migrations/1771494127263-added_tenantUserfieldInTenantConfigurationTable.js +14 -0
- package/dist/database/migrations/1771494127263-added_tenantUserfieldInTenantConfigurationTable.js.map +1 -0
- package/dist/database/migrations/1773212696542-Added_profileUrl_in_user_And_error_file_presigned_url_in_uploadLog.d.ts +7 -0
- package/dist/database/migrations/1773212696542-Added_profileUrl_in_user_And_error_file_presigned_url_in_uploadLog.d.ts.map +1 -0
- package/dist/database/migrations/1773212696542-Added_profileUrl_in_user_And_error_file_presigned_url_in_uploadLog.js +16 -0
- package/dist/database/migrations/1773212696542-Added_profileUrl_in_user_And_error_file_presigned_url_in_uploadLog.js.map +1 -0
- package/dist/database/migrations/1773395645993-AddedOtpEntityAndUpdateUserSessionEntity.d.ts +7 -0
- package/dist/database/migrations/1773395645993-AddedOtpEntityAndUpdateUserSessionEntity.d.ts.map +1 -0
- package/dist/database/migrations/1773395645993-AddedOtpEntityAndUpdateUserSessionEntity.js +34 -0
- package/dist/database/migrations/1773395645993-AddedOtpEntityAndUpdateUserSessionEntity.js.map +1 -0
- package/dist/database/migrations/1773397322355-AddedSystemUserName_in_UserEntity.d.ts +7 -0
- package/dist/database/migrations/1773397322355-AddedSystemUserName_in_UserEntity.d.ts.map +1 -0
- package/dist/database/migrations/1773397322355-AddedSystemUserName_in_UserEntity.js +14 -0
- package/dist/database/migrations/1773397322355-AddedSystemUserName_in_UserEntity.js.map +1 -0
- package/dist/database/migrations/1775023603725-updateClient_creditNote_file_invoice_payment_entity_and_Added_zohobookConnection_And_zohobookSync_log_entities.d.ts +7 -0
- package/dist/database/migrations/1775023603725-updateClient_creditNote_file_invoice_payment_entity_and_Added_zohobookConnection_And_zohobookSync_log_entities.d.ts.map +1 -0
- package/dist/database/migrations/1775023603725-updateClient_creditNote_file_invoice_payment_entity_and_Added_zohobookConnection_And_zohobookSync_log_entities.js +34 -0
- package/dist/database/migrations/1775023603725-updateClient_creditNote_file_invoice_payment_entity_and_Added_zohobookConnection_And_zohobookSync_log_entities.js.map +1 -0
- package/dist/database/migrations/1775111804920-uptodate_tables.d.ts +7 -0
- package/dist/database/migrations/1775111804920-uptodate_tables.d.ts.map +1 -0
- package/dist/database/migrations/1775111804920-uptodate_tables.js +32 -0
- package/dist/database/migrations/1775111804920-uptodate_tables.js.map +1 -0
- package/dist/database/seeder/base.seed.d.ts +19 -0
- package/dist/database/seeder/base.seed.d.ts.map +1 -0
- package/dist/database/seeder/base.seed.js +83 -0
- package/dist/database/seeder/base.seed.js.map +1 -0
- package/dist/database/seeder/config/seeder.config.d.ts +7 -0
- package/dist/database/seeder/config/seeder.config.d.ts.map +1 -0
- package/dist/database/seeder/config/seeder.config.js +21 -0
- package/dist/database/seeder/config/seeder.config.js.map +1 -0
- package/dist/database/seeder/errors/seeder.error.d.ts +11 -0
- package/dist/database/seeder/errors/seeder.error.d.ts.map +1 -0
- package/dist/database/seeder/errors/seeder.error.js +27 -0
- package/dist/database/seeder/errors/seeder.error.js.map +1 -0
- package/dist/database/seeder/seed-runner.d.ts +2 -0
- package/dist/database/seeder/seed-runner.d.ts.map +1 -0
- package/dist/database/seeder/seed-runner.js +157 -0
- package/dist/database/seeder/seed-runner.js.map +1 -0
- package/dist/database/seeder/seeds/city.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/city.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/city.seed.js +62 -0
- package/dist/database/seeder/seeds/city.seed.js.map +1 -0
- package/dist/database/seeder/seeds/country.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/country.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/country.seed.js +54 -0
- package/dist/database/seeder/seeds/country.seed.js.map +1 -0
- package/dist/database/seeder/seeds/currency.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/currency.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/currency.seed.js +50 -0
- package/dist/database/seeder/seeds/currency.seed.js.map +1 -0
- package/dist/database/seeder/seeds/department.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/department.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/department.seed.js +48 -0
- package/dist/database/seeder/seeds/department.seed.js.map +1 -0
- package/dist/database/seeder/seeds/permission.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/permission.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/permission.seed.js +54 -0
- package/dist/database/seeder/seeds/permission.seed.js.map +1 -0
- package/dist/database/seeder/seeds/role-permission.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/role-permission.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/role-permission.seed.js +47 -0
- package/dist/database/seeder/seeds/role-permission.seed.js.map +1 -0
- package/dist/database/seeder/seeds/role.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/role.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/role.seed.js +52 -0
- package/dist/database/seeder/seeds/role.seed.js.map +1 -0
- package/dist/database/seeder/seeds/user-role.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/user-role.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/user-role.seed.js +66 -0
- package/dist/database/seeder/seeds/user-role.seed.js.map +1 -0
- package/dist/database/seeder/seeds/user.seed.d.ts +8 -0
- package/dist/database/seeder/seeds/user.seed.d.ts.map +1 -0
- package/dist/database/seeder/seeds/user.seed.js +110 -0
- package/dist/database/seeder/seeds/user.seed.js.map +1 -0
- package/{src/index.ts → dist/index.d.ts} +1 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/scripts/create-schema.d.ts +2 -0
- package/dist/scripts/create-schema.d.ts.map +1 -0
- package/dist/scripts/create-schema.js +77 -0
- package/dist/scripts/create-schema.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +50 -70
- package/README.md +0 -250
- package/src/config/index.ts +0 -5
- package/src/config/ormconfig.factory.ts +0 -102
- package/src/config/typeorm.config.ts +0 -22
- package/src/core/constant/index.ts +0 -1
- package/src/core/constant/notification-preference.ts +0 -113
- package/src/core/json/core-data/currency.json +0 -8
- package/src/core/json/core-data/role.json +0 -30
- package/src/core/json/core-data/user.json +0 -12
- package/src/core/json/geographic-data/cities.json +0 -54693
- package/src/core/json/geographic-data/countries.json +0 -31
- package/src/database/entities/activity-logs.entity.ts +0 -31
- package/src/database/entities/address.entity.ts +0 -31
- package/src/database/entities/alert.entity.ts +0 -139
- package/src/database/entities/approval-condition.entity.ts +0 -48
- package/src/database/entities/approval-hierarchy-role.entity.ts +0 -24
- package/src/database/entities/approval-hierarchy-user.entity.ts +0 -24
- package/src/database/entities/approval-hierarchy.entity.ts +0 -59
- package/src/database/entities/approval-journey.entity.ts +0 -75
- package/src/database/entities/approval-level-escalation-user.entity.ts +0 -23
- package/src/database/entities/approval-level-escalation.entity.ts +0 -45
- package/src/database/entities/approval-level-user.entity.ts +0 -25
- package/src/database/entities/approval-level.entity.ts +0 -51
- package/src/database/entities/base.entity.ts +0 -31
- package/src/database/entities/chat.entity.ts +0 -36
- package/src/database/entities/city.entity.ts +0 -25
- package/src/database/entities/client.entity.ts +0 -91
- package/src/database/entities/contact.entity.ts +0 -27
- package/src/database/entities/country.entity.ts +0 -69
- package/src/database/entities/credit-note.entity.ts +0 -88
- package/src/database/entities/currency.entity.ts +0 -21
- package/src/database/entities/department.entity.ts +0 -21
- package/src/database/entities/entitlement.entity.ts +0 -64
- package/src/database/entities/expense.entity.ts +0 -141
- package/src/database/entities/file.entity.ts +0 -22
- package/src/database/entities/fixed-invoice-item.entity.ts +0 -29
- package/src/database/entities/group.entity.ts +0 -21
- package/src/database/entities/gst.entity.ts +0 -32
- package/src/database/entities/holiday.entity.ts +0 -51
- package/src/database/entities/invoice-template-footer.entity.ts +0 -70
- package/src/database/entities/invoice-template-header.entity.ts +0 -34
- package/src/database/entities/invoice-template-table.entity.ts +0 -83
- package/src/database/entities/invoice-template.entity.ts +0 -119
- package/src/database/entities/invoice.entity.ts +0 -139
- package/src/database/entities/invoice_item.entity.ts +0 -69
- package/src/database/entities/leave-balance.entity.ts +0 -118
- package/src/database/entities/leave-request.entity.ts +0 -155
- package/src/database/entities/leave-type.entity.ts +0 -37
- package/src/database/entities/matter-tag.entity.ts +0 -21
- package/src/database/entities/matter-task-view-filter.entity.ts +0 -21
- package/src/database/entities/matter-team-member.entity.ts +0 -30
- package/src/database/entities/matter.entity.ts +0 -156
- package/src/database/entities/payment.entity.ts +0 -72
- package/src/database/entities/permission.entity.ts +0 -27
- package/src/database/entities/quickbooks-connection.entity.ts +0 -35
- package/src/database/entities/quickbooks-sync-log.entity.ts +0 -79
- package/src/database/entities/role-permission.entity.ts +0 -30
- package/src/database/entities/role-shift.entity.ts +0 -43
- package/src/database/entities/role.entity.ts +0 -30
- package/src/database/entities/sequence-generator.entity.ts +0 -40
- package/src/database/entities/shift.entity.ts +0 -72
- package/src/database/entities/sub-task-tag.entity.ts +0 -22
- package/src/database/entities/subtask-user.entity.ts +0 -21
- package/src/database/entities/subtask.entity.ts +0 -125
- package/src/database/entities/summary-task-status.entity.ts +0 -15
- package/src/database/entities/superset.entity.ts +0 -38
- package/src/database/entities/tag.entity.ts +0 -19
- package/src/database/entities/task-comment.entity.ts +0 -41
- package/src/database/entities/task-milestone.entity.ts +0 -14
- package/src/database/entities/task-remainder.entity.ts +0 -29
- package/src/database/entities/task-tag.entity.ts +0 -22
- package/src/database/entities/task-type.entity.ts +0 -14
- package/src/database/entities/task-user.entity.ts +0 -21
- package/src/database/entities/task.entity.ts +0 -176
- package/src/database/entities/template-task.entity.ts +0 -25
- package/src/database/entities/template.entity.ts +0 -28
- package/src/database/entities/timesheet-comment.entity.ts +0 -45
- package/src/database/entities/timesheet-event.entity.ts +0 -256
- package/src/database/entities/timesheet-summary.entity.ts +0 -101
- package/src/database/entities/timesheet.entity.ts +0 -76
- package/src/database/entities/transfer-ownership.entity.ts +0 -39
- package/src/database/entities/upload-log.entity.ts +0 -78
- package/src/database/entities/user-notification-channel.entity.ts +0 -43
- package/src/database/entities/user-notification-preference.entity.ts +0 -50
- package/src/database/entities/user-role.entity.ts +0 -25
- package/src/database/entities/user-session-history.entity.ts +0 -45
- package/src/database/entities/user-shift.entity.ts +0 -109
- package/src/database/entities/user.entity.ts +0 -198
- package/src/database/index.ts +0 -1
- package/src/database/seeder/base.seed.ts +0 -104
- package/src/database/seeder/config/seeder.config.ts +0 -26
- package/src/database/seeder/errors/seeder.error.ts +0 -20
- package/src/database/seeder/seed-runner.ts +0 -200
- package/src/database/seeder/seeds/city.seed.ts +0 -70
- package/src/database/seeder/seeds/country.seed.ts +0 -58
- package/src/database/seeder/seeds/currency.seed.ts +0 -52
- package/src/database/seeder/seeds/department.seed.ts +0 -47
- package/src/database/seeder/seeds/permission.seed.ts +0 -54
- package/src/database/seeder/seeds/role-permission.seed.ts +0 -58
- package/src/database/seeder/seeds/role.seed.ts +0 -52
- package/src/database/seeder/seeds/user-role.seed.ts +0 -72
- package/src/database/seeder/seeds/user.seed.ts +0 -87
- package/src/scripts/create-schema.ts +0 -94
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Entity, Column } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from './base.entity';
|
|
3
|
-
|
|
4
|
-
export enum HolidayType {
|
|
5
|
-
FULL_DAY = 'Full Day',
|
|
6
|
-
HALF_DAY = 'Half Day',
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
@Entity({ name: 'holidays', schema: 'timesheet' })
|
|
10
|
-
export class Holiday extends BaseEntity {
|
|
11
|
-
@Column({
|
|
12
|
-
name: 'holiday_date',
|
|
13
|
-
type: 'date',
|
|
14
|
-
nullable: false,
|
|
15
|
-
comment: 'Date of the holiday',
|
|
16
|
-
})
|
|
17
|
-
holiday_date: Date;
|
|
18
|
-
|
|
19
|
-
@Column({
|
|
20
|
-
name: 'holiday_name',
|
|
21
|
-
type: 'varchar',
|
|
22
|
-
length: 255,
|
|
23
|
-
nullable: false,
|
|
24
|
-
comment: 'Name of the holiday',
|
|
25
|
-
})
|
|
26
|
-
holiday_name: string;
|
|
27
|
-
|
|
28
|
-
@Column({
|
|
29
|
-
name:"slug",
|
|
30
|
-
type:"varchar",
|
|
31
|
-
length:255,
|
|
32
|
-
nullable:true,
|
|
33
|
-
comment:"Slug of the holiday",
|
|
34
|
-
})
|
|
35
|
-
slug:string;
|
|
36
|
-
|
|
37
|
-
@Column({
|
|
38
|
-
name: 'full_or_half_day',
|
|
39
|
-
type: 'varchar',
|
|
40
|
-
length: 255,
|
|
41
|
-
nullable: true,
|
|
42
|
-
comment: 'Whether the holiday is full day or half day',
|
|
43
|
-
})
|
|
44
|
-
full_or_half_day: string;
|
|
45
|
-
|
|
46
|
-
@Column({ name: 'repeat_annually', type: 'boolean', default: false, comment: 'Whether the holiday is repeated annually' })
|
|
47
|
-
repeat_annually: boolean;
|
|
48
|
-
|
|
49
|
-
@Column({ name: 'is_active', default: true })
|
|
50
|
-
isActive: boolean;
|
|
51
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Column,
|
|
3
|
-
Entity,
|
|
4
|
-
JoinColumn,
|
|
5
|
-
OneToOne,
|
|
6
|
-
} from 'typeorm';
|
|
7
|
-
import { UserInvoiceTemplateEntity } from './invoice-template.entity';
|
|
8
|
-
import { BaseEntity } from './base.entity';
|
|
9
|
-
|
|
10
|
-
@Entity({ name: 'user_invoice_template_footer', schema: 'core' })
|
|
11
|
-
export class UserInvoiceTemplateFooterEntity extends BaseEntity {
|
|
12
|
-
|
|
13
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
14
|
-
enabled_notes: boolean | null;
|
|
15
|
-
|
|
16
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
17
|
-
notes_label: string | null;
|
|
18
|
-
|
|
19
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
20
|
-
enabled_term_and_condition: boolean | null;
|
|
21
|
-
|
|
22
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
23
|
-
term_and_condition_label: string | null;
|
|
24
|
-
|
|
25
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
26
|
-
use_default_term_and_condition: boolean | null;
|
|
27
|
-
|
|
28
|
-
@Column({ type: 'int', nullable: true })
|
|
29
|
-
term_and_condition_template_id: number | null;
|
|
30
|
-
|
|
31
|
-
@Column({ type: 'varchar', nullable: true })
|
|
32
|
-
custom_term_and_condition: string | null;
|
|
33
|
-
|
|
34
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
35
|
-
enabled_signature: boolean | null;
|
|
36
|
-
|
|
37
|
-
@Column({ type: 'varchar', nullable: true })
|
|
38
|
-
signature_type: string | null;
|
|
39
|
-
|
|
40
|
-
@Column({ type: 'varchar', nullable: true })
|
|
41
|
-
signature_url: string | null;
|
|
42
|
-
|
|
43
|
-
@Column({ type: 'varchar', nullable: true })
|
|
44
|
-
signature_placement: string | null;
|
|
45
|
-
|
|
46
|
-
@Column({ type: 'boolean', nullable: true, default: true })
|
|
47
|
-
enabled_payment_details: boolean | null;
|
|
48
|
-
|
|
49
|
-
@Column({ type: 'varchar', nullable: true })
|
|
50
|
-
account_holder_name: string | null;
|
|
51
|
-
|
|
52
|
-
@Column({ type: 'varchar', nullable: true })
|
|
53
|
-
account_number: string | null;
|
|
54
|
-
|
|
55
|
-
@Column({ type: 'varchar', nullable: true })
|
|
56
|
-
ifsc_code: string | null;
|
|
57
|
-
|
|
58
|
-
@Column({ type: 'varchar', nullable: true })
|
|
59
|
-
upi_id: string | null;
|
|
60
|
-
|
|
61
|
-
@Column({ type: 'varchar', nullable: true })
|
|
62
|
-
payment_terms: string | null;
|
|
63
|
-
|
|
64
|
-
@Column({ type: 'int', nullable: true })
|
|
65
|
-
invoice_template_id: number | null;
|
|
66
|
-
|
|
67
|
-
@OneToOne(() => UserInvoiceTemplateEntity, (template) => template.footer)
|
|
68
|
-
@JoinColumn({ name: 'invoice_template_id' })
|
|
69
|
-
invoiceTemplate: UserInvoiceTemplateEntity;
|
|
70
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm';
|
|
2
|
-
import { UserInvoiceTemplateEntity } from './invoice-template.entity';
|
|
3
|
-
import { BaseEntity } from './base.entity';
|
|
4
|
-
|
|
5
|
-
@Entity({ name: 'user_invoice_template_header', schema: 'core' })
|
|
6
|
-
export class UserInvoiceTemplateHeaderEntity extends BaseEntity {
|
|
7
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
8
|
-
document_title: string | null;
|
|
9
|
-
|
|
10
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
11
|
-
show_document_title: boolean | null;
|
|
12
|
-
|
|
13
|
-
@Column({ type: 'varchar', length: 255, nullable: true, default: true })
|
|
14
|
-
show_organization_name: boolean | null;
|
|
15
|
-
|
|
16
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
17
|
-
show_organization_logo: boolean | null;
|
|
18
|
-
|
|
19
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
20
|
-
organization_logo: string | null;
|
|
21
|
-
|
|
22
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
23
|
-
attachment: string | null;
|
|
24
|
-
|
|
25
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
26
|
-
logo_resize_factor: number | null;
|
|
27
|
-
|
|
28
|
-
@Column({ type: 'integer', nullable: true })
|
|
29
|
-
invoice_template_id: number | null;
|
|
30
|
-
|
|
31
|
-
@OneToOne(() => UserInvoiceTemplateEntity, (template) => template.header)
|
|
32
|
-
@JoinColumn({ name: 'invoice_template_id' })
|
|
33
|
-
invoiceTemplate: UserInvoiceTemplateEntity;
|
|
34
|
-
}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { Column, Entity, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm';
|
|
2
|
-
import { UserInvoiceTemplateEntity } from './invoice-template.entity';
|
|
3
|
-
import { BaseEntity } from './base.entity';
|
|
4
|
-
|
|
5
|
-
export enum GST_TYPE {
|
|
6
|
-
IGST = 'IGST',
|
|
7
|
-
CGST_PLUS_SGST = 'CGST_PLUS_SGST',
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export enum TDS_TYPE {
|
|
11
|
-
'194C' = '194C',
|
|
12
|
-
'194J' = '194J',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@Entity({ name: 'user_invoice_template_table', schema: 'core' })
|
|
16
|
-
export class UserInvoiceTemplateTableEntity extends BaseEntity {
|
|
17
|
-
@Column({ type: 'boolean', nullable: true, default: true })
|
|
18
|
-
enabled_professional_summery_column: boolean | null;
|
|
19
|
-
|
|
20
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
21
|
-
professional_summery_column_label: string;
|
|
22
|
-
|
|
23
|
-
@Column({ type: 'float', nullable: true })
|
|
24
|
-
professional_summery_column_width: number | null;
|
|
25
|
-
|
|
26
|
-
@Column({ type: 'boolean', nullable: true })
|
|
27
|
-
enabled_description_column: boolean | null;
|
|
28
|
-
|
|
29
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
30
|
-
description_column_label: string | null;
|
|
31
|
-
|
|
32
|
-
@Column({ type: 'float', nullable: true })
|
|
33
|
-
description_column_width: number | null;
|
|
34
|
-
|
|
35
|
-
@Column({ type: 'boolean', nullable: true })
|
|
36
|
-
enabled_total_cost_column: boolean | null;
|
|
37
|
-
|
|
38
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
39
|
-
total_cost_column_label: string | null;
|
|
40
|
-
|
|
41
|
-
@Column({ type: 'float', nullable: true })
|
|
42
|
-
total_cost_column_width: number | null;
|
|
43
|
-
|
|
44
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
45
|
-
enabled_gst_column: boolean | null;
|
|
46
|
-
|
|
47
|
-
@Column({ type: 'varchar', length: 255, nullable: true, default: 'GST' })
|
|
48
|
-
gst_column_label: string | null;
|
|
49
|
-
|
|
50
|
-
@Column({ type: 'float', nullable: true })
|
|
51
|
-
gst_column_width: number | null;
|
|
52
|
-
|
|
53
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
54
|
-
enabled_gst_value_column: boolean | null;
|
|
55
|
-
|
|
56
|
-
@Column({ type: 'enum', enum: GST_TYPE, nullable: true })
|
|
57
|
-
gst_type: GST_TYPE | null;
|
|
58
|
-
|
|
59
|
-
@Column({ type: 'float',nullable: true })
|
|
60
|
-
gst_rate: number | null;
|
|
61
|
-
|
|
62
|
-
@Column({ type: 'boolean', nullable: true, default: false })
|
|
63
|
-
enabled_tds_column: boolean | null;
|
|
64
|
-
|
|
65
|
-
@Column({ type: 'varchar', length: 255, nullable: true, default: 'TDS' })
|
|
66
|
-
tds_column_label: string | null;
|
|
67
|
-
|
|
68
|
-
@Column({ type: 'float', nullable: true })
|
|
69
|
-
tds_column_width: number | null;
|
|
70
|
-
|
|
71
|
-
@Column({ type: 'enum', enum: TDS_TYPE, nullable: true })
|
|
72
|
-
tds_type: TDS_TYPE | null;
|
|
73
|
-
|
|
74
|
-
@Column({ type: 'float', nullable: true })
|
|
75
|
-
tds_rate: number | null;
|
|
76
|
-
|
|
77
|
-
@Column({ type: 'integer', nullable: true })
|
|
78
|
-
invoice_template_id: number | null;
|
|
79
|
-
|
|
80
|
-
@OneToOne(() => UserInvoiceTemplateEntity, (template) => template.table)
|
|
81
|
-
@JoinColumn({ name: 'invoice_template_id' })
|
|
82
|
-
invoiceTemplate: UserInvoiceTemplateEntity;
|
|
83
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { Column, Entity, JoinColumn, ManyToOne, OneToOne } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from './base.entity';
|
|
3
|
-
import { UserInvoiceTemplateTableEntity } from './invoice-template-table.entity';
|
|
4
|
-
import { UserInvoiceTemplateHeaderEntity } from './invoice-template-header.entity';
|
|
5
|
-
import { UserInvoiceTemplateFooterEntity } from './invoice-template-footer.entity';
|
|
6
|
-
import { User } from './user.entity';
|
|
7
|
-
|
|
8
|
-
export enum InvoiceTemplateStatus {
|
|
9
|
-
DRAFT = 'DRAFT',
|
|
10
|
-
PUBLISHED = 'PUBLISHED',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export enum PaperSize {
|
|
14
|
-
A4 = 'A5',
|
|
15
|
-
A3 = 'A4',
|
|
16
|
-
LETTER = 'LETTER',
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export enum Origination {
|
|
20
|
-
PORTRAIT = 'PORTRAIT',
|
|
21
|
-
LANDSCAPE = 'LANDSCAPE',
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@Entity({ name: 'user_invoice_templates', schema: 'core' })
|
|
25
|
-
export class UserInvoiceTemplateEntity extends BaseEntity {
|
|
26
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
27
|
-
parent_slug: string | null;
|
|
28
|
-
|
|
29
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
30
|
-
original_template_slug: string | null;
|
|
31
|
-
|
|
32
|
-
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
33
|
-
template_name: string;
|
|
34
|
-
|
|
35
|
-
@Column({ type: 'varchar', length: 255, nullable: false })
|
|
36
|
-
slug: string;
|
|
37
|
-
|
|
38
|
-
@Column({
|
|
39
|
-
type: 'enum',
|
|
40
|
-
enum: PaperSize,
|
|
41
|
-
nullable: true,
|
|
42
|
-
})
|
|
43
|
-
paper_size: PaperSize | null;
|
|
44
|
-
|
|
45
|
-
@Column({
|
|
46
|
-
type: 'enum',
|
|
47
|
-
enum: Origination,
|
|
48
|
-
default: Origination.PORTRAIT,
|
|
49
|
-
nullable: true,
|
|
50
|
-
})
|
|
51
|
-
origination: Origination;
|
|
52
|
-
|
|
53
|
-
@Column({ type: 'float', nullable: true })
|
|
54
|
-
margin_top: number | null;
|
|
55
|
-
|
|
56
|
-
@Column({ type: 'float', nullable: true })
|
|
57
|
-
margin_bottom: number | null;
|
|
58
|
-
|
|
59
|
-
@Column({ type: 'float', nullable: true })
|
|
60
|
-
margin_left: number | null;
|
|
61
|
-
|
|
62
|
-
@Column({ type: 'float', nullable: true })
|
|
63
|
-
margin_right: number | null;
|
|
64
|
-
|
|
65
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
66
|
-
pdf_font: string | null;
|
|
67
|
-
|
|
68
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
69
|
-
currency_type: string;
|
|
70
|
-
|
|
71
|
-
@Column({ type: 'float', nullable: true })
|
|
72
|
-
exchange_rate: number | null;
|
|
73
|
-
|
|
74
|
-
@Column({ type: 'int', nullable: true })
|
|
75
|
-
user_id: number | null;
|
|
76
|
-
|
|
77
|
-
@Column({
|
|
78
|
-
type: 'enum',
|
|
79
|
-
enum: InvoiceTemplateStatus,
|
|
80
|
-
default: InvoiceTemplateStatus.PUBLISHED,
|
|
81
|
-
})
|
|
82
|
-
status: InvoiceTemplateStatus;
|
|
83
|
-
|
|
84
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
85
|
-
show_base_converted: boolean;
|
|
86
|
-
|
|
87
|
-
//one-to-one relationship with invoice-template-header
|
|
88
|
-
@OneToOne(
|
|
89
|
-
() => UserInvoiceTemplateHeaderEntity,
|
|
90
|
-
(header) => header.invoiceTemplate,
|
|
91
|
-
{
|
|
92
|
-
cascade: true,
|
|
93
|
-
eager: true,
|
|
94
|
-
},
|
|
95
|
-
)
|
|
96
|
-
header: UserInvoiceTemplateHeaderEntity;
|
|
97
|
-
|
|
98
|
-
// One-to-One Relationship with InvoiceTemplateTableEntity
|
|
99
|
-
@OneToOne(
|
|
100
|
-
() => UserInvoiceTemplateTableEntity,
|
|
101
|
-
(table) => table.invoiceTemplate,
|
|
102
|
-
{
|
|
103
|
-
cascade: true,
|
|
104
|
-
eager: true,
|
|
105
|
-
},
|
|
106
|
-
)
|
|
107
|
-
table: UserInvoiceTemplateTableEntity;
|
|
108
|
-
|
|
109
|
-
//one-to-one relationship with invoice-template-footer
|
|
110
|
-
@OneToOne(
|
|
111
|
-
() => UserInvoiceTemplateFooterEntity,
|
|
112
|
-
(footer) => footer.invoiceTemplate,
|
|
113
|
-
{
|
|
114
|
-
cascade: true,
|
|
115
|
-
eager: true,
|
|
116
|
-
},
|
|
117
|
-
)
|
|
118
|
-
footer: UserInvoiceTemplateFooterEntity;
|
|
119
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Entity,
|
|
3
|
-
Column,
|
|
4
|
-
ManyToOne,
|
|
5
|
-
JoinColumn,
|
|
6
|
-
Index,
|
|
7
|
-
OneToMany
|
|
8
|
-
} from 'typeorm';
|
|
9
|
-
import { Client } from './client.entity';
|
|
10
|
-
import { Matter } from './matter.entity';
|
|
11
|
-
import { User } from './user.entity';
|
|
12
|
-
import { BaseEntity } from './base.entity';
|
|
13
|
-
import { CreditNoteEntity } from './credit-note.entity';
|
|
14
|
-
import { InvoiceItem } from './invoice_item.entity';
|
|
15
|
-
|
|
16
|
-
export enum InvoiceType {
|
|
17
|
-
EXPENSE = 'Expense',
|
|
18
|
-
MATTER='Matter',
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
@Entity({name: "invoices", schema:"core"})
|
|
22
|
-
@Index('idx_invoices_matter_id', ['matter'])
|
|
23
|
-
@Index('idx_invoices_client_id', ['client'])
|
|
24
|
-
@Index('idx_invoices_status', ['status'])
|
|
25
|
-
export class Invoice extends BaseEntity {
|
|
26
|
-
|
|
27
|
-
@Column({ type: 'int', name: 'matter_id', nullable: true })
|
|
28
|
-
matterId: number;
|
|
29
|
-
|
|
30
|
-
@Column({ type: 'int', name: 'client_id' })
|
|
31
|
-
clientId: number;
|
|
32
|
-
|
|
33
|
-
@Column({ type: 'int', name: 'partner_id' })
|
|
34
|
-
partnerId: number;
|
|
35
|
-
|
|
36
|
-
@ManyToOne(() => Matter, (matter) => matter.invoices, { onDelete: 'CASCADE', onUpdate: 'CASCADE' })
|
|
37
|
-
@JoinColumn({ name: 'matter_id' })
|
|
38
|
-
matter: Matter;
|
|
39
|
-
|
|
40
|
-
@ManyToOne(() => Client, (client) => client.invoices, { onDelete: 'CASCADE', onUpdate: 'CASCADE' })
|
|
41
|
-
@JoinColumn({ name: 'client_id' })
|
|
42
|
-
client: Client;
|
|
43
|
-
|
|
44
|
-
@Column({
|
|
45
|
-
type: 'varchar',
|
|
46
|
-
length: 20,
|
|
47
|
-
name: 'status',
|
|
48
|
-
})
|
|
49
|
-
status: 'Draft' | 'Pending Payment' | 'Pending Approval' | 'Partially Paid' | 'Full Payment' | 'Overdue' | 'Cancelled' | 'Refunded';
|
|
50
|
-
|
|
51
|
-
@ManyToOne(() => User, (user) => user.approvedInvoices, { nullable: true, onDelete: 'SET NULL', onUpdate: 'CASCADE' })
|
|
52
|
-
@JoinColumn({ name: 'approved_by' })
|
|
53
|
-
approvedBy: User;
|
|
54
|
-
|
|
55
|
-
@ManyToOne(() => User, (user) => user.requestedInvoices, { nullable: true, onDelete: 'SET NULL', onUpdate: 'CASCADE' })
|
|
56
|
-
@JoinColumn({ name: 'approval_requested_by' })
|
|
57
|
-
approvalRequestedBy: User;
|
|
58
|
-
|
|
59
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, name: 'amount', nullable: true })
|
|
60
|
-
amount: number;
|
|
61
|
-
|
|
62
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, name: 'tds_amount', nullable: true })
|
|
63
|
-
tdsAmount: number;
|
|
64
|
-
|
|
65
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, name: 'tds_percentage', nullable: true })
|
|
66
|
-
tdsPercentage: number;
|
|
67
|
-
|
|
68
|
-
@Column({ type: 'boolean', name: 'is_tds_applicable', default: false })
|
|
69
|
-
isTdsApplicable: boolean;
|
|
70
|
-
|
|
71
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, name: 'pending_amount', nullable: true })
|
|
72
|
-
pendingAmount: number;
|
|
73
|
-
|
|
74
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, name: 'total_amount', nullable: true })
|
|
75
|
-
totalAmount: number;
|
|
76
|
-
|
|
77
|
-
@Column({ type: 'text', nullable: true, name: 'expense_details' })
|
|
78
|
-
expenseDetails: string;
|
|
79
|
-
|
|
80
|
-
@Column({ type: 'text', nullable: true, name: 'custom_terms' })
|
|
81
|
-
customTerms: string;
|
|
82
|
-
|
|
83
|
-
@Column({ type: 'varchar', length: 100, nullable: true, name: 'category' })
|
|
84
|
-
category: string;
|
|
85
|
-
|
|
86
|
-
@Column({ type: 'varchar', length: 100, nullable: true, name: 'invoice_no' })
|
|
87
|
-
invoiceNo: string;
|
|
88
|
-
|
|
89
|
-
@Column({ type: 'timestamp', nullable: true, name: 'billing_date' })
|
|
90
|
-
billingDate: Date;
|
|
91
|
-
|
|
92
|
-
@Column({ type: 'timestamp', nullable: true, name: 'due_date' })
|
|
93
|
-
dueDate: Date;
|
|
94
|
-
|
|
95
|
-
@Column({ type: 'text', nullable: true, name: 'pdf_url' })
|
|
96
|
-
pdfUrl: string;
|
|
97
|
-
|
|
98
|
-
@Column({ type: 'int', nullable: true, name: 'file_id' })
|
|
99
|
-
fileId: number;
|
|
100
|
-
|
|
101
|
-
@Column({ type: 'decimal', precision: 10, scale: 2, nullable: true, name: 'tax' })
|
|
102
|
-
tax: number;
|
|
103
|
-
|
|
104
|
-
@Column({ type: 'timestamp', nullable: true, name: 'approved_at' })
|
|
105
|
-
approvedAt: Date;
|
|
106
|
-
|
|
107
|
-
@Column({ type: 'timestamp', nullable: true, name: 'paid_at' })
|
|
108
|
-
paidAt: Date;
|
|
109
|
-
|
|
110
|
-
@Column({ type: 'boolean', default: false, name: 'is_draft' })
|
|
111
|
-
isDraft: boolean;
|
|
112
|
-
|
|
113
|
-
@Column({ type: 'enum', name: 'invoice_type', enum: InvoiceType , nullable: true})
|
|
114
|
-
invoiceType: InvoiceType;
|
|
115
|
-
|
|
116
|
-
@Column({
|
|
117
|
-
type: 'varchar',
|
|
118
|
-
length: 50,
|
|
119
|
-
default: 'draft',
|
|
120
|
-
name: 'approval_status'
|
|
121
|
-
})
|
|
122
|
-
approvalStatus: 'draft' | 'pending_approval' | 'approved' | 'sent_to_client' | 'rejected';
|
|
123
|
-
|
|
124
|
-
// QuickBooks Integration Fields
|
|
125
|
-
@Column({ type: 'varchar', length: 255, nullable: true, name: 'quickbooks_id' })
|
|
126
|
-
quickbooksId: string;
|
|
127
|
-
|
|
128
|
-
@Column({ type: 'varchar', length: 50, nullable: true, name: 'quickbooks_sync_token' })
|
|
129
|
-
quickbooksSyncToken: string;
|
|
130
|
-
|
|
131
|
-
@Column({ type: 'timestamp', nullable: true, name: 'last_synced_at' })
|
|
132
|
-
lastSyncedAt: Date;
|
|
133
|
-
|
|
134
|
-
@OneToMany(() => CreditNoteEntity, (creditNote) => creditNote.invoice)
|
|
135
|
-
creditNote: CreditNoteEntity;
|
|
136
|
-
|
|
137
|
-
@OneToMany(() => InvoiceItem, (invoiceItem) => invoiceItem.invoice)
|
|
138
|
-
invoiceItems: InvoiceItem[];
|
|
139
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// ivm-api-core/src/modules/invoice/entities/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
|
-
import { CreditNoteEntity } from './credit-note.entity';
|
|
6
|
-
|
|
7
|
-
export enum InvoiceItemType {
|
|
8
|
-
TASK = 'task',
|
|
9
|
-
EXPENSE = 'expense',
|
|
10
|
-
SUMMARY = 'summary',
|
|
11
|
-
TIMESHEET_EVENT = 'timesheet_event',
|
|
12
|
-
FIXED_ITEM = 'fixed_item',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
@Entity({ name: 'invoice_items', schema: 'core' })
|
|
16
|
-
@Index('idx_invoice_items_invoice_id', ['invoiceId'])
|
|
17
|
-
@Index('idx_invoice_items_item', ['itemType', 'itemId'])
|
|
18
|
-
export class InvoiceItem extends BaseEntity {
|
|
19
|
-
@Column({ name: 'invoice_id' })
|
|
20
|
-
invoiceId: number;
|
|
21
|
-
|
|
22
|
-
@Column({
|
|
23
|
-
name: 'item_type',
|
|
24
|
-
type: 'enum',
|
|
25
|
-
enum: InvoiceItemType
|
|
26
|
-
})
|
|
27
|
-
itemType: InvoiceItemType;
|
|
28
|
-
|
|
29
|
-
@Column({ name: 'item_id' })
|
|
30
|
-
itemId: number;
|
|
31
|
-
|
|
32
|
-
@Column({
|
|
33
|
-
type: 'decimal',
|
|
34
|
-
precision: 10,
|
|
35
|
-
scale: 2,
|
|
36
|
-
name: 'amount'
|
|
37
|
-
})
|
|
38
|
-
amount: number;
|
|
39
|
-
|
|
40
|
-
@Column({ type: 'decimal', name: 'credit_amount', nullable: true })
|
|
41
|
-
credit_amount: number | null;
|
|
42
|
-
|
|
43
|
-
@Column({ type: 'decimal', name: 'balance_amount', nullable: true })
|
|
44
|
-
balance_amount: number | null;
|
|
45
|
-
|
|
46
|
-
@Column({ type: 'int', name: 'credit_note_id', nullable: true })
|
|
47
|
-
credit_note_id: number | null;
|
|
48
|
-
|
|
49
|
-
@ManyToOne(() => CreditNoteEntity, (creditNote) => creditNote.invoiceItems)
|
|
50
|
-
@JoinColumn({ name: 'credit_note_id' })
|
|
51
|
-
creditNote: CreditNoteEntity;
|
|
52
|
-
|
|
53
|
-
// Relationships
|
|
54
|
-
@ManyToOne(() => Invoice, { onDelete: 'CASCADE' })
|
|
55
|
-
@JoinColumn({ name: 'invoice_id' })
|
|
56
|
-
invoice: Invoice;
|
|
57
|
-
|
|
58
|
-
// @ManyToOne(() => Task, { nullable: true, onDelete: 'CASCADE' })
|
|
59
|
-
// @JoinColumn({ name: 'item_id' })
|
|
60
|
-
// task?: Task;
|
|
61
|
-
|
|
62
|
-
// @ManyToOne(() => Expense, { nullable: true, onDelete: 'CASCADE' })
|
|
63
|
-
// @JoinColumn({ name: 'item_id' })
|
|
64
|
-
// expense?: Expense;
|
|
65
|
-
|
|
66
|
-
// @ManyToOne(() => TimesheetSummary, { nullable: true, onDelete: 'CASCADE' })
|
|
67
|
-
// @JoinColumn({ name: 'item_id' })
|
|
68
|
-
// summary?: TimesheetSummary;
|
|
69
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { Entity, Column, ManyToOne, JoinColumn, Index } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from './base.entity';
|
|
3
|
-
import { User } from './user.entity';
|
|
4
|
-
import { LeaveType } from './leave-type.entity';
|
|
5
|
-
import { Entitlement } from './entitlement.entity';
|
|
6
|
-
|
|
7
|
-
export enum CreditFrequency {
|
|
8
|
-
MONTHLY = 'monthly',
|
|
9
|
-
QUARTERLY = 'quarterly',
|
|
10
|
-
HALF_YEARLY = 'half_yearly',
|
|
11
|
-
YEARLY = 'yearly',
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@Entity({ name: 'leave_balances', schema: 'user' })
|
|
15
|
-
@Index(['userId', 'leaveTypeId', 'entitlementId'], { unique: true })
|
|
16
|
-
export class LeaveBalance extends BaseEntity {
|
|
17
|
-
|
|
18
|
-
@Column({ name: 'user_id' })
|
|
19
|
-
userId: number;
|
|
20
|
-
|
|
21
|
-
@Column({ name: 'leave_type_id' })
|
|
22
|
-
leaveTypeId: number;
|
|
23
|
-
|
|
24
|
-
@Column({ name: 'entitlement_id' })
|
|
25
|
-
entitlementId: number;
|
|
26
|
-
|
|
27
|
-
@Column({ name: 'total_entitled', type: 'decimal', precision: 10, scale: 2, default: 0 })
|
|
28
|
-
totalEntitled: number;
|
|
29
|
-
|
|
30
|
-
@Column({ name: 'balance', type: 'decimal', precision: 10, scale: 2, default: 0 })
|
|
31
|
-
balance: number;
|
|
32
|
-
|
|
33
|
-
@Column({ name: 'used_balance', type: 'decimal', precision: 10, scale: 2, default: 0 })
|
|
34
|
-
usedBalance: number;
|
|
35
|
-
|
|
36
|
-
@Column({ name: 'pending_balance', type: 'decimal', precision: 10, scale: 2, default: 0 })
|
|
37
|
-
pendingBalance: number;
|
|
38
|
-
|
|
39
|
-
@Column({ name: 'carried_forward', type: 'decimal', precision: 10, scale: 2, default: 0 })
|
|
40
|
-
carriedForward: number;
|
|
41
|
-
|
|
42
|
-
@Column({ name: 'accrual_rate', type: 'decimal', precision: 10, scale: 4 })
|
|
43
|
-
accrualRate: number; // entitlements/12 for monthly accrual
|
|
44
|
-
|
|
45
|
-
@Column({ name: 'credit_frequency', type: 'enum', enum: CreditFrequency, default: CreditFrequency.MONTHLY })
|
|
46
|
-
creditFrequency: CreditFrequency;
|
|
47
|
-
|
|
48
|
-
@Column({ name: 'last_credited_date', type: 'date', nullable: true })
|
|
49
|
-
lastCreditedDate: Date;
|
|
50
|
-
|
|
51
|
-
@Column({ name: 'next_credit_date', type: 'date' })
|
|
52
|
-
nextCreditDate: Date;
|
|
53
|
-
|
|
54
|
-
@Column({ name: 'policy_start_date', type: 'date' })
|
|
55
|
-
policyStartDate: Date;
|
|
56
|
-
|
|
57
|
-
@Column({ name: 'policy_end_date', type: 'date' })
|
|
58
|
-
policyEndDate: Date;
|
|
59
|
-
|
|
60
|
-
@Column({ name: 'is_active', default: true })
|
|
61
|
-
isActive: boolean;
|
|
62
|
-
|
|
63
|
-
@Column({ name: 'cron_enabled', default: true })
|
|
64
|
-
cronEnabled: boolean;
|
|
65
|
-
|
|
66
|
-
@Column({ name: 'last_cron_run', type: 'timestamp', nullable: true })
|
|
67
|
-
lastCronRun: Date;
|
|
68
|
-
|
|
69
|
-
// Relationships
|
|
70
|
-
@ManyToOne(() => User, user => user.id)
|
|
71
|
-
@JoinColumn({ name: 'user_id' })
|
|
72
|
-
user: User;
|
|
73
|
-
|
|
74
|
-
@ManyToOne(() => LeaveType, leaveType => leaveType.id)
|
|
75
|
-
@JoinColumn({ name: 'leave_type_id' })
|
|
76
|
-
leaveType: LeaveType;
|
|
77
|
-
|
|
78
|
-
@ManyToOne(() => Entitlement, entitlement => entitlement.id)
|
|
79
|
-
@JoinColumn({ name: 'entitlement_id' })
|
|
80
|
-
entitlement: Entitlement;
|
|
81
|
-
|
|
82
|
-
// Helper methods
|
|
83
|
-
calculateAvailableBalance(): number {
|
|
84
|
-
return this.balance - this.usedBalance - this.pendingBalance;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
canTakeLeave(requestedDays: number): boolean {
|
|
88
|
-
return this.calculateAvailableBalance() >= requestedDays;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
creditLeave(amount: number): void {
|
|
92
|
-
this.balance = Number((Number(this.balance) + Number(amount)).toFixed(2));
|
|
93
|
-
this.lastCreditedDate = new Date();
|
|
94
|
-
this.calculateNextCreditDate();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
debitLeave(amount: number): void {
|
|
98
|
-
this.usedBalance += amount;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
private calculateNextCreditDate(): void {
|
|
102
|
-
const currentDate = new Date();
|
|
103
|
-
switch (this.creditFrequency) {
|
|
104
|
-
case CreditFrequency.MONTHLY:
|
|
105
|
-
this.nextCreditDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 1);
|
|
106
|
-
break;
|
|
107
|
-
case CreditFrequency.QUARTERLY:
|
|
108
|
-
this.nextCreditDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 3, 1);
|
|
109
|
-
break;
|
|
110
|
-
case CreditFrequency.HALF_YEARLY:
|
|
111
|
-
this.nextCreditDate = new Date(currentDate.getFullYear(), currentDate.getMonth() + 6, 1);
|
|
112
|
-
break;
|
|
113
|
-
case CreditFrequency.YEARLY:
|
|
114
|
-
this.nextCreditDate = new Date(currentDate.getFullYear() + 1, currentDate.getMonth(), 1);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|