@platform-modules/foreign-ministry 1.3.133 → 1.3.135

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.
Files changed (52) hide show
  1. package/.env +15 -6
  2. package/dist/data-source.js +13 -1
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.js +7 -0
  5. package/dist/models/HelpContentMappedCategoriesModel.d.ts +6 -0
  6. package/dist/models/HelpContentMappedCategoriesModel.js +34 -0
  7. package/dist/models/HelpContentMappedTagsModel.d.ts +6 -0
  8. package/dist/models/HelpContentMappedTagsModel.js +34 -0
  9. package/dist/models/HelpContentTagsModel.d.ts +5 -0
  10. package/dist/models/HelpContentTagsModel.js +29 -0
  11. package/dist/models/MeetingApprovalModel.d.ts +22 -0
  12. package/dist/models/MeetingApprovalModel.js +84 -0
  13. package/dist/models/MeetingAttachmentModel.d.ts +11 -0
  14. package/dist/models/MeetingAttachmentModel.js +52 -0
  15. package/dist/models/MeetingAttendeeModel.d.ts +12 -0
  16. package/dist/models/MeetingAttendeeModel.js +39 -0
  17. package/dist/models/MeetingChatModel.d.ts +19 -0
  18. package/dist/models/MeetingChatModel.js +77 -0
  19. package/dist/models/MeetingRequestModel.d.ts +68 -0
  20. package/dist/models/MeetingRequestModel.js +174 -0
  21. package/dist/models/MeetingWorkflowModel.d.ts +17 -0
  22. package/dist/models/MeetingWorkflowModel.js +62 -0
  23. package/dist/models/StayAfterHoursRequestModel.d.ts +0 -2
  24. package/dist/models/StayAfterHoursRequestModel.js +0 -8
  25. package/dist/models/questionTagsModel.d.ts +6 -0
  26. package/dist/models/questionTagsModel.js +34 -0
  27. package/package.json +24 -24
  28. package/src/data-source.ts +357 -345
  29. package/src/index.ts +278 -272
  30. package/src/models/DocumentTranslationRequestModel.ts +54 -54
  31. package/src/models/LeaveConfigModel.ts +71 -71
  32. package/src/models/MeetingApprovalModel.ts +56 -0
  33. package/src/models/MeetingAttachmentModel.ts +29 -0
  34. package/src/models/MeetingAttendeeModel.ts +21 -0
  35. package/src/models/MeetingChatModel.ts +63 -0
  36. package/src/models/MeetingRequestModel.ts +132 -0
  37. package/src/models/MeetingWorkflowModel.ts +38 -0
  38. package/src/models/MissionTravelApprovalModel.ts +101 -101
  39. package/src/models/MissionTravelAttachmentModel.ts +56 -56
  40. package/src/models/MissionTravelChatModel.ts +52 -52
  41. package/src/models/MissionTravelPersonModel.ts +105 -105
  42. package/src/models/MissionTravelWorkflowModel.ts +54 -54
  43. package/src/models/MoodleUsersModel.ts +25 -25
  44. package/src/models/RegisterCandidateRequestModel.ts +177 -177
  45. package/src/models/SectionModel.ts +35 -35
  46. package/src/models/ServicesNotificationConfigsModel.ts +55 -55
  47. package/src/models/StayAfterHoursRequestModel.ts +5 -4
  48. package/dist/models/MissionTravelClassConfigModel.d.ts +0 -10
  49. package/dist/models/MissionTravelClassConfigModel.js +0 -50
  50. package/dist/models/MissionTravelPerdiemModel.d.ts +0 -10
  51. package/dist/models/MissionTravelPerdiemModel.js +0 -54
  52. /package/src/models/{LeaveConfigGradesModel.Ts → LeaveConfigGradesModel.ts} +0 -0
