@platform-modules/foreign-ministry 1.1.38 → 1.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data-source.js +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/models/CurrencyModel.d.ts +10 -0
- package/dist/models/CurrencyModel.js +53 -0
- package/dist/models/EarlyCheckoutChatModel.d.ts +1 -1
- package/dist/models/EarlyCheckoutChatModel.js +1 -1
- package/dist/models/StayAfterHoursChatModel.d.ts +1 -1
- package/dist/models/StayAfterHoursChatModel.js +1 -1
- package/dist/models/TelephoneDirectoryModel.d.ts +22 -0
- package/dist/models/TelephoneDirectoryModel.js +96 -0
- package/package.json +1 -1
- package/src/data-source.ts +2 -0
- package/src/index.ts +1 -0
- package/src/models/CurrencyModel.ts +38 -0
- package/src/models/EarlyCheckoutChatModel.ts +2 -2
- package/src/models/StayAfterHoursChatModel.ts +2 -2
- package/src/models/TelephoneDirectoryModel.ts +69 -0
package/dist/data-source.js
CHANGED
|
@@ -90,6 +90,7 @@ const UpdateAttendanceChatModel_1 = require("./models/UpdateAttendanceChatModel"
|
|
|
90
90
|
const UpdateAttendanceWorkflowModel_1 = require("./models/UpdateAttendanceWorkflowModel");
|
|
91
91
|
const HelpdeskCategoriesModel_1 = require("./models/HelpdeskCategoriesModel");
|
|
92
92
|
const HelpdeskSubCategoriesModel_1 = require("./models/HelpdeskSubCategoriesModel");
|
|
93
|
+
const CurrencyModel_1 = require("./models/CurrencyModel");
|
|
93
94
|
exports.AppDataSource = new typeorm_1.DataSource({
|
|
94
95
|
type: 'postgres',
|
|
95
96
|
host: process.env.DB_HOST || 'localhost',
|
|
@@ -169,6 +170,7 @@ exports.AppDataSource = new typeorm_1.DataSource({
|
|
|
169
170
|
DelegateSettingsModel_1.DelegateSettings,
|
|
170
171
|
AllowanceTypesModel_1.AllowanceTypes,
|
|
171
172
|
BankNamesModel_1.BankNames,
|
|
173
|
+
CurrencyModel_1.Currency,
|
|
172
174
|
HelpdeskCategoriesModel_1.HelpdeskCategories,
|
|
173
175
|
HelpdeskSubCategoriesModel_1.HelpdeskSubCategories,
|
|
174
176
|
EarlyCheckoutRequestModel_1.EarlyCheckoutRequests,
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -106,3 +106,4 @@ __exportStar(require("./models/HelpdeskCategoriesModel"), exports);
|
|
|
106
106
|
__exportStar(require("./models/HelpdeskSubCategoriesModel"), exports);
|
|
107
107
|
__exportStar(require("./models/IssueTypesModel"), exports);
|
|
108
108
|
__exportStar(require("./models/RoutingGroupsModel"), exports);
|
|
109
|
+
__exportStar(require("./models/CurrencyModel"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseModel } from './BaseModel';
|
|
2
|
+
export declare class Currency extends BaseModel {
|
|
3
|
+
id: number;
|
|
4
|
+
code: string;
|
|
5
|
+
name: string;
|
|
6
|
+
symbol: string;
|
|
7
|
+
countries: string;
|
|
8
|
+
is_active: boolean;
|
|
9
|
+
constructor(code: string, name: string, symbol?: string, countries?: string);
|
|
10
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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.Currency = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const BaseModel_1 = require("./BaseModel");
|
|
15
|
+
let Currency = class Currency extends BaseModel_1.BaseModel {
|
|
16
|
+
constructor(code, name, symbol, countries) {
|
|
17
|
+
super();
|
|
18
|
+
this.code = code;
|
|
19
|
+
this.name = name;
|
|
20
|
+
this.symbol = symbol || '';
|
|
21
|
+
this.countries = countries || '[]';
|
|
22
|
+
this.is_active = true;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.Currency = Currency;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], Currency.prototype, "id", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 10, nullable: false, unique: true }),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], Currency.prototype, "code", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], Currency.prototype, "name", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 10, nullable: true }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], Currency.prototype, "symbol", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, typeorm_1.Column)({ type: "text", nullable: true }),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], Currency.prototype, "countries", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, typeorm_1.Column)({ type: "boolean", default: true }),
|
|
48
|
+
__metadata("design:type", Boolean)
|
|
49
|
+
], Currency.prototype, "is_active", void 0);
|
|
50
|
+
exports.Currency = Currency = __decorate([
|
|
51
|
+
(0, typeorm_1.Entity)({ name: "currencies" }),
|
|
52
|
+
__metadata("design:paramtypes", [String, String, String, String])
|
|
53
|
+
], Currency);
|
|
@@ -15,6 +15,6 @@ export declare class EarlyCheckoutRequestChat extends BaseModel {
|
|
|
15
15
|
role_id: number;
|
|
16
16
|
message: string;
|
|
17
17
|
messageType: EarlyCheckoutMessageType;
|
|
18
|
-
status:
|
|
18
|
+
status: string;
|
|
19
19
|
constructor(request_id: number, user_id: number, role_id: number, message: string, service_id?: number, sub_service_id?: number, messageType?: EarlyCheckoutMessageType, status?: EarlyCheckoutApprovalStatus);
|
|
20
20
|
}
|
|
@@ -69,7 +69,7 @@ __decorate([
|
|
|
69
69
|
__metadata("design:type", String)
|
|
70
70
|
], EarlyCheckoutRequestChat.prototype, "messageType", void 0);
|
|
71
71
|
__decorate([
|
|
72
|
-
(0, typeorm_1.Column)({ type: '
|
|
72
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
73
73
|
__metadata("design:type", String)
|
|
74
74
|
], EarlyCheckoutRequestChat.prototype, "status", void 0);
|
|
75
75
|
exports.EarlyCheckoutRequestChat = EarlyCheckoutRequestChat = __decorate([
|
|
@@ -15,6 +15,6 @@ export declare class StayAfterHoursRequestChat extends BaseModel {
|
|
|
15
15
|
role_id: number;
|
|
16
16
|
message: string;
|
|
17
17
|
messageType: StayAfterHoursMessageType;
|
|
18
|
-
status:
|
|
18
|
+
status: string;
|
|
19
19
|
constructor(request_id: number, user_id: number, role_id: number, message: string, service_id?: number, sub_service_id?: number, messageType?: StayAfterHoursMessageType, status?: StayAfterHoursApprovalStatus);
|
|
20
20
|
}
|
|
@@ -69,7 +69,7 @@ __decorate([
|
|
|
69
69
|
__metadata("design:type", String)
|
|
70
70
|
], StayAfterHoursRequestChat.prototype, "messageType", void 0);
|
|
71
71
|
__decorate([
|
|
72
|
-
(0, typeorm_1.Column)({ type: '
|
|
72
|
+
(0, typeorm_1.Column)({ type: 'text', nullable: true }),
|
|
73
73
|
__metadata("design:type", String)
|
|
74
74
|
], StayAfterHoursRequestChat.prototype, "status", void 0);
|
|
75
75
|
exports.StayAfterHoursRequestChat = StayAfterHoursRequestChat = __decorate([
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseModel } from './BaseModel';
|
|
2
|
+
export declare class TelephoneDirectory extends BaseModel {
|
|
3
|
+
id: number;
|
|
4
|
+
category: "FM" | "Embassy";
|
|
5
|
+
name: string;
|
|
6
|
+
position: string;
|
|
7
|
+
diplomatic_title: string;
|
|
8
|
+
embassy_name: string;
|
|
9
|
+
email: string;
|
|
10
|
+
contact_number: string;
|
|
11
|
+
extension_number: string;
|
|
12
|
+
fax_number: string;
|
|
13
|
+
location: string;
|
|
14
|
+
department_id: number;
|
|
15
|
+
employee_id: number | null;
|
|
16
|
+
street: string;
|
|
17
|
+
city: string;
|
|
18
|
+
state: string;
|
|
19
|
+
zip_code: string;
|
|
20
|
+
country: string;
|
|
21
|
+
photo_url: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
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.TelephoneDirectory = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const BaseModel_1 = require("./BaseModel");
|
|
15
|
+
let TelephoneDirectory = class TelephoneDirectory extends BaseModel_1.BaseModel {
|
|
16
|
+
};
|
|
17
|
+
exports.TelephoneDirectory = TelephoneDirectory;
|
|
18
|
+
__decorate([
|
|
19
|
+
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
20
|
+
__metadata("design:type", Number)
|
|
21
|
+
], TelephoneDirectory.prototype, "id", void 0);
|
|
22
|
+
__decorate([
|
|
23
|
+
(0, typeorm_1.Column)({ type: "enum", enum: ["FM", "Embassy"], nullable: false }),
|
|
24
|
+
__metadata("design:type", String)
|
|
25
|
+
], TelephoneDirectory.prototype, "category", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], TelephoneDirectory.prototype, "name", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], TelephoneDirectory.prototype, "position", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
|
|
36
|
+
__metadata("design:type", String)
|
|
37
|
+
], TelephoneDirectory.prototype, "diplomatic_title", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], TelephoneDirectory.prototype, "embassy_name", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: false }),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], TelephoneDirectory.prototype, "email", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: true }),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], TelephoneDirectory.prototype, "contact_number", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 10, nullable: true }),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], TelephoneDirectory.prototype, "extension_number", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: true }),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], TelephoneDirectory.prototype, "fax_number", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], TelephoneDirectory.prototype, "location", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, typeorm_1.Column)({ nullable: true }),
|
|
64
|
+
__metadata("design:type", Number)
|
|
65
|
+
], TelephoneDirectory.prototype, "department_id", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, typeorm_1.Column)({ type: "int", nullable: true }),
|
|
68
|
+
__metadata("design:type", Object)
|
|
69
|
+
], TelephoneDirectory.prototype, "employee_id", void 0);
|
|
70
|
+
__decorate([
|
|
71
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 255, nullable: true }),
|
|
72
|
+
__metadata("design:type", String)
|
|
73
|
+
], TelephoneDirectory.prototype, "street", void 0);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
|
|
76
|
+
__metadata("design:type", String)
|
|
77
|
+
], TelephoneDirectory.prototype, "city", void 0);
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], TelephoneDirectory.prototype, "state", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 20, nullable: true }),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], TelephoneDirectory.prototype, "zip_code", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 100, nullable: true }),
|
|
88
|
+
__metadata("design:type", String)
|
|
89
|
+
], TelephoneDirectory.prototype, "country", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, typeorm_1.Column)({ type: "varchar", length: 500, nullable: true }),
|
|
92
|
+
__metadata("design:type", String)
|
|
93
|
+
], TelephoneDirectory.prototype, "photo_url", void 0);
|
|
94
|
+
exports.TelephoneDirectory = TelephoneDirectory = __decorate([
|
|
95
|
+
(0, typeorm_1.Entity)({ name: "telephone_directory" })
|
|
96
|
+
], TelephoneDirectory);
|
package/package.json
CHANGED
package/src/data-source.ts
CHANGED
|
@@ -95,6 +95,7 @@ import { UpdateAttendanceWorkFlow } from './models/UpdateAttendanceWorkflowModel
|
|
|
95
95
|
|
|
96
96
|
import { HelpdeskCategories } from './models/HelpdeskCategoriesModel';
|
|
97
97
|
import { HelpdeskSubCategories } from './models/HelpdeskSubCategoriesModel';
|
|
98
|
+
import { Currency } from './models/CurrencyModel';
|
|
98
99
|
export const AppDataSource = new DataSource({
|
|
99
100
|
type: 'postgres',
|
|
100
101
|
host: process.env.DB_HOST || 'localhost',
|
|
@@ -174,6 +175,7 @@ export const AppDataSource = new DataSource({
|
|
|
174
175
|
DelegateSettings,
|
|
175
176
|
AllowanceTypes,
|
|
176
177
|
BankNames,
|
|
178
|
+
Currency,
|
|
177
179
|
HelpdeskCategories,
|
|
178
180
|
HelpdeskSubCategories,
|
|
179
181
|
EarlyCheckoutRequests,
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "currencies" })
|
|
5
|
+
export class Currency extends BaseModel {
|
|
6
|
+
@PrimaryGeneratedColumn()
|
|
7
|
+
id: number;
|
|
8
|
+
|
|
9
|
+
@Column({ type: "varchar", length: 10, nullable: false, unique: true })
|
|
10
|
+
code: string; // Currency code (e.g., "OMR", "USD")
|
|
11
|
+
|
|
12
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
13
|
+
name: string; // Currency name (e.g., "Omani Rial", "US Dollar")
|
|
14
|
+
|
|
15
|
+
@Column({ type: "varchar", length: 10, nullable: true })
|
|
16
|
+
symbol: string; // Currency symbol (e.g., "﷼", "$")
|
|
17
|
+
|
|
18
|
+
@Column({ type: "text", nullable: true })
|
|
19
|
+
countries: string; // JSON array of countries as string (e.g., '["Oman"]')
|
|
20
|
+
|
|
21
|
+
@Column({ type: "boolean", default: true })
|
|
22
|
+
is_active: boolean;
|
|
23
|
+
|
|
24
|
+
constructor(
|
|
25
|
+
code: string,
|
|
26
|
+
name: string,
|
|
27
|
+
symbol?: string,
|
|
28
|
+
countries?: string
|
|
29
|
+
) {
|
|
30
|
+
super();
|
|
31
|
+
this.code = code;
|
|
32
|
+
this.name = name;
|
|
33
|
+
this.symbol = symbol || '';
|
|
34
|
+
this.countries = countries || '[]';
|
|
35
|
+
this.is_active = true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -39,8 +39,8 @@ export class EarlyCheckoutRequestChat extends BaseModel {
|
|
|
39
39
|
})
|
|
40
40
|
messageType: EarlyCheckoutMessageType;
|
|
41
41
|
|
|
42
|
-
@Column({ type: '
|
|
43
|
-
status:
|
|
42
|
+
@Column({ type: 'text', nullable: true })
|
|
43
|
+
status: string;
|
|
44
44
|
|
|
45
45
|
constructor(
|
|
46
46
|
request_id: number,
|
|
@@ -39,8 +39,8 @@ export class StayAfterHoursRequestChat extends BaseModel {
|
|
|
39
39
|
})
|
|
40
40
|
messageType: StayAfterHoursMessageType;
|
|
41
41
|
|
|
42
|
-
@Column({ type: '
|
|
43
|
-
status:
|
|
42
|
+
@Column({ type: 'text', nullable: true })
|
|
43
|
+
status: string;
|
|
44
44
|
|
|
45
45
|
constructor(
|
|
46
46
|
request_id: number,
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
|
|
2
|
+
import { BaseModel } from './BaseModel';
|
|
3
|
+
|
|
4
|
+
@Entity({ name: "telephone_directory" })
|
|
5
|
+
export class TelephoneDirectory extends BaseModel {
|
|
6
|
+
@PrimaryGeneratedColumn()
|
|
7
|
+
id: number;
|
|
8
|
+
|
|
9
|
+
// General Information
|
|
10
|
+
@Column({ type: "enum", enum: ["FM", "Embassy"], nullable: false })
|
|
11
|
+
category: "FM" | "Embassy"; // Mandatory - to differentiate FM and Embassy
|
|
12
|
+
|
|
13
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
14
|
+
name: string;
|
|
15
|
+
|
|
16
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
17
|
+
position: string; // Position/Title
|
|
18
|
+
|
|
19
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
20
|
+
diplomatic_title: string; // Diplomatic Title
|
|
21
|
+
|
|
22
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
23
|
+
embassy_name: string; // Embassy name for M&C wise search (for Embassy category)
|
|
24
|
+
|
|
25
|
+
// Email & Contact Information
|
|
26
|
+
@Column({ type: "varchar", length: 255, nullable: false })
|
|
27
|
+
email: string; // Mandatory
|
|
28
|
+
|
|
29
|
+
@Column({ type: "varchar", length: 20, nullable: true })
|
|
30
|
+
contact_number: string; // Optional
|
|
31
|
+
|
|
32
|
+
@Column({ type: "varchar", length: 10, nullable: true })
|
|
33
|
+
extension_number: string; // Extension Number - can be generic or linked to employee
|
|
34
|
+
|
|
35
|
+
@Column({ type: "varchar", length: 20, nullable: true })
|
|
36
|
+
fax_number: string; // Optional
|
|
37
|
+
|
|
38
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
39
|
+
location: string; // Optional
|
|
40
|
+
|
|
41
|
+
// Department Information
|
|
42
|
+
@Column({ nullable: true })
|
|
43
|
+
department_id: number; // Reference to departments table
|
|
44
|
+
|
|
45
|
+
// Additional fields for employee profile linkage
|
|
46
|
+
@Column({ type: "int", nullable: true })
|
|
47
|
+
employee_id: number | null; // If extension is linked to employee profile
|
|
48
|
+
|
|
49
|
+
// Business Postal Address Information (Optional)
|
|
50
|
+
@Column({ type: "varchar", length: 255, nullable: true })
|
|
51
|
+
street: string;
|
|
52
|
+
|
|
53
|
+
@Column({ type: "varchar", length: 100, nullable: true })
|
|
54
|
+
city: string;
|
|
55
|
+
|
|
56
|
+
@Column({ type: "varchar", length: 100, nullable: true })
|
|
57
|
+
state: string;
|
|
58
|
+
|
|
59
|
+
@Column({ type: "varchar", length: 20, nullable: true })
|
|
60
|
+
zip_code: string;
|
|
61
|
+
|
|
62
|
+
@Column({ type: "varchar", length: 100, nullable: true })
|
|
63
|
+
country: string;
|
|
64
|
+
|
|
65
|
+
// Photo
|
|
66
|
+
@Column({ type: "varchar", length: 500, nullable: true })
|
|
67
|
+
photo_url: string;
|
|
68
|
+
}
|
|
69
|
+
|