@platform-modules/civil-aviation-authority 2.3.79 → 2.3.81

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/.env CHANGED
@@ -1,12 +1,17 @@
1
- # DB_HOST=164.52.222.169
2
- # DB_PORT=5432
3
- # DB_USER=postgres_admin_user
4
- # DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
1
+ # DB_HOST=localhost
2
+ # DB_PORT=5433
3
+ # DB_USER=postgres
4
+ # DB_PASS=123
5
5
  # DB_NAME=CAA
6
6
 
7
+ DB_HOST=164.52.222.169
8
+ DB_PORT=5432
9
+ DB_USER=postgres_admin_user
10
+ DB_PASS=pg_admin_user_pwd_caa_fa_$%^&OIukhjgcvbn
11
+ DB_NAME=CAA
7
12
 
8
- DB_HOST=localhost
9
- DB_PORT=5432
10
- DB_USER=postgres
11
- DB_PASS=stevejobs
12
- DB_NAME=CAA
13
+ # DB_HOST=216.48.187.46
14
+ # DB_PORT=5432
15
+ # DB_USER=adminuser
16
+ # DB_PASS=postgres_caa_fm_qa_34567
17
+ # DB_NAME=CAA_QA
@@ -128,6 +128,7 @@ const CashAllowanceLeaveRequestModel_1 = require("./models/CashAllowanceLeaveReq
128
128
  const PromotionRequestModel_1 = require("./models/PromotionRequestModel");
129
129
  const AnnualIncrementRequestModel_1 = require("./models/AnnualIncrementRequestModel");
130
130
  const SkillsEnhancementRequestModel_1 = require("./models/SkillsEnhancementRequestModel");
131
+ const CityMasterModel_1 = require("./models/CityMasterModel");
131
132
  exports.AppDataSource = new typeorm_1.DataSource({
132
133
  type: 'postgres',
133
134
  host: process.env.DB_HOST || 'localhost',
@@ -259,6 +260,7 @@ exports.AppDataSource = new typeorm_1.DataSource({
259
260
  CashAllowanceLeaveRequestModel_1.CashAllowanceLeaveRequest,
260
261
  PromotionRequestModel_1.PromotionRequest,
261
262
  AnnualIncrementRequestModel_1.AnnualIncrementRequest,
262
- SkillsEnhancementRequestModel_1.SkillsEnhancementRequest
263
+ SkillsEnhancementRequestModel_1.SkillsEnhancementRequest,
264
+ CityMasterModel_1.CityMaster
263
265
  ],
264
266
  });
package/dist/index.d.ts CHANGED
@@ -188,6 +188,7 @@ export { JobTransferRequestStatus } from './models/JobTransferRequestModel';
188
188
  export * from './models/NewResourceRequestModel';
189
189
  export { NewResourceRequestStatus } from './models/NewResourceRequestModel';
190
190
  export * from './models/CountryMasterModel';
191
+ export * from './models/CityMasterModel';
191
192
  export * from './models/LocationModel';
192
193
  export * from './models/FinancialGradeModel';
193
194
  export * from './models/NationalityMasterModel';
package/dist/index.js CHANGED
@@ -279,6 +279,8 @@ var NewResourceRequestModel_1 = require("./models/NewResourceRequestModel");
279
279
  Object.defineProperty(exports, "NewResourceRequestStatus", { enumerable: true, get: function () { return NewResourceRequestModel_1.NewResourceRequestStatus; } });
280
280
  // Country Master
281
281
  __exportStar(require("./models/CountryMasterModel"), exports);
282
+ // City Master
283
+ __exportStar(require("./models/CityMasterModel"), exports);
282
284
  // Location Master
283
285
  __exportStar(require("./models/LocationModel"), exports);
284
286
  // Financial Grade Master
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class CityMaster extends BaseModel {
3
+ country_id: number | null;
4
+ city_name: string;
5
+ city_code: string | null;
6
+ description: string | null;
7
+ constructor(city_name: string);
8
+ }
@@ -0,0 +1,41 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CityMaster = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let CityMaster = class CityMaster extends BaseModel_1.BaseModel {
16
+ constructor(city_name) {
17
+ super();
18
+ this.city_name = city_name;
19
+ }
20
+ };
21
+ exports.CityMaster = CityMaster;
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
24
+ __metadata("design:type", Object)
25
+ ], CityMaster.prototype, "country_id", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
28
+ __metadata("design:type", String)
29
+ ], CityMaster.prototype, "city_name", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
32
+ __metadata("design:type", Object)
33
+ ], CityMaster.prototype, "city_code", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
36
+ __metadata("design:type", Object)
37
+ ], CityMaster.prototype, "description", void 0);
38
+ exports.CityMaster = CityMaster = __decorate([
39
+ (0, typeorm_1.Entity)({ name: 'city_master' }),
40
+ __metadata("design:paramtypes", [String])
41
+ ], CityMaster);
@@ -61,5 +61,6 @@ export declare class DutyMissionRequests extends BaseModel {
61
61
  vehicle_required: VehicleRequired | null;
62
62
  remarks: string | null;
63
63
  decision_number: string | null;
64
- constructor(req_user_department_id: number | null, req_user_section_id: number | null, service_id: number, sub_service_id: number, user_id: number, trip_type: TripType, choose_type: ChooseType, mission_sponsored_by: MissionSponsoredBy, mission_purpose: string, mission_number: string, mission_start_date: Date, mission_end_date: Date, travelling_area_from: string, travelling_area_to: string, from_country: string, to_country: string, travel_place: string, travel_start_date: Date, travel_return_date: Date, status: DutyMissionStatus, request_id?: string | null, mission_id?: string | null, mission_days?: number | null, distance?: string | null, if_sponsored?: string | null, allowance_percentage?: string | null, air_ticket_required?: AirTicketRequired | null, vehicle_required?: VehicleRequired | null, remarks?: string | null, decision_number?: string | null, workflow_execution_id?: string | null);
64
+ decision_date: Date | null;
65
+ constructor(req_user_department_id: number | null, req_user_section_id: number | null, service_id: number, sub_service_id: number, user_id: number, trip_type: TripType, choose_type: ChooseType, mission_sponsored_by: MissionSponsoredBy, mission_purpose: string, mission_number: string, mission_start_date: Date, mission_end_date: Date, travelling_area_from: string, travelling_area_to: string, from_country: string, to_country: string, travel_place: string, travel_start_date: Date, travel_return_date: Date, status: DutyMissionStatus, request_id?: string | null, mission_id?: string | null, mission_days?: number | null, distance?: string | null, if_sponsored?: string | null, allowance_percentage?: string | null, air_ticket_required?: AirTicketRequired | null, vehicle_required?: VehicleRequired | null, remarks?: string | null, decision_number?: string | null, decision_date?: Date | null, workflow_execution_id?: string | null);
65
66
  }
