@platform-modules/foreign-ministry 1.0.81 → 1.0.83

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.
@@ -1,4 +1,5 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from './FinancialRequestsModel';
2
3
  export declare enum FinancialApprovalStatus {
3
4
  PENDING = "Pending",
4
5
  APPROVED = "Approved",
@@ -13,5 +14,6 @@ export declare class FinancialApprovals extends BaseModel {
13
14
  comment: string;
14
15
  approval_status: FinancialApprovalStatus;
15
16
  action_date: Date;
17
+ financialRequest?: FinancialRequests;
16
18
  constructor(financial_request_id: number, level: number, approver_role_id: number, approval_status: FinancialApprovalStatus);
17
19
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FinancialApprovals = exports.FinancialApprovalStatus = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  var FinancialApprovalStatus;
16
17
  (function (FinancialApprovalStatus) {
17
18
  FinancialApprovalStatus["PENDING"] = "Pending";
@@ -57,6 +58,11 @@ __decorate([
57
58
  (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
58
59
  __metadata("design:type", Date)
59
60
  ], FinancialApprovals.prototype, "action_date", void 0);
61
+ __decorate([
62
+ (0, typeorm_1.ManyToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.approvals),
63
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
64
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
65
+ ], FinancialApprovals.prototype, "financialRequest", void 0);
60
66
  exports.FinancialApprovals = FinancialApprovals = __decorate([
61
67
  (0, typeorm_1.Entity)({ name: 'financial_approvals' }),
62
68
  __metadata("design:paramtypes", [Number, Number, Number, String])
@@ -1,8 +1,10 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from './FinancialRequestsModel';
2
3
  export declare class FinancialAttachments extends BaseModel {
3
4
  financial_request_id: number;
4
5
  file_url: string;
5
6
  file_name: string;
6
7
  file_type: string;
8
+ financialRequest?: FinancialRequests;
7
9
  constructor(financial_request_id: number, file_url: string, file_name: string);
8
10
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FinancialAttachments = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  let FinancialAttachments = class FinancialAttachments extends BaseModel_1.BaseModel {
16
17
  constructor(financial_request_id, file_url, file_name) {
17
18
  super();
@@ -38,6 +39,11 @@ __decorate([
38
39
  (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
39
40
  __metadata("design:type", String)
40
41
  ], FinancialAttachments.prototype, "file_type", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.ManyToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.attachments),
44
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
45
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
46
+ ], FinancialAttachments.prototype, "financialRequest", void 0);
41
47
  exports.FinancialAttachments = FinancialAttachments = __decorate([
42
48
  (0, typeorm_1.Entity)({ name: 'financial_attachments' }),
43
49
  __metadata("design:paramtypes", [Number, String, String])
@@ -1,7 +1,9 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from './FinancialRequestsModel';
2
3
  export declare class FinancialChats extends BaseModel {
3
4
  financial_request_id: number;
4
5
  content: string;
5
6
  sender_user_id: number;
7
+ financialRequest?: FinancialRequests;
6
8
  constructor(financial_request_id: number, content: string, sender_user_id: number);
7
9
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FinancialChats = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  let FinancialChats = class FinancialChats extends BaseModel_1.BaseModel {
16
17
  constructor(financial_request_id, content, sender_user_id) {
17
18
  super();
@@ -33,6 +34,11 @@ __decorate([
33
34
  (0, typeorm_1.Column)({ type: 'int' }),
34
35
  __metadata("design:type", Number)
35
36
  ], FinancialChats.prototype, "sender_user_id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.ManyToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.chats),
39
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
40
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
41
+ ], FinancialChats.prototype, "financialRequest", void 0);
36
42
  exports.FinancialChats = FinancialChats = __decorate([
37
43
  (0, typeorm_1.Entity)({ name: 'financial_chats' }),
38
44
  __metadata("design:paramtypes", [Number, String, Number])
@@ -1,4 +1,14 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { PayslipRequests } from './PayslipRequestsModel';
3
+ import { SalaryCertificateRequests } from './SalaryCertificateRequestsModel';
4
+ import { AllowanceRequests } from './AllowanceRequestsModel';
5
+ import { ReimbursementRequests } from './ReimbursementRequestsModel';
6
+ import { BankAccountChangeRequests } from './BankAccountChangeRequestsModel';
7
+ import { FinancialChats } from './FinancialChatsModel';
8
+ import { FinancialApprovals } from './FinancialApprovalsModel';
9
+ import { FinancialWorkFlow } from './FinancialWorkFlowModel';
10
+ import { FinancialAttachments } from './FinancialAttachmentsModel';
11
+ import { RequestTypeMaster } from './RequestTypeMasterModel';
2
12
  export declare enum FinancialRequestStatus {
3
13
  DRAFT = "Draft",
4
14
  SUBMITTED = "Submitted",
@@ -25,5 +35,15 @@ export declare class FinancialRequests extends BaseModel {
25
35
  remarks: string;
26
36
  current_approval_level: number;
27
37
  current_approver_id: number;
38
+ payslipRequest?: PayslipRequests;
39
+ salaryCertificateRequest?: SalaryCertificateRequests;
40
+ allowanceRequest?: AllowanceRequests;
41
+ reimbursementRequest?: ReimbursementRequests;
42
+ bankAccountChangeRequest?: BankAccountChangeRequests;
43
+ chats?: FinancialChats[];
44
+ approvals?: FinancialApprovals[];
45
+ workflows?: FinancialWorkFlow[];
46
+ attachments?: FinancialAttachments[];
47
+ requestType?: RequestTypeMaster;
28
48
  constructor(user_id: number, employee_id: string, employee_name: string, email_address: string, contact_number: string, request_type_id: number);
29
49
  }
@@ -12,6 +12,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FinancialRequests = exports.FinancialRequestStatus = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const PayslipRequestsModel_1 = require("./PayslipRequestsModel");
16
+ const SalaryCertificateRequestsModel_1 = require("./SalaryCertificateRequestsModel");
17
+ const AllowanceRequestsModel_1 = require("./AllowanceRequestsModel");
18
+ const ReimbursementRequestsModel_1 = require("./ReimbursementRequestsModel");
19
+ const BankAccountChangeRequestsModel_1 = require("./BankAccountChangeRequestsModel");
20
+ const FinancialChatsModel_1 = require("./FinancialChatsModel");
21
+ const FinancialApprovalsModel_1 = require("./FinancialApprovalsModel");
22
+ const FinancialWorkFlowModel_1 = require("./FinancialWorkFlowModel");
23
+ const FinancialAttachmentsModel_1 = require("./FinancialAttachmentsModel");
24
+ const RequestTypeMasterModel_1 = require("./RequestTypeMasterModel");
15
25
  var FinancialRequestStatus;
16
26
  (function (FinancialRequestStatus) {
17
27
  FinancialRequestStatus["DRAFT"] = "Draft";
@@ -97,6 +107,47 @@ __decorate([
97
107
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
98
108
  __metadata("design:type", Number)
99
109
  ], FinancialRequests.prototype, "current_approver_id", void 0);
110
+ __decorate([
111
+ (0, typeorm_1.OneToOne)(() => PayslipRequestsModel_1.PayslipRequests, payslip => payslip.financialRequest, { nullable: true }),
112
+ __metadata("design:type", PayslipRequestsModel_1.PayslipRequests)
113
+ ], FinancialRequests.prototype, "payslipRequest", void 0);
114
+ __decorate([
115
+ (0, typeorm_1.OneToOne)(() => SalaryCertificateRequestsModel_1.SalaryCertificateRequests, cert => cert.financial_request_id, { nullable: true }),
116
+ __metadata("design:type", SalaryCertificateRequestsModel_1.SalaryCertificateRequests)
117
+ ], FinancialRequests.prototype, "salaryCertificateRequest", void 0);
118
+ __decorate([
119
+ (0, typeorm_1.OneToOne)(() => AllowanceRequestsModel_1.AllowanceRequests, allowance => allowance.financial_request_id, { nullable: true }),
120
+ __metadata("design:type", AllowanceRequestsModel_1.AllowanceRequests)
121
+ ], FinancialRequests.prototype, "allowanceRequest", void 0);
122
+ __decorate([
123
+ (0, typeorm_1.OneToOne)(() => ReimbursementRequestsModel_1.ReimbursementRequests, reimb => reimb.financial_request_id, { nullable: true }),
124
+ __metadata("design:type", ReimbursementRequestsModel_1.ReimbursementRequests)
125
+ ], FinancialRequests.prototype, "reimbursementRequest", void 0);
126
+ __decorate([
127
+ (0, typeorm_1.OneToOne)(() => BankAccountChangeRequestsModel_1.BankAccountChangeRequests, bank => bank.financial_request_id, { nullable: true }),
128
+ __metadata("design:type", BankAccountChangeRequestsModel_1.BankAccountChangeRequests)
129
+ ], FinancialRequests.prototype, "bankAccountChangeRequest", void 0);
130
+ __decorate([
131
+ (0, typeorm_1.OneToMany)(() => FinancialChatsModel_1.FinancialChats, chat => chat.financialRequest),
132
+ __metadata("design:type", Array)
133
+ ], FinancialRequests.prototype, "chats", void 0);
134
+ __decorate([
135
+ (0, typeorm_1.OneToMany)(() => FinancialApprovalsModel_1.FinancialApprovals, approval => approval.financialRequest),
136
+ __metadata("design:type", Array)
137
+ ], FinancialRequests.prototype, "approvals", void 0);
138
+ __decorate([
139
+ (0, typeorm_1.OneToMany)(() => FinancialWorkFlowModel_1.FinancialWorkFlow, workflow => workflow.financialRequest),
140
+ __metadata("design:type", Array)
141
+ ], FinancialRequests.prototype, "workflows", void 0);
142
+ __decorate([
143
+ (0, typeorm_1.OneToMany)(() => FinancialAttachmentsModel_1.FinancialAttachments, attachment => attachment.financialRequest),
144
+ __metadata("design:type", Array)
145
+ ], FinancialRequests.prototype, "attachments", void 0);
146
+ __decorate([
147
+ (0, typeorm_1.ManyToOne)(() => RequestTypeMasterModel_1.RequestTypeMaster),
148
+ (0, typeorm_1.JoinColumn)({ name: 'request_type_id' }),
149
+ __metadata("design:type", RequestTypeMasterModel_1.RequestTypeMaster)
150
+ ], FinancialRequests.prototype, "requestType", void 0);
100
151
  exports.FinancialRequests = FinancialRequests = __decorate([
101
152
  (0, typeorm_1.Entity)({ name: 'financial_requests' }),
102
153
  __metadata("design:paramtypes", [Number, String, String, String, String, Number])
@@ -1,4 +1,5 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from './FinancialRequestsModel';
2
3
  export declare enum FinancialWorkFlowStatus {
3
4
  COMPLETED = "Completed",
4
5
  NOT_YET_STARTED = "Not Yet Started",
@@ -12,5 +13,6 @@ export declare class FinancialWorkFlow extends BaseModel {
12
13
  approved_by_user_id: number;
13
14
  content: string;
14
15
  activity_date: Date;
16
+ financialRequest?: FinancialRequests;
15
17
  constructor(financial_request_id: number, status: FinancialWorkFlowStatus, approved_by_user_id: number, content: string);
16
18
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.FinancialWorkFlow = exports.FinancialWorkFlowStatus = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  var FinancialWorkFlowStatus;
16
17
  (function (FinancialWorkFlowStatus) {
17
18
  FinancialWorkFlowStatus["COMPLETED"] = "Completed";
@@ -55,6 +56,11 @@ __decorate([
55
56
  (0, typeorm_1.Column)({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }),
56
57
  __metadata("design:type", Date)
57
58
  ], FinancialWorkFlow.prototype, "activity_date", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.ManyToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.workflows),
61
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
62
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
63
+ ], FinancialWorkFlow.prototype, "financialRequest", void 0);
58
64
  exports.FinancialWorkFlow = FinancialWorkFlow = __decorate([
59
65
  (0, typeorm_1.Entity)({ name: 'financial_work_flows' }),
60
66
  __metadata("design:paramtypes", [Number, String, Number, String])
@@ -1,8 +1,10 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from './FinancialRequestsModel';
2
3
  export declare class PayslipRequests extends BaseModel {
3
4
  financial_request_id: number;
4
5
  payslip_month: string;
5
6
  payslip_year: number;
6
7
  payslip_url: string;
8
+ financialRequest?: FinancialRequests;
7
9
  constructor(financial_request_id: number, payslip_month: string, payslip_year: number, payslip_url: string);
8
10
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PayslipRequests = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  let PayslipRequests = class PayslipRequests extends BaseModel_1.BaseModel {
16
17
  constructor(financial_request_id, payslip_month, payslip_year, payslip_url) {
17
18
  super();
@@ -38,6 +39,11 @@ __decorate([
38
39
  (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
39
40
  __metadata("design:type", String)
40
41
  ], PayslipRequests.prototype, "payslip_url", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.OneToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.payslipRequest),
44
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
45
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
46
+ ], PayslipRequests.prototype, "financialRequest", void 0);
41
47
  exports.PayslipRequests = PayslipRequests = __decorate([
42
48
  (0, typeorm_1.Entity)({ name: 'payslip_requests' }),
43
49
  __metadata("design:paramtypes", [Number, String, Number, String])
@@ -1,12 +1,9 @@
1
1
  import { BaseModel } from './BaseModel';
2
+ import { FinancialRequests } from "./FinancialRequestsModel";
2
3
  export declare class SalaryCertificateRequests extends BaseModel {
3
4
  financial_request_id: number;
4
5
  certificate_purpose: string;
5
6
  certificate_url: string;
6
- addressee_name: string;
7
- addressee_details: string;
8
- include_salary_details: boolean;
9
- include_allowances: boolean;
10
- certificate_language: string;
7
+ financialRequest?: FinancialRequests;
11
8
  constructor(financial_request_id: number, certificate_purpose: string, certificate_url: string);
12
9
  }
@@ -12,15 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SalaryCertificateRequests = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseModel_1 = require("./BaseModel");
15
+ const FinancialRequestsModel_1 = require("./FinancialRequestsModel");
15
16
  let SalaryCertificateRequests = class SalaryCertificateRequests extends BaseModel_1.BaseModel {
16
17
  constructor(financial_request_id, certificate_purpose, certificate_url) {
17
18
  super();
18
19
  this.financial_request_id = financial_request_id;
19
20
  this.certificate_purpose = certificate_purpose;
20
21
  this.certificate_url = certificate_url;
21
- this.include_salary_details = false;
22
- this.include_allowances = false;
23
- this.certificate_language = 'English';
24
22
  }
25
23
  };
26
24
  exports.SalaryCertificateRequests = SalaryCertificateRequests;
@@ -37,25 +35,10 @@ __decorate([
37
35
  __metadata("design:type", String)
38
36
  ], SalaryCertificateRequests.prototype, "certificate_url", void 0);
39
37
  __decorate([
40
- (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
41
- __metadata("design:type", String)
42
- ], SalaryCertificateRequests.prototype, "addressee_name", void 0);
43
- __decorate([
44
- (0, typeorm_1.Column)({ type: 'text', nullable: true }),
45
- __metadata("design:type", String)
46
- ], SalaryCertificateRequests.prototype, "addressee_details", void 0);
47
- __decorate([
48
- (0, typeorm_1.Column)({ type: 'boolean', default: false }),
49
- __metadata("design:type", Boolean)
50
- ], SalaryCertificateRequests.prototype, "include_salary_details", void 0);
51
- __decorate([
52
- (0, typeorm_1.Column)({ type: 'boolean', default: false }),
53
- __metadata("design:type", Boolean)
54
- ], SalaryCertificateRequests.prototype, "include_allowances", void 0);
55
- __decorate([
56
- (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
57
- __metadata("design:type", String)
58
- ], SalaryCertificateRequests.prototype, "certificate_language", void 0);
38
+ (0, typeorm_1.OneToOne)(() => FinancialRequestsModel_1.FinancialRequests, fr => fr.salaryCertificateRequest),
39
+ (0, typeorm_1.JoinColumn)({ name: 'financial_request_id' }),
40
+ __metadata("design:type", FinancialRequestsModel_1.FinancialRequests)
41
+ ], SalaryCertificateRequests.prototype, "financialRequest", void 0);
59
42
  exports.SalaryCertificateRequests = SalaryCertificateRequests = __decorate([
60
43
  (0, typeorm_1.Entity)({ name: 'salary_certificate_requests' }),
61
44
  __metadata("design:paramtypes", [Number, String, String])
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.0.81",
3
+ "version": "1.0.83",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from './FinancialRequestsModel';
3
4
 
4
5
  export enum FinancialApprovalStatus {
5
6
  PENDING = "Pending",
@@ -31,6 +32,10 @@ export class FinancialApprovals extends BaseModel {
31
32
  @Column({ type: 'timestamp', nullable: true })
32
33
  action_date: Date;
33
34
 
35
+ @ManyToOne(() => FinancialRequests, fr => fr.approvals)
36
+ @JoinColumn({ name: 'financial_request_id' })
37
+ financialRequest?: FinancialRequests;
38
+
34
39
  constructor(
35
40
  financial_request_id: number,
36
41
  level: number,
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from './FinancialRequestsModel';
3
4
 
4
5
  @Entity({ name: 'financial_attachments' })
5
6
  export class FinancialAttachments extends BaseModel {
@@ -15,6 +16,10 @@ export class FinancialAttachments extends BaseModel {
15
16
  @Column({ type: 'varchar', length: 50, nullable: true })
16
17
  file_type: string; // PDF, JPG, PNG, etc.
17
18
 
19
+ @ManyToOne(() => FinancialRequests, fr => fr.attachments)
20
+ @JoinColumn({ name: 'financial_request_id' })
21
+ financialRequest?: FinancialRequests;
22
+
18
23
  constructor(
19
24
  financial_request_id: number,
20
25
  file_url: string,
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from './FinancialRequestsModel';
3
4
 
4
5
  @Entity({ name: 'financial_chats' })
5
6
  export class FinancialChats extends BaseModel {
@@ -12,6 +13,10 @@ export class FinancialChats extends BaseModel {
12
13
  @Column({ type: 'int' })
13
14
  sender_user_id: number;
14
15
 
16
+ @ManyToOne(() => FinancialRequests, fr => fr.chats)
17
+ @JoinColumn({ name: 'financial_request_id' })
18
+ financialRequest?: FinancialRequests;
19
+
15
20
  constructor(financial_request_id: number, content: string, sender_user_id: number) {
16
21
  super();
17
22
  this.financial_request_id = financial_request_id;
@@ -1,5 +1,15 @@
1
1
  import { Column, Entity, OneToOne, OneToMany, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { PayslipRequests } from './PayslipRequestsModel';
4
+ import { SalaryCertificateRequests } from './SalaryCertificateRequestsModel';
5
+ import { AllowanceRequests } from './AllowanceRequestsModel';
6
+ import { ReimbursementRequests } from './ReimbursementRequestsModel';
7
+ import { BankAccountChangeRequests } from './BankAccountChangeRequestsModel';
8
+ import { FinancialChats } from './FinancialChatsModel';
9
+ import { FinancialApprovals } from './FinancialApprovalsModel';
10
+ import { FinancialWorkFlow } from './FinancialWorkFlowModel';
11
+ import { FinancialAttachments } from './FinancialAttachmentsModel';
12
+ import { RequestTypeMaster } from './RequestTypeMasterModel';
3
13
 
4
14
  export enum FinancialRequestStatus {
5
15
  DRAFT = "Draft",
@@ -59,6 +69,37 @@ export class FinancialRequests extends BaseModel {
59
69
  @Column({ type: 'int', nullable: true })
60
70
  current_approver_id: number;
61
71
 
72
+ @OneToOne(() => PayslipRequests, payslip => payslip.financialRequest, { nullable: true })
73
+ payslipRequest?: PayslipRequests;
74
+
75
+ @OneToOne(() => SalaryCertificateRequests, cert => cert.financial_request_id, { nullable: true })
76
+ salaryCertificateRequest?: SalaryCertificateRequests;
77
+
78
+ @OneToOne(() => AllowanceRequests, allowance => allowance.financial_request_id, { nullable: true })
79
+ allowanceRequest?: AllowanceRequests;
80
+
81
+ @OneToOne(() => ReimbursementRequests, reimb => reimb.financial_request_id, { nullable: true })
82
+ reimbursementRequest?: ReimbursementRequests;
83
+
84
+ @OneToOne(() => BankAccountChangeRequests, bank => bank.financial_request_id, { nullable: true })
85
+ bankAccountChangeRequest?: BankAccountChangeRequests;
86
+
87
+ @OneToMany(() => FinancialChats, chat => chat.financialRequest)
88
+ chats?: FinancialChats[];
89
+
90
+ @OneToMany(() => FinancialApprovals, approval => approval.financialRequest)
91
+ approvals?: FinancialApprovals[];
92
+
93
+ @OneToMany(() => FinancialWorkFlow, workflow => workflow.financialRequest)
94
+ workflows?: FinancialWorkFlow[];
95
+
96
+ @OneToMany(() => FinancialAttachments, attachment => attachment.financialRequest)
97
+ attachments?: FinancialAttachments[];
98
+
99
+ @ManyToOne(() => RequestTypeMaster)
100
+ @JoinColumn({ name: 'request_type_id' })
101
+ requestType?: RequestTypeMaster;
102
+
62
103
  constructor(
63
104
  user_id: number,
64
105
  employee_id: string,
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, ManyToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from './FinancialRequestsModel';
3
4
 
4
5
  export enum FinancialWorkFlowStatus {
5
6
  COMPLETED = "Completed",
@@ -28,6 +29,10 @@ export class FinancialWorkFlow extends BaseModel {
28
29
  @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
29
30
  activity_date: Date;
30
31
 
32
+ @ManyToOne(() => FinancialRequests, fr => fr.workflows)
33
+ @JoinColumn({ name: 'financial_request_id' })
34
+ financialRequest?: FinancialRequests;
35
+
31
36
  constructor(
32
37
  financial_request_id: number,
33
38
  status: FinancialWorkFlowStatus,
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, OneToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from './FinancialRequestsModel';
3
4
 
4
5
  @Entity({ name: 'payslip_requests' })
5
6
  export class PayslipRequests extends BaseModel {
@@ -15,6 +16,10 @@ export class PayslipRequests extends BaseModel {
15
16
  @Column({ type: 'varchar', length: 500, nullable: true })
16
17
  payslip_url: string;
17
18
 
19
+ @OneToOne(() => FinancialRequests, fr => fr.payslipRequest)
20
+ @JoinColumn({ name: 'financial_request_id' })
21
+ financialRequest?: FinancialRequests;
22
+
18
23
  constructor(financial_request_id: number, payslip_month: string, payslip_year: number, payslip_url: string) {
19
24
  super();
20
25
  this.financial_request_id = financial_request_id;
@@ -1,5 +1,6 @@
1
1
  import { Column, Entity, OneToOne, JoinColumn } from "typeorm";
2
2
  import { BaseModel } from './BaseModel';
3
+ import { FinancialRequests } from "./FinancialRequestsModel";
3
4
 
4
5
  @Entity({ name: 'salary_certificate_requests' })
5
6
  export class SalaryCertificateRequests extends BaseModel {
@@ -12,29 +13,16 @@ export class SalaryCertificateRequests extends BaseModel {
12
13
  @Column({ type: 'varchar', length: 500, nullable: true })
13
14
  certificate_url: string;
14
15
 
15
- @Column({ type: 'varchar', length: 255, nullable: true })
16
- addressee_name: string;
17
16
 
18
- @Column({ type: 'text', nullable: true })
19
- addressee_details: string;
20
-
21
- @Column({ type: 'boolean', default: false })
22
- include_salary_details: boolean;
23
-
24
- @Column({ type: 'boolean', default: false })
25
- include_allowances: boolean;
26
-
27
- @Column({ type: 'varchar', length: 50, nullable: true })
28
- certificate_language: string; // English, Arabic
17
+ @OneToOne(() => FinancialRequests, fr => fr.salaryCertificateRequest)
18
+ @JoinColumn({ name: 'financial_request_id' })
19
+ financialRequest?: FinancialRequests;
29
20
 
30
21
  constructor(financial_request_id: number, certificate_purpose: string, certificate_url: string) {
31
22
  super();
32
23
  this.financial_request_id = financial_request_id;
33
24
  this.certificate_purpose = certificate_purpose;
34
25
  this.certificate_url = certificate_url;
35
- this.include_salary_details = false;
36
- this.include_allowances = false;
37
- this.certificate_language = 'English';
38
26
  }
39
27
  }
40
28