@platform-modules/civil-aviation-authority 2.3.96 → 2.3.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/.env +16 -10
  2. package/dist/data-source.js +2 -0
  3. package/dist/index.d.ts +11 -0
  4. package/dist/index.js +13 -0
  5. package/dist/models/AnnualIncrementRequestEmployeeModel.d.ts +16 -0
  6. package/dist/models/AnnualIncrementRequestEmployeeModel.js +80 -0
  7. package/dist/models/AnnualIncrementRequestModel.d.ts +5 -4
  8. package/dist/models/AnnualIncrementRequestModel.js +17 -12
  9. package/dist/models/CashAllowanceLeaveRequestModel.d.ts +1 -0
  10. package/dist/models/CashAllowanceLeaveRequestModel.js +5 -0
  11. package/dist/models/DocumentMetadataModel.d.ts +45 -0
  12. package/dist/models/DocumentMetadataModel.js +171 -0
  13. package/dist/models/DocumentationDepartmentsModel.d.ts +13 -0
  14. package/dist/models/DocumentationDepartmentsModel.js +53 -0
  15. package/dist/models/FolderModel.d.ts +16 -0
  16. package/dist/models/FolderModel.js +85 -0
  17. package/dist/models/HousingContractCancelApprovalModel.d.ts +23 -0
  18. package/dist/models/HousingContractCancelApprovalModel.js +88 -0
  19. package/dist/models/HousingContractCancelAttachmentModel.d.ts +12 -0
  20. package/dist/models/HousingContractCancelAttachmentModel.js +56 -0
  21. package/dist/models/HousingContractCancelChatModel.d.ts +18 -0
  22. package/dist/models/HousingContractCancelChatModel.js +60 -0
  23. package/dist/models/HousingContractCancelRequestModel.d.ts +31 -0
  24. package/dist/models/HousingContractCancelRequestModel.js +107 -0
  25. package/dist/models/HousingContractCancelWorkflowModel.d.ts +25 -0
  26. package/dist/models/HousingContractCancelWorkflowModel.js +88 -0
  27. package/dist/models/HousingContractRenewalApprovalModel.d.ts +23 -0
  28. package/dist/models/HousingContractRenewalApprovalModel.js +88 -0
  29. package/dist/models/HousingContractRenewalAttachmentModel.d.ts +12 -0
  30. package/dist/models/HousingContractRenewalAttachmentModel.js +56 -0
  31. package/dist/models/HousingContractRenewalChatModel.d.ts +18 -0
  32. package/dist/models/HousingContractRenewalChatModel.js +60 -0
  33. package/dist/models/HousingContractRenewalRequestModel.d.ts +32 -0
  34. package/dist/models/HousingContractRenewalRequestModel.js +107 -0
  35. package/dist/models/HousingContractRenewalWorkflowModel.d.ts +25 -0
  36. package/dist/models/HousingContractRenewalWorkflowModel.js +88 -0
  37. package/dist/models/PermissionModel.d.ts +18 -0
  38. package/dist/models/PermissionModel.js +68 -0
  39. package/dist/models/PromotionRequestModel.d.ts +1 -0
  40. package/dist/models/PromotionRequestModel.js +5 -0
  41. package/dist/models/ShiftAllowanceRequestModel.d.ts +1 -0
  42. package/dist/models/ShiftAllowanceRequestModel.js +6 -1
  43. package/dist/models/UUIDBaseModel.d.ts +14 -0
  44. package/dist/models/UUIDBaseModel.js +66 -0
  45. package/package.json +1 -1
  46. package/src/data-source.ts +2 -0
  47. package/src/index.ts +16 -1
  48. package/src/models/AnnualIncrementRequestEmployeeModel.ts +65 -0
  49. package/src/models/AnnualIncrementRequestModel.ts +16 -12
  50. package/src/models/CashAllowanceLeaveRequestModel.ts +4 -0
  51. package/src/models/DepartmentsModel.ts +25 -25
  52. package/src/models/HousingContractCancelApprovalModel.ts +61 -0
  53. package/src/models/HousingContractCancelAttachmentModel.ts +34 -0
  54. package/src/models/HousingContractCancelChatModel.ts +39 -0
  55. package/src/models/HousingContractCancelRequestModel.ts +76 -0
  56. package/src/models/HousingContractCancelWorkflowModel.ts +60 -0
  57. package/src/models/HousingContractRenewalApprovalModel.ts +61 -0
  58. package/src/models/HousingContractRenewalAttachmentModel.ts +34 -0
  59. package/src/models/HousingContractRenewalChatModel.ts +39 -0
  60. package/src/models/HousingContractRenewalRequestModel.ts +77 -0
  61. package/src/models/HousingContractRenewalWorkflowModel.ts +60 -0
  62. package/src/models/ITRequestChatModel.ts +62 -62
  63. package/src/models/ItApprovalsModel.ts +84 -84
  64. package/src/models/ItWorkflowModel.ts +55 -55
  65. package/src/models/MissionTravelPassportExpiryNotificationConfigModel.ts +36 -36
  66. package/src/models/PromotionRequestModel.ts +4 -0
  67. package/src/models/ServicesNotificationConfigModel.ts +55 -55
  68. package/src/models/ShiftAllowanceRequestModel.ts +5 -1
  69. package/src/models/TrainingRoomNotificationConfigModel.ts +30 -30
