@platform-modules/civil-aviation-authority 1.0.35 → 1.0.37

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.
@@ -17,6 +17,13 @@ const ITApprovalSettings_1 = require("./models/ITApprovalSettings");
17
17
  const Workflows_1 = require("./models/Workflows");
18
18
  const ItApprovalsModel_1 = require("./models/ItApprovalsModel");
19
19
  const ItWorkflowModel_1 = require("./models/ItWorkflowModel");
20
+ const WorkflowDefinitions_1 = require("./models/WorkflowDefinitions");
21
+ const WorkflowTask_1 = require("./models/WorkflowTask");
22
+ const DepartmentsModel_1 = require("./models/DepartmentsModel");
23
+ const SectionModel_1 = require("./models/SectionModel");
24
+ const WorkflowHierarchy_1 = require("./models/WorkflowHierarchy");
25
+ const WorkflowTaskNames_1 = require("./models/WorkflowTaskNames");
26
+ const DirectorateModel_1 = require("./models/DirectorateModel");
20
27
  exports.AppDataSource = new typeorm_1.DataSource({
21
28
  type: 'postgres',
22
29
  host: process.env.DB_HOST || 'localhost',
@@ -26,5 +33,5 @@ exports.AppDataSource = new typeorm_1.DataSource({
26
33
  database: process.env.DB_NAME || 'common_models',
27
34
  synchronize: true, // auto-create tables (disable in prod)
28
35
  logging: false,
29
- entities: [user_1.User, user_sessions_1.userSessions, role_1.Role, ITHelpDeskModel_1.ITHelpDeskRequests, ITServicesTypesSalalahModel_1.ITServicesTypesSalalah, ITServicesTypesMuscatModel_1.ITServicesTypesMuscat, CAAServices_1.CAAServices, CAASubServices_1.CAASubServices, ITApprovalSettings_1.ITApprovalSettings, Workflows_1.Workflows, ItApprovalsModel_1.ItApprovalDetails, ItWorkflowModel_1.ItWorkFlow],
36
+ entities: [user_1.User, user_sessions_1.userSessions, role_1.Role, ITHelpDeskModel_1.ITHelpDeskRequests, ITServicesTypesSalalahModel_1.ITServicesTypesSalalah, ITServicesTypesMuscatModel_1.ITServicesTypesMuscat, CAAServices_1.CAAServices, CAASubServices_1.CAASubServices, ITApprovalSettings_1.ITApprovalSettings, Workflows_1.Workflows, ItApprovalsModel_1.ItApprovalDetails, ItWorkflowModel_1.ItWorkFlow, WorkflowDefinitions_1.WorkflowDefinitions, WorkflowTask_1.WorkflowTask, DepartmentsModel_1.Departments, SectionModel_1.UserSections, WorkflowHierarchy_1.WorkflowHierarchy, WorkflowTaskNames_1.WorkflowTaskNames, DirectorateModel_1.Directorate],
30
37
  });
package/dist/index.d.ts CHANGED
@@ -10,6 +10,10 @@ export * from './models/ITApprovalSettings';
10
10
  export * from './models/Workflows';
11
11
  export * from './models/ItApprovalsModel';
12
12
  export * from './models/ItWorkflowModel';
13
+ export * from './models/WorkflowDefinitions';
14
+ export * from './models/WorkflowTask';
13
15
  export * from './models/DepartmentsModel';
14
- export * from './models/DirectorateModel';
15
16
  export * from './models/SectionModel';
17
+ export * from './models/WorkflowHierarchy';
18
+ export * from './models/WorkflowTaskNames';
19
+ export * from './models/DirectorateModel';
package/dist/index.js CHANGED
@@ -26,6 +26,10 @@ __exportStar(require("./models/ITApprovalSettings"), exports);
26
26
  __exportStar(require("./models/Workflows"), exports);
27
27
  __exportStar(require("./models/ItApprovalsModel"), exports);
28
28
  __exportStar(require("./models/ItWorkflowModel"), exports);
29
+ __exportStar(require("./models/WorkflowDefinitions"), exports);
30
+ __exportStar(require("./models/WorkflowTask"), exports);
29
31
  __exportStar(require("./models/DepartmentsModel"), exports);
30
- __exportStar(require("./models/DirectorateModel"), exports);
31
32
  __exportStar(require("./models/SectionModel"), exports);
33
+ __exportStar(require("./models/WorkflowHierarchy"), exports);
34
+ __exportStar(require("./models/WorkflowTaskNames"), exports);
35
+ __exportStar(require("./models/DirectorateModel"), exports);
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class WorkflowDefinitions extends BaseModel {
3
+ name: string;
4
+ description: string;
5
+ version: number;
6
+ is_active: boolean;
7
+ service_type: string;
8
+ status: 'draft' | 'published';
9
+ constructor(name: string, description?: string, version?: number, is_active?: boolean, service_type?: string, status?: 'draft' | 'published');
10
+ }
@@ -0,0 +1,59 @@
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.WorkflowDefinitions = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let WorkflowDefinitions = class WorkflowDefinitions extends BaseModel_1.BaseModel {
16
+ constructor(name, description, version, is_active, service_type, status) {
17
+ super();
18
+ this.name = name;
19
+ this.description = description || '';
20
+ this.version = version || 1;
21
+ this.is_active = is_active !== undefined ? is_active : true;
22
+ this.service_type = service_type || '';
23
+ this.status = status || 'draft';
24
+ }
25
+ };
26
+ exports.WorkflowDefinitions = WorkflowDefinitions;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
29
+ __metadata("design:type", String)
30
+ ], WorkflowDefinitions.prototype, "name", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
33
+ __metadata("design:type", String)
34
+ ], WorkflowDefinitions.prototype, "description", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'integer', default: 1 }),
37
+ __metadata("design:type", Number)
38
+ ], WorkflowDefinitions.prototype, "version", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
41
+ __metadata("design:type", Boolean)
42
+ ], WorkflowDefinitions.prototype, "is_active", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
45
+ __metadata("design:type", String)
46
+ ], WorkflowDefinitions.prototype, "service_type", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({
49
+ type: 'varchar',
50
+ length: 20,
51
+ default: 'draft',
52
+ enum: ['draft', 'published']
53
+ }),
54
+ __metadata("design:type", String)
55
+ ], WorkflowDefinitions.prototype, "status", void 0);
56
+ exports.WorkflowDefinitions = WorkflowDefinitions = __decorate([
57
+ (0, typeorm_1.Entity)({ name: 'workflow_definitions' }),
58
+ __metadata("design:paramtypes", [String, String, Number, Boolean, String, String])
59
+ ], WorkflowDefinitions);
@@ -0,0 +1,11 @@
1
+ import { BaseModel } from './BaseModel';
2
+ import { WorkflowDefinitions } from './WorkflowDefinitions';
3
+ export declare class WorkflowHierarchy extends BaseModel {
4
+ workflow_definition_id: number;
5
+ department_id: number;
6
+ approval_level_id: number;
7
+ step_order: number;
8
+ is_required: boolean;
9
+ workflow_definition: WorkflowDefinitions;
10
+ constructor(workflow_definition_id: number, department_id: number, approval_level_id: number, step_order: number, is_required?: boolean);
11
+ }
@@ -0,0 +1,56 @@
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.WorkflowHierarchy = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ const WorkflowDefinitions_1 = require("./WorkflowDefinitions");
16
+ let WorkflowHierarchy = class WorkflowHierarchy extends BaseModel_1.BaseModel {
17
+ constructor(workflow_definition_id, department_id, approval_level_id, step_order, is_required) {
18
+ super();
19
+ this.workflow_definition_id = workflow_definition_id;
20
+ this.department_id = department_id;
21
+ this.approval_level_id = approval_level_id;
22
+ this.step_order = step_order;
23
+ this.is_required = is_required !== undefined ? is_required : true;
24
+ }
25
+ };
26
+ exports.WorkflowHierarchy = WorkflowHierarchy;
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
29
+ __metadata("design:type", Number)
30
+ ], WorkflowHierarchy.prototype, "workflow_definition_id", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
33
+ __metadata("design:type", Number)
34
+ ], WorkflowHierarchy.prototype, "department_id", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
37
+ __metadata("design:type", Number)
38
+ ], WorkflowHierarchy.prototype, "approval_level_id", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
41
+ __metadata("design:type", Number)
42
+ ], WorkflowHierarchy.prototype, "step_order", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
45
+ __metadata("design:type", Boolean)
46
+ ], WorkflowHierarchy.prototype, "is_required", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.ManyToOne)(() => WorkflowDefinitions_1.WorkflowDefinitions, { onDelete: 'CASCADE' }),
49
+ (0, typeorm_1.JoinColumn)({ name: 'workflow_definition_id' }),
50
+ __metadata("design:type", WorkflowDefinitions_1.WorkflowDefinitions)
51
+ ], WorkflowHierarchy.prototype, "workflow_definition", void 0);
52
+ exports.WorkflowHierarchy = WorkflowHierarchy = __decorate([
53
+ (0, typeorm_1.Entity)({ name: 'workflow_hierarchy' }),
54
+ (0, typeorm_1.Unique)(['workflow_definition_id', 'step_order']),
55
+ __metadata("design:paramtypes", [Number, Number, Number, Number, Boolean])
56
+ ], WorkflowHierarchy);
@@ -0,0 +1,7 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class WorkflowTask extends BaseModel {
3
+ task_id: number;
4
+ name: string;
5
+ task_type: string;
6
+ constructor(name: string, task_id?: number, task_type?: string);
7
+ }
@@ -0,0 +1,39 @@
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.WorkflowTask = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let WorkflowTask = class WorkflowTask extends BaseModel_1.BaseModel {
16
+ constructor(name, task_id, task_type) {
17
+ super();
18
+ this.name = name;
19
+ this.task_id = task_id || 0;
20
+ this.task_type = task_type || '';
21
+ }
22
+ };
23
+ exports.WorkflowTask = WorkflowTask;
24
+ __decorate([
25
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
26
+ __metadata("design:type", Number)
27
+ ], WorkflowTask.prototype, "task_id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
30
+ __metadata("design:type", String)
31
+ ], WorkflowTask.prototype, "name", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
34
+ __metadata("design:type", String)
35
+ ], WorkflowTask.prototype, "task_type", void 0);
36
+ exports.WorkflowTask = WorkflowTask = __decorate([
37
+ (0, typeorm_1.Entity)({ name: 'workflow_tasks' }),
38
+ __metadata("design:paramtypes", [String, Number, String])
39
+ ], WorkflowTask);
@@ -0,0 +1,8 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class WorkflowTaskNames extends BaseModel {
3
+ name: string;
4
+ task_id: number;
5
+ description: string;
6
+ task_type: string;
7
+ constructor(name: string, task_id: number, description: string, task_type: string);
8
+ }
@@ -0,0 +1,44 @@
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.WorkflowTaskNames = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ let WorkflowTaskNames = class WorkflowTaskNames extends BaseModel_1.BaseModel {
16
+ constructor(name, task_id, description, task_type) {
17
+ super();
18
+ this.name = name;
19
+ this.task_id = task_id;
20
+ this.description = description;
21
+ this.task_type = task_type;
22
+ }
23
+ };
24
+ exports.WorkflowTaskNames = WorkflowTaskNames;
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
27
+ __metadata("design:type", String)
28
+ ], WorkflowTaskNames.prototype, "name", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
31
+ __metadata("design:type", Number)
32
+ ], WorkflowTaskNames.prototype, "task_id", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
35
+ __metadata("design:type", String)
36
+ ], WorkflowTaskNames.prototype, "description", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'varchar', length: 200, nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], WorkflowTaskNames.prototype, "task_type", void 0);
41
+ exports.WorkflowTaskNames = WorkflowTaskNames = __decorate([
42
+ (0, typeorm_1.Entity)({ name: 'workflow_task_names' }),
43
+ __metadata("design:paramtypes", [String, Number, String, String])
44
+ ], WorkflowTaskNames);
@@ -20,15 +20,15 @@ export declare class User extends BaseModel {
20
20
  manpower_id?: number;
21
21
  mobile?: string;
22
22
  office_number?: string;
23
- department?: number;
23
+ department?: string;
24
24
  category?: string;
25
25
  directorate?: string;
26
- section?: number;
27
- position?: number;
26
+ section?: string;
27
+ position?: string;
28
28
  arabic_position?: string;
29
29
  grade?: number;
30
30
  location?: string;
31
31
  supervisor_emp_id?: number;
32
32
  supervisor_emp_name?: string;
33
- constructor(employee_id?: number, civil_employee_id?: number, employee_name?: string, employee_arabic_name?: string, person_type?: string, date_of_birth?: string, region_of_birth?: string, country_of_birth?: string, date_of_joining?: string, last_promotion_date?: string, gender?: string, qualification?: string, marital_status?: string, nationality?: string, email?: string, blood_type?: string, national_id?: number, manpower_id?: number, mobile?: string, office_number?: string, department?: number, category?: string, directorate?: string, section?: number, position?: number, arabic_position?: string, grade?: number, location?: string, supervisor_emp_id?: number, supervisor_emp_name?: string);
33
+ constructor(employee_id?: number, civil_employee_id?: number, employee_name?: string, employee_arabic_name?: string, person_type?: string, date_of_birth?: string, region_of_birth?: string, country_of_birth?: string, date_of_joining?: string, last_promotion_date?: string, gender?: string, qualification?: string, marital_status?: string, nationality?: string, email?: string, blood_type?: string, national_id?: number, manpower_id?: number, mobile?: string, office_number?: string, department?: string, category?: string, directorate?: string, section?: string, position?: string, arabic_position?: string, grade?: number, location?: string, supervisor_emp_id?: number, supervisor_emp_name?: string);
34
34
  }