@@ -49,7 +49,7 @@ var DutyMissionStatus;
49
49
  DutyMissionStatus["REJECTED"] = "Rejected";
50
50
  })(DutyMissionStatus || (exports.DutyMissionStatus = DutyMissionStatus = {}));
51
51
  let DutyMissionRequests = class DutyMissionRequests extends BaseModel_1.BaseModel {
52
- constructor(req_user_department_id, req_user_section_id, service_id, sub_service_id, user_id, trip_type, choose_type, mission_sponsored_by, mission_purpose, mission_number, mission_start_date, mission_end_date, travelling_area_from, travelling_area_to, from_country, to_country, travel_place, travel_start_date, travel_return_date, status, request_id, mission_id, mission_days, distance, if_sponsored, allowance_percentage, air_ticket_required, vehicle_required, remarks, decision_number, workflow_execution_id) {
52
+ constructor(req_user_department_id, req_user_section_id, service_id, sub_service_id, user_id, trip_type, choose_type, mission_sponsored_by, mission_purpose, mission_number, mission_start_date, mission_end_date, travelling_area_from, travelling_area_to, from_country, to_country, travel_place, travel_start_date, travel_return_date, status, request_id, mission_id, mission_days, distance, if_sponsored, allowance_percentage, air_ticket_required, vehicle_required, remarks, decision_number, decision_date, workflow_execution_id) {
53
53
  super();
54
54
  this.req_user_department_id = req_user_department_id ?? null;
55
55
  this.req_user_section_id = req_user_section_id ?? null;
@@ -81,6 +81,7 @@ let DutyMissionRequests = class DutyMissionRequests extends BaseModel_1.BaseMode
81
81
  this.vehicle_required = vehicle_required ?? null;
82
82
  this.remarks = remarks ?? null;
83
83
  this.decision_number = decision_number ?? null;
84
+ this.decision_date = decision_date ?? null;
84
85
  this.workflow_execution_id = workflow_execution_id ?? null;
85
86
  }
86
87
  };
@@ -126,7 +127,7 @@ __decorate([
126
127
  (0, typeorm_1.Column)({
127
128
  type: "enum",
128
129
  enum: TripType,
129
- nullable: false,
130
+ nullable: true,
130
131
  }),
131
132
  __metadata("design:type", String)
132
133
  ], DutyMissionRequests.prototype, "trip_type", void 0);
@@ -138,7 +139,7 @@ __decorate([
138
139
  (0, typeorm_1.Column)({
139
140
  type: "enum",
140
141
  enum: ChooseType,
141
- nullable: false,
142
+ nullable: true,
142
143
  }),
143
144
  __metadata("design:type", String)
144
145
  ], DutyMissionRequests.prototype, "choose_type", void 0);
@@ -159,7 +160,7 @@ __decorate([
159
160
  __metadata("design:type", String)
160
161
  ], DutyMissionRequests.prototype, "mission_purpose", void 0);
161
162
  __decorate([
162
- (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
163
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
163
164
  __metadata("design:type", String)
164
165
  ], DutyMissionRequests.prototype, "mission_number", void 0);
165
166
  __decorate([
@@ -175,11 +176,11 @@ __decorate([
175
176
  __metadata("design:type", Object)
176
177
  ], DutyMissionRequests.prototype, "mission_days", void 0);
177
178
  __decorate([
178
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
179
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
179
180
  __metadata("design:type", String)
180
181
  ], DutyMissionRequests.prototype, "travelling_area_from", void 0);
181
182
  __decorate([
182
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
183
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
183
184
  __metadata("design:type", String)
184
185
  ], DutyMissionRequests.prototype, "travelling_area_to", void 0);
185
186
  __decorate([
@@ -187,23 +188,23 @@ __decorate([
187
188
  __metadata("design:type", Object)
188
189
  ], DutyMissionRequests.prototype, "distance", void 0);
189
190
  __decorate([
190
- (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
191
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
191
192
  __metadata("design:type", String)
192
193
  ], DutyMissionRequests.prototype, "from_country", void 0);
193
194
  __decorate([
194
- (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
195
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
195
196
  __metadata("design:type", String)
196
197
  ], DutyMissionRequests.prototype, "to_country", void 0);
197
198
  __decorate([
198
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
199
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
199
200
  __metadata("design:type", String)
200
201
  ], DutyMissionRequests.prototype, "travel_place", void 0);
201
202
  __decorate([
202
- (0, typeorm_1.Column)({ type: "date", nullable: false }),
203
+ (0, typeorm_1.Column)({ type: "date", nullable: true }),
203
204
  __metadata("design:type", Date)
204
205
  ], DutyMissionRequests.prototype, "travel_start_date", void 0);
205
206
  __decorate([
206
- (0, typeorm_1.Column)({ type: "date", nullable: false }),
207
+ (0, typeorm_1.Column)({ type: "date", nullable: true }),
207
208
  __metadata("design:type", Date)
208
209
  ], DutyMissionRequests.prototype, "travel_return_date", void 0);
209
210
  __decorate([
@@ -234,9 +235,13 @@ __decorate([
234
235
  (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
235
236
  __metadata("design:type", Object)
236
237
  ], DutyMissionRequests.prototype, "decision_number", void 0);
238
+ __decorate([
239
+ (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
240
+ __metadata("design:type", Object)
241
+ ], DutyMissionRequests.prototype, "decision_date", void 0);
237
242
  exports.DutyMissionRequests = DutyMissionRequests = __decorate([
238
243
  (0, typeorm_1.Entity)({ name: 'duty_mission_requests' }),
239
244
  __metadata("design:paramtypes", [Object, Object, Number, Number, Number, String, String, String, String, String, Date,
240
245
  Date, String, String, String, String, String, Date,
241
- Date, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
246
+ Date, String, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object])
242
247
  ], DutyMissionRequests);
@@ -1,9 +0,0 @@
1
- import { BaseModel } from './BaseModel';
2
- export declare class Workflows extends BaseModel {
3
- name: string;
4
- service_id: number;
5
- sub_service_id: number;
6
- request_for: string;
7
- levels: number;
8
- constructor(name: string, service_id: number, sub_service_id: number, request_for: string, levels: number);
9
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "2.3.79",
3
+ "version": "2.3.81",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -126,6 +126,7 @@ import { CashAllowanceLeaveRequest } from './models/CashAllowanceLeaveRequestMod
126
126
  import { PromotionRequest } from './models/PromotionRequestModel';
127
127
  import { AnnualIncrementRequest } from './models/AnnualIncrementRequestModel';
128
128
  import { SkillsEnhancementRequest } from './models/SkillsEnhancementRequestModel';
129
+ import { CityMaster } from './models/CityMasterModel';
129
130
 
130
131
  export const AppDataSource = new DataSource({
131
132
  type: 'postgres',
@@ -258,6 +259,7 @@ export const AppDataSource = new DataSource({
258
259
  CashAllowanceLeaveRequest,
259
260
  PromotionRequest,
260
261
  AnnualIncrementRequest,
261
- SkillsEnhancementRequest
262
+ SkillsEnhancementRequest,
263
+ CityMaster
262
264
  ],
263
265
  });
package/src/index.ts CHANGED
@@ -202,6 +202,9 @@ export {NewResourceRequestStatus} from './models/NewResourceRequestModel';
202
202
  // Country Master
203
203
  export * from './models/CountryMasterModel';
204
204
 
205
+ // City Master
206
+ export * from './models/CityMasterModel';
207
+
205
208
  // Location Master
206
209
  export * from './models/LocationModel';
207
210
 
@@ -0,0 +1,22 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'city_master' })
5
+ export class CityMaster extends BaseModel {
6
+ @Column({ type: 'int', nullable: true })
7
+ country_id: number | null;
8
+
9
+ @Column({ type: 'varchar', length: 255, nullable: false })
10
+ city_name: string;
11
+
12
+ @Column({ type: 'varchar', length: 50, nullable: true })
13
+ city_code: string | null;
14
+
15
+ @Column({ type: 'text', nullable: true })
16
+ description: string | null;
17
+
18
+ constructor(city_name: string) {
19
+ super();
20
+ this.city_name = city_name;
21
+ }
22
+ }
@@ -74,7 +74,7 @@ export class DutyMissionRequests extends BaseModel {
74
74
  @Column({
75
75
  type: "enum",
76
76
  enum: TripType,
77
- nullable: false,
77
+ nullable: true,
78
78
  })
79
79
  trip_type: TripType;
80
80
 
@@ -84,7 +84,7 @@ export class DutyMissionRequests extends BaseModel {
84
84
  @Column({
85
85
  type: "enum",
86
86
  enum: ChooseType,
87
- nullable: false,
87
+ nullable: true,
88
88
  })
89
89
  choose_type: ChooseType;
90
90
 
@@ -101,7 +101,7 @@ export class DutyMissionRequests extends BaseModel {
101
101
  @Column({ type: 'text', nullable: false })
102
102
  mission_purpose: string;
103
103
 
104
- @Column({ type: 'varchar', length: 100, nullable: false })
104
+ @Column({ type: 'varchar', length: 100, nullable: true })
105
105
  mission_number: string;
106
106
 
107
107
  @Column({ type: "date", nullable: false })
@@ -113,28 +113,28 @@ export class DutyMissionRequests extends BaseModel {
113
113
  @Column({ type: 'int', nullable: true })
114
114
  mission_days: number | null;
115
115
 
116
- @Column({ type: 'varchar', length: 255, nullable: false })
116
+ @Column({ type: 'varchar', length: 255, nullable: true })
117
117
  travelling_area_from: string;
118
118
 
119
- @Column({ type: 'varchar', length: 255, nullable: false })
119
+ @Column({ type: 'varchar', length: 255, nullable: true })
120
120
  travelling_area_to: string;
121
121
 
122
122
  @Column({ type: 'varchar', length: 100, nullable: true })
123
123
  distance: string | null;
124
124
 
125
- @Column({ type: 'varchar', length: 100, nullable: false })
125
+ @Column({ type: 'varchar', length: 100, nullable: true })
126
126
  from_country: string;
127
127
 
128
- @Column({ type: 'varchar', length: 100, nullable: false })
128
+ @Column({ type: 'varchar', length: 100, nullable: true })
129
129
  to_country: string;
130
130
 
131
- @Column({ type: 'varchar', length: 255, nullable: false })
131
+ @Column({ type: 'varchar', length: 255, nullable: true })
132
132
  travel_place: string;
133
133
 
134
- @Column({ type: "date", nullable: false })
134
+ @Column({ type: "date", nullable: true })
135
135
  travel_start_date: Date;
136
136
 
137
- @Column({ type: "date", nullable: false })
137
+ @Column({ type: "date", nullable: true })
138
138
  travel_return_date: Date;
139
139
 
140
140
  @Column({ type: 'varchar', length: 50, nullable: true })
@@ -160,6 +160,9 @@ export class DutyMissionRequests extends BaseModel {
160
160
  @Column({ type: 'varchar', length: 100, nullable: true })
161
161
  decision_number: string | null;
162
162
 
163
+ @Column({ type: 'timestamp', nullable: true })
164
+ decision_date: Date | null;
165
+
163
166
  constructor(
164
167
  req_user_department_id: number | null,
165
168
  req_user_section_id: number | null,
@@ -191,6 +194,7 @@ export class DutyMissionRequests extends BaseModel {
191
194
  vehicle_required?: VehicleRequired | null,
192
195
  remarks?: string | null,
193
196
  decision_number?: string | null,
197
+ decision_date?: Date | null,
194
198
  workflow_execution_id?: string | null,
195
199
  ) {
196
200
  super();
@@ -224,6 +228,7 @@ export class DutyMissionRequests extends BaseModel {
224
228
  this.vehicle_required = vehicle_required ?? null;
225
229
  this.remarks = remarks ?? null;
226
230
  this.decision_number = decision_number ?? null;
231
+ this.decision_date = decision_date ?? null;
227
232
  this.workflow_execution_id = workflow_execution_id ?? null;
228
233
  }
229
234
  }
@@ -1,193 +1,193 @@
1
- import { Column, Entity } from "typeorm";
2
- import { BaseModel } from "./BaseModel";
3
-
4
- export enum HrServiceRequestStatus {
5
- PENDING = "Pending",
6
- ASSIGNED = "Assigned",
7
- IN_PROGRESS = "In Progress",
8
- COMPLETED = "Completed",
9
- APPROVED = "Approved",
10
- REJECTED = "Rejected"
11
- }
12
-
13
- @Entity({ name: "hr_service_requests" })
14
- export class HrServiceRequest extends BaseModel {
15
- @Column({ type: "integer", nullable: true })
16
- req_user_department_id: number | null;
17
-
18
- @Column({ type: "integer", nullable: true })
19
- req_user_section_id: number | null;
20
-
21
- @Column({ type: "integer", nullable: true })
22
- req_user_position_id: number | null;
23
-
24
- @Column({ type: "integer", nullable: true })
25
- service_id: number | null;
26
-
27
- @Column({ type: "integer", nullable: true })
28
- sub_service_id: number | null;
29
-
30
- @Column({ type: "integer", nullable: false })
31
- user_id: number;
32
-
33
- @Column({ type: "text", nullable: true })
34
- description: string | null;
35
-
36
- @Column({ type: "enum", enum: HrServiceRequestStatus, default: HrServiceRequestStatus.PENDING, nullable: false })
37
- status: HrServiceRequestStatus;
38
-
39
- @Column({ type: "integer", nullable: true })
40
- reviewer_user_id: number | null;
41
-
42
- @Column({ type: "integer", nullable: true })
43
- assigned_to_user_id: number | null;
44
-
45
- @Column({ type: "timestamp", nullable: true })
46
- assigned_at: Date | null;
47
-
48
- @Column({ type: "varchar", length: 255, nullable: true })
49
- workflow_execution_id: string | null;
50
-
51
- // Assignment Decision specific fields
52
- @Column({ type: "varchar", length: 255, nullable: false })
53
- assigned_employee_name: string;
54
-
55
- @Column({ type: "varchar", length: 50, nullable: true })
56
- civil_id_card_number: string | null;
57
-
58
- @Column({ type: "varchar", length: 100, nullable: false })
59
- employee_id: string;
60
-
61
- @Column({ type: "varchar", length: 255, nullable: false })
62
- current_job_position: string;
63
-
64
- @Column({ type: "varchar", length: 255, nullable: false })
65
- assigned_job_position: string;
66
-
67
- @Column({ type: "date", nullable: false })
68
- start_date: Date;
69
-
70
- @Column({ type: "date", nullable: false })
71
- end_date: Date;
72
-
73
- @Column({ type: "decimal", precision: 5, scale: 2, nullable: true })
74
- assignment_allowance: number | null; // 0-100 percentage
75
-
76
- @Column({ type: "varchar", length: 20, nullable: false })
77
- phone_number: string;
78
-
79
- @Column({ type: "text", nullable: false })
80
- reason_for_request: string;
81
-
82
- // Replacement tracking fields - Store REPLACEMENT details (ORIGINAL details above remain unchanged)
83
- @Column({ type: "boolean", default: false, nullable: false })
84
- is_replaced: boolean;
85
-
86
- @Column({ type: "varchar", length: 255, nullable: true })
87
- replacement_employee_name: string | null;
88
-
89
- @Column({ type: "varchar", length: 100, nullable: true })
90
- replacement_employee_id: string | null;
91
-
92
- @Column({ type: "varchar", length: 50, nullable: true })
93
- replacement_civil_id_card_number: string | null;
94
-
95
- @Column({ type: "varchar", length: 255, nullable: true })
96
- replacement_current_job_position: string | null;
97
-
98
- @Column({ type: "varchar", length: 255, nullable: true })
99
- replacement_assigned_job_position: string | null;
100
-
101
- @Column({ type: "date", nullable: true })
102
- replacement_start_date: Date | null;
103
-
104
- @Column({ type: "date", nullable: true })
105
- replacement_end_date: Date | null;
106
-
107
- @Column({ type: "decimal", precision: 5, scale: 2, nullable: true })
108
- replacement_assignment_allowance: number | null;
109
-
110
- @Column({ type: "text", nullable: true })
111
- replacement_reason: string | null;
112
-
113
- @Column({ type: "integer", nullable: true })
114
- replaced_by_user_id: number | null;
115
-
116
- @Column({ type: "timestamp", nullable: true })
117
- replaced_at: Date | null;
118
-
119
- constructor(
120
- user_id: number,
121
- status: HrServiceRequestStatus = HrServiceRequestStatus.PENDING,
122
- service_id?: number | null,
123
- sub_service_id?: number | null,
124
- req_user_department_id?: number | null,
125
- req_user_section_id?: number | null,
126
- req_user_position_id?: number | null,
127
- description?: string | null,
128
- reviewer_user_id?: number | null,
129
- assigned_to_user_id?: number | null,
130
- assigned_at?: Date | null,
131
- workflow_execution_id?: string | null,
132
- assigned_employee_name?: string,
133
- civil_id_card_number?: string | null,
134
- employee_id?: string,
135
- current_job_position?: string,
136
- assigned_job_position?: string,
137
- start_date?: Date,
138
- end_date?: Date,
139
- assignment_allowance?: number | null,
140
- phone_number?: string,
141
- reason_for_request?: string,
142
- is_replaced?: boolean,
143
- replacement_employee_name?: string | null,
144
- replacement_employee_id?: string | null,
145
- replacement_civil_id_card_number?: string | null,
146
- replacement_current_job_position?: string | null,
147
- replacement_assigned_job_position?: string | null,
148
- replacement_start_date?: Date | null,
149
- replacement_end_date?: Date | null,
150
- replacement_assignment_allowance?: number | null,
151
- replacement_reason?: string | null,
152
- replaced_by_user_id?: number | null,
153
- replaced_at?: Date | null
154
- ) {
155
- super();
156
- this.user_id = user_id;
157
- this.status = status;
158
- this.service_id = service_id || null;
159
- this.sub_service_id = sub_service_id || null;
160
- this.req_user_department_id = req_user_department_id || null;
161
- this.req_user_section_id = req_user_section_id || null;
162
- this.req_user_position_id = req_user_position_id || null;
163
- this.description = description || null;
164
- this.reviewer_user_id = reviewer_user_id || null;
165
- this.assigned_to_user_id = assigned_to_user_id || null;
166
- this.assigned_at = assigned_at || null;
167
- this.workflow_execution_id = workflow_execution_id || null;
168
- this.assigned_employee_name = assigned_employee_name || "";
169
- this.civil_id_card_number = civil_id_card_number || null;
170
- this.employee_id = employee_id || "";
171
- this.current_job_position = current_job_position || "";
172
- this.assigned_job_position = assigned_job_position || "";
173
- this.start_date = start_date || new Date();
174
- this.end_date = end_date || new Date();
175
- this.assignment_allowance = assignment_allowance || null;
176
- this.phone_number = phone_number || "";
177
- this.reason_for_request = reason_for_request || "";
178
- // Replacement fields initialization
179
- this.is_replaced = is_replaced || false;
180
- this.replacement_employee_name = replacement_employee_name || null;
181
- this.replacement_employee_id = replacement_employee_id || null;
182
- this.replacement_civil_id_card_number = replacement_civil_id_card_number || null;
183
- this.replacement_current_job_position = replacement_current_job_position || null;
184
- this.replacement_assigned_job_position = replacement_assigned_job_position || null;
185
- this.replacement_start_date = replacement_start_date || null;
186
- this.replacement_end_date = replacement_end_date || null;
187
- this.replacement_assignment_allowance = replacement_assignment_allowance || null;
188
- this.replacement_reason = replacement_reason || null;
189
- this.replaced_by_user_id = replaced_by_user_id || null;
190
- this.replaced_at = replaced_at || null;
191
- }
192
- }
193
-
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from "./BaseModel";
3
+
4
+ export enum HrServiceRequestStatus {
5
+ PENDING = "Pending",
6
+ ASSIGNED = "Assigned",
7
+ IN_PROGRESS = "In Progress",
8
+ COMPLETED = "Completed",
9
+ APPROVED = "Approved",
10
+ REJECTED = "Rejected"
11
+ }
12
+
13
+ @Entity({ name: "hr_service_requests" })
14
+ export class HrServiceRequest extends BaseModel {
15
+ @Column({ type: "integer", nullable: true })
16
+ req_user_department_id: number | null;
17
+
18
+ @Column({ type: "integer", nullable: true })
19
+ req_user_section_id: number | null;
20
+
21
+ @Column({ type: "integer", nullable: true })
22
+ req_user_position_id: number | null;
23
+
24
+ @Column({ type: "integer", nullable: true })
25
+ service_id: number | null;
26
+
27
+ @Column({ type: "integer", nullable: true })
28
+ sub_service_id: number | null;
29
+
30
+ @Column({ type: "integer", nullable: false })
31
+ user_id: number;
32
+
33
+ @Column({ type: "text", nullable: true })
34
+ description: string | null;
35
+
36
+ @Column({ type: "enum", enum: HrServiceRequestStatus, default: HrServiceRequestStatus.PENDING, nullable: false })
37
+ status: HrServiceRequestStatus;
38
+
39
+ @Column({ type: "integer", nullable: true })
40
+ reviewer_user_id: number | null;
41
+
42
+ @Column({ type: "integer", nullable: true })
43
+ assigned_to_user_id: number | null;
44
+
45
+ @Column({ type: "timestamp", nullable: true })
46
+ assigned_at: Date | null;
47
+
48
+ @Column({ type: "varchar", length: 255, nullable: true })
49
+ workflow_execution_id: string | null;
50
+
51
+ // Assignment Decision specific fields
52
+ @Column({ type: "varchar", length: 255, nullable: false })
53
+ assigned_employee_name: string;
54
+
55
+ @Column({ type: "varchar", length: 50, nullable: true })
56
+ civil_id_card_number: string | null;
57
+
58
+ @Column({ type: "varchar", length: 100, nullable: false })
59
+ employee_id: string;
60
+
61
+ @Column({ type: "varchar", length: 255, nullable: false })
62
+ current_job_position: string;
63
+
64
+ @Column({ type: "varchar", length: 255, nullable: false })
65
+ assigned_job_position: string;
66
+
67
+ @Column({ type: "date", nullable: false })
68
+ start_date: Date;
69
+
70
+ @Column({ type: "date", nullable: false })
71
+ end_date: Date;
72
+
73
+ @Column({ type: "decimal", precision: 5, scale: 2, nullable: true })
74
+ assignment_allowance: number | null; // 0-100 percentage
75
+
76
+ @Column({ type: "varchar", length: 20, nullable: false })
77
+ phone_number: string;
78
+
79
+ @Column({ type: "text", nullable: false })
80
+ reason_for_request: string;
81
+
82
+ // Replacement tracking fields - Store REPLACEMENT details (ORIGINAL details above remain unchanged)
83
+ @Column({ type: "boolean", default: false, nullable: false })
84
+ is_replaced: boolean;
85
+
86
+ @Column({ type: "varchar", length: 255, nullable: true })
87
+ replacement_employee_name: string | null;
88
+
89
+ @Column({ type: "varchar", length: 100, nullable: true })
90
+ replacement_employee_id: string | null;
91
+
92
+ @Column({ type: "varchar", length: 50, nullable: true })
93
+ replacement_civil_id_card_number: string | null;
94
+
95
+ @Column({ type: "varchar", length: 255, nullable: true })
96
+ replacement_current_job_position: string | null;
97
+
98
+ @Column({ type: "varchar", length: 255, nullable: true })
99
+ replacement_assigned_job_position: string | null;
100
+
101
+ @Column({ type: "date", nullable: true })
102
+ replacement_start_date: Date | null;
103
+
104
+ @Column({ type: "date", nullable: true })
105
+ replacement_end_date: Date | null;
106
+
107
+ @Column({ type: "decimal", precision: 5, scale: 2, nullable: true })
108
+ replacement_assignment_allowance: number | null;
109
+
110
+ @Column({ type: "text", nullable: true })
111
+ replacement_reason: string | null;
112
+
113
+ @Column({ type: "integer", nullable: true })
114
+ replaced_by_user_id: number | null;
115
+
116
+ @Column({ type: "timestamp", nullable: true })
117
+ replaced_at: Date | null;
118
+
119
+ constructor(
120
+ user_id: number,
121
+ status: HrServiceRequestStatus = HrServiceRequestStatus.PENDING,
122
+ service_id?: number | null,
123
+ sub_service_id?: number | null,
124
+ req_user_department_id?: number | null,
125
+ req_user_section_id?: number | null,
126
+ req_user_position_id?: number | null,
127
+ description?: string | null,
128
+ reviewer_user_id?: number | null,
129
+ assigned_to_user_id?: number | null,
130
+ assigned_at?: Date | null,
131
+ workflow_execution_id?: string | null,
132
+ assigned_employee_name?: string,
133
+ civil_id_card_number?: string | null,
134
+ employee_id?: string,
135
+ current_job_position?: string,
136
+ assigned_job_position?: string,
137
+ start_date?: Date,
138
+ end_date?: Date,
139
+ assignment_allowance?: number | null,
140
+ phone_number?: string,
141
+ reason_for_request?: string,
142
+ is_replaced?: boolean,
143
+ replacement_employee_name?: string | null,
144
+ replacement_employee_id?: string | null,
145
+ replacement_civil_id_card_number?: string | null,
146
+ replacement_current_job_position?: string | null,
147
+ replacement_assigned_job_position?: string | null,
148
+ replacement_start_date?: Date | null,
149
+ replacement_end_date?: Date | null,
150
+ replacement_assignment_allowance?: number | null,
151
+ replacement_reason?: string | null,
152
+ replaced_by_user_id?: number | null,
153
+ replaced_at?: Date | null
154
+ ) {
155
+ super();
156
+ this.user_id = user_id;
157
+ this.status = status;
158
+ this.service_id = service_id || null;
159
+ this.sub_service_id = sub_service_id || null;
160
+ this.req_user_department_id = req_user_department_id || null;
161
+ this.req_user_section_id = req_user_section_id || null;
162
+ this.req_user_position_id = req_user_position_id || null;
163
+ this.description = description || null;
164
+ this.reviewer_user_id = reviewer_user_id || null;
165
+ this.assigned_to_user_id = assigned_to_user_id || null;
166
+ this.assigned_at = assigned_at || null;
167
+ this.workflow_execution_id = workflow_execution_id || null;
168
+ this.assigned_employee_name = assigned_employee_name || "";
169
+ this.civil_id_card_number = civil_id_card_number || null;
170
+ this.employee_id = employee_id || "";
171
+ this.current_job_position = current_job_position || "";
172
+ this.assigned_job_position = assigned_job_position || "";
173
+ this.start_date = start_date || new Date();
174
+ this.end_date = end_date || new Date();
175
+ this.assignment_allowance = assignment_allowance || null;
176
+ this.phone_number = phone_number || "";
177
+ this.reason_for_request = reason_for_request || "";
178
+ // Replacement fields initialization
179
+ this.is_replaced = is_replaced || false;
180
+ this.replacement_employee_name = replacement_employee_name || null;
181
+ this.replacement_employee_id = replacement_employee_id || null;
182
+ this.replacement_civil_id_card_number = replacement_civil_id_card_number || null;
183
+ this.replacement_current_job_position = replacement_current_job_position || null;
184
+ this.replacement_assigned_job_position = replacement_assigned_job_position || null;
185
+ this.replacement_start_date = replacement_start_date || null;
186
+ this.replacement_end_date = replacement_end_date || null;
187
+ this.replacement_assignment_allowance = replacement_assignment_allowance || null;
188
+ this.replacement_reason = replacement_reason || null;
189
+ this.replaced_by_user_id = replaced_by_user_id || null;
190
+ this.replaced_at = replaced_at || null;
191
+ }
192
+ }
193
+