@solidstarters/solid-core 1.2.146 → 1.2.149
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/config/common.config.d.ts +10 -0
- package/dist/config/common.config.d.ts.map +1 -1
- package/dist/config/common.config.js +5 -0
- package/dist/config/common.config.js.map +1 -1
- package/dist/controllers/ai-interaction.controller.d.ts +1 -1
- package/dist/controllers/ai-interaction.controller.js +1 -1
- package/dist/dtos/create-ai-interaction.dto.d.ts +3 -0
- package/dist/dtos/create-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/create-ai-interaction.dto.js +20 -1
- package/dist/dtos/create-ai-interaction.dto.js.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.d.ts +3 -0
- package/dist/dtos/update-ai-interaction.dto.d.ts.map +1 -1
- package/dist/dtos/update-ai-interaction.dto.js +19 -1
- package/dist/dtos/update-ai-interaction.dto.js.map +1 -1
- package/dist/entities/ai-interaction.entity.d.ts +3 -0
- package/dist/entities/ai-interaction.entity.d.ts.map +1 -1
- package/dist/entities/ai-interaction.entity.js +17 -1
- package/dist/entities/ai-interaction.entity.js.map +1 -1
- package/dist/helpers/environment.helper.d.ts +2 -0
- package/dist/helpers/environment.helper.d.ts.map +1 -0
- package/dist/helpers/environment.helper.js +11 -0
- package/dist/helpers/environment.helper.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +5 -5
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/api-email-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/api-email-subscriber-database.service.js +6 -3
- package/dist/jobs/database/api-email-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/computed-field-evaluation-subscriber.service.d.ts +3 -1
- package/dist/jobs/database/computed-field-evaluation-subscriber.service.d.ts.map +1 -1
- package/dist/jobs/database/computed-field-evaluation-subscriber.service.js +6 -3
- package/dist/jobs/database/computed-field-evaluation-subscriber.service.js.map +1 -1
- package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/generate-code-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/generate-code-subscriber-database.service.js +6 -3
- package/dist/jobs/database/generate-code-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/otp-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/otp-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/otp-subscriber-database.service.js +5 -2
- package/dist/jobs/database/otp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/sms-subscriber-database.service.d.ts +4 -2
- package/dist/jobs/database/sms-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/sms-subscriber-database.service.js +7 -4
- package/dist/jobs/database/sms-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +4 -2
- package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/smtp-email-subscriber-database.service.js +6 -3
- package/dist/jobs/database/smtp-email-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/test-queue-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/test-queue-subscriber-database.service.js +6 -3
- package/dist/jobs/database/test-queue-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +7 -2
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +11 -0
- package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts.map +1 -0
- package/dist/jobs/database/twilio-sms-publisher-database.service.js +39 -0
- package/dist/jobs/database/twilio-sms-publisher-database.service.js.map +1 -0
- package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +8 -0
- package/dist/jobs/database/twilio-sms-queue-database-options.d.ts.map +1 -0
- package/dist/jobs/database/twilio-sms-queue-database-options.js +10 -0
- package/dist/jobs/database/twilio-sms-queue-database-options.js.map +1 -0
- package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +17 -0
- package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts.map +1 -0
- package/dist/jobs/database/twilio-sms-subscriber-database.service.js +48 -0
- package/dist/jobs/database/twilio-sms-subscriber-database.service.js.map +1 -0
- package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts +3 -1
- package/dist/jobs/database/whatsapp-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/whatsapp-subscriber-database.service.js +6 -3
- package/dist/jobs/database/whatsapp-subscriber-database.service.js.map +1 -1
- package/dist/jobs/sms-subscriber.service.d.ts +1 -1
- package/dist/jobs/sms-subscriber.service.js +1 -1
- package/dist/jobs/sms-subscriber.service.js.map +1 -1
- package/dist/jobs/smtp-email-subscriber.service.d.ts +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +15 -4
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +83 -3
- package/dist/services/ai-interaction.service.d.ts +1 -1
- package/dist/services/ai-interaction.service.d.ts.map +1 -1
- package/dist/services/ai-interaction.service.js +5 -1
- package/dist/services/ai-interaction.service.js.map +1 -1
- package/dist/services/mail/smtp-email.service.d.ts +4 -4
- package/dist/services/mail/smtp-email.service.d.ts.map +1 -1
- package/dist/services/mail/smtp-email.service.js +12 -8
- package/dist/services/mail/smtp-email.service.js.map +1 -1
- package/dist/services/mq-message.service.d.ts +9 -0
- package/dist/services/mq-message.service.d.ts.map +1 -1
- package/dist/services/mq-message.service.js +61 -0
- package/dist/services/mq-message.service.js.map +1 -1
- package/dist/services/poller.service.d.ts +24 -0
- package/dist/services/poller.service.d.ts.map +1 -0
- package/dist/services/poller.service.js +131 -0
- package/dist/services/poller.service.js.map +1 -0
- package/dist/services/queues/database-subscriber.service.d.ts +4 -1
- package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
- package/dist/services/queues/database-subscriber.service.js +13 -13
- package/dist/services/queues/database-subscriber.service.js.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.d.ts +2 -2
- package/dist/services/sms/Msg91BaseSMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91BaseSMSService.js.map +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts +1 -1
- package/dist/services/sms/Msg91OTPService.d.ts.map +1 -1
- package/dist/services/sms/Msg91OTPService.js.map +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts +1 -1
- package/dist/services/sms/Msg91SMSService.d.ts.map +1 -1
- package/dist/services/sms/Msg91SMSService.js.map +1 -1
- package/dist/services/sms/TwilioSMSService.d.ts +18 -0
- package/dist/services/sms/TwilioSMSService.d.ts.map +1 -0
- package/dist/services/sms/TwilioSMSService.js +115 -0
- package/dist/services/sms/TwilioSMSService.js.map +1 -0
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +11 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/src/config/common.config.ts +5 -0
- package/src/dtos/create-ai-interaction.dto.ts +16 -5
- package/src/dtos/update-ai-interaction.dto.ts +16 -5
- package/src/entities/ai-interaction.entity.ts +11 -3
- package/src/helpers/environment.helper.ts +7 -0
- package/src/index.ts +5 -0
- package/src/interfaces.ts +5 -5
- package/src/jobs/database/api-email-subscriber-database.service.ts +3 -1
- package/src/jobs/database/computed-field-evaluation-subscriber.service.ts +4 -2
- package/src/jobs/database/generate-code-subscriber-database.service.ts +3 -1
- package/src/jobs/database/otp-subscriber-database.service.ts +3 -1
- package/src/jobs/database/sms-subscriber-database.service.ts +4 -2
- package/src/jobs/database/smtp-email-subscriber-database.service.ts +3 -1
- package/src/jobs/database/test-queue-subscriber-database.service.ts +3 -1
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +5 -1
- package/src/jobs/database/twilio-sms-publisher-database.service.ts +23 -0
- package/src/jobs/database/twilio-sms-queue-database-options.ts +9 -0
- package/src/jobs/database/twilio-sms-subscriber-database.service.ts +32 -0
- package/src/jobs/database/whatsapp-subscriber-database.service.ts +3 -1
- package/src/jobs/sms-subscriber.service.ts +1 -1
- package/src/seeders/module-metadata-seeder.service.ts +18 -15
- package/src/seeders/seed-data/solid-core-metadata.json +83 -3
- package/src/services/ai-interaction.service.ts +8 -3
- package/src/services/mail/smtp-email.service.ts +18 -17
- package/src/services/mq-message.service.ts +116 -0
- package/src/services/poller.service.ts +163 -0
- package/src/services/queues/database-subscriber.service.ts +39 -12
- package/src/services/sms/Msg91BaseSMSService.ts +2 -2
- package/src/services/sms/Msg91OTPService.ts +1 -1
- package/src/services/sms/Msg91SMSService.ts +1 -1
- package/src/services/sms/TwilioSMSService.ts +118 -0
- package/src/solid-core.module.ts +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-core",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.149",
|
|
4
4
|
"description": "This module is a NestJS module containing all the required core providers required by a Solid application",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"reflect-metadata": "^0.1.13",
|
|
68
68
|
"rxjs": "^7.8.1",
|
|
69
69
|
"swagger-ui-express": "^5.0.0",
|
|
70
|
+
"twilio": "^5.8.0",
|
|
70
71
|
"uuid": "^9.0.1",
|
|
71
72
|
"xlsx": "^0.18.5"
|
|
72
73
|
},
|
|
@@ -87,10 +88,10 @@
|
|
|
87
88
|
"@nestjs/typeorm": "^10.0.1",
|
|
88
89
|
"nest-commander": "^3.12.5",
|
|
89
90
|
"nest-winston": "^1.9.7",
|
|
91
|
+
"nestjs-cls": "^5.4.3",
|
|
90
92
|
"typeorm": "^0.3.20",
|
|
91
93
|
"typeorm-naming-strategies": "^4.1.0",
|
|
92
|
-
"winston": "^3.17.0"
|
|
93
|
-
"nestjs-cls": "^5.4.3"
|
|
94
|
+
"winston": "^3.17.0"
|
|
94
95
|
},
|
|
95
96
|
"devDependencies": {
|
|
96
97
|
"@angular-devkit/schematics": "^19.2.6",
|
|
@@ -23,6 +23,11 @@ export default registerAs('common', () => {
|
|
|
23
23
|
url: process.env.COMMON_MSG91_SMS_URL,
|
|
24
24
|
apiKey: process.env.COMMON_MSG91_SMS_API_KEY,
|
|
25
25
|
},
|
|
26
|
+
twilio: {
|
|
27
|
+
accountSid: process.env.COMMON_TWILIO_ACCOUNT_SID,
|
|
28
|
+
authToken: process.env.COMMON_TWILIO_AUTH_TOKEN,
|
|
29
|
+
number: process.env.COMMON_TWILIO_NUMBER,
|
|
30
|
+
},
|
|
26
31
|
shortUrl: {
|
|
27
32
|
apiUrl: process.env.COMMON_SHORT_URL_API_URL,
|
|
28
33
|
apiKey: process.env.COMMON_SHORT_URL_API_KEY,
|
|
@@ -48,9 +48,20 @@ export class CreateAiInteractionDto {
|
|
|
48
48
|
@IsJSON()
|
|
49
49
|
@ApiProperty()
|
|
50
50
|
metadata: any;
|
|
51
|
-
|
|
52
|
-
@
|
|
53
|
-
@
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
@IsOptional()
|
|
52
|
+
@IsBoolean()
|
|
53
|
+
@ApiProperty()
|
|
54
|
+
isApplied: boolean = false;
|
|
55
|
+
@IsOptional()
|
|
56
|
+
@IsInt()
|
|
57
|
+
@ApiProperty()
|
|
58
|
+
parentInteractionId: number;
|
|
59
|
+
@IsString()
|
|
60
|
+
@IsOptional()
|
|
61
|
+
@ApiProperty()
|
|
62
|
+
parentInteractionUserKey: string;
|
|
63
|
+
@IsOptional()
|
|
64
|
+
@IsBoolean()
|
|
65
|
+
@ApiProperty()
|
|
66
|
+
isAutoApply: boolean = false;
|
|
56
67
|
}
|
|
@@ -52,9 +52,20 @@ export class UpdateAiInteractionDto {
|
|
|
52
52
|
@IsJSON()
|
|
53
53
|
@ApiProperty()
|
|
54
54
|
metadata: any;
|
|
55
|
-
|
|
56
|
-
@
|
|
57
|
-
@
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
@IsOptional()
|
|
56
|
+
@IsBoolean()
|
|
57
|
+
@ApiProperty()
|
|
58
|
+
isApplied: boolean;
|
|
59
|
+
@IsOptional()
|
|
60
|
+
@IsInt()
|
|
61
|
+
@ApiProperty()
|
|
62
|
+
parentInteractionId: number;
|
|
63
|
+
@IsString()
|
|
64
|
+
@IsOptional()
|
|
65
|
+
@ApiProperty()
|
|
66
|
+
parentInteractionUserKey: string;
|
|
67
|
+
@IsOptional()
|
|
68
|
+
@IsBoolean()
|
|
69
|
+
@ApiProperty()
|
|
70
|
+
isAutoApply: boolean;
|
|
60
71
|
}
|
|
@@ -28,7 +28,15 @@ export class AiInteraction extends CommonEntity {
|
|
|
28
28
|
responseTimeMs: number;
|
|
29
29
|
@Column({ type: "jsonb", nullable: true })
|
|
30
30
|
metadata: any;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
@Column({ type: "boolean", nullable: true, default: false })
|
|
32
|
+
isApplied: boolean = false;
|
|
33
|
+
@Index()
|
|
34
|
+
@ManyToOne(() => AiInteraction, { onDelete: "SET NULL", nullable: true })
|
|
35
|
+
@JoinColumn()
|
|
36
|
+
parentInteraction: AiInteraction;
|
|
37
|
+
@Index({ unique: true })
|
|
38
|
+
@Column({ type: "varchar" })
|
|
39
|
+
externalId: string;
|
|
40
|
+
@Column({ type: "boolean", nullable: true, default: false })
|
|
41
|
+
isAutoApply: boolean = false;
|
|
34
42
|
}
|
package/src/index.ts
CHANGED
|
@@ -166,6 +166,8 @@ export * from './helpers/field-crud-managers/SelectionDynamicFieldCrudManager' /
|
|
|
166
166
|
export * from './helpers/field-crud-managers/SelectionStaticFieldCrudManager' //rename
|
|
167
167
|
export * from './helpers/field-crud-managers/ShortTextFieldCrudManager' //rename
|
|
168
168
|
export * from './helpers/field-crud-managers/UUIDFieldCrudManager' //rename
|
|
169
|
+
export * from './helpers/environment.helper'
|
|
170
|
+
|
|
169
171
|
export * from './services/crud.service'
|
|
170
172
|
export * from './interceptors/logging.interceptor'
|
|
171
173
|
export * from './interceptors/wrap-response.interceptor'
|
|
@@ -243,6 +245,8 @@ export * from './services/short-url/tiny-url.service'
|
|
|
243
245
|
export * from './services/sms/Msg91BaseSMSService' //rename
|
|
244
246
|
export * from './services/sms/Msg91OTPService' //rename
|
|
245
247
|
export * from './services/sms/Msg91SMSService' //rename
|
|
248
|
+
export * from './services/sms/TwilioSMSService' //rename
|
|
249
|
+
export * from './services/poller.service'
|
|
246
250
|
export * from './services/sms-template.service'
|
|
247
251
|
export * from './services/solid-introspect.service'
|
|
248
252
|
export * from './services/user.service'
|
|
@@ -262,6 +266,7 @@ export * from './services/csv.service'
|
|
|
262
266
|
export * from './services/queues/publisher-factory.service'
|
|
263
267
|
export * from './services/queues/database-publisher.service'
|
|
264
268
|
export * from './services/queues/database-subscriber.service'
|
|
269
|
+
export * from './services/ai-interaction.service'
|
|
265
270
|
|
|
266
271
|
// Factories
|
|
267
272
|
export * from './factories/mail.factory'
|
package/src/interfaces.ts
CHANGED
|
@@ -159,7 +159,7 @@ export class EventDetails<T> {
|
|
|
159
159
|
) { }
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
export interface IMail {
|
|
162
|
+
export interface IMail<TResponse=unknown> {
|
|
163
163
|
sendEmail(
|
|
164
164
|
to: string,
|
|
165
165
|
subject: string,
|
|
@@ -172,7 +172,7 @@ export interface IMail {
|
|
|
172
172
|
cc?: string[],
|
|
173
173
|
bcc?: string[],
|
|
174
174
|
from?: string,
|
|
175
|
-
): Promise<
|
|
175
|
+
): Promise<TResponse>;
|
|
176
176
|
|
|
177
177
|
sendEmailUsingTemplate(
|
|
178
178
|
to: string,
|
|
@@ -186,18 +186,18 @@ export interface IMail {
|
|
|
186
186
|
cc?: string[],
|
|
187
187
|
bcc?: string[],
|
|
188
188
|
from?: string,
|
|
189
|
-
): Promise<
|
|
189
|
+
): Promise<TResponse>;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
export interface ISMS {
|
|
193
|
-
sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<
|
|
193
|
+
sendSMS(to: string, body: string, shouldQueueSms: boolean): Promise<any>;
|
|
194
194
|
|
|
195
195
|
sendSMSUsingTemplate(
|
|
196
196
|
to: string,
|
|
197
197
|
templateName: string,
|
|
198
198
|
templateParams: any,
|
|
199
199
|
shouldQueueSms: boolean,
|
|
200
|
-
): Promise<
|
|
200
|
+
): Promise<any>;
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
export interface MailAttachmentWrapper {
|
|
@@ -7,6 +7,7 @@ import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
|
7
7
|
import { ElasticEmailService } from 'src/services/mail/elastic-email.service';
|
|
8
8
|
import { QueuesModuleOptions } from 'src/interfaces';
|
|
9
9
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class ApiEmailQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
@@ -14,8 +15,9 @@ export class ApiEmailQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
14
15
|
private readonly emailService: ElasticEmailService,
|
|
15
16
|
readonly mqMessageService: MqMessageService,
|
|
16
17
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
18
|
+
readonly poller: PollerService,
|
|
17
19
|
) {
|
|
18
|
-
super(mqMessageService, mqMessageQueueService);
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
options(): QueuesModuleOptions {
|
|
@@ -7,15 +7,17 @@ import { MqMessageService } from "src/services/mq-message.service";
|
|
|
7
7
|
import { DatabaseSubscriber } from "src/services/queues/database-subscriber.service";
|
|
8
8
|
import { ComputedFieldEvaluationPayload } from "src/subscribers/computed-entity-field.subscriber";
|
|
9
9
|
import computedFieldEvaluationQueueOptions from "./computed-field-evaluation-queue-options";
|
|
10
|
+
import { PollerService } from "src/services/poller.service";
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class ComputedFieldEvaluationSubscriber extends DatabaseSubscriber<ComputedFieldEvaluationPayload> {
|
|
13
14
|
constructor(
|
|
14
15
|
readonly mqMessageService: MqMessageService,
|
|
15
16
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
16
|
-
readonly solidRegistry: SolidRegistry
|
|
17
|
+
readonly solidRegistry: SolidRegistry,
|
|
18
|
+
readonly poller: PollerService,
|
|
17
19
|
) {
|
|
18
|
-
super(mqMessageService, mqMessageQueueService);
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
options(): QueuesModuleOptions {
|
|
@@ -8,6 +8,7 @@ import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.serv
|
|
|
8
8
|
import generateCodeQueueOptions from './generate-code-queue-options-database';
|
|
9
9
|
import { SolidFieldType } from 'src/dtos/create-field-metadata.dto';
|
|
10
10
|
import { ModelMetadataService } from 'src/services/model-metadata.service';
|
|
11
|
+
import { PollerService } from 'src/services/poller.service';
|
|
11
12
|
|
|
12
13
|
@Injectable()
|
|
13
14
|
export class GenerateCodeSubscriberDatabase extends DatabaseSubscriber<CodeGenerationOptions> {
|
|
@@ -16,10 +17,11 @@ export class GenerateCodeSubscriberDatabase extends DatabaseSubscriber<CodeGener
|
|
|
16
17
|
constructor(
|
|
17
18
|
readonly mqMessageService: MqMessageService,
|
|
18
19
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
20
|
+
readonly poller: PollerService,
|
|
19
21
|
@Inject(forwardRef(() => ModelMetadataService))
|
|
20
22
|
readonly modelMetadataService: ModelMetadataService,
|
|
21
23
|
) {
|
|
22
|
-
super(mqMessageService, mqMessageQueueService);
|
|
24
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
options(): QueuesModuleOptions {
|
|
@@ -7,15 +7,17 @@ import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
|
7
7
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
8
8
|
import { Msg91OTPService } from 'src/services/sms/Msg91OTPService';
|
|
9
9
|
import { QueuesModuleOptions } from 'src/interfaces';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class OTPQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
13
14
|
constructor(
|
|
14
15
|
private readonly otpService: Msg91OTPService,
|
|
15
16
|
readonly mqMessageService: MqMessageService,
|
|
17
|
+
readonly poller: PollerService,
|
|
16
18
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
17
19
|
) {
|
|
18
|
-
super(mqMessageService, mqMessageQueueService);
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
options(): QueuesModuleOptions {
|
|
@@ -7,6 +7,7 @@ import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
|
7
7
|
import { Msg91SMSService } from 'src/services/sms/Msg91SMSService';
|
|
8
8
|
import { QueuesModuleOptions } from 'src/interfaces';
|
|
9
9
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class SmsQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
@@ -14,8 +15,9 @@ export class SmsQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
14
15
|
private readonly smsService: Msg91SMSService,
|
|
15
16
|
readonly mqMessageService: MqMessageService,
|
|
16
17
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
18
|
+
readonly poller: PollerService,
|
|
17
19
|
) {
|
|
18
|
-
super(mqMessageService, mqMessageQueueService);
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
options(): QueuesModuleOptions {
|
|
@@ -25,6 +27,6 @@ export class SmsQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
subscribe(message: QueueMessage<any>) {
|
|
28
|
-
this.smsService.sendSMSSynchronously(message);
|
|
30
|
+
return this.smsService.sendSMSSynchronously(message);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -7,6 +7,7 @@ import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
|
7
7
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
8
8
|
import { SMTPEMailService } from 'src/services/mail/smtp-email.service';
|
|
9
9
|
import { QueuesModuleOptions } from 'src/interfaces';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class SmtpEmailQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
@@ -14,8 +15,9 @@ export class SmtpEmailQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
14
15
|
private readonly emailService: SMTPEMailService,
|
|
15
16
|
readonly mqMessageService: MqMessageService,
|
|
16
17
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
18
|
+
readonly poller: PollerService,
|
|
17
19
|
) {
|
|
18
|
-
super(mqMessageService, mqMessageQueueService);
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
19
21
|
}
|
|
20
22
|
|
|
21
23
|
options(): QueuesModuleOptions {
|
|
@@ -6,6 +6,7 @@ import { MqMessageService } from '../../services/mq-message.service';
|
|
|
6
6
|
import { MqMessageQueueService } from '../../services/mq-message-queue.service';
|
|
7
7
|
import { QueuesModuleOptions } from "../../interfaces";
|
|
8
8
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
9
|
+
import { PollerService } from 'src/services/poller.service';
|
|
9
10
|
|
|
10
11
|
@Injectable()
|
|
11
12
|
export class TestQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
@@ -13,8 +14,9 @@ export class TestQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
13
14
|
constructor(
|
|
14
15
|
readonly mqMessageService: MqMessageService,
|
|
15
16
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
17
|
+
readonly poller: PollerService
|
|
16
18
|
) {
|
|
17
|
-
super(mqMessageService, mqMessageQueueService);
|
|
19
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
options(): QueuesModuleOptions {
|
|
@@ -7,6 +7,7 @@ import { QueuesModuleOptions, TriggerMcpClientOptions } from "../../interfaces";
|
|
|
7
7
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
8
8
|
import triggerMcpClientQueueOptions from "./trigger-mcp-client-queue-options";
|
|
9
9
|
import { AiInteractionService } from 'src/services/ai-interaction.service';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
10
11
|
|
|
11
12
|
@Injectable()
|
|
12
13
|
export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<TriggerMcpClientOptions> {
|
|
@@ -15,9 +16,10 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
15
16
|
constructor(
|
|
16
17
|
readonly mqMessageService: MqMessageService,
|
|
17
18
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
19
|
+
readonly poller: PollerService,
|
|
18
20
|
readonly aiInteractionService: AiInteractionService,
|
|
19
21
|
) {
|
|
20
|
-
super(mqMessageService, mqMessageQueueService);
|
|
22
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
options(): QueuesModuleOptions {
|
|
@@ -56,6 +58,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
56
58
|
await this.aiInteractionService.create({
|
|
57
59
|
userId: aiInteraction.user.id,
|
|
58
60
|
threadId: aiInteraction.threadId,
|
|
61
|
+
parentInteractionId: aiInteraction.id,
|
|
59
62
|
role: 'gen-ai',
|
|
60
63
|
message: '-',
|
|
61
64
|
contentType: aiResponse.content_type,
|
|
@@ -75,6 +78,7 @@ export class TriggerMcpClientSubscriberDatabase extends DatabaseSubscriber<Trigg
|
|
|
75
78
|
await this.aiInteractionService.create({
|
|
76
79
|
userId: aiInteraction.user.id,
|
|
77
80
|
threadId: aiInteraction.threadId,
|
|
81
|
+
parentInteractionId: aiInteraction.id,
|
|
78
82
|
role: 'gen-ai',
|
|
79
83
|
message: nestedResponse,
|
|
80
84
|
contentType: aiResponse.content_type,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
|
|
3
|
+
import smsQueueOptions from './twilio-sms-queue-database-options';
|
|
4
|
+
import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
5
|
+
import { MqMessageService } from 'src/services/mq-message.service';
|
|
6
|
+
import { QueuesModuleOptions } from 'src/interfaces';
|
|
7
|
+
import { DatabasePublisher } from 'src/services/queues/database-publisher.service';
|
|
8
|
+
|
|
9
|
+
@Injectable()
|
|
10
|
+
export class TwilioSmsQueuePublisherDatabase extends DatabasePublisher<any> {
|
|
11
|
+
constructor(
|
|
12
|
+
protected readonly mqMessageService: MqMessageService,
|
|
13
|
+
protected readonly mqMessageQueueService: MqMessageQueueService,
|
|
14
|
+
) {
|
|
15
|
+
super(mqMessageService, mqMessageQueueService);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
options(): QueuesModuleOptions {
|
|
19
|
+
return {
|
|
20
|
+
...smsQueueOptions
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Injectable } from '@nestjs/common';
|
|
2
|
+
|
|
3
|
+
import { QueueMessage } from 'src/interfaces/mq';
|
|
4
|
+
import smsQueueOptions from './twilio-sms-queue-database-options';
|
|
5
|
+
import { MqMessageService } from 'src/services/mq-message.service';
|
|
6
|
+
import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
7
|
+
import { QueuesModuleOptions } from 'src/interfaces';
|
|
8
|
+
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
9
|
+
import { TwilioSMSService } from 'src/services/sms/TwilioSMSService';
|
|
10
|
+
import { PollerService } from 'src/services/poller.service';
|
|
11
|
+
|
|
12
|
+
@Injectable()
|
|
13
|
+
export class TwilioSmsQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
14
|
+
constructor(
|
|
15
|
+
private readonly smsService: TwilioSMSService,
|
|
16
|
+
readonly mqMessageService: MqMessageService,
|
|
17
|
+
readonly mqMessageQueueService: MqMessageQueueService,
|
|
18
|
+
readonly poller: PollerService,
|
|
19
|
+
) {
|
|
20
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
options(): QueuesModuleOptions {
|
|
24
|
+
return {
|
|
25
|
+
...smsQueueOptions
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
subscribe(message: QueueMessage<any>) {
|
|
30
|
+
return this.smsService.sendSMSSynchronously(message);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -8,6 +8,7 @@ import { MqMessageQueueService } from 'src/services/mq-message-queue.service';
|
|
|
8
8
|
import { Msg91WhatsappService } from 'src/services/whatsapp/Msg91WhatsappService';
|
|
9
9
|
import { QueuesModuleOptions } from 'src/interfaces';
|
|
10
10
|
import { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';
|
|
11
|
+
import { PollerService } from 'src/services/poller.service';
|
|
11
12
|
|
|
12
13
|
@Injectable()
|
|
13
14
|
export class WhatsappQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
@@ -15,8 +16,9 @@ export class WhatsappQueueSubscriberDatabase extends DatabaseSubscriber<any> {
|
|
|
15
16
|
private readonly whatsappService: Msg91WhatsappService,
|
|
16
17
|
readonly mqMessageService: MqMessageService,
|
|
17
18
|
readonly mqMessageQueueService: MqMessageQueueService,
|
|
19
|
+
readonly poller: PollerService,
|
|
18
20
|
) {
|
|
19
|
-
super(mqMessageService, mqMessageQueueService);
|
|
21
|
+
super(mqMessageService, mqMessageQueueService, poller);
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
options(): QueuesModuleOptions {
|
|
@@ -195,7 +195,7 @@ export class ModuleMetadataSeederService {
|
|
|
195
195
|
// Sms templates
|
|
196
196
|
this.logger.log(`[Start] Processing sms templates for ${moduleMetadata.name}`);
|
|
197
197
|
const smsTemplates: CreateSmsTemplateDto[] = overallMetadata.smsTemplates;
|
|
198
|
-
await this.seedSmsTemplates(smsTemplates);
|
|
198
|
+
await this.seedSmsTemplates(smsTemplates, moduleMetadata);
|
|
199
199
|
this.logger.log(`[End] Processing sms templates for ${moduleMetadata.name}`);
|
|
200
200
|
|
|
201
201
|
// Settings
|
|
@@ -259,7 +259,7 @@ export class ModuleMetadataSeederService {
|
|
|
259
259
|
'AuthenticationController.logout'
|
|
260
260
|
]
|
|
261
261
|
await this.roleService.addPermissionToRole('Internal User', internalRolePermission);
|
|
262
|
-
await this.roleService.addPermissionToRole('Public', ['SettingController.wrapSettings','AuthenticationController.logout']);
|
|
262
|
+
await this.roleService.addPermissionToRole('Public', ['SettingController.wrapSettings', 'AuthenticationController.logout']);
|
|
263
263
|
this.logger.log(`All Seeders finished`);
|
|
264
264
|
this.logger.log(`Newly created username is: ${usersDetail?.length > 0 ? usersDetail[0]?.username : ''} and password is ${usersDetail?.length > 0 ? usersDetail[0]?.password : ''}`);
|
|
265
265
|
}
|
|
@@ -350,7 +350,7 @@ export class ModuleMetadataSeederService {
|
|
|
350
350
|
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
async seedSmsTemplates(smsTemplates: CreateSmsTemplateDto[]) {
|
|
353
|
+
async seedSmsTemplates(smsTemplates: CreateSmsTemplateDto[], moduleMetadata: CreateModuleMetadataDto) {
|
|
354
354
|
if (!smsTemplates) {
|
|
355
355
|
return;
|
|
356
356
|
}
|
|
@@ -360,23 +360,26 @@ export class ModuleMetadataSeederService {
|
|
|
360
360
|
this.logger.log(`Found ${smsTemplate.name} sms template`);
|
|
361
361
|
|
|
362
362
|
// We need to load the actual template contents.
|
|
363
|
-
if (
|
|
364
|
-
// const smsTemplateFilePath = path.join(process.cwd(), smsTemplate.body);
|
|
365
|
-
// smsTemplate.body = fs.readFileSync(smsTemplateFilePath, 'utf-8').toString()
|
|
366
|
-
|
|
363
|
+
if (moduleMetadata.name === 'solid-core') {
|
|
367
364
|
const modulePath = path.dirname(require.resolve('@solidstarters/solid-core'));
|
|
368
|
-
|
|
369
|
-
// Resolve the `src` folder
|
|
370
365
|
const seedDataPath = path.join(modulePath, '../src/seeders/seed-data/sms-templates');
|
|
371
|
-
|
|
372
|
-
// Example usage
|
|
373
366
|
const filePath = path.join(seedDataPath, smsTemplate.body);
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
367
|
+
this.logger.log(`Seeding sms template from solid-core at path: ${filePath}`);
|
|
368
|
+
if (fs.existsSync(filePath)) {
|
|
369
|
+
smsTemplate.body = fs.readFileSync(filePath, 'utf-8').toString();
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
// Check if file exists
|
|
374
|
+
const emailTemplateHandlebar = `module-metadata/${moduleMetadata.name}/sms-templates/${smsTemplate.body}`
|
|
375
|
+
const fullPath = path.join(process.cwd(), emailTemplateHandlebar);
|
|
376
|
+
this.logger.log(`Seeding custom sms template from consuming model at path: ${fullPath}`);
|
|
377
|
+
if (fs.existsSync(fullPath)) {
|
|
378
|
+
smsTemplate.body = fs.readFileSync(fullPath, 'utf-8').toString();
|
|
379
|
+
}
|
|
378
380
|
}
|
|
379
381
|
|
|
382
|
+
|
|
380
383
|
// Save to DB.
|
|
381
384
|
await this.smsTemplateService.removeByName(smsTemplate.name);
|
|
382
385
|
await this.smsTemplateService.create(smsTemplate);
|