@platform-modules/foreign-ministry 1.3.183 → 1.3.185

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.
@@ -195,6 +195,7 @@ const GiftAttachmentModel_1 = require("./models/GiftAttachmentModel");
195
195
  const ProjectModel_1 = require("./models/ProjectModel");
196
196
  const TemplateModel_1 = require("./models/TemplateModel");
197
197
  const UniversalLanguageMasterModel_1 = require("./models/UniversalLanguageMasterModel");
198
+ const MeetingAppointmentReminderLogModel_1 = require("./models/MeetingAppointmentReminderLogModel");
198
199
  exports.AppDataSource = new typeorm_1.DataSource({
199
200
  type: 'postgres',
200
201
  host: process.env.DB_HOST || 'localhost',
@@ -395,5 +396,6 @@ exports.AppDataSource = new typeorm_1.DataSource({
395
396
  ProjectModel_1.Projects,
396
397
  TemplateModel_1.Templates,
397
398
  UniversalLanguageMasterModel_1.UniversalLanguageMaster,
399
+ MeetingAppointmentReminderLogModel_1.MeetingAppointmentReminderLog
398
400
  ],
399
401
  });
package/dist/index.d.ts CHANGED
@@ -258,6 +258,7 @@ export * from './models/LanguageCourseWorkflowModel';
258
258
  export * from './models/LanguageCourseCostModel';
259
259
  export * from './models/LanguageCourseLecturerModel';
260
260
  export * from './models/MeetingRequestModel';
261
+ export * from './models/MeetingAppointmentReminderLogModel';
261
262
  export * from './models/MeetingApprovalModel';
262
263
  export * from './models/MeetingAttachmentModel';
263
264
  export * from './models/MeetingChatModel';
package/dist/index.js CHANGED
@@ -318,6 +318,7 @@ __exportStar(require("./models/LanguageCourseCostModel"), exports);
318
318
  __exportStar(require("./models/LanguageCourseLecturerModel"), exports);
319
319
  // Meeting Models
320
320
  __exportStar(require("./models/MeetingRequestModel"), exports);
321
+ __exportStar(require("./models/MeetingAppointmentReminderLogModel"), exports);
321
322
  __exportStar(require("./models/MeetingApprovalModel"), exports);
322
323
  __exportStar(require("./models/MeetingAttachmentModel"), exports);
323
324
  __exportStar(require("./models/MeetingChatModel"), exports);
@@ -47,4 +47,6 @@ export declare class AppointmentRequests extends BaseModel {
47
47
  appointment_location: AppointmentLocation | null;
48
48
  status: AppointmentRequestStatus;
49
49
  workflow_execution_id: string | null;
50
+ notify_before_me: string | null;
51
+ follow_up_appointment_id: number | null;
50
52
  }
@@ -130,6 +130,14 @@ __decorate([
130
130
  (0, typeorm_1.Column)({ type: 'varchar', nullable: true }),
131
131
  __metadata("design:type", Object)
132
132
  ], AppointmentRequests.prototype, "workflow_execution_id", void 0);
133
+ __decorate([
134
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
135
+ __metadata("design:type", Object)
136
+ ], AppointmentRequests.prototype, "notify_before_me", void 0);
137
+ __decorate([
138
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
139
+ __metadata("design:type", Object)
140
+ ], AppointmentRequests.prototype, "follow_up_appointment_id", void 0);
133
141
  exports.AppointmentRequests = AppointmentRequests = __decorate([
134
142
  (0, typeorm_1.Entity)({ name: 'appointment_requests' })
135
143
  ], AppointmentRequests);
@@ -8,6 +8,7 @@ export declare enum ConversationTypeV2 {
8
8
  export declare class ConversationsV2 extends BaseModel {
9
9
  conversation_type: ConversationTypeV2;
10
10
  conversation_name?: string;
11
+ meeting_id?: number | null;
11
12
  last_message_at: Date;
12
13
  participants?: ConversationParticipantsV2[];
13
14
  messages?: MessagesV2[];
@@ -23,6 +23,7 @@ let ConversationsV2 = class ConversationsV2 extends BaseModel_1.BaseModel {
23
23
  constructor() {
24
24
  super();
25
25
  this.conversation_type = ConversationTypeV2.DIRECT;
26
+ this.meeting_id = null;
26
27
  this.last_message_at = new Date();
27
28
  }
28
29
  };
@@ -39,6 +40,10 @@ __decorate([
39
40
  (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
40
41
  __metadata("design:type", String)
41
42
  ], ConversationsV2.prototype, "conversation_name", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
45
+ __metadata("design:type", Object)
46
+ ], ConversationsV2.prototype, "meeting_id", void 0);
42
47
  __decorate([
43
48
  (0, typeorm_1.Column)({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' }),
44
49
  __metadata("design:type", Date)
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Single table for all meeting and appointment reminder logs.
3
+ * Tracks every reminder sent to avoid duplicates; rescheduled items get a new row (new scheduled_start_at).
4
+ */
5
+ export declare class MeetingAppointmentReminderLog {
6
+ id: number;
7
+ request_id: number;
8
+ request_type: 'meeting' | 'appointment';
9
+ scheduled_start_at: Date;
10
+ notify_before_me: string;
11
+ notified_at: Date;
12
+ created_at: Date;
13
+ }
@@ -0,0 +1,54 @@
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.MeetingAppointmentReminderLog = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ /**
15
+ * Single table for all meeting and appointment reminder logs.
16
+ * Tracks every reminder sent to avoid duplicates; rescheduled items get a new row (new scheduled_start_at).
17
+ */
18
+ let MeetingAppointmentReminderLog = class MeetingAppointmentReminderLog {
19
+ };
20
+ exports.MeetingAppointmentReminderLog = MeetingAppointmentReminderLog;
21
+ __decorate([
22
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
23
+ __metadata("design:type", Number)
24
+ ], MeetingAppointmentReminderLog.prototype, "id", void 0);
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'int', nullable: false }),
27
+ __metadata("design:type", Number)
28
+ ], MeetingAppointmentReminderLog.prototype, "request_id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'varchar', length: 20, nullable: false }),
31
+ __metadata("design:type", String)
32
+ ], MeetingAppointmentReminderLog.prototype, "request_type", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'timestamptz', nullable: false }),
35
+ __metadata("design:type", Date)
36
+ ], MeetingAppointmentReminderLog.prototype, "scheduled_start_at", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: false }),
39
+ __metadata("design:type", String)
40
+ ], MeetingAppointmentReminderLog.prototype, "notify_before_me", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: 'timestamptz', nullable: false, default: () => 'CURRENT_TIMESTAMP' }),
43
+ __metadata("design:type", Date)
44
+ ], MeetingAppointmentReminderLog.prototype, "notified_at", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.CreateDateColumn)({ type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' }),
47
+ __metadata("design:type", Date)
48
+ ], MeetingAppointmentReminderLog.prototype, "created_at", void 0);
49
+ exports.MeetingAppointmentReminderLog = MeetingAppointmentReminderLog = __decorate([
50
+ (0, typeorm_1.Entity)({ name: 'meeting_appointment_reminder_log' }),
51
+ (0, typeorm_1.Index)('idx_reminder_log_request', ['request_id', 'request_type', 'scheduled_start_at'], {
52
+ unique: true,
53
+ })
54
+ ], MeetingAppointmentReminderLog);
@@ -70,4 +70,6 @@ export declare class MeetingRequests extends BaseModel {
70
70
  status: MeetingRequestStatus;
71
71
  workflow_execution_id: string | null;
72
72
  number_of_persons_for_food: number | null;
73
+ notify_before_me: string | null;
74
+ follow_up_meeting_id: number | null;
73
75
  }