@@ -0,0 +1,174 @@
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.MeetingRequests = exports.MeetingLocation = exports.OnlineMeetingDetails = exports.YesNo = exports.OtherResourcesBooking = exports.MeetingType = exports.MeetingRequestType = exports.RequestResourceSystem = exports.MeetingRequestStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MeetingRequestStatus;
16
+ (function (MeetingRequestStatus) {
17
+ MeetingRequestStatus["PENDING"] = "Pending";
18
+ MeetingRequestStatus["ASSIGNED"] = "Assigned";
19
+ MeetingRequestStatus["IN_PROGRESS"] = "In Progress";
20
+ MeetingRequestStatus["APPROVED"] = "Approved";
21
+ MeetingRequestStatus["REJECTED"] = "Rejected";
22
+ })(MeetingRequestStatus || (exports.MeetingRequestStatus = MeetingRequestStatus = {}));
23
+ var RequestResourceSystem;
24
+ (function (RequestResourceSystem) {
25
+ RequestResourceSystem["ORIGIN_MC"] = "Origin M&C";
26
+ RequestResourceSystem["MINISTRY"] = "Ministry";
27
+ })(RequestResourceSystem || (exports.RequestResourceSystem = RequestResourceSystem = {}));
28
+ var MeetingRequestType;
29
+ (function (MeetingRequestType) {
30
+ MeetingRequestType["INTERNAL"] = "Internal";
31
+ MeetingRequestType["EXTERNAL"] = "External";
32
+ MeetingRequestType["OTHER_MINISTERS"] = "Other Ministers";
33
+ })(MeetingRequestType || (exports.MeetingRequestType = MeetingRequestType = {}));
34
+ var MeetingType;
35
+ (function (MeetingType) {
36
+ MeetingType["PHYSICAL"] = "Physical";
37
+ MeetingType["ONLINE"] = "Online";
38
+ })(MeetingType || (exports.MeetingType = MeetingType = {}));
39
+ var OtherResourcesBooking;
40
+ (function (OtherResourcesBooking) {
41
+ OtherResourcesBooking["PRINTERS"] = "Printers";
42
+ OtherResourcesBooking["DEVICES"] = "Devices";
43
+ })(OtherResourcesBooking || (exports.OtherResourcesBooking = OtherResourcesBooking = {}));
44
+ var YesNo;
45
+ (function (YesNo) {
46
+ YesNo["YES"] = "Yes";
47
+ YesNo["NO"] = "No";
48
+ })(YesNo || (exports.YesNo = YesNo = {}));
49
+ var OnlineMeetingDetails;
50
+ (function (OnlineMeetingDetails) {
51
+ OnlineMeetingDetails["PLATFORM"] = "Platform";
52
+ OnlineMeetingDetails["MEETING_LINK"] = "Meeting Link";
53
+ OnlineMeetingDetails["UID_PWD"] = "UID/PWD";
54
+ })(OnlineMeetingDetails || (exports.OnlineMeetingDetails = OnlineMeetingDetails = {}));
55
+ var MeetingLocation;
56
+ (function (MeetingLocation) {
57
+ MeetingLocation["EMBASSY"] = "Embassy";
58
+ MeetingLocation["MINISTRY"] = "Ministry";
59
+ MeetingLocation["EXTERNAL_VENUE"] = "External Venue";
60
+ })(MeetingLocation || (exports.MeetingLocation = MeetingLocation = {}));
61
+ let MeetingRequests = class MeetingRequests extends BaseModel_1.BaseModel {
62
+ };
63
+ exports.MeetingRequests = MeetingRequests;
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], MeetingRequests.prototype, "req_user_department_id", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], MeetingRequests.prototype, "req_user_section_id", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
74
+ __metadata("design:type", Object)
75
+ ], MeetingRequests.prototype, "service_id", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
78
+ __metadata("design:type", Object)
79
+ ], MeetingRequests.prototype, "sub_service_id", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
82
+ __metadata("design:type", Number)
83
+ ], MeetingRequests.prototype, "user_id", void 0);
84
+ __decorate([
85
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
86
+ __metadata("design:type", Object)
87
+ ], MeetingRequests.prototype, "department_id", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
90
+ __metadata("design:type", Object)
91
+ ], MeetingRequests.prototype, "receiving_department_id", void 0);
92
+ __decorate([
93
+ (0, typeorm_1.Column)({ type: 'enum', enum: RequestResourceSystem, nullable: true }),
94
+ __metadata("design:type", Object)
95
+ ], MeetingRequests.prototype, "request_resource_system", void 0);
96
+ __decorate([
97
+ (0, typeorm_1.Column)({ type: 'enum', enum: MeetingRequestType, nullable: true }),
98
+ __metadata("design:type", Object)
99
+ ], MeetingRequests.prototype, "request_type", void 0);
100
+ __decorate([
101
+ (0, typeorm_1.Column)({ type: 'enum', enum: MeetingType, nullable: true }),
102
+ __metadata("design:type", Object)
103
+ ], MeetingRequests.prototype, "meeting_type", void 0);
104
+ __decorate([
105
+ (0, typeorm_1.Column)({ type: 'date', nullable: true }),
106
+ __metadata("design:type", Object)
107
+ ], MeetingRequests.prototype, "meeting_date", void 0);
108
+ __decorate([
109
+ (0, typeorm_1.Column)({ type: 'time', nullable: true }),
110
+ __metadata("design:type", Object)
111
+ ], MeetingRequests.prototype, "from_time", void 0);
112
+ __decorate([
113
+ (0, typeorm_1.Column)({ type: 'time', nullable: true }),
114
+ __metadata("design:type", Object)
115
+ ], MeetingRequests.prototype, "to_time", void 0);
116
+ __decorate([
117
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
118
+ __metadata("design:type", Object)
119
+ ], MeetingRequests.prototype, "hall_id", void 0);
120
+ __decorate([
121
+ (0, typeorm_1.Column)({ type: 'enum', enum: OtherResourcesBooking, nullable: true }),
122
+ __metadata("design:type", Object)
123
+ ], MeetingRequests.prototype, "other_resources_booking", void 0);
124
+ __decorate([
125
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
126
+ __metadata("design:type", Object)
127
+ ], MeetingRequests.prototype, "comments", void 0);
128
+ __decorate([
129
+ (0, typeorm_1.Column)({ type: 'enum', enum: YesNo, nullable: true }),
130
+ __metadata("design:type", Object)
131
+ ], MeetingRequests.prototype, "food_service_required", void 0);
132
+ __decorate([
133
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
134
+ __metadata("design:type", Object)
135
+ ], MeetingRequests.prototype, "organization_name", void 0);
136
+ __decorate([
137
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
138
+ __metadata("design:type", Object)
139
+ ], MeetingRequests.prototype, "person_name", void 0);
140
+ __decorate([
141
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, nullable: true }),
142
+ __metadata("design:type", Object)
143
+ ], MeetingRequests.prototype, "contact_number", void 0);
144
+ __decorate([
145
+ (0, typeorm_1.Column)({ type: 'enum', enum: YesNo, nullable: true }),
146
+ __metadata("design:type", Object)
147
+ ], MeetingRequests.prototype, "protocal_support_required", void 0);
148
+ __decorate([
149
+ (0, typeorm_1.Column)({ type: 'enum', enum: YesNo, nullable: true }),
150
+ __metadata("design:type", Object)
151
+ ], MeetingRequests.prototype, "external_attendees_required_gate_pass", void 0);
152
+ __decorate([
153
+ (0, typeorm_1.Column)({ type: 'enum', enum: OnlineMeetingDetails, nullable: true }),
154
+ __metadata("design:type", Object)
155
+ ], MeetingRequests.prototype, "online_meeting_details", void 0);
156
+ __decorate([
157
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: true }),
158
+ __metadata("design:type", Object)
159
+ ], MeetingRequests.prototype, "meeting_link", void 0);
160
+ __decorate([
161
+ (0, typeorm_1.Column)({ type: 'enum', enum: MeetingLocation, nullable: true }),
162
+ __metadata("design:type", Object)
163
+ ], MeetingRequests.prototype, "meeting_location", void 0);
164
+ __decorate([
165
+ (0, typeorm_1.Column)({ type: 'enum', enum: MeetingRequestStatus, default: MeetingRequestStatus.PENDING, nullable: false }),
166
+ __metadata("design:type", String)
167
+ ], MeetingRequests.prototype, "status", void 0);
168
+ __decorate([
169
+ (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
170
+ __metadata("design:type", Object)
171
+ ], MeetingRequests.prototype, "workflow_execution_id", void 0);
172
+ exports.MeetingRequests = MeetingRequests = __decorate([
173
+ (0, typeorm_1.Entity)({ name: 'meeting_requests' })
174
+ ], MeetingRequests);
@@ -0,0 +1,17 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare enum MeetingWorkFlowStatus {
3
+ COMPLETED = "Completed",
4
+ NOT_YET_STARTED = "Not Yet Started",
5
+ PENDING = "Pending"
6
+ }
7
+ export declare class MeetingWorkFlow extends BaseModel {
8
+ request_id: number;
9
+ service_id: number | null;
10
+ sub_service_id: number | null;
11
+ content: string;
12
+ status: MeetingWorkFlowStatus;
13
+ user_id: number | null;
14
+ role_id: number | null;
15
+ department_id: number | null;
16
+ section_id: number | null;
17
+ }
@@ -0,0 +1,62 @@
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.MeetingWorkFlow = exports.MeetingWorkFlowStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const BaseModel_1 = require("./BaseModel");
15
+ var MeetingWorkFlowStatus;
16
+ (function (MeetingWorkFlowStatus) {
17
+ MeetingWorkFlowStatus["COMPLETED"] = "Completed";
18
+ MeetingWorkFlowStatus["NOT_YET_STARTED"] = "Not Yet Started";
19
+ MeetingWorkFlowStatus["PENDING"] = "Pending";
20
+ })(MeetingWorkFlowStatus || (exports.MeetingWorkFlowStatus = MeetingWorkFlowStatus = {}));
21
+ let MeetingWorkFlow = class MeetingWorkFlow extends BaseModel_1.BaseModel {
22
+ };
23
+ exports.MeetingWorkFlow = MeetingWorkFlow;
24
+ __decorate([
25
+ (0, typeorm_1.Column)({ type: 'integer', nullable: false }),
26
+ __metadata("design:type", Number)
27
+ ], MeetingWorkFlow.prototype, "request_id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
30
+ __metadata("design:type", Object)
31
+ ], MeetingWorkFlow.prototype, "service_id", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
34
+ __metadata("design:type", Object)
35
+ ], MeetingWorkFlow.prototype, "sub_service_id", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ type: 'varchar', length: 500, nullable: false }),
38
+ __metadata("design:type", String)
39
+ ], MeetingWorkFlow.prototype, "content", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'enum', enum: MeetingWorkFlowStatus, default: MeetingWorkFlowStatus.NOT_YET_STARTED, nullable: false }),
42
+ __metadata("design:type", String)
43
+ ], MeetingWorkFlow.prototype, "status", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], MeetingWorkFlow.prototype, "user_id", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], MeetingWorkFlow.prototype, "role_id", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], MeetingWorkFlow.prototype, "department_id", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'integer', nullable: true }),
58
+ __metadata("design:type", Object)
59
+ ], MeetingWorkFlow.prototype, "section_id", void 0);
60
+ exports.MeetingWorkFlow = MeetingWorkFlow = __decorate([
61
+ (0, typeorm_1.Entity)({ name: 'meeting_workflows' })
62
+ ], MeetingWorkFlow);
@@ -12,8 +12,6 @@ export declare class StayAfterHoursRequests extends BaseModel {
12
12
  service_id: number | null;
13
13
  sub_service_id: number | null;
14
14
  user_id: number;
15
- permit_number: string;
16
- job_number: string;
17
15
  date_from: string;
18
16
  date_to: string;
19
17
  duration_from: string;
@@ -43,14 +43,6 @@ __decorate([
43
43
  (0, typeorm_1.Column)({ type: 'int', nullable: false }),
44
44
  __metadata("design:type", Number)
45
45
  ], StayAfterHoursRequests.prototype, "user_id", void 0);
46
- __decorate([
47
- (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
48
- __metadata("design:type", String)
49
- ], StayAfterHoursRequests.prototype, "permit_number", void 0);
50
- __decorate([
51
- (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
52
- __metadata("design:type", String)
53
- ], StayAfterHoursRequests.prototype, "job_number", void 0);
54
46
  __decorate([
55
47
  (0, typeorm_1.Column)({ type: 'date', nullable: false }),
56
48
  __metadata("design:type", String)
@@ -0,0 +1,6 @@
1
+ import { BaseModel } from './BaseModel';
2
+ export declare class QuestionTags extends BaseModel {
3
+ name: string;
4
+ question_Id: number;
5
+ constructor(name: string, question_Id: number);
6
+ }
@@ -0,0 +1,34 @@
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);
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
- {
2
- "name": "@platform-modules/foreign-ministry",
3
- "version": "1.3.133",
4
- "main": "dist/index.js",
5
- "types": "dist/index.d.ts",
6
- "scripts": {
7
- "build": "tsc",
8
- "dev": "ts-node src/scripts.ts"
9
- },
10
- "publishConfig": {
11
- "access": "public"
12
- },
13
- "dependencies": {
14
- "moment-timezone": "^0.6.0",
15
- "pg": "^8.16.0",
16
- "typeorm": "^0.3.17"
17
- },
18
- "devDependencies": {
19
- "@types/moment-timezone": "^0.5.30",
20
- "dotenv": "^16.5.0",
21
- "ts-node": "^10.9.2",
22
- "typescript": "^5.2.0"
23
- }
24
- }
1
+ {
2
+ "name": "@platform-modules/foreign-ministry",
3
+ "version": "1.3.135",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "scripts": {
7
+ "build": "tsc",
8
+ "dev": "ts-node src/scripts.ts"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "dependencies": {
14
+ "moment-timezone": "^0.6.0",
15
+ "pg": "^8.16.0",
16
+ "typeorm": "^0.3.17"
17
+ },
18
+ "devDependencies": {
19
+ "@types/moment-timezone": "^0.5.30",
20
+ "dotenv": "^16.5.0",
21
+ "ts-node": "^10.9.2",
22
+ "typescript": "^5.2.0"
23
+ }
24
+ }