@@ -0,0 +1,14 @@
1
+ export declare abstract class UUIDModel0 {
2
+ jsonIgnore: string[];
3
+ created_by?: string;
4
+ created_at?: Date;
5
+ updated_by?: string;
6
+ updated_at?: Date;
7
+ insertCreated(): void;
8
+ is_deleted?: boolean;
9
+ constructor();
10
+ }
11
+ export declare abstract class UUIDBaseModel extends UUIDModel0 {
12
+ id: string;
13
+ constructor();
14
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UUIDBaseModel = exports.UUIDModel0 = void 0;
16
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
17
+ const typeorm_1 = require("typeorm");
18
+ class UUIDModel0 {
19
+ insertCreated() {
20
+ const currentTime = (0, moment_timezone_1.default)().utc().tz('Asia/Kolkata').toDate();
21
+ this.created_at = currentTime;
22
+ this.updated_at = currentTime;
23
+ }
24
+ constructor() {
25
+ this.jsonIgnore = ['logicalDelete', 'is_deleted', 'jsonIgnore'];
26
+ this.is_deleted = false;
27
+ }
28
+ }
29
+ exports.UUIDModel0 = UUIDModel0;
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
32
+ __metadata("design:type", String)
33
+ ], UUIDModel0.prototype, "created_by", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.CreateDateColumn)({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" }),
36
+ __metadata("design:type", Date)
37
+ ], UUIDModel0.prototype, "created_at", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
40
+ __metadata("design:type", String)
41
+ ], UUIDModel0.prototype, "updated_by", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.UpdateDateColumn)({ type: "timestamptz", default: () => "CURRENT_TIMESTAMP" }),
44
+ __metadata("design:type", Date)
45
+ ], UUIDModel0.prototype, "updated_at", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.BeforeInsert)(),
48
+ __metadata("design:type", Function),
49
+ __metadata("design:paramtypes", []),
50
+ __metadata("design:returntype", void 0)
51
+ ], UUIDModel0.prototype, "insertCreated", null);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ nullable: true, default: false }),
54
+ __metadata("design:type", Boolean)
55
+ ], UUIDModel0.prototype, "is_deleted", void 0);
56
+ class UUIDBaseModel extends UUIDModel0 {
57
+ constructor() {
58
+ super();
59
+ this.id = ''; // This will be set by the database when the entity is saved
60
+ }
61
+ }
62
+ exports.UUIDBaseModel = UUIDBaseModel;
63
+ __decorate([
64
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
65
+ __metadata("design:type", String)
66
+ ], UUIDBaseModel.prototype, "id", void 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.3.96",
3
+ "version": "2.3.99",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -131,6 +131,7 @@ import { RequestForCoverageRequestAttachment } from './models/RequestForCoverage
131
131
  import { CashAllowanceLeaveRequest } from './models/CashAllowanceLeaveRequestModel';
132
132
  import { PromotionRequest } from './models/PromotionRequestModel';
133
133
  import { AnnualIncrementRequest } from './models/AnnualIncrementRequestModel';
134
+ import { AnnualIncrementRequestEmployee } from './models/AnnualIncrementRequestEmployeeModel';
134
135
  import { SkillsEnhancementRequest } from './models/SkillsEnhancementRequestModel';
135
136
  import { CityMaster } from './models/CityMasterModel';
136
137
  import { ResidentialUnitRentalRequest } from './models/ResidentialUnitRentalRequestModel';
@@ -270,6 +271,7 @@ export const AppDataSource = new DataSource({
270
271
  CashAllowanceLeaveRequest,
271
272
  PromotionRequest,
272
273
  AnnualIncrementRequest,
274
+ AnnualIncrementRequestEmployee,
273
275
  SkillsEnhancementRequest,
274
276
  CityMaster,
275
277
  ResidentialUnitRentalRequest,
package/src/index.ts CHANGED
@@ -235,6 +235,7 @@ export { PromotionRequestStatus } from './models/PromotionRequestModel';
235
235
  // Annual Increment (Periodic Allowance) Request Service
236
236
  export * from './models/AnnualIncrementRequestModel';
237
237
  export { AnnualIncrementRequestStatus } from './models/AnnualIncrementRequestModel';
238
+ export * from './models/AnnualIncrementRequestEmployeeModel';
238
239
 
239
240
  export * from './models/SkillsEnhancementRequestModel';
240
241
  export { SkillsEnhancementRequestStatus } from './models/SkillsEnhancementRequestModel';
@@ -264,4 +265,18 @@ export * from './models/ResidentialUnitRentalRequestModel';
264
265
  export * from './models/ResidentialUnitRentalWorkflowModel';
265
266
  export * from './models/ResidentialUnitRentalApprovalModel';
266
267
  export * from './models/ResidentialUnitRentalChatModel';
267
- export * from './models/ResidentialUnitRentalAttachmentModel';
268
+ export * from './models/ResidentialUnitRentalAttachmentModel';
269
+
270
+ // Housing Contract Renewal (CAA042)
271
+ export * from './models/HousingContractRenewalRequestModel';
272
+ export * from './models/HousingContractRenewalWorkflowModel';
273
+ export * from './models/HousingContractRenewalApprovalModel';
274
+ export * from './models/HousingContractRenewalChatModel';
275
+ export * from './models/HousingContractRenewalAttachmentModel';
276
+
277
+ // Housing Contract Cancel
278
+ export * from './models/HousingContractCancelRequestModel';
279
+ export * from './models/HousingContractCancelWorkflowModel';
280
+ export * from './models/HousingContractCancelApprovalModel';
281
+ export * from './models/HousingContractCancelChatModel';
282
+ export * from './models/HousingContractCancelAttachmentModel';
@@ -0,0 +1,65 @@
1
+ import { Column, Entity, JoinColumn, ManyToOne } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+ import { AnnualIncrementRequest } from "./AnnualIncrementRequestModel";
4
+
5
+ @Entity({ name: "annual_increment_request_employees" })
6
+ export class AnnualIncrementRequestEmployee extends BaseModel {
7
+ @Column({ type: "integer", nullable: false })
8
+ request_id: number;
9
+
10
+ @Column({ type: "integer", nullable: true })
11
+ service_id: number | null;
12
+
13
+ @Column({ type: "integer", nullable: true })
14
+ sub_service_id: number | null;
15
+
16
+ @Column({ type: "varchar", length: 255, nullable: false })
17
+ employee_name: string;
18
+
19
+ @Column({ type: "varchar", length: 100, nullable: false })
20
+ employee_id: string;
21
+
22
+ @Column({ type: "integer", nullable: false })
23
+ allowance_year: number;
24
+
25
+ @Column({ type: "date", nullable: false })
26
+ effective_date: Date;
27
+
28
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
29
+ current_basic_salary: number | null;
30
+
31
+ @Column({ type: "decimal", precision: 5, scale: 2, nullable: true })
32
+ increment_percentage: number | null;
33
+
34
+ @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
35
+ new_basic_salary: number | null;
36
+
37
+ @ManyToOne(() => AnnualIncrementRequest, { onDelete: "CASCADE" })
38
+ @JoinColumn({ name: "request_id", referencedColumnName: "id" })
39
+ request: AnnualIncrementRequest;
40
+
41
+ constructor(
42
+ request_id: number,
43
+ employee_name: string,
44
+ employee_id: string,
45
+ allowance_year: number,
46
+ effective_date: Date,
47
+ service_id?: number | null,
48
+ sub_service_id?: number | null,
49
+ current_basic_salary?: number | null,
50
+ increment_percentage?: number | null,
51
+ new_basic_salary?: number | null
52
+ ) {
53
+ super();
54
+ this.request_id = request_id;
55
+ this.service_id = service_id ?? null;
56
+ this.sub_service_id = sub_service_id ?? null;
57
+ this.employee_name = employee_name;
58
+ this.employee_id = employee_id;
59
+ this.allowance_year = allowance_year;
60
+ this.effective_date = effective_date;
61
+ this.current_basic_salary = current_basic_salary ?? null;
62
+ this.increment_percentage = increment_percentage ?? null;
63
+ this.new_basic_salary = new_basic_salary ?? null;
64
+ }
65
+ }
@@ -48,18 +48,21 @@ export class AnnualIncrementRequest extends BaseModel {
48
48
  @Column({ type: "varchar", length: 255, nullable: true })
49
49
  workflow_execution_id: string | null;
50
50
 
51
+ @Column({ type: "varchar", length: 255, nullable: true })
52
+ reference_number: string | null;
53
+
51
54
  // Annual Increment specific fields
52
- @Column({ type: "varchar", length: 255, nullable: false })
53
- employee_name: string;
55
+ @Column({ type: "varchar", length: 255, nullable: true })
56
+ employee_name: string | null;
54
57
 
55
- @Column({ type: "varchar", length: 100, nullable: false })
56
- employee_id: string;
58
+ @Column({ type: "varchar", length: 100, nullable: true })
59
+ employee_id: string | null;
57
60
 
58
- @Column({ type: "integer", nullable: false })
59
- allowance_year: number;
61
+ @Column({ type: "integer", nullable: true })
62
+ allowance_year: number | null;
60
63
 
61
- @Column({ type: "date", nullable: false })
62
- effective_date: Date;
64
+ @Column({ type: "date", nullable: true })
65
+ effective_date: Date | null;
63
66
 
64
67
  @Column({ type: "decimal", precision: 10, scale: 3, nullable: true })
65
68
  current_basic_salary: number | null;
@@ -104,10 +107,11 @@ export class AnnualIncrementRequest extends BaseModel {
104
107
  this.assigned_to_user_id = assigned_to_user_id || null;
105
108
  this.assigned_at = assigned_at || null;
106
109
  this.workflow_execution_id = workflow_execution_id || null;
107
- this.employee_name = employee_name || "";
108
- this.employee_id = employee_id || "";
109
- this.allowance_year = allowance_year || new Date().getFullYear();
110
- this.effective_date = effective_date || new Date();
110
+ this.reference_number = null;
111
+ this.employee_name = employee_name || null;
112
+ this.employee_id = employee_id || null;
113
+ this.allowance_year = allowance_year || null;
114
+ this.effective_date = effective_date || null;
111
115
  this.current_basic_salary = current_basic_salary || null;
112
116
  this.increment_percentage = increment_percentage || null;
113
117
  this.new_basic_salary = new_basic_salary || null;
@@ -48,6 +48,9 @@ export class CashAllowanceLeaveRequest extends BaseModel {
48
48
  @Column({ type: "varchar", length: 255, nullable: true })
49
49
  workflow_execution_id: string | null;
50
50
 
51
+ @Column({ type: "varchar", length: 255, nullable: true })
52
+ reference_number: string | null;
53
+
51
54
  // Cash Allowance for Leave specific fields
52
55
  @Column({ type: "varchar", length: 255, nullable: false })
53
56
  employee_name: string;
@@ -112,6 +115,7 @@ export class CashAllowanceLeaveRequest extends BaseModel {
112
115
  this.assigned_to_user_id = assigned_to_user_id || null;
113
116
  this.assigned_at = assigned_at || null;
114
117
  this.workflow_execution_id = workflow_execution_id || null;
118
+ this.reference_number = null;
115
119
  this.employee_name = employee_name || "";
116
120
  this.employee_id = employee_id || "";
117
121
  this.job_title = job_title || "";
@@ -1,26 +1,26 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from './BaseModel';
3
-
4
- @Entity({ name: 'departments' })
5
- export class Departments extends BaseModel {
6
-
7
- @Column({ type: 'varchar', length: 64, nullable: false})
8
- department_name: string;
9
-
10
- @Column({ type: 'varchar', length: 64, nullable: false})
11
- department_code: string;
12
-
13
- @Column({ nullable: false })
14
- department_description: string;
15
-
16
- constructor(
17
- department_name: string,
18
- department_code: string,
19
- department_description: string,
20
- ) {
21
- super();
22
- this.department_name = department_name
23
- this.department_code = department_code
24
- this.department_description = department_description
25
- }
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'departments' })
5
+ export class Departments extends BaseModel {
6
+
7
+ @Column({ type: 'varchar', length: 64, nullable: false})
8
+ department_name: string;
9
+
10
+ @Column({ type: 'varchar', length: 64, nullable: false})
11
+ department_code: string;
12
+
13
+ @Column({ nullable: false })
14
+ department_description: string;
15
+
16
+ constructor(
17
+ department_name: string,
18
+ department_code: string,
19
+ department_description: string,
20
+ ) {
21
+ super();
22
+ this.department_name = department_name
23
+ this.department_code = department_code
24
+ this.department_description = department_description
25
+ }
26
26
  }
@@ -0,0 +1,61 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HousingContractCancelApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: 'housing_contract_cancel_approvals' })
12
+ export class HousingContractCancelApproval extends BaseModel {
13
+
14
+ @Column({ type: 'int', nullable: false })
15
+ request_id: number;
16
+
17
+ @Column({ type: 'int', nullable: false })
18
+ service_id: number;
19
+
20
+ @Column({ type: 'int', nullable: false })
21
+ sub_service_id: number;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ approver_role_id: number;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ approver_user_id: number;
28
+
29
+ @Column({ type: 'int', nullable: true })
30
+ delegate_user_id: number;
31
+
32
+ @Column({ type: 'int', nullable: true })
33
+ approved_by: number;
34
+
35
+ @Column({ type: 'int', nullable: true })
36
+ department_id: number;
37
+
38
+ @Column({ type: 'int', nullable: true })
39
+ section_id: number;
40
+
41
+ @Column({ type: 'int', nullable: false })
42
+ level: number;
43
+
44
+ @Column({
45
+ type: 'enum',
46
+ enum: HousingContractCancelApprovalStatus,
47
+ default: HousingContractCancelApprovalStatus.PENDING,
48
+ nullable: false
49
+ })
50
+ approval_status: HousingContractCancelApprovalStatus;
51
+
52
+ @Column({ type: 'text', nullable: true })
53
+ comment: string;
54
+
55
+ @Column({ type: 'int', nullable: false })
56
+ created_by: number;
57
+
58
+ constructor() {
59
+ super();
60
+ }
61
+ }
@@ -0,0 +1,34 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ @Entity({ name: 'housing_contract_cancel_attachments' })
5
+ export class HousingContractCancelAttachment extends BaseModel {
6
+
7
+ @Column({ type: 'int', nullable: false })
8
+ request_id: number;
9
+
10
+ @Column({ type: 'int', nullable: false })
11
+ service_id: number;
12
+
13
+ @Column({ type: 'int', nullable: false })
14
+ sub_service_id: number;
15
+
16
+ @Column({ type: 'varchar', length: 255, nullable: false })
17
+ file_name: string;
18
+
19
+ @Column({ type: 'varchar', length: 500, nullable: false })
20
+ file_url: string;
21
+
22
+ @Column({ type: 'varchar', length: 50, nullable: false })
23
+ file_type: string;
24
+
25
+ @Column({ type: 'int', nullable: false })
26
+ file_size: number;
27
+
28
+ @Column({ type: 'int', nullable: false })
29
+ created_by: number;
30
+
31
+ constructor() {
32
+ super();
33
+ }
34
+ }
@@ -0,0 +1,39 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HousingContractCancelMessageType {
5
+ text = 'text',
6
+ image = 'image',
7
+ video = 'video',
8
+ file = 'file',
9
+ link = 'link'
10
+ }
11
+
12
+ @Entity({ name: 'housing_contract_cancel_chat' })
13
+ export class HousingContractCancelChat extends BaseModel {
14
+
15
+ @Column({ type: 'int', nullable: false })
16
+ request_id: number;
17
+
18
+ @Column({ type: 'int', nullable: false })
19
+ service_id: number;
20
+
21
+ @Column({ type: 'int', nullable: false })
22
+ sub_service_id: number;
23
+
24
+ @Column({ type: 'text', nullable: false })
25
+ message: string;
26
+
27
+ @Column({ type: 'varchar', length: 20, nullable: false })
28
+ message_type: string;
29
+
30
+ @Column({ type: 'boolean', nullable: false, default: false })
31
+ is_internal: boolean;
32
+
33
+ @Column({ type: 'int', nullable: false })
34
+ created_by: number;
35
+
36
+ constructor() {
37
+ super();
38
+ }
39
+ }
@@ -0,0 +1,76 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HousingContractCancelRequestStatus {
5
+ Pending = 'Pending',
6
+ Approved = 'Approved',
7
+ Rejected = 'Rejected',
8
+ RFC = 'RFC'
9
+ }
10
+
11
+ @Entity({ name: 'housing_contract_cancel_requests' })
12
+ export class HousingContractCancelRequest extends BaseModel {
13
+
14
+ @Column({ type: 'varchar', length: 20, nullable: false })
15
+ request_id: string;
16
+
17
+ @Column({ type: 'int', nullable: false })
18
+ service_id: number;
19
+
20
+ @Column({ type: 'int', nullable: false })
21
+ sub_service_id: number;
22
+
23
+ /** Current Unit Type: Apartment, Villa */
24
+ @Column({ type: 'varchar', length: 50, nullable: false })
25
+ current_unit_type: string;
26
+
27
+ @Column({ type: 'varchar', length: 500, nullable: true })
28
+ location_of_unit: string;
29
+
30
+ @Column({ type: 'date', nullable: false })
31
+ current_contract_start_date: Date;
32
+
33
+ @Column({ type: 'date', nullable: false })
34
+ current_contract_end_date: Date;
35
+
36
+ @Column({ type: 'date', nullable: false })
37
+ requested_cancellation_date: Date;
38
+
39
+ @Column({ type: 'text', nullable: false })
40
+ reason_for_cancellation: string;
41
+
42
+ /** yes / No */
43
+ @Column({ type: 'varchar', length: 10, nullable: false })
44
+ pending_bills_clearance_status: string;
45
+
46
+ @Column({ type: 'date', nullable: false })
47
+ handover_date: Date;
48
+
49
+ @Column({ type: 'text', nullable: true })
50
+ comment: string;
51
+
52
+ @Column({ type: 'varchar', length: 20, nullable: false, default: 'Pending' })
53
+ status: string;
54
+
55
+ @Column({ type: 'int', nullable: true })
56
+ user_id: number;
57
+
58
+ @Column({ type: 'varchar', length: 255, nullable: true })
59
+ workflow_execution_id: string;
60
+
61
+ @Column({ type: 'int', nullable: false })
62
+ created_by: number;
63
+
64
+ @Column({ type: 'int', nullable: true })
65
+ approved_by: number;
66
+
67
+ @Column({ type: 'date', nullable: true })
68
+ approved_at: Date;
69
+
70
+ @Column({ type: 'text', nullable: true })
71
+ approver_comment: string;
72
+
73
+ constructor() {
74
+ super();
75
+ }
76
+ }
@@ -0,0 +1,60 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HousingContractCancelWorkFlowStatus {
5
+ Pending = 'Pending',
6
+ InProgress = 'In Progress',
7
+ Approved = 'Approved',
8
+ Rejected = 'Rejected',
9
+ RFC = 'RFC'
10
+ }
11
+
12
+ @Entity({ name: 'housing_contract_cancel_workflow' })
13
+ export class HousingContractCancelWorkflow extends BaseModel {
14
+
15
+ @Column({ type: 'int', nullable: false })
16
+ request_id: number;
17
+
18
+ @Column({ type: 'int', nullable: true })
19
+ service_id: number;
20
+
21
+ @Column({ type: 'int', nullable: true })
22
+ sub_service_id: number;
23
+
24
+ @Column({ type: 'int', nullable: true })
25
+ workflow_definition_id: number;
26
+
27
+ @Column({ type: 'int', nullable: true })
28
+ current_level: number;
29
+
30
+ @Column({ type: 'varchar', length: 500, nullable: true })
31
+ content: string;
32
+
33
+ @Column({ type: 'varchar', length: 50, nullable: false })
34
+ status: string;
35
+
36
+ @Column({ type: 'int', nullable: true })
37
+ step_order: number;
38
+
39
+ @Column({ type: 'int', nullable: true })
40
+ user_id: number;
41
+
42
+ @Column({ type: 'int', nullable: true })
43
+ role_id: number;
44
+
45
+ @Column({ type: 'int', nullable: true })
46
+ department_id: number;
47
+
48
+ @Column({ type: 'int', nullable: true })
49
+ section_id: number;
50
+
51
+ @Column({ type: 'text', nullable: true })
52
+ workflow_data: string;
53
+
54
+ @Column({ type: 'int', nullable: false })
55
+ created_by: number;
56
+
57
+ constructor() {
58
+ super();
59
+ }
60
+ }
@@ -0,0 +1,61 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HousingContractRenewalApprovalStatus {
5
+ PENDING = "Pending",
6
+ IN_PROGRESS = "In Progress",
7
+ APPROVED = "Approved",
8
+ REJECTED = "Rejected"
9
+ }
10
+
11
+ @Entity({ name: 'housing_contract_renewal_approvals' })
12
+ export class HousingContractRenewalApproval extends BaseModel {
13
+
14
+ @Column({ type: 'int', nullable: false })
15
+ request_id: number;
16
+
17
+ @Column({ type: 'int', nullable: false })
18
+ service_id: number;
19
+
20
+ @Column({ type: 'int', nullable: false })
21
+ sub_service_id: number;
22
+
23
+ @Column({ type: 'int', nullable: true })
24
+ approver_role_id: number;
25
+
26
+ @Column({ type: 'int', nullable: true })
27
+ approver_user_id: number;
28
+
29
+ @Column({ type: 'int', nullable: true })
30
+ delegate_user_id: number;
31
+
32
+ @Column({ type: 'int', nullable: true })
33
+ approved_by: number;
34
+
35
+ @Column({ type: 'int', nullable: true })
36
+ department_id: number;
37
+
38
+ @Column({ type: 'int', nullable: true })
39
+ section_id: number;
40
+
41
+ @Column({ type: 'int', nullable: false })
42
+ level: number;
43
+
44
+ @Column({
45
+ type: 'enum',
46
+ enum: HousingContractRenewalApprovalStatus,
47
+ default: HousingContractRenewalApprovalStatus.PENDING,
48
+ nullable: false
49
+ })
50
+ approval_status: HousingContractRenewalApprovalStatus;
51
+
52
+ @Column({ type: 'text', nullable: true })
53
+ comment: string;
54
+
55
+ @Column({ type: 'int', nullable: false })
56
+ created_by: number;
57
+
58
+ constructor() {
59
+ super();
60
+ }
61
+ }