@@ -130,7 +130,7 @@ __decorate([
130
130
  ], User.prototype, "office_number", void 0);
131
131
  __decorate([
132
132
  (0, typeorm_1.Column)({ nullable: true }),
133
- __metadata("design:type", Number)
133
+ __metadata("design:type", String)
134
134
  ], User.prototype, "department", void 0);
135
135
  __decorate([
136
136
  (0, typeorm_1.Column)({ nullable: true }),
@@ -142,11 +142,11 @@ __decorate([
142
142
  ], User.prototype, "directorate", void 0);
143
143
  __decorate([
144
144
  (0, typeorm_1.Column)({ nullable: true }),
145
- __metadata("design:type", Number)
145
+ __metadata("design:type", String)
146
146
  ], User.prototype, "section", void 0);
147
147
  __decorate([
148
148
  (0, typeorm_1.Column)({ nullable: true }),
149
- __metadata("design:type", Number)
149
+ __metadata("design:type", String)
150
150
  ], User.prototype, "position", void 0);
151
151
  __decorate([
152
152
  (0, typeorm_1.Column)({ nullable: true }),
@@ -170,5 +170,5 @@ __decorate([
170
170
  ], User.prototype, "supervisor_emp_name", void 0);
171
171
  exports.User = User = __decorate([
172
172
  (0, typeorm_1.Entity)({ name: 'users' }),
173
- __metadata("design:paramtypes", [Number, Number, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Number, Number, String, String, Number, String, String, Number, Number, String, Number, String, Number, String])
173
+ __metadata("design:paramtypes", [Number, Number, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Number, Number, String, String, String, String, String, String, String, String, Number, String, Number, String])
174
174
  ], User);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/civil-aviation-authority",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -14,9 +14,13 @@ import { ITApprovalSettings } from './models/ITApprovalSettings';
14
14
  import { Workflows } from './models/Workflows';
15
15
  import { ItApprovalDetails } from './models/ItApprovalsModel';
16
16
  import { ItWorkFlow } from './models/ItWorkflowModel';
17
+ import { WorkflowDefinitions } from './models/WorkflowDefinitions';
18
+ import { WorkflowTask } from './models/WorkflowTask';
17
19
  import { Departments } from './models/DepartmentsModel';
18
- import { Directorate } from './models/DirectorateModel';
19
20
  import { UserSections } from './models/SectionModel';
21
+ import { WorkflowHierarchy } from './models/WorkflowHierarchy';
22
+ import { WorkflowTaskNames } from './models/WorkflowTaskNames';
23
+ import { Directorate } from './models/DirectorateModel';
20
24
  export const AppDataSource = new DataSource({
21
25
  type: 'postgres',
22
26
  host: process.env.DB_HOST || 'localhost',
@@ -26,5 +30,5 @@ export const AppDataSource = new DataSource({
26
30
  database: process.env.DB_NAME || 'common_models',
27
31
  synchronize: true, // auto-create tables (disable in prod)
28
32
  logging: false,
29
- entities: [User,userSessions,Role, ITHelpDeskRequests, ITServicesTypesSalalah, ITServicesTypesMuscat, CAAServices, CAASubServices, ITApprovalSettings, Workflows, ItApprovalDetails, ItWorkFlow],
33
+ entities: [User,userSessions,Role, ITHelpDeskRequests, ITServicesTypesSalalah, ITServicesTypesMuscat, CAAServices, CAASubServices, ITApprovalSettings, Workflows, ItApprovalDetails, ItWorkFlow, WorkflowDefinitions, WorkflowTask, Departments, UserSections, WorkflowHierarchy, WorkflowTaskNames, Directorate],
30
34
  });
package/src/index.ts CHANGED
@@ -10,6 +10,11 @@ export * from './models/ITApprovalSettings';
10
10
  export * from './models/Workflows';
11
11
  export * from './models/ItApprovalsModel';
12
12
  export * from './models/ItWorkflowModel';
13
+ export * from './models/WorkflowDefinitions';
14
+ export * from './models/WorkflowTask';
13
15
  export * from './models/DepartmentsModel';
14
- export * from './models/DirectorateModel';
15
16
  export * from './models/SectionModel';
17
+ export * from './models/WorkflowHierarchy';
18
+ export * from './models/WorkflowTaskNames';
19
+ export * from './models/DirectorateModel';
20
+
@@ -24,9 +24,9 @@ export class CAAServices extends BaseModel {
24
24
  code?: string
25
25
  ) {
26
26
  super();
27
- this.name = name
28
- this.description = description
29
- this.logo_url = logo_url
30
- this.code = code || ''
27
+ this.name = name;
28
+ this.description = description;
29
+ this.logo_url = logo_url;
30
+ this.code = code || '';
31
31
  }
32
32
  }
@@ -0,0 +1,45 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'workflow_definitions' })
5
+ export class WorkflowDefinitions extends BaseModel {
6
+
7
+ @Column({ type: 'varchar', length: 100, nullable: false})
8
+ name: string;
9
+
10
+ @Column({ type: 'text', nullable: true })
11
+ description: string;
12
+
13
+ @Column({ type: 'integer', default: 1 })
14
+ version: number;
15
+
16
+ @Column({ type: 'boolean', default: true })
17
+ is_active: boolean;
18
+
19
+ @Column({ type: 'varchar', length: 50, nullable: true })
20
+ service_type: string;
21
+
22
+ @Column({
23
+ type: 'varchar',
24
+ length: 20,
25
+ default: 'draft',
26
+ enum: ['draft', 'published']
27
+ })
28
+ status: 'draft' | 'published' ;
29
+ constructor(
30
+ name: string,
31
+ description?: string,
32
+ version?: number,
33
+ is_active?: boolean,
34
+ service_type?: string,
35
+ status?: 'draft' | 'published'
36
+ ) {
37
+ super();
38
+ this.name = name;
39
+ this.description = description || '';
40
+ this.version = version || 1;
41
+ this.is_active = is_active !== undefined ? is_active : true;
42
+ this.service_type = service_type || '';
43
+ this.status = status || 'draft';
44
+ }
45
+ }
@@ -0,0 +1,42 @@
1
+ import { Column, Entity, ManyToOne, JoinColumn, Unique } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+ import { WorkflowDefinitions } from './WorkflowDefinitions';
4
+
5
+ @Entity({ name: 'workflow_hierarchy' })
6
+ @Unique(['workflow_definition_id', 'step_order'])
7
+ export class WorkflowHierarchy extends BaseModel {
8
+
9
+ @Column({ type: 'integer', nullable: false })
10
+ workflow_definition_id: number;
11
+
12
+ @Column({ type: 'integer', nullable: false })
13
+ department_id: number;
14
+
15
+ @Column({ type: 'integer', nullable: false })
16
+ approval_level_id: number;
17
+
18
+ @Column({ type: 'integer', nullable: false })
19
+ step_order: number;
20
+
21
+ @Column({ type: 'boolean', default: true })
22
+ is_required: boolean;
23
+
24
+ @ManyToOne(() => WorkflowDefinitions, { onDelete: 'CASCADE' })
25
+ @JoinColumn({ name: 'workflow_definition_id' })
26
+ workflow_definition: WorkflowDefinitions;
27
+
28
+ constructor(
29
+ workflow_definition_id: number,
30
+ department_id: number,
31
+ approval_level_id: number,
32
+ step_order: number,
33
+ is_required?: boolean
34
+ ) {
35
+ super();
36
+ this.workflow_definition_id = workflow_definition_id;
37
+ this.department_id = department_id;
38
+ this.approval_level_id = approval_level_id;
39
+ this.step_order = step_order;
40
+ this.is_required = is_required !== undefined ? is_required : true;
41
+ }
42
+ }
@@ -0,0 +1,26 @@
1
+ import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'workflow_tasks' })
5
+ export class WorkflowTask extends BaseModel {
6
+
7
+ @PrimaryGeneratedColumn()
8
+ task_id: number;
9
+
10
+ @Column({ type: 'varchar', length: 100, nullable: false })
11
+ name: string;
12
+
13
+ @Column({ type: 'varchar', length: 200, nullable: true })
14
+ task_type: string;
15
+
16
+ constructor(
17
+ name: string,
18
+ task_id?: number,
19
+ task_type?: string
20
+ ) {
21
+ super();
22
+ this.name = name;
23
+ this.task_id = task_id || 0;
24
+ this.task_type = task_type || '';
25
+ }
26
+ }
@@ -0,0 +1,31 @@
1
+ import { Column, Entity } from "typeorm";
2
+ import { BaseModel } from './BaseModel';
3
+
4
+ @Entity({ name: 'workflow_task_names' })
5
+ export class WorkflowTaskNames extends BaseModel {
6
+
7
+ @Column({ type: 'varchar', length: 100, nullable: false })
8
+ name: string;
9
+
10
+ @Column({ type: 'integer', nullable: false })
11
+ task_id: number;
12
+
13
+ @Column({ type: 'varchar', length: 200, nullable: true })
14
+ description: string;
15
+
16
+ @Column({ type: 'varchar', length: 200, nullable: true })
17
+ task_type: string;
18
+
19
+ constructor(
20
+ name: string,
21
+ task_id: number,
22
+ description: string,
23
+ task_type: string
24
+ ) {
25
+ super();
26
+ this.name = name;
27
+ this.task_id = task_id;
28
+ this.description = description;
29
+ this.task_type = task_type;
30
+ }
31
+ }
@@ -65,7 +65,7 @@ export class User extends BaseModel {
65
65
  office_number?: string;
66
66
 
67
67
  @Column({ nullable: true })
68
- department?: number;
68
+ department?: string;
69
69
 
70
70
  @Column({ nullable: true })
71
71
  category?: string;
@@ -74,10 +74,10 @@ export class User extends BaseModel {
74
74
  directorate?: string;
75
75
 
76
76
  @Column({ nullable: true })
77
- section?: number;
77
+ section?: string;
78
78
 
79
79
  @Column({ nullable: true })
80
- position?: number;
80
+ position?: string;
81
81
 
82
82
  @Column({ nullable: true })
83
83
  arabic_position?: string;
@@ -115,11 +115,11 @@ export class User extends BaseModel {
115
115
  manpower_id?: number,
116
116
  mobile?: string,
117
117
  office_number?: string,
118
- department?: number,
118
+ department?: string,
119
119
  category?: string,
120
120
  directorate?: string,
121
- section?: number,
122
- position?: number,
121
+ section?: string,
122
+ position?: string,
123
123
  arabic_position?: string,
124
124
  grade?: number,
125
125
  location?: string,