@platform-modules/foreign-ministry 1.3.112 → 1.3.113
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 +3 -17
- package/dist/data-source.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/models/EmbassyMasterModel.d.ts +16 -0
- package/dist/models/EmbassyMasterModel.js +75 -0
- package/dist/models/StationeryRequestMaterialsModel.d.ts +15 -0
- package/dist/models/StationeryRequestMaterialsModel.js +60 -0
- package/dist/models/UserDependentsModel.d.ts +18 -0
- package/dist/models/UserDependentsModel.js +94 -0
- package/package.json +1 -1
- package/src/data-source.ts +1 -1
- package/src/index.ts +1 -0
- package/src/models/RegisterCandidateRequestModel.ts +177 -177
- package/src/models/StationeryRequestMaterialsModel.ts +43 -0
- package/dist/models/HelpContentMappedCategoriesModel.d.ts +0 -6
- package/dist/models/HelpContentMappedCategoriesModel.js +0 -34
- package/dist/models/HelpContentMappedTagsModel.d.ts +0 -6
- package/dist/models/HelpContentMappedTagsModel.js +0 -34
- package/dist/models/HelpContentTagsModel.d.ts +0 -5
- package/dist/models/HelpContentTagsModel.js +0 -29
- package/dist/models/questionTagsModel.d.ts +0 -6
- package/dist/models/questionTagsModel.js +0 -34
- package/fix-enum-conflict-complete.sql +0 -150
- package/fix-enum-conflict-simple.sql +0 -38
- package/fix-enum-conflict.sql +0 -23
- /package/src/models/{LeaveConfigGradesModel.ts → LeaveConfigGradesModel.Ts} +0 -0
package/.env
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
# DB_PORT=5433
|
|
3
|
-
# DB_USER=postgres
|
|
4
|
-
# DB_PASS=123
|
|
5
|
-
# DB_NAME=FM
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
DB_HOST=164.52.222.169
|
|
1
|
+
DB_HOST=localhost
|
|
10
2
|
DB_PORT=5432
|
|
11
|
-
DB_USER=
|
|
12
|
-
DB_PASS=
|
|
3
|
+
DB_USER=postgres
|
|
4
|
+
DB_PASS=Fa@123
|
|
13
5
|
DB_NAME=FM
|
|
14
|
-
|
|
15
|
-
# DB_HOST=216.48.187.46
|
|
16
|
-
# DB_PORT=5432
|
|
17
|
-
# DB_USER=adminuser
|
|
18
|
-
# DB_PASS=postgres_caa_fm_qa_34567
|
|
19
|
-
# DB_NAME=FM_QA
|
package/dist/data-source.js
CHANGED
|
@@ -166,7 +166,7 @@ exports.AppDataSource = new typeorm_1.DataSource({
|
|
|
166
166
|
username: process.env.DB_USER || 'postgres',
|
|
167
167
|
password: process.env.DB_PASS || 'postgres',
|
|
168
168
|
database: process.env.DB_NAME || 'common_models',
|
|
169
|
-
synchronize:
|
|
169
|
+
synchronize: false, // auto-create tables (disable in prod)
|
|
170
170
|
logging: false,
|
|
171
171
|
entities: [
|
|
172
172
|
user_1.User,
|
package/dist/index.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export * from './models/StayAfterHoursTransactionModel';
|
|
|
173
173
|
export { StayAfterHoursTransaction, StayAfterHoursTransactionStatus } from './models/StayAfterHoursTransactionModel';
|
|
174
174
|
export * from './models/TelephoneDirectoryModel';
|
|
175
175
|
export * from './models/StationeryRequestsModel';
|
|
176
|
+
export * from './models/StationeryRequestMaterialsModel';
|
|
176
177
|
export * from './models/StationeryMaterialMasterModel';
|
|
177
178
|
export * from './models/ProfileUpdateRequestsModel';
|
|
178
179
|
export * from './models/UserPersonalDetailsModel';
|
package/dist/index.js
CHANGED
|
@@ -205,6 +205,7 @@ Object.defineProperty(exports, "StayAfterHoursTransaction", { enumerable: true,
|
|
|
205
205
|
Object.defineProperty(exports, "StayAfterHoursTransactionStatus", { enumerable: true, get: function () { return StayAfterHoursTransactionModel_1.StayAfterHoursTransactionStatus; } });
|
|
206
206
|
__exportStar(require("./models/TelephoneDirectoryModel"), exports);
|
|
207
207
|
__exportStar(require("./models/StationeryRequestsModel"), exports);
|
|
208
|
+
__exportStar(require("./models/StationeryRequestMaterialsModel"), exports);
|
|
208
209
|
__exportStar(require("./models/StationeryMaterialMasterModel"), exports);
|
|
209
210
|
__exportStar(require("./models/ProfileUpdateRequestsModel"), exports);
|
|
210
211
|
__exportStar(require("./models/UserPersonalDetailsModel"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseModel } from './BaseModel';
|
|
2
|
+
export declare class EmbassyMaster extends BaseModel {
|
|
3
|
+
embassy_name: string;
|
|
4
|
+
embassy_name_arabic: string | null;
|
|
5
|
+
country_id: number | null;
|
|
6
|
+
city: string | null;
|
|
7
|
+
address: string | null;
|
|
8
|
+
phone: string | null;
|
|
9
|
+
fax: string | null;
|
|
10
|
+
email: string | null;
|
|
11
|
+
website: string | null;
|
|
12
|
+
description: string | null;
|
|
13
|
+
is_active: boolean;
|
|
14
|
+
display_order: number;
|
|
15
|
+
constructor(embassy_name: string);
|
|
16
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
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.EmbassyMaster = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const BaseModel_1 = require("./BaseModel");
|
|
15
|
+
let EmbassyMaster = class EmbassyMaster extends BaseModel_1.BaseModel {
|
|
16
|
+
constructor(embassy_name) {
|
|
17
|
+
super();
|
|
18
|
+
this.embassy_name = embassy_name;
|
|
19
|
+
this.is_active = true;
|
|
20
|
+
this.display_order = 0;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
exports.EmbassyMaster = EmbassyMaster;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: false }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], EmbassyMaster.prototype, "embassy_name", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], EmbassyMaster.prototype, "embassy_name_arabic", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], EmbassyMaster.prototype, "country_id", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], EmbassyMaster.prototype, "city", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
42
|
+
__metadata("design:type", Object)
|
|
43
|
+
], EmbassyMaster.prototype, "address", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
|
|
46
|
+
__metadata("design:type", Object)
|
|
47
|
+
], EmbassyMaster.prototype, "phone", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], EmbassyMaster.prototype, "fax", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
54
|
+
__metadata("design:type", Object)
|
|
55
|
+
], EmbassyMaster.prototype, "email", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
|
|
58
|
+
__metadata("design:type", Object)
|
|
59
|
+
], EmbassyMaster.prototype, "website", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
62
|
+
__metadata("design:type", Object)
|
|
63
|
+
], EmbassyMaster.prototype, "description", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, typeorm_1.Column)({ type: 'boolean', default: true }),
|
|
66
|
+
__metadata("design:type", Boolean)
|
|
67
|
+
], EmbassyMaster.prototype, "is_active", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, typeorm_1.Column)({ type: 'int', default: 0 }),
|
|
70
|
+
__metadata("design:type", Number)
|
|
71
|
+
], EmbassyMaster.prototype, "display_order", void 0);
|
|
72
|
+
exports.EmbassyMaster = EmbassyMaster = __decorate([
|
|
73
|
+
(0, typeorm_1.Entity)({ name: 'embassy_master' }),
|
|
74
|
+
__metadata("design:paramtypes", [String])
|
|
75
|
+
], EmbassyMaster);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BaseModel } from './BaseModel';
|
|
2
|
+
/**
|
|
3
|
+
* Stationery Request Materials - stores multiple materials per stationery request
|
|
4
|
+
* One-to-many relationship: One stationery_request can have multiple materials
|
|
5
|
+
*/
|
|
6
|
+
export declare class StationeryRequestMaterials extends BaseModel {
|
|
7
|
+
request_id: number;
|
|
8
|
+
material_id: number;
|
|
9
|
+
material_name: string | null;
|
|
10
|
+
quantity_required: number;
|
|
11
|
+
quantity_approved: number | null;
|
|
12
|
+
quantity_delivered: number | null;
|
|
13
|
+
remarks: string | null;
|
|
14
|
+
constructor(request_id: number, material_id: number, material_name: string | null, quantity_required: number);
|
|
15
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
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.StationeryRequestMaterials = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const BaseModel_1 = require("./BaseModel");
|
|
15
|
+
/**
|
|
16
|
+
* Stationery Request Materials - stores multiple materials per stationery request
|
|
17
|
+
* One-to-many relationship: One stationery_request can have multiple materials
|
|
18
|
+
*/
|
|
19
|
+
let StationeryRequestMaterials = class StationeryRequestMaterials extends BaseModel_1.BaseModel {
|
|
20
|
+
constructor(request_id, material_id, material_name, quantity_required) {
|
|
21
|
+
super();
|
|
22
|
+
this.request_id = request_id;
|
|
23
|
+
this.material_id = material_id;
|
|
24
|
+
this.material_name = material_name;
|
|
25
|
+
this.quantity_required = quantity_required;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.StationeryRequestMaterials = StationeryRequestMaterials;
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: false }),
|
|
31
|
+
__metadata("design:type", Number)
|
|
32
|
+
], StationeryRequestMaterials.prototype, "request_id", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: false }),
|
|
35
|
+
__metadata("design:type", Number)
|
|
36
|
+
], StationeryRequestMaterials.prototype, "material_id", void 0);
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], StationeryRequestMaterials.prototype, "material_name", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: false }),
|
|
43
|
+
__metadata("design:type", Number)
|
|
44
|
+
], StationeryRequestMaterials.prototype, "quantity_required", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
47
|
+
__metadata("design:type", Object)
|
|
48
|
+
], StationeryRequestMaterials.prototype, "quantity_approved", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
51
|
+
__metadata("design:type", Object)
|
|
52
|
+
], StationeryRequestMaterials.prototype, "quantity_delivered", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
|
|
55
|
+
__metadata("design:type", Object)
|
|
56
|
+
], StationeryRequestMaterials.prototype, "remarks", void 0);
|
|
57
|
+
exports.StationeryRequestMaterials = StationeryRequestMaterials = __decorate([
|
|
58
|
+
(0, typeorm_1.Entity)({ name: 'stationery_request_materials' }),
|
|
59
|
+
__metadata("design:paramtypes", [Number, Number, Object, Number])
|
|
60
|
+
], StationeryRequestMaterials);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseModel } from './BaseModel';
|
|
2
|
+
export declare class UserDependents extends BaseModel {
|
|
3
|
+
user_id: number;
|
|
4
|
+
first_name: string | null;
|
|
5
|
+
last_name: string | null;
|
|
6
|
+
family_name: string | null;
|
|
7
|
+
dob: Date | null;
|
|
8
|
+
age: number | null;
|
|
9
|
+
relation_type: string | null;
|
|
10
|
+
passport_available: boolean;
|
|
11
|
+
passport_number: string | null;
|
|
12
|
+
passport_type: string | null;
|
|
13
|
+
passport_issue_date: Date | null;
|
|
14
|
+
passport_place_of_issue: string | null;
|
|
15
|
+
passport_expiry_date: Date | null;
|
|
16
|
+
is_active: boolean;
|
|
17
|
+
constructor(user_id?: number, first_name?: string, last_name?: string, family_name?: string, dob?: Date, age?: number, relation_type?: string, passport_available?: boolean, passport_number?: string, passport_type?: string, passport_issue_date?: Date, passport_place_of_issue?: string, passport_expiry_date?: Date);
|
|
18
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
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.UserDependents = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const BaseModel_1 = require("./BaseModel");
|
|
15
|
+
let UserDependents = class UserDependents extends BaseModel_1.BaseModel {
|
|
16
|
+
constructor(user_id, first_name, last_name, family_name, dob, age, relation_type, passport_available, passport_number, passport_type, passport_issue_date, passport_place_of_issue, passport_expiry_date) {
|
|
17
|
+
super();
|
|
18
|
+
this.user_id = user_id || 0;
|
|
19
|
+
this.first_name = first_name || null;
|
|
20
|
+
this.last_name = last_name || null;
|
|
21
|
+
this.family_name = family_name || null;
|
|
22
|
+
this.dob = dob || null;
|
|
23
|
+
this.age = age || null;
|
|
24
|
+
this.relation_type = relation_type || null;
|
|
25
|
+
this.passport_available = passport_available || false;
|
|
26
|
+
this.passport_number = passport_number || null;
|
|
27
|
+
this.passport_type = passport_type || null;
|
|
28
|
+
this.passport_issue_date = passport_issue_date || null;
|
|
29
|
+
this.passport_place_of_issue = passport_place_of_issue || null;
|
|
30
|
+
this.passport_expiry_date = passport_expiry_date || null;
|
|
31
|
+
this.is_active = true;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.UserDependents = UserDependents;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: false }),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], UserDependents.prototype, "user_id", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
41
|
+
__metadata("design:type", Object)
|
|
42
|
+
], UserDependents.prototype, "first_name", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
45
|
+
__metadata("design:type", Object)
|
|
46
|
+
], UserDependents.prototype, "last_name", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
49
|
+
__metadata("design:type", Object)
|
|
50
|
+
], UserDependents.prototype, "family_name", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, typeorm_1.Column)({ type: 'date', nullable: true }),
|
|
53
|
+
__metadata("design:type", Object)
|
|
54
|
+
], UserDependents.prototype, "dob", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, typeorm_1.Column)({ type: 'int', nullable: true }),
|
|
57
|
+
__metadata("design:type", Object)
|
|
58
|
+
], UserDependents.prototype, "age", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
|
|
61
|
+
__metadata("design:type", Object)
|
|
62
|
+
], UserDependents.prototype, "relation_type", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, typeorm_1.Column)({ type: 'boolean', default: false }),
|
|
65
|
+
__metadata("design:type", Boolean)
|
|
66
|
+
], UserDependents.prototype, "passport_available", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
|
|
69
|
+
__metadata("design:type", Object)
|
|
70
|
+
], UserDependents.prototype, "passport_number", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
|
|
73
|
+
__metadata("design:type", Object)
|
|
74
|
+
], UserDependents.prototype, "passport_type", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, typeorm_1.Column)({ type: 'date', nullable: true }),
|
|
77
|
+
__metadata("design:type", Object)
|
|
78
|
+
], UserDependents.prototype, "passport_issue_date", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
|
|
81
|
+
__metadata("design:type", Object)
|
|
82
|
+
], UserDependents.prototype, "passport_place_of_issue", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, typeorm_1.Column)({ type: 'date', nullable: true }),
|
|
85
|
+
__metadata("design:type", Object)
|
|
86
|
+
], UserDependents.prototype, "passport_expiry_date", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, typeorm_1.Column)({ type: 'boolean', default: true }),
|
|
89
|
+
__metadata("design:type", Boolean)
|
|
90
|
+
], UserDependents.prototype, "is_active", void 0);
|
|
91
|
+
exports.UserDependents = UserDependents = __decorate([
|
|
92
|
+
(0, typeorm_1.Entity)({ name: 'user_dependents' }),
|
|
93
|
+
__metadata("design:paramtypes", [Number, String, String, String, Date, Number, String, Boolean, String, String, Date, String, Date])
|
|
94
|
+
], UserDependents);
|
package/package.json
CHANGED
package/src/data-source.ts
CHANGED
|
@@ -174,7 +174,7 @@ export const AppDataSource = new DataSource({
|
|
|
174
174
|
username: process.env.DB_USER || 'postgres',
|
|
175
175
|
password: process.env.DB_PASS || 'postgres',
|
|
176
176
|
database: process.env.DB_NAME || 'common_models',
|
|
177
|
-
synchronize:
|
|
177
|
+
synchronize: false, // auto-create tables (disable in prod)
|
|
178
178
|
logging: false,
|
|
179
179
|
entities: [
|
|
180
180
|
User,
|
package/src/index.ts
CHANGED
|
@@ -173,6 +173,7 @@ export * from './models/StayAfterHoursTransactionModel';
|
|
|
173
173
|
export { StayAfterHoursTransaction, StayAfterHoursTransactionStatus } from './models/StayAfterHoursTransactionModel';
|
|
174
174
|
export * from './models/TelephoneDirectoryModel';
|
|
175
175
|
export * from './models/StationeryRequestsModel';
|
|
176
|
+
export * from './models/StationeryRequestMaterialsModel';
|
|
176
177
|
export * from './models/StationeryMaterialMasterModel';
|
|
177
178
|
export * from './models/ProfileUpdateRequestsModel';
|
|
178
179
|
export * from './models/UserPersonalDetailsModel';
|
|
@@ -1,177 +1,177 @@
|
|
|
1
|
-
import { Column, Entity, OneToMany } from "typeorm";
|
|
2
|
-
import { BaseModel } from './BaseModel';
|
|
3
|
-
import { RegisterCandidateExperienceActivity } from './RegisterCandidateExperienceActivityModel';
|
|
4
|
-
|
|
5
|
-
export enum RegisterCandidateStatus {
|
|
6
|
-
PENDING = "Pending",
|
|
7
|
-
ASSIGNED = "Assigned",
|
|
8
|
-
IN_PROGRESS = "In Progress",
|
|
9
|
-
APPROVED = "Approved",
|
|
10
|
-
REJECTED = "Rejected"
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export enum CandidateStatusType {
|
|
14
|
-
SELECTED = "Selected",
|
|
15
|
-
REJECTED = "Rejected",
|
|
16
|
-
JOINED = "Joined",
|
|
17
|
-
NOT_JOINED = "Not Joined"
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
@Entity({ name: 'register_candidate_requests' })
|
|
21
|
-
export class RegisterCandidateRequests extends BaseModel {
|
|
22
|
-
|
|
23
|
-
// Common columns from register_vacancy_requests
|
|
24
|
-
@Column({ type: 'int', nullable: true })
|
|
25
|
-
req_user_department_id: number | null;
|
|
26
|
-
|
|
27
|
-
@Column({ type: 'int', nullable: true })
|
|
28
|
-
req_user_section_id: number | null;
|
|
29
|
-
|
|
30
|
-
@Column({ type: 'int', nullable: true })
|
|
31
|
-
service_id: number | null;
|
|
32
|
-
|
|
33
|
-
@Column({ type: 'int', nullable: true })
|
|
34
|
-
sub_service_id: number | null;
|
|
35
|
-
|
|
36
|
-
@Column({ type: 'int', nullable: false })
|
|
37
|
-
user_id: number;
|
|
38
|
-
|
|
39
|
-
// New columns - Personal Information
|
|
40
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
41
|
-
relationship: string | null;
|
|
42
|
-
|
|
43
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
44
|
-
place_of_birth: string | null;
|
|
45
|
-
|
|
46
|
-
@Column({ type: 'date', nullable: true })
|
|
47
|
-
date_of_birth: Date | null;
|
|
48
|
-
|
|
49
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
50
|
-
nationality: string | null;
|
|
51
|
-
|
|
52
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
53
|
-
religion_and_sect: string | null;
|
|
54
|
-
|
|
55
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
56
|
-
sub_religion_and_sect: string | null;
|
|
57
|
-
|
|
58
|
-
@Column({ type: 'text', nullable: true })
|
|
59
|
-
present_residence: string | null;
|
|
60
|
-
|
|
61
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
62
|
-
occupation_and_employer: string | null;
|
|
63
|
-
|
|
64
|
-
// Education Information
|
|
65
|
-
@Column({ type: 'text', nullable: true })
|
|
66
|
-
type_of_study_specializations_qualification: string | null;
|
|
67
|
-
|
|
68
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
69
|
-
educational_institute: string | null;
|
|
70
|
-
|
|
71
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
72
|
-
education_country: string | null;
|
|
73
|
-
|
|
74
|
-
@Column({ type: 'date', nullable: true })
|
|
75
|
-
education_period_from: Date | null;
|
|
76
|
-
|
|
77
|
-
@Column({ type: 'date', nullable: true })
|
|
78
|
-
education_period_to: Date | null;
|
|
79
|
-
|
|
80
|
-
// Note: Employment, Activity, and Charge Information fields have been moved to
|
|
81
|
-
// register_candidate_experience_activity table to support multiple experience records
|
|
82
|
-
|
|
83
|
-
// First Address
|
|
84
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
85
|
-
address1_country_state: string | null;
|
|
86
|
-
|
|
87
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
88
|
-
address1_street_no: string | null;
|
|
89
|
-
|
|
90
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
91
|
-
address1_road_no: string | null;
|
|
92
|
-
|
|
93
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
94
|
-
address1_flat_building_no: string | null;
|
|
95
|
-
|
|
96
|
-
@Column({ type: 'text', nullable: true })
|
|
97
|
-
address1_po_box_telephone_fax: string | null;
|
|
98
|
-
|
|
99
|
-
// Second Address
|
|
100
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
101
|
-
address2_country_state: string | null;
|
|
102
|
-
|
|
103
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
104
|
-
address2_street_no: string | null;
|
|
105
|
-
|
|
106
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
107
|
-
address2_road_no: string | null;
|
|
108
|
-
|
|
109
|
-
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
110
|
-
address2_flat_building_no: string | null;
|
|
111
|
-
|
|
112
|
-
@Column({ type: 'text', nullable: true })
|
|
113
|
-
address2_po_box_telephone_fax: string | null;
|
|
114
|
-
|
|
115
|
-
// Reference Information
|
|
116
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
117
|
-
reference_full_name: string | null;
|
|
118
|
-
|
|
119
|
-
@Column({ type: 'text', nullable: true })
|
|
120
|
-
reference_address_and_telephone: string | null;
|
|
121
|
-
|
|
122
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
123
|
-
telephone_number: string | null;
|
|
124
|
-
|
|
125
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
126
|
-
reference_employer: string | null;
|
|
127
|
-
|
|
128
|
-
// Vacancy Information
|
|
129
|
-
@Column({ type: 'int', nullable: true })
|
|
130
|
-
vacancy_id: number | null;
|
|
131
|
-
|
|
132
|
-
@Column({ type: 'text', nullable: true })
|
|
133
|
-
vacancy_description: string | null;
|
|
134
|
-
|
|
135
|
-
// Interview Information
|
|
136
|
-
@Column({ type: 'date', nullable: true })
|
|
137
|
-
interview_schedule_date: Date | null;
|
|
138
|
-
|
|
139
|
-
@Column({ type: 'time', nullable: true })
|
|
140
|
-
interview_schedule_time: string | null;
|
|
141
|
-
|
|
142
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
143
|
-
interviewer_name: string | null;
|
|
144
|
-
|
|
145
|
-
// Candidate Status
|
|
146
|
-
@Column({ type: 'enum', enum: CandidateStatusType, nullable: true })
|
|
147
|
-
candidate_status: CandidateStatusType | null;
|
|
148
|
-
|
|
149
|
-
@Column({ type: 'date', nullable: true })
|
|
150
|
-
joining_date: Date | null;
|
|
151
|
-
|
|
152
|
-
// Salary Information
|
|
153
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
154
|
-
salary: string | null;
|
|
155
|
-
|
|
156
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
157
|
-
currency: string | null;
|
|
158
|
-
|
|
159
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
160
|
-
expected_salary: string | null;
|
|
161
|
-
|
|
162
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
163
|
-
expected_currency: string | null;
|
|
164
|
-
|
|
165
|
-
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
166
|
-
currency_type: string | null;
|
|
167
|
-
|
|
168
|
-
@Column({ type: 'enum', enum: RegisterCandidateStatus, default: RegisterCandidateStatus.PENDING, nullable: false })
|
|
169
|
-
status: RegisterCandidateStatus;
|
|
170
|
-
|
|
171
|
-
@Column({ type: 'varchar', nullable: true })
|
|
172
|
-
workflow_execution_id: string | null;
|
|
173
|
-
|
|
174
|
-
@OneToMany(() => RegisterCandidateExperienceActivity, (experienceActivity) => experienceActivity.request)
|
|
175
|
-
experience_activities: RegisterCandidateExperienceActivity[];
|
|
176
|
-
|
|
177
|
-
}
|
|
1
|
+
import { Column, Entity, OneToMany } from "typeorm";
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
import { RegisterCandidateExperienceActivity } from './RegisterCandidateExperienceActivityModel';
|
|
4
|
+
|
|
5
|
+
export enum RegisterCandidateStatus {
|
|
6
|
+
PENDING = "Pending",
|
|
7
|
+
ASSIGNED = "Assigned",
|
|
8
|
+
IN_PROGRESS = "In Progress",
|
|
9
|
+
APPROVED = "Approved",
|
|
10
|
+
REJECTED = "Rejected"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export enum CandidateStatusType {
|
|
14
|
+
SELECTED = "Selected",
|
|
15
|
+
REJECTED = "Rejected",
|
|
16
|
+
JOINED = "Joined",
|
|
17
|
+
NOT_JOINED = "Not Joined"
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Entity({ name: 'register_candidate_requests' })
|
|
21
|
+
export class RegisterCandidateRequests extends BaseModel {
|
|
22
|
+
|
|
23
|
+
// Common columns from register_vacancy_requests
|
|
24
|
+
@Column({ type: 'int', nullable: true })
|
|
25
|
+
req_user_department_id: number | null;
|
|
26
|
+
|
|
27
|
+
@Column({ type: 'int', nullable: true })
|
|
28
|
+
req_user_section_id: number | null;
|
|
29
|
+
|
|
30
|
+
@Column({ type: 'int', nullable: true })
|
|
31
|
+
service_id: number | null;
|
|
32
|
+
|
|
33
|
+
@Column({ type: 'int', nullable: true })
|
|
34
|
+
sub_service_id: number | null;
|
|
35
|
+
|
|
36
|
+
@Column({ type: 'int', nullable: false })
|
|
37
|
+
user_id: number;
|
|
38
|
+
|
|
39
|
+
// New columns - Personal Information
|
|
40
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
41
|
+
relationship: string | null;
|
|
42
|
+
|
|
43
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
44
|
+
place_of_birth: string | null;
|
|
45
|
+
|
|
46
|
+
@Column({ type: 'date', nullable: true })
|
|
47
|
+
date_of_birth: Date | null;
|
|
48
|
+
|
|
49
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
50
|
+
nationality: string | null;
|
|
51
|
+
|
|
52
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
53
|
+
religion_and_sect: string | null;
|
|
54
|
+
|
|
55
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
56
|
+
sub_religion_and_sect: string | null;
|
|
57
|
+
|
|
58
|
+
@Column({ type: 'text', nullable: true })
|
|
59
|
+
present_residence: string | null;
|
|
60
|
+
|
|
61
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
62
|
+
occupation_and_employer: string | null;
|
|
63
|
+
|
|
64
|
+
// Education Information
|
|
65
|
+
@Column({ type: 'text', nullable: true })
|
|
66
|
+
type_of_study_specializations_qualification: string | null;
|
|
67
|
+
|
|
68
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
69
|
+
educational_institute: string | null;
|
|
70
|
+
|
|
71
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
72
|
+
education_country: string | null;
|
|
73
|
+
|
|
74
|
+
@Column({ type: 'date', nullable: true })
|
|
75
|
+
education_period_from: Date | null;
|
|
76
|
+
|
|
77
|
+
@Column({ type: 'date', nullable: true })
|
|
78
|
+
education_period_to: Date | null;
|
|
79
|
+
|
|
80
|
+
// Note: Employment, Activity, and Charge Information fields have been moved to
|
|
81
|
+
// register_candidate_experience_activity table to support multiple experience records
|
|
82
|
+
|
|
83
|
+
// First Address
|
|
84
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
85
|
+
address1_country_state: string | null;
|
|
86
|
+
|
|
87
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
88
|
+
address1_street_no: string | null;
|
|
89
|
+
|
|
90
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
91
|
+
address1_road_no: string | null;
|
|
92
|
+
|
|
93
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
94
|
+
address1_flat_building_no: string | null;
|
|
95
|
+
|
|
96
|
+
@Column({ type: 'text', nullable: true })
|
|
97
|
+
address1_po_box_telephone_fax: string | null;
|
|
98
|
+
|
|
99
|
+
// Second Address
|
|
100
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
101
|
+
address2_country_state: string | null;
|
|
102
|
+
|
|
103
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
104
|
+
address2_street_no: string | null;
|
|
105
|
+
|
|
106
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
107
|
+
address2_road_no: string | null;
|
|
108
|
+
|
|
109
|
+
@Column({ type: 'varchar', length: 100, nullable: true })
|
|
110
|
+
address2_flat_building_no: string | null;
|
|
111
|
+
|
|
112
|
+
@Column({ type: 'text', nullable: true })
|
|
113
|
+
address2_po_box_telephone_fax: string | null;
|
|
114
|
+
|
|
115
|
+
// Reference Information
|
|
116
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
117
|
+
reference_full_name: string | null;
|
|
118
|
+
|
|
119
|
+
@Column({ type: 'text', nullable: true })
|
|
120
|
+
reference_address_and_telephone: string | null;
|
|
121
|
+
|
|
122
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
123
|
+
telephone_number: string | null;
|
|
124
|
+
|
|
125
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
126
|
+
reference_employer: string | null;
|
|
127
|
+
|
|
128
|
+
// Vacancy Information
|
|
129
|
+
@Column({ type: 'int', nullable: true })
|
|
130
|
+
vacancy_id: number | null;
|
|
131
|
+
|
|
132
|
+
@Column({ type: 'text', nullable: true })
|
|
133
|
+
vacancy_description: string | null;
|
|
134
|
+
|
|
135
|
+
// Interview Information
|
|
136
|
+
@Column({ type: 'date', nullable: true })
|
|
137
|
+
interview_schedule_date: Date | null;
|
|
138
|
+
|
|
139
|
+
@Column({ type: 'time', nullable: true })
|
|
140
|
+
interview_schedule_time: string | null;
|
|
141
|
+
|
|
142
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
143
|
+
interviewer_name: string | null;
|
|
144
|
+
|
|
145
|
+
// Candidate Status
|
|
146
|
+
@Column({ type: 'enum', enum: CandidateStatusType, nullable: true })
|
|
147
|
+
candidate_status: CandidateStatusType | null;
|
|
148
|
+
|
|
149
|
+
@Column({ type: 'date', nullable: true })
|
|
150
|
+
joining_date: Date | null;
|
|
151
|
+
|
|
152
|
+
// Salary Information
|
|
153
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
154
|
+
salary: string | null;
|
|
155
|
+
|
|
156
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
157
|
+
currency: string | null;
|
|
158
|
+
|
|
159
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
160
|
+
expected_salary: string | null;
|
|
161
|
+
|
|
162
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
163
|
+
expected_currency: string | null;
|
|
164
|
+
|
|
165
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
166
|
+
currency_type: string | null;
|
|
167
|
+
|
|
168
|
+
@Column({ type: 'enum', enum: RegisterCandidateStatus, default: RegisterCandidateStatus.PENDING, nullable: false })
|
|
169
|
+
status: RegisterCandidateStatus;
|
|
170
|
+
|
|
171
|
+
@Column({ type: 'varchar', nullable: true })
|
|
172
|
+
workflow_execution_id: string | null;
|
|
173
|
+
|
|
174
|
+
@OneToMany(() => RegisterCandidateExperienceActivity, (experienceActivity) => experienceActivity.request)
|
|
175
|
+
experience_activities: RegisterCandidateExperienceActivity[];
|
|
176
|
+
|
|
177
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Column, Entity } from "typeorm";
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Stationery Request Materials - stores multiple materials per stationery request
|
|
6
|
+
* One-to-many relationship: One stationery_request can have multiple materials
|
|
7
|
+
*/
|
|
8
|
+
@Entity({ name: 'stationery_request_materials' })
|
|
9
|
+
export class StationeryRequestMaterials extends BaseModel {
|
|
10
|
+
@Column({ type: 'int', nullable: false })
|
|
11
|
+
request_id: number; // Foreign key to stationery_requests table
|
|
12
|
+
|
|
13
|
+
@Column({ type: 'int', nullable: false })
|
|
14
|
+
material_id: number; // Reference to stationery_material_master table
|
|
15
|
+
|
|
16
|
+
@Column({ type: 'varchar', length: 255, nullable: true })
|
|
17
|
+
material_name: string | null; // Material name (denormalized for quick access)
|
|
18
|
+
|
|
19
|
+
@Column({ type: 'int', nullable: false })
|
|
20
|
+
quantity_required: number; // Quantity requested
|
|
21
|
+
|
|
22
|
+
@Column({ type: 'int', nullable: true })
|
|
23
|
+
quantity_approved: number | null; // Quantity approved (can be different from requested)
|
|
24
|
+
|
|
25
|
+
@Column({ type: 'int', nullable: true })
|
|
26
|
+
quantity_delivered: number | null; // Quantity actually delivered
|
|
27
|
+
|
|
28
|
+
@Column({ type: 'varchar', length: 500, nullable: true })
|
|
29
|
+
remarks: string | null; // Any remarks for this specific material
|
|
30
|
+
|
|
31
|
+
constructor(
|
|
32
|
+
request_id: number,
|
|
33
|
+
material_id: number,
|
|
34
|
+
material_name: string | null,
|
|
35
|
+
quantity_required: number
|
|
36
|
+
) {
|
|
37
|
+
super();
|
|
38
|
+
this.request_id = request_id;
|
|
39
|
+
this.material_id = material_id;
|
|
40
|
+
this.material_name = material_name;
|
|
41
|
+
this.quantity_required = quantity_required;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,34 +0,0 @@
|
|
|
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.HelpContentMappedCategories = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const BaseModel_1 = require("./BaseModel");
|
|
15
|
-
let HelpContentMappedCategories = class HelpContentMappedCategories extends BaseModel_1.BaseModel {
|
|
16
|
-
constructor(help_content_category_Id, help_content_Id) {
|
|
17
|
-
super();
|
|
18
|
-
this.help_content_category_Id = help_content_category_Id,
|
|
19
|
-
this.help_content_Id = help_content_Id;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.HelpContentMappedCategories = HelpContentMappedCategories;
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
25
|
-
__metadata("design:type", Number)
|
|
26
|
-
], HelpContentMappedCategories.prototype, "help_content_category_Id", void 0);
|
|
27
|
-
__decorate([
|
|
28
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
29
|
-
__metadata("design:type", Number)
|
|
30
|
-
], HelpContentMappedCategories.prototype, "help_content_Id", void 0);
|
|
31
|
-
exports.HelpContentMappedCategories = HelpContentMappedCategories = __decorate([
|
|
32
|
-
(0, typeorm_1.Entity)({ name: 'help_content_mapped_categories' }),
|
|
33
|
-
__metadata("design:paramtypes", [Number, Number])
|
|
34
|
-
], HelpContentMappedCategories);
|
|
@@ -1,34 +0,0 @@
|
|
|
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.HelpContentMappedTags = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const BaseModel_1 = require("./BaseModel");
|
|
15
|
-
let HelpContentMappedTags = class HelpContentMappedTags extends BaseModel_1.BaseModel {
|
|
16
|
-
constructor(help_content_tag_Id, help_content_Id) {
|
|
17
|
-
super();
|
|
18
|
-
this.help_content_tag_Id = help_content_tag_Id,
|
|
19
|
-
this.help_content_Id = help_content_Id;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.HelpContentMappedTags = HelpContentMappedTags;
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
25
|
-
__metadata("design:type", Number)
|
|
26
|
-
], HelpContentMappedTags.prototype, "help_content_tag_Id", void 0);
|
|
27
|
-
__decorate([
|
|
28
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
29
|
-
__metadata("design:type", Number)
|
|
30
|
-
], HelpContentMappedTags.prototype, "help_content_Id", void 0);
|
|
31
|
-
exports.HelpContentMappedTags = HelpContentMappedTags = __decorate([
|
|
32
|
-
(0, typeorm_1.Entity)({ name: 'help_content_mapped_tags' }),
|
|
33
|
-
__metadata("design:paramtypes", [Number, Number])
|
|
34
|
-
], HelpContentMappedTags);
|
|
@@ -1,29 +0,0 @@
|
|
|
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.HelpContentTags = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const BaseModel_1 = require("./BaseModel");
|
|
15
|
-
let HelpContentTags = class HelpContentTags extends BaseModel_1.BaseModel {
|
|
16
|
-
constructor(name) {
|
|
17
|
-
super();
|
|
18
|
-
this.name = name;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
exports.HelpContentTags = HelpContentTags;
|
|
22
|
-
__decorate([
|
|
23
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
24
|
-
__metadata("design:type", String)
|
|
25
|
-
], HelpContentTags.prototype, "name", void 0);
|
|
26
|
-
exports.HelpContentTags = HelpContentTags = __decorate([
|
|
27
|
-
(0, typeorm_1.Entity)({ name: 'help_content_tags' }),
|
|
28
|
-
__metadata("design:paramtypes", [String])
|
|
29
|
-
], HelpContentTags);
|
|
@@ -1,34 +0,0 @@
|
|
|
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.QuestionTags = void 0;
|
|
13
|
-
const typeorm_1 = require("typeorm");
|
|
14
|
-
const BaseModel_1 = require("./BaseModel");
|
|
15
|
-
let QuestionTags = class QuestionTags extends BaseModel_1.BaseModel {
|
|
16
|
-
constructor(name, question_Id) {
|
|
17
|
-
super();
|
|
18
|
-
this.name = name,
|
|
19
|
-
this.question_Id = question_Id;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
exports.QuestionTags = QuestionTags;
|
|
23
|
-
__decorate([
|
|
24
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
25
|
-
__metadata("design:type", String)
|
|
26
|
-
], QuestionTags.prototype, "name", void 0);
|
|
27
|
-
__decorate([
|
|
28
|
-
(0, typeorm_1.Column)({ nullable: true }),
|
|
29
|
-
__metadata("design:type", Number)
|
|
30
|
-
], QuestionTags.prototype, "question_Id", void 0);
|
|
31
|
-
exports.QuestionTags = QuestionTags = __decorate([
|
|
32
|
-
(0, typeorm_1.Entity)({ name: 'question_tags' }),
|
|
33
|
-
__metadata("design:paramtypes", [String, Number])
|
|
34
|
-
], QuestionTags);
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
-- ============================================================
|
|
2
|
-
-- Fix for TypeORM enum conflict issue
|
|
3
|
-
-- Run these queries in your PostgreSQL database to resolve the enum type conflict
|
|
4
|
-
-- ============================================================
|
|
5
|
-
|
|
6
|
-
-- Step 1: Check existing enum types (for reference)
|
|
7
|
-
SELECT typname, typtype
|
|
8
|
-
FROM pg_type
|
|
9
|
-
WHERE typname LIKE '%lms_external_course_participation_approvals_approval_status%';
|
|
10
|
-
|
|
11
|
-
-- Step 2: Drop the old enum type if it exists (from previous failed sync attempts)
|
|
12
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu_old" CASCADE;
|
|
13
|
-
|
|
14
|
-
-- Step 3: Check if the table exists and what columns use the enum
|
|
15
|
-
SELECT
|
|
16
|
-
table_name,
|
|
17
|
-
column_name,
|
|
18
|
-
data_type,
|
|
19
|
-
udt_name
|
|
20
|
-
FROM information_schema.columns
|
|
21
|
-
WHERE table_name = 'lms_external_course_participation_approvals'
|
|
22
|
-
AND column_name = 'approval_status';
|
|
23
|
-
|
|
24
|
-
-- Step 4: If the table exists, we need to handle the enum carefully
|
|
25
|
-
-- First, let's check if the table has any data
|
|
26
|
-
DO $$
|
|
27
|
-
DECLARE
|
|
28
|
-
row_count INTEGER;
|
|
29
|
-
BEGIN
|
|
30
|
-
SELECT COUNT(*) INTO row_count
|
|
31
|
-
FROM information_schema.tables
|
|
32
|
-
WHERE table_schema = 'public'
|
|
33
|
-
AND table_name = 'lms_external_course_participation_approvals';
|
|
34
|
-
|
|
35
|
-
IF row_count > 0 THEN
|
|
36
|
-
RAISE NOTICE 'Table exists. Proceeding with safe enum update...';
|
|
37
|
-
ELSE
|
|
38
|
-
RAISE NOTICE 'Table does not exist. Enum will be created when table is created.';
|
|
39
|
-
END IF;
|
|
40
|
-
END $$;
|
|
41
|
-
|
|
42
|
-
-- Step 5: Drop the existing enum type if it exists (we'll recreate it)
|
|
43
|
-
-- Note: This will fail if the enum is in use, so we handle it in the next step
|
|
44
|
-
DO $$
|
|
45
|
-
BEGIN
|
|
46
|
-
-- Try to drop the enum type
|
|
47
|
-
IF EXISTS (SELECT 1 FROM pg_type WHERE typname = 'lms_external_course_participation_approvals_approval_status_enu') THEN
|
|
48
|
-
-- Check if it's being used by any column
|
|
49
|
-
IF EXISTS (
|
|
50
|
-
SELECT 1
|
|
51
|
-
FROM information_schema.columns
|
|
52
|
-
WHERE udt_name = 'lms_external_course_participation_approvals_approval_status_enu'
|
|
53
|
-
) THEN
|
|
54
|
-
RAISE NOTICE 'Enum type is in use. Changing column to text first...';
|
|
55
|
-
|
|
56
|
-
-- Change the column to text temporarily
|
|
57
|
-
ALTER TABLE IF EXISTS lms_external_course_participation_approvals
|
|
58
|
-
ALTER COLUMN approval_status TYPE text USING approval_status::text;
|
|
59
|
-
|
|
60
|
-
-- Now drop the enum
|
|
61
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu" CASCADE;
|
|
62
|
-
|
|
63
|
-
RAISE NOTICE 'Enum type dropped. Recreating with correct values...';
|
|
64
|
-
ELSE
|
|
65
|
-
-- Not in use, safe to drop
|
|
66
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu" CASCADE;
|
|
67
|
-
RAISE NOTICE 'Enum type dropped (was not in use).';
|
|
68
|
-
END IF;
|
|
69
|
-
ELSE
|
|
70
|
-
RAISE NOTICE 'Enum type does not exist.';
|
|
71
|
-
END IF;
|
|
72
|
-
END $$;
|
|
73
|
-
|
|
74
|
-
-- Step 6: Create the enum type with correct values
|
|
75
|
-
DO $$
|
|
76
|
-
BEGIN
|
|
77
|
-
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'lms_external_course_participation_approvals_approval_status_enu') THEN
|
|
78
|
-
CREATE TYPE "lms_external_course_participation_approvals_approval_status_enu" AS ENUM (
|
|
79
|
-
'Pending',
|
|
80
|
-
'In Progress',
|
|
81
|
-
'Approved',
|
|
82
|
-
'Rejected'
|
|
83
|
-
);
|
|
84
|
-
RAISE NOTICE 'Enum type created successfully.';
|
|
85
|
-
ELSE
|
|
86
|
-
RAISE NOTICE 'Enum type already exists.';
|
|
87
|
-
END IF;
|
|
88
|
-
END $$;
|
|
89
|
-
|
|
90
|
-
-- Step 7: If table exists and column was changed to text, change it back to enum
|
|
91
|
-
DO $$
|
|
92
|
-
BEGIN
|
|
93
|
-
IF EXISTS (
|
|
94
|
-
SELECT 1
|
|
95
|
-
FROM information_schema.columns
|
|
96
|
-
WHERE table_name = 'lms_external_course_participation_approvals'
|
|
97
|
-
AND column_name = 'approval_status'
|
|
98
|
-
AND data_type = 'text'
|
|
99
|
-
) THEN
|
|
100
|
-
RAISE NOTICE 'Changing column back to enum type...';
|
|
101
|
-
|
|
102
|
-
-- Change column back to enum type
|
|
103
|
-
ALTER TABLE lms_external_course_participation_approvals
|
|
104
|
-
ALTER COLUMN approval_status TYPE "lms_external_course_participation_approvals_approval_status_enu"
|
|
105
|
-
USING approval_status::"lms_external_course_participation_approvals_approval_status_enu";
|
|
106
|
-
|
|
107
|
-
-- Set default value
|
|
108
|
-
ALTER TABLE lms_external_course_participation_approvals
|
|
109
|
-
ALTER COLUMN approval_status SET DEFAULT 'Pending'::"lms_external_course_participation_approvals_approval_status_enu";
|
|
110
|
-
|
|
111
|
-
-- Set NOT NULL constraint
|
|
112
|
-
ALTER TABLE lms_external_course_participation_approvals
|
|
113
|
-
ALTER COLUMN approval_status SET NOT NULL;
|
|
114
|
-
|
|
115
|
-
RAISE NOTICE 'Column changed back to enum type successfully.';
|
|
116
|
-
ELSE
|
|
117
|
-
RAISE NOTICE 'Column is already using enum type or table does not exist.';
|
|
118
|
-
END IF;
|
|
119
|
-
END $$;
|
|
120
|
-
|
|
121
|
-
-- Step 8: Verify the fix
|
|
122
|
-
SELECT
|
|
123
|
-
typname as enum_name,
|
|
124
|
-
array_agg(enumlabel ORDER BY enumsortorder) as enum_values
|
|
125
|
-
FROM pg_type t
|
|
126
|
-
JOIN pg_enum e ON t.oid = e.enumtypid
|
|
127
|
-
WHERE typname = 'lms_external_course_participation_approvals_approval_status_enu'
|
|
128
|
-
GROUP BY typname;
|
|
129
|
-
|
|
130
|
-
-- Step 9: Final verification - check table structure
|
|
131
|
-
SELECT
|
|
132
|
-
column_name,
|
|
133
|
-
data_type,
|
|
134
|
-
udt_name,
|
|
135
|
-
column_default,
|
|
136
|
-
is_nullable
|
|
137
|
-
FROM information_schema.columns
|
|
138
|
-
WHERE table_name = 'lms_external_course_participation_approvals'
|
|
139
|
-
AND column_name = 'approval_status';
|
|
140
|
-
|
|
141
|
-
-- ============================================================
|
|
142
|
-
-- Summary:
|
|
143
|
-
-- 1. Dropped old enum type (_old version)
|
|
144
|
-
-- 2. Dropped existing enum type if it exists
|
|
145
|
-
-- 3. Created new enum type with correct values
|
|
146
|
-
-- 4. Updated column to use enum type if table exists
|
|
147
|
-
--
|
|
148
|
-
-- After running this script, restart your application.
|
|
149
|
-
-- TypeORM synchronize should work correctly now.
|
|
150
|
-
-- ============================================================
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
-- ============================================================
|
|
2
|
-
-- SIMPLE FIX - Run these queries in order
|
|
3
|
-
-- ============================================================
|
|
4
|
-
|
|
5
|
-
-- Query 1: Drop the old enum type (from previous failed attempts)
|
|
6
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu_old" CASCADE;
|
|
7
|
-
|
|
8
|
-
-- Query 2: If table exists, change column to text temporarily
|
|
9
|
-
ALTER TABLE IF EXISTS lms_external_course_participation_approvals
|
|
10
|
-
ALTER COLUMN approval_status TYPE text USING approval_status::text;
|
|
11
|
-
|
|
12
|
-
-- Query 3: Drop the existing enum type
|
|
13
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu" CASCADE;
|
|
14
|
-
|
|
15
|
-
-- Query 4: Create the enum type with correct values
|
|
16
|
-
CREATE TYPE "lms_external_course_participation_approvals_approval_status_enu" AS ENUM (
|
|
17
|
-
'Pending',
|
|
18
|
-
'In Progress',
|
|
19
|
-
'Approved',
|
|
20
|
-
'Rejected'
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
-- Query 5: Change column back to enum type (if table exists)
|
|
24
|
-
ALTER TABLE IF EXISTS lms_external_course_participation_approvals
|
|
25
|
-
ALTER COLUMN approval_status TYPE "lms_external_course_participation_approvals_approval_status_enu"
|
|
26
|
-
USING approval_status::"lms_external_course_participation_approvals_approval_status_enu";
|
|
27
|
-
|
|
28
|
-
-- Query 6: Set default value (if table exists)
|
|
29
|
-
ALTER TABLE IF EXISTS lms_external_course_participation_approvals
|
|
30
|
-
ALTER COLUMN approval_status SET DEFAULT 'Pending'::"lms_external_course_participation_approvals_approval_status_enu";
|
|
31
|
-
|
|
32
|
-
-- Query 7: Set NOT NULL constraint (if table exists)
|
|
33
|
-
ALTER TABLE IF EXISTS lms_external_course_participation_approvals
|
|
34
|
-
ALTER COLUMN approval_status SET NOT NULL;
|
|
35
|
-
|
|
36
|
-
-- ============================================================
|
|
37
|
-
-- After running these queries, restart your application
|
|
38
|
-
-- ============================================================
|
package/fix-enum-conflict.sql
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
-- Fix for TypeORM enum conflict issue
|
|
2
|
-
-- Run this SQL script in your PostgreSQL database to resolve the enum type conflict
|
|
3
|
-
|
|
4
|
-
-- Drop the old enum type if it exists (from previous failed sync attempts)
|
|
5
|
-
DROP TYPE IF EXISTS "lms_external_course_participation_approvals_approval_status_enu_old" CASCADE;
|
|
6
|
-
|
|
7
|
-
-- Verify the current enum type exists and has correct values
|
|
8
|
-
DO $$
|
|
9
|
-
BEGIN
|
|
10
|
-
-- Check if the enum type exists
|
|
11
|
-
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'lms_external_course_participation_approvals_approval_status_enu') THEN
|
|
12
|
-
-- Create the enum type if it doesn't exist
|
|
13
|
-
CREATE TYPE "lms_external_course_participation_approvals_approval_status_enu" AS ENUM (
|
|
14
|
-
'Pending',
|
|
15
|
-
'In Progress',
|
|
16
|
-
'Approved',
|
|
17
|
-
'Rejected'
|
|
18
|
-
);
|
|
19
|
-
END IF;
|
|
20
|
-
END $$;
|
|
21
|
-
|
|
22
|
-
-- Note: After running this script, restart your application
|
|
23
|
-
-- The TypeORM synchronize should work correctly now
|
|
File without changes
|