@@ -186,6 +186,14 @@ __decorate([
186
186
  (0, typeorm_1.Column)({ type: 'int', nullable: true }),
187
187
  __metadata("design:type", Object)
188
188
  ], MeetingRequests.prototype, "number_of_persons_for_food", void 0);
189
+ __decorate([
190
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, nullable: true }),
191
+ __metadata("design:type", Object)
192
+ ], MeetingRequests.prototype, "notify_before_me", void 0);
193
+ __decorate([
194
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
195
+ __metadata("design:type", Object)
196
+ ], MeetingRequests.prototype, "follow_up_meeting_id", void 0);
189
197
  exports.MeetingRequests = MeetingRequests = __decorate([
190
198
  (0, typeorm_1.Entity)({ name: 'meeting_requests' })
191
199
  ], MeetingRequests);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platform-modules/foreign-ministry",
3
- "version": "1.3.183",
3
+ "version": "1.3.185",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -200,7 +200,9 @@ import { Gifts } from './models/GiftsModel';
200
200
  import { GiftAttachments } from './models/GiftAttachmentModel';
201
201
  import { Projects } from './models/ProjectModel';
202
202
  import { Templates } from './models/TemplateModel';
203
- import { UniversalLanguageMaster } from './models/UniversalLanguageMasterModel';
203
+ import { UniversalLanguageMaster } from './models/UniversalLanguageMasterModel';
204
+ import { MeetingAppointmentReminderLog } from './models/MeetingAppointmentReminderLogModel';
205
+
204
206
  export const AppDataSource = new DataSource({
205
207
  type: 'postgres',
206
208
  host: process.env.DB_HOST || 'localhost',
@@ -401,5 +403,6 @@ export const AppDataSource = new DataSource({
401
403
  Projects,
402
404
  Templates,
403
405
  UniversalLanguageMaster,
406
+ MeetingAppointmentReminderLog
404
407
  ],
405
408
  });
package/src/index.ts CHANGED
@@ -265,6 +265,7 @@ export * from './models/LanguageCourseCostModel';
265
265
  export * from './models/LanguageCourseLecturerModel';
266
266
  // Meeting Models
267
267
  export * from './models/MeetingRequestModel';
268
+ export * from './models/MeetingAppointmentReminderLogModel';
268
269
  export * from './models/MeetingApprovalModel';
269
270
  export * from './models/MeetingAttachmentModel';
270
271
  export * from './models/MeetingChatModel';
@@ -96,5 +96,11 @@ export class AppointmentRequests extends BaseModel {
96
96
 
97
97
  @Column({ type: 'varchar', nullable: true })
98
98
  workflow_execution_id: string | null;
99
+
100
+ @Column({ type: 'varchar', length: 100, nullable: true })
101
+ notify_before_me: string | null;
102
+
103
+ @Column({ type: 'int', nullable: true })
104
+ follow_up_appointment_id: number | null;
99
105
  }
100
106
 
@@ -21,6 +21,8 @@ export class ConversationsV2 extends BaseModel {
21
21
  @Column({ type: 'varchar', length: 255, nullable: true })
22
22
  conversation_name?: string;
23
23
 
24
+ @Column({ type: 'int', nullable: true })
25
+ meeting_id?: number | null;
24
26
 
25
27
  @Column({ type: 'timestamp', default: () => 'CURRENT_TIMESTAMP' })
26
28
  last_message_at: Date;
@@ -35,6 +37,7 @@ export class ConversationsV2 extends BaseModel {
35
37
  constructor() {
36
38
  super();
37
39
  this.conversation_type = ConversationTypeV2.DIRECT;
40
+ this.meeting_id = null;
38
41
  this.last_message_at = new Date();
39
42
  }
40
43
  }
@@ -0,0 +1,38 @@
1
+ import {
2
+ Column,
3
+ CreateDateColumn,
4
+ Entity,
5
+ Index,
6
+ PrimaryGeneratedColumn,
7
+ } from 'typeorm';
8
+
9
+ /**
10
+ * Single table for all meeting and appointment reminder logs.
11
+ * Tracks every reminder sent to avoid duplicates; rescheduled items get a new row (new scheduled_start_at).
12
+ */
13
+ @Entity({ name: 'meeting_appointment_reminder_log' })
14
+ @Index('idx_reminder_log_request', ['request_id', 'request_type', 'scheduled_start_at'], {
15
+ unique: true,
16
+ })
17
+ export class MeetingAppointmentReminderLog {
18
+ @PrimaryGeneratedColumn()
19
+ id: number;
20
+
21
+ @Column({ type: 'int', nullable: false })
22
+ request_id: number;
23
+
24
+ @Column({ type: 'varchar', length: 20, nullable: false })
25
+ request_type: 'meeting' | 'appointment';
26
+
27
+ @Column({ type: 'timestamptz', nullable: false })
28
+ scheduled_start_at: Date;
29
+
30
+ @Column({ type: 'varchar', length: 100, nullable: false })
31
+ notify_before_me: string;
32
+
33
+ @Column({ type: 'timestamptz', nullable: false, default: () => 'CURRENT_TIMESTAMP' })
34
+ notified_at: Date;
35
+
36
+ @CreateDateColumn({ type: 'timestamptz', default: () => 'CURRENT_TIMESTAMP' })
37
+ created_at: Date;
38
+ }
@@ -142,4 +142,10 @@ export class MeetingRequests extends BaseModel {
142
142
 
143
143
  @Column({ type: 'int', nullable: true })
144
144
  number_of_persons_for_food: number | null;
145
+
146
+ @Column({ type: 'varchar', length: 100, nullable: true })
147
+ notify_before_me: string | null;
148
+
149
+ @Column({ type: 'int', nullable: true })
150
+ follow_up_meeting_id: number | null;
145
151
  }