rez_core 2.2.258 → 2.2.259
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/app.module.js +2 -2
- package/dist/app.module.js.map +1 -1
- package/dist/module/integration/controller/calender-event.controller.js.map +1 -0
- package/dist/module/integration/controller/integration.controller.d.ts +113 -0
- package/dist/module/{communication/controller/communication.controller.js → integration/controller/integration.controller.js} +197 -75
- package/dist/module/integration/controller/integration.controller.js.map +1 -0
- package/dist/module/{communication → integration}/controller/wrapper.controller.d.ts +1 -1
- package/dist/module/integration/controller/wrapper.controller.js.map +1 -0
- package/dist/module/{communication → integration}/dto/create-config.dto.d.ts +48 -4
- package/dist/module/{communication → integration}/dto/create-config.dto.js +96 -18
- package/dist/module/integration/dto/create-config.dto.js.map +1 -0
- package/dist/module/{communication/entity/communication-config.entity.d.ts → integration/entity/integration-config.entity.d.ts} +11 -1
- package/dist/module/integration/entity/integration-config.entity.js +78 -0
- package/dist/module/integration/entity/integration-config.entity.js.map +1 -0
- package/dist/module/{communication → integration}/entity/integration-source.entity.d.ts +1 -1
- package/dist/module/{communication → integration}/entity/integration-source.entity.js +8 -8
- package/dist/module/integration/entity/integration-source.entity.js.map +1 -0
- package/dist/module/integration/entity/user-integration.entity.d.ts +23 -0
- package/dist/module/integration/entity/user-integration.entity.js +70 -0
- package/dist/module/integration/entity/user-integration.entity.js.map +1 -0
- package/dist/module/integration/examples/usage.example.d.ts +16 -0
- package/dist/module/integration/examples/usage.example.js +217 -0
- package/dist/module/integration/examples/usage.example.js.map +1 -0
- package/dist/module/{communication → integration}/factories/base.factory.d.ts +2 -2
- package/dist/module/integration/factories/base.factory.js.map +1 -0
- package/dist/module/{communication → integration}/factories/email.factory.d.ts +3 -7
- package/dist/module/{communication → integration}/factories/email.factory.js +1 -13
- package/dist/module/integration/factories/email.factory.js.map +1 -0
- package/dist/module/{communication/factories/communication.factory.d.ts → integration/factories/integration.factory.d.ts} +4 -4
- package/dist/module/{communication/factories/communication.factory.js → integration/factories/integration.factory.js} +26 -26
- package/dist/module/integration/factories/integration.factory.js.map +1 -0
- package/dist/module/integration/factories/sms.factory.d.ts +9 -0
- package/dist/module/integration/factories/sms.factory.js +26 -0
- package/dist/module/integration/factories/sms.factory.js.map +1 -0
- package/dist/module/{communication → integration}/factories/telephone.factory.d.ts +3 -5
- package/dist/module/{communication → integration}/factories/telephone.factory.js +11 -17
- package/dist/module/integration/factories/telephone.factory.js.map +1 -0
- package/dist/module/{communication → integration}/factories/whatsapp.factory.d.ts +2 -2
- package/dist/module/integration/factories/whatsapp.factory.js.map +1 -0
- package/dist/module/integration/integration.module.d.ts +2 -0
- package/dist/module/{communication/communication.module.js → integration/integration.module.js} +22 -42
- package/dist/module/integration/integration.module.js.map +1 -0
- package/dist/module/integration/service/calendar-event.service.js.map +1 -0
- package/dist/module/{communication/service/communication-queue.service.d.ts → integration/service/integration-queue.service.d.ts} +1 -1
- package/dist/module/{communication/service/communication-queue.service.js → integration/service/integration-queue.service.js} +8 -8
- package/dist/module/integration/service/integration-queue.service.js.map +1 -0
- package/dist/module/integration/service/integration.service.d.ts +155 -0
- package/dist/module/{communication/service/communication.service.js → integration/service/integration.service.js} +391 -307
- package/dist/module/integration/service/integration.service.js.map +1 -0
- package/dist/module/{communication → integration}/service/oauth.service.js +1 -1
- package/dist/module/integration/service/oauth.service.js.map +1 -0
- package/dist/module/{communication → integration}/service/wrapper.service.d.ts +4 -4
- package/dist/module/{communication → integration}/service/wrapper.service.js +25 -26
- package/dist/module/integration/service/wrapper.service.js.map +1 -0
- package/dist/module/{communication → integration}/strategies/email/gmail-api.strategy.d.ts +3 -3
- package/dist/module/{communication → integration}/strategies/email/gmail-api.strategy.js +2 -6
- package/dist/module/integration/strategies/email/gmail-api.strategy.js.map +1 -0
- package/dist/module/integration/strategies/email/outlook-api.strategy.d.ts +5 -0
- package/dist/module/integration/strategies/email/outlook-api.strategy.js.map +1 -0
- package/dist/module/integration/strategies/email/outlook.strategy.d.ts +5 -0
- package/dist/module/integration/strategies/email/outlook.strategy.js.map +1 -0
- package/dist/module/{communication → integration}/strategies/email/sendgrid-api.strategy.d.ts +3 -3
- package/dist/module/integration/strategies/email/sendgrid-api.strategy.js.map +1 -0
- package/dist/module/{communication/strategies/communication.strategy.d.ts → integration/strategies/integration.strategy.d.ts} +4 -3
- package/dist/module/{communication/strategies/communication.strategy.js → integration/strategies/integration.strategy.js} +1 -1
- package/dist/module/integration/strategies/integration.strategy.js.map +1 -0
- package/dist/module/integration/strategies/telephone/ozonetel-voice.strategy.d.ts +17 -0
- package/dist/module/{communication → integration}/strategies/telephone/ozonetel-voice.strategy.js +13 -5
- package/dist/module/integration/strategies/telephone/ozonetel-voice.strategy.js.map +1 -0
- package/dist/module/{communication → integration}/strategies/telephone/tubelight-voice.strategy.d.ts +6 -4
- package/dist/module/{communication → integration}/strategies/telephone/tubelight-voice.strategy.js +3 -7
- package/dist/module/integration/strategies/telephone/tubelight-voice.strategy.js.map +1 -0
- package/dist/module/{communication → integration}/strategies/whatsapp/whatsapp-cloud.strategy.d.ts +3 -3
- package/dist/module/integration/strategies/whatsapp/whatsapp-cloud.strategy.js.map +1 -0
- package/dist/module/integration/strategies/whatsapp/whatsapp.strategy.d.ts +5 -0
- package/dist/module/integration/strategies/whatsapp/whatsapp.strategy.js.map +1 -0
- package/dist/module/meta/entity/entity-master.entity.d.ts +1 -1
- package/dist/module/meta/entity/entity-master.entity.js +2 -2
- package/dist/module/meta/entity/entity-master.entity.js.map +1 -1
- package/dist/module/meta/service/entity-dynamic.service.js +47 -27
- package/dist/module/meta/service/entity-dynamic.service.js.map +1 -1
- package/dist/module/user/controller/login.controller.d.ts +3 -3
- package/dist/module/user/controller/login.controller.js +5 -5
- package/dist/module/user/controller/login.controller.js.map +1 -1
- package/dist/module/user/user.module.js +2 -2
- package/dist/module/user/user.module.js.map +1 -1
- package/dist/module/workflow-automation/entity/workflow-automation-action.entity.d.ts +1 -0
- package/dist/module/workflow-automation/entity/workflow-automation-action.entity.js +4 -0
- package/dist/module/workflow-automation/entity/workflow-automation-action.entity.js.map +1 -1
- package/dist/module/workflow-automation/service/workflow-automation.service.d.ts +2 -1
- package/dist/module/workflow-automation/service/workflow-automation.service.js +8 -4
- package/dist/module/workflow-automation/service/workflow-automation.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/modules/event-driven-integration-design.md +92 -0
- package/docs/modules/integration.md +197 -0
- package/package.json +1 -1
- package/src/app.module.ts +2 -2
- package/src/module/integration/controller/integration.controller.ts +411 -0
- package/src/module/{communication → integration}/dto/create-config.dto.ts +110 -18
- package/src/module/{communication/entity/communication-config.entity.ts → integration/entity/integration-config.entity.ts} +33 -6
- package/src/module/{communication → integration}/entity/integration-source.entity.ts +1 -1
- package/src/module/integration/entity/user-integration.entity.ts +71 -0
- package/src/module/integration/examples/usage.example.ts +338 -0
- package/src/module/{communication → integration}/factories/base.factory.ts +2 -2
- package/src/module/{communication → integration}/factories/email.factory.ts +2 -12
- package/src/module/{communication/factories/communication.factory.ts → integration/factories/integration.factory.ts} +18 -18
- package/src/module/integration/factories/sms.factory.ts +19 -0
- package/src/module/integration/factories/telephone.factory.ts +41 -0
- package/src/module/{communication → integration}/factories/whatsapp.factory.ts +2 -2
- package/src/module/integration/integration.module.ts +86 -0
- package/src/module/{communication/service/communication-queue.service.ts → integration/service/integration-queue.service.ts} +2 -2
- package/src/module/{communication/service/communication.service.ts → integration/service/integration.service.ts} +598 -448
- package/src/module/{communication → integration}/service/oauth.service.ts +1 -1
- package/src/module/{communication → integration}/service/wrapper.service.ts +24 -25
- package/src/module/{communication → integration}/strategies/email/gmail-api.strategy.ts +6 -18
- package/src/module/{communication → integration}/strategies/email/outlook-api.strategy.ts +5 -5
- package/src/module/{communication → integration}/strategies/email/outlook.strategy.ts +5 -5
- package/src/module/{communication → integration}/strategies/email/sendgrid-api.strategy.ts +5 -5
- package/src/module/{communication/strategies/communication.strategy.ts → integration/strategies/integration.strategy.ts} +7 -3
- package/src/module/{communication → integration}/strategies/telephone/ozonetel-voice.strategy.ts +40 -12
- package/src/module/{communication → integration}/strategies/telephone/tubelight-voice.strategy.ts +24 -17
- package/src/module/{communication → integration}/strategies/whatsapp/whatsapp-cloud.strategy.ts +5 -5
- package/src/module/{communication → integration}/strategies/whatsapp/whatsapp.strategy.ts +5 -5
- package/src/module/meta/entity/entity-master.entity.ts +2 -2
- package/src/module/meta/service/entity-dynamic.service.ts +55 -28
- package/src/module/user/controller/login.controller.ts +3 -3
- package/src/module/user/user.module.ts +2 -2
- package/src/module/workflow-automation/entity/workflow-automation-action.entity.ts +3 -0
- package/src/module/workflow-automation/service/workflow-automation.service.ts +8 -4
- package/src/resources/dev.properties.yaml +3 -3
- package/.vscode/extensions.json +0 -5
- package/dist/module/communication/communication.module.d.ts +0 -2
- package/dist/module/communication/communication.module.js.map +0 -1
- package/dist/module/communication/controller/calender-event.controller.js.map +0 -1
- package/dist/module/communication/controller/communication.controller.d.ts +0 -99
- package/dist/module/communication/controller/communication.controller.js.map +0 -1
- package/dist/module/communication/controller/wrapper.controller.js.map +0 -1
- package/dist/module/communication/dto/create-config.dto.js.map +0 -1
- package/dist/module/communication/entity/communication-config.entity.js +0 -45
- package/dist/module/communication/entity/communication-config.entity.js.map +0 -1
- package/dist/module/communication/entity/communication-hub.entity.d.ts +0 -20
- package/dist/module/communication/entity/communication-hub.entity.js +0 -115
- package/dist/module/communication/entity/communication-hub.entity.js.map +0 -1
- package/dist/module/communication/entity/integration-source.entity.js.map +0 -1
- package/dist/module/communication/examples/usage.example.d.ts +0 -11
- package/dist/module/communication/examples/usage.example.js +0 -89
- package/dist/module/communication/examples/usage.example.js.map +0 -1
- package/dist/module/communication/factories/base.factory.js.map +0 -1
- package/dist/module/communication/factories/communication.factory.js.map +0 -1
- package/dist/module/communication/factories/email.factory.js.map +0 -1
- package/dist/module/communication/factories/sms.factory.d.ts +0 -15
- package/dist/module/communication/factories/sms.factory.js +0 -49
- package/dist/module/communication/factories/sms.factory.js.map +0 -1
- package/dist/module/communication/factories/telephone.factory.js.map +0 -1
- package/dist/module/communication/factories/whatsapp.factory.js.map +0 -1
- package/dist/module/communication/service/calendar-event.service.js.map +0 -1
- package/dist/module/communication/service/communication-queue.service.js.map +0 -1
- package/dist/module/communication/service/communication.service.d.ts +0 -155
- package/dist/module/communication/service/communication.service.js.map +0 -1
- package/dist/module/communication/service/oauth.service.js.map +0 -1
- package/dist/module/communication/service/wrapper.service.js.map +0 -1
- package/dist/module/communication/strategies/communication.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/gmail-api.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/gmail-smtp-v2.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/email/gmail-smtp-v2.strategy.js +0 -60
- package/dist/module/communication/strategies/email/gmail-smtp-v2.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/gmail-smtp.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/email/gmail-smtp.strategy.js +0 -49
- package/dist/module/communication/strategies/email/gmail-smtp.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/outlook-api.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/email/outlook-api.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/outlook-smtp.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/email/outlook-smtp.strategy.js +0 -65
- package/dist/module/communication/strategies/email/outlook-smtp.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/outlook.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/email/outlook.strategy.js.map +0 -1
- package/dist/module/communication/strategies/email/sendgrid-api.strategy.js.map +0 -1
- package/dist/module/communication/strategies/sms/knowlarity-multi.strategy.d.ts +0 -6
- package/dist/module/communication/strategies/sms/knowlarity-multi.strategy.js +0 -121
- package/dist/module/communication/strategies/sms/knowlarity-multi.strategy.js.map +0 -1
- package/dist/module/communication/strategies/sms/knowlarity.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/sms/knowlarity.strategy.js +0 -44
- package/dist/module/communication/strategies/sms/knowlarity.strategy.js.map +0 -1
- package/dist/module/communication/strategies/sms/twilio-v2.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/sms/twilio-v2.strategy.js +0 -48
- package/dist/module/communication/strategies/sms/twilio-v2.strategy.js.map +0 -1
- package/dist/module/communication/strategies/sms/twilio.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/sms/twilio.strategy.js +0 -44
- package/dist/module/communication/strategies/sms/twilio.strategy.js.map +0 -1
- package/dist/module/communication/strategies/telephone/knowlarity-multi.strategy.d.ts +0 -6
- package/dist/module/communication/strategies/telephone/knowlarity-multi.strategy.js +0 -121
- package/dist/module/communication/strategies/telephone/knowlarity-multi.strategy.js.map +0 -1
- package/dist/module/communication/strategies/telephone/knowlarity-voice.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/telephone/knowlarity-voice.strategy.js +0 -44
- package/dist/module/communication/strategies/telephone/knowlarity-voice.strategy.js.map +0 -1
- package/dist/module/communication/strategies/telephone/ozonetel-voice.strategy.d.ts +0 -15
- package/dist/module/communication/strategies/telephone/ozonetel-voice.strategy.js.map +0 -1
- package/dist/module/communication/strategies/telephone/tubelight-voice.strategy.js.map +0 -1
- package/dist/module/communication/strategies/whatsapp/whatsapp-cloud.strategy.js.map +0 -1
- package/dist/module/communication/strategies/whatsapp/whatsapp.strategy.d.ts +0 -5
- package/dist/module/communication/strategies/whatsapp/whatsapp.strategy.js.map +0 -1
- package/docs/modules/communication.md +0 -177
- package/src/module/communication/communication.module.ts +0 -106
- package/src/module/communication/controller/communication.controller.ts +0 -293
- package/src/module/communication/entity/communication-hub.entity.ts +0 -103
- package/src/module/communication/examples/usage.example.ts +0 -170
- package/src/module/communication/factories/sms.factory.ts +0 -44
- package/src/module/communication/factories/telephone.factory.ts +0 -49
- package/src/module/communication/strategies/email/gmail-smtp-v2.strategy.ts +0 -68
- package/src/module/communication/strategies/email/gmail-smtp.strategy.ts +0 -51
- package/src/module/communication/strategies/email/outlook-smtp.strategy.ts +0 -73
- package/src/module/communication/strategies/sms/knowlarity-multi.strategy.ts +0 -158
- package/src/module/communication/strategies/sms/knowlarity.strategy.ts +0 -44
- package/src/module/communication/strategies/sms/twilio-v2.strategy.ts +0 -47
- package/src/module/communication/strategies/sms/twilio.strategy.ts +0 -44
- package/src/module/communication/strategies/telephone/knowlarity-multi.strategy.ts +0 -158
- package/src/module/communication/strategies/telephone/knowlarity-voice.strategy.ts +0 -44
- /package/dist/module/{communication → integration}/controller/calender-event.controller.d.ts +0 -0
- /package/dist/module/{communication → integration}/controller/calender-event.controller.js +0 -0
- /package/dist/module/{communication → integration}/controller/wrapper.controller.js +0 -0
- /package/dist/module/{communication → integration}/factories/base.factory.js +0 -0
- /package/dist/module/{communication → integration}/factories/whatsapp.factory.js +0 -0
- /package/dist/module/{communication → integration}/service/calendar-event.service.d.ts +0 -0
- /package/dist/module/{communication → integration}/service/calendar-event.service.js +0 -0
- /package/dist/module/{communication → integration}/service/oauth.service.d.ts +0 -0
- /package/dist/module/{communication → integration}/strategies/email/outlook-api.strategy.js +0 -0
- /package/dist/module/{communication → integration}/strategies/email/outlook.strategy.js +0 -0
- /package/dist/module/{communication → integration}/strategies/email/sendgrid-api.strategy.js +0 -0
- /package/dist/module/{communication → integration}/strategies/whatsapp/whatsapp-cloud.strategy.js +0 -0
- /package/dist/module/{communication → integration}/strategies/whatsapp/whatsapp.strategy.js +0 -0
- /package/src/module/{communication → integration}/controller/calender-event.controller.ts +0 -0
- /package/src/module/{communication → integration}/controller/wrapper.controller.ts +0 -0
- /package/src/module/{communication → integration}/service/calendar-event.service.ts +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import * as nodemailer from 'nodemailer';
|
|
3
|
-
import {
|
|
4
|
-
CommunicationStrategy,
|
|
5
|
-
CommunicationResult,
|
|
6
|
-
} from '../communication.strategy';
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class GmailSMTPStrategy implements CommunicationStrategy {
|
|
10
|
-
async sendMessage(
|
|
11
|
-
to: string,
|
|
12
|
-
message: string,
|
|
13
|
-
config: any,
|
|
14
|
-
): Promise<CommunicationResult> {
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
email,
|
|
18
|
-
password,
|
|
19
|
-
subject = 'Notification',
|
|
20
|
-
html,
|
|
21
|
-
attachments,
|
|
22
|
-
cc,
|
|
23
|
-
bcc,
|
|
24
|
-
} = config;
|
|
25
|
-
|
|
26
|
-
const transporter = nodemailer.createTransport({
|
|
27
|
-
service: 'gmail',
|
|
28
|
-
auth: {
|
|
29
|
-
user: email,
|
|
30
|
-
pass: password,
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const mailOptions = {
|
|
35
|
-
from: email,
|
|
36
|
-
to: Array.isArray(to) ? to.join(',') : to,
|
|
37
|
-
cc: cc ? (Array.isArray(cc) ? cc.join(',') : cc) : undefined,
|
|
38
|
-
bcc: bcc ? (Array.isArray(bcc) ? bcc.join(',') : bcc) : undefined,
|
|
39
|
-
subject,
|
|
40
|
-
text: message,
|
|
41
|
-
html: html || message,
|
|
42
|
-
attachments: attachments || [],
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const result = await transporter.sendMail(mailOptions);
|
|
46
|
-
|
|
47
|
-
return {
|
|
48
|
-
success: true,
|
|
49
|
-
provider: 'gmail',
|
|
50
|
-
service: 'SMTP',
|
|
51
|
-
messageId: result.messageId,
|
|
52
|
-
timestamp: new Date(),
|
|
53
|
-
};
|
|
54
|
-
} catch (error) {
|
|
55
|
-
return {
|
|
56
|
-
success: false,
|
|
57
|
-
provider: 'gmail',
|
|
58
|
-
service: 'SMTP',
|
|
59
|
-
error: error.message,
|
|
60
|
-
timestamp: new Date(),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
validateConfig(config: any): boolean {
|
|
66
|
-
return !!(config.email && config.password);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
CommunicationStrategy,
|
|
4
|
-
CommunicationResult,
|
|
5
|
-
} from '../communication.strategy';
|
|
6
|
-
|
|
7
|
-
@Injectable()
|
|
8
|
-
export class GmailSmtpStrategy implements CommunicationStrategy {
|
|
9
|
-
async sendMessage(
|
|
10
|
-
to: string,
|
|
11
|
-
message: string,
|
|
12
|
-
config: any,
|
|
13
|
-
): Promise<CommunicationResult> {
|
|
14
|
-
try {
|
|
15
|
-
if (!this.validateConfig(config)) {
|
|
16
|
-
throw new Error('Invalid Gmail SMTP configuration');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// SMTP implementation would go here using nodemailer
|
|
20
|
-
// This is a placeholder for actual SMTP integration
|
|
21
|
-
console.log('Sending email via Gmail SMTP to:', to);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
success: true,
|
|
25
|
-
messageId: `gmail-smtp-${Date.now()}`,
|
|
26
|
-
provider: 'gmail',
|
|
27
|
-
service: 'SMTP',
|
|
28
|
-
timestamp: new Date(),
|
|
29
|
-
};
|
|
30
|
-
} catch (error) {
|
|
31
|
-
return {
|
|
32
|
-
success: false,
|
|
33
|
-
provider: 'gmail',
|
|
34
|
-
service: 'SMTP',
|
|
35
|
-
error: error.message,
|
|
36
|
-
timestamp: new Date(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
validateConfig(config: any): boolean {
|
|
42
|
-
return (
|
|
43
|
-
config &&
|
|
44
|
-
config.host &&
|
|
45
|
-
config.port &&
|
|
46
|
-
config.auth &&
|
|
47
|
-
config.auth.user &&
|
|
48
|
-
config.auth.pass
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import * as nodemailer from 'nodemailer';
|
|
3
|
-
import {
|
|
4
|
-
CommunicationStrategy,
|
|
5
|
-
CommunicationResult,
|
|
6
|
-
} from '../communication.strategy';
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class OutlookSMTPStrategy implements CommunicationStrategy {
|
|
10
|
-
async sendMessage(
|
|
11
|
-
to: string,
|
|
12
|
-
message: string,
|
|
13
|
-
config: any,
|
|
14
|
-
): Promise<CommunicationResult> {
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
email,
|
|
18
|
-
password,
|
|
19
|
-
subject = 'Notification',
|
|
20
|
-
html,
|
|
21
|
-
attachments,
|
|
22
|
-
cc,
|
|
23
|
-
bcc,
|
|
24
|
-
} = config;
|
|
25
|
-
|
|
26
|
-
const transporter = nodemailer.createTransport({
|
|
27
|
-
host: 'smtp-mail.outlook.com',
|
|
28
|
-
port: 587,
|
|
29
|
-
secure: false,
|
|
30
|
-
auth: {
|
|
31
|
-
user: email,
|
|
32
|
-
pass: password,
|
|
33
|
-
},
|
|
34
|
-
tls: {
|
|
35
|
-
ciphers: 'SSLv3',
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const mailOptions = {
|
|
40
|
-
from: email,
|
|
41
|
-
to: Array.isArray(to) ? to.join(',') : to,
|
|
42
|
-
cc: cc ? (Array.isArray(cc) ? cc.join(',') : cc) : undefined,
|
|
43
|
-
bcc: bcc ? (Array.isArray(bcc) ? bcc.join(',') : bcc) : undefined,
|
|
44
|
-
subject,
|
|
45
|
-
text: message,
|
|
46
|
-
html: html || message,
|
|
47
|
-
attachments: attachments || [],
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const result = await transporter.sendMail(mailOptions);
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
success: true,
|
|
54
|
-
provider: 'outlook',
|
|
55
|
-
service: 'SMTP',
|
|
56
|
-
messageId: result.messageId,
|
|
57
|
-
timestamp: new Date(),
|
|
58
|
-
};
|
|
59
|
-
} catch (error) {
|
|
60
|
-
return {
|
|
61
|
-
success: false,
|
|
62
|
-
provider: 'outlook',
|
|
63
|
-
service: 'SMTP',
|
|
64
|
-
error: error.message,
|
|
65
|
-
timestamp: new Date(),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
validateConfig(config: any): boolean {
|
|
71
|
-
return !!(config.email && config.password);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
import {
|
|
4
|
-
CommunicationStrategy,
|
|
5
|
-
CommunicationResult,
|
|
6
|
-
} from '../communication.strategy';
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class KnowlarityStrategy implements CommunicationStrategy {
|
|
10
|
-
async sendMessage(
|
|
11
|
-
to: string,
|
|
12
|
-
message: string,
|
|
13
|
-
config: any,
|
|
14
|
-
): Promise<CommunicationResult> {
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
apiKey,
|
|
18
|
-
apiSecret,
|
|
19
|
-
callerNumber,
|
|
20
|
-
baseUrl = 'https://kpi.knowlarity.com/Basic',
|
|
21
|
-
callType = 'voice',
|
|
22
|
-
language = 'en',
|
|
23
|
-
} = config;
|
|
24
|
-
|
|
25
|
-
if (callType === 'voice') {
|
|
26
|
-
const callData = {
|
|
27
|
-
k_number: callerNumber,
|
|
28
|
-
agent_number: to,
|
|
29
|
-
caller_id: callerNumber,
|
|
30
|
-
voice_message: config.voiceMessage || message,
|
|
31
|
-
language: language,
|
|
32
|
-
api_key: apiKey,
|
|
33
|
-
api_secret: apiSecret,
|
|
34
|
-
format: 'json',
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const response = await axios.post(
|
|
38
|
-
`${baseUrl}/start_call.php`,
|
|
39
|
-
callData,
|
|
40
|
-
{
|
|
41
|
-
headers: {
|
|
42
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
43
|
-
},
|
|
44
|
-
transformRequest: [
|
|
45
|
-
(data) => {
|
|
46
|
-
return Object.keys(data)
|
|
47
|
-
.map(
|
|
48
|
-
(key) =>
|
|
49
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
50
|
-
)
|
|
51
|
-
.join('&');
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
success: response.data.status === 'success',
|
|
59
|
-
provider: 'knowlarity',
|
|
60
|
-
service: 'THIRD_PARTY',
|
|
61
|
-
messageId: response.data.call_id,
|
|
62
|
-
timestamp: new Date(),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (callType === 'sms') {
|
|
67
|
-
const smsData = {
|
|
68
|
-
k_number: callerNumber,
|
|
69
|
-
agent_number: to,
|
|
70
|
-
sms_text: message,
|
|
71
|
-
api_key: apiKey,
|
|
72
|
-
api_secret: apiSecret,
|
|
73
|
-
format: 'json',
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const response = await axios.post(`${baseUrl}/send_sms.php`, smsData, {
|
|
77
|
-
headers: {
|
|
78
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
79
|
-
},
|
|
80
|
-
transformRequest: [
|
|
81
|
-
(data) => {
|
|
82
|
-
return Object.keys(data)
|
|
83
|
-
.map(
|
|
84
|
-
(key) =>
|
|
85
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
86
|
-
)
|
|
87
|
-
.join('&');
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
return {
|
|
93
|
-
success: response.data.status === 'success',
|
|
94
|
-
provider: 'knowlarity',
|
|
95
|
-
service: 'THIRD_PARTY',
|
|
96
|
-
messageId: response.data.message_id,
|
|
97
|
-
timestamp: new Date(),
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
throw new Error('Invalid call type. Must be "voice" or "sms"');
|
|
102
|
-
} catch (error) {
|
|
103
|
-
return {
|
|
104
|
-
success: false,
|
|
105
|
-
provider: 'knowlarity',
|
|
106
|
-
service: 'THIRD_PARTY',
|
|
107
|
-
error: error.message,
|
|
108
|
-
timestamp: new Date(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
validateConfig(config: any): boolean {
|
|
114
|
-
return !!(
|
|
115
|
-
config.apiKey &&
|
|
116
|
-
config.apiSecret &&
|
|
117
|
-
config.callerNumber &&
|
|
118
|
-
['voice', 'sms'].includes(config.callType)
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
async getCallStatus(callId: string, config: any): Promise<any> {
|
|
123
|
-
const {
|
|
124
|
-
apiKey,
|
|
125
|
-
apiSecret,
|
|
126
|
-
baseUrl = 'https://kpi.knowlarity.com/Basic',
|
|
127
|
-
} = config;
|
|
128
|
-
|
|
129
|
-
const statusData = {
|
|
130
|
-
call_id: callId,
|
|
131
|
-
api_key: apiKey,
|
|
132
|
-
api_secret: apiSecret,
|
|
133
|
-
format: 'json',
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
const response = await axios.post(
|
|
137
|
-
`${baseUrl}/call_details.php`,
|
|
138
|
-
statusData,
|
|
139
|
-
{
|
|
140
|
-
headers: {
|
|
141
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
142
|
-
},
|
|
143
|
-
transformRequest: [
|
|
144
|
-
(data) => {
|
|
145
|
-
return Object.keys(data)
|
|
146
|
-
.map(
|
|
147
|
-
(key) =>
|
|
148
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
149
|
-
)
|
|
150
|
-
.join('&');
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
},
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
return response.data;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
CommunicationStrategy,
|
|
4
|
-
CommunicationResult,
|
|
5
|
-
} from '../communication.strategy';
|
|
6
|
-
|
|
7
|
-
@Injectable()
|
|
8
|
-
export class KnowlarityStrategy implements CommunicationStrategy {
|
|
9
|
-
async sendMessage(
|
|
10
|
-
to: string,
|
|
11
|
-
message: string,
|
|
12
|
-
config: any,
|
|
13
|
-
): Promise<CommunicationResult> {
|
|
14
|
-
try {
|
|
15
|
-
if (!this.validateConfig(config)) {
|
|
16
|
-
throw new Error('Invalid Knowlarity configuration');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Knowlarity API implementation would go here
|
|
20
|
-
// This is a placeholder for actual Knowlarity integration
|
|
21
|
-
console.log('Sending SMS via Knowlarity to:', to);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
success: true,
|
|
25
|
-
messageId: `knowlarity-${Date.now()}`,
|
|
26
|
-
provider: 'knowlarity',
|
|
27
|
-
service: 'THIRD_PARTY',
|
|
28
|
-
timestamp: new Date(),
|
|
29
|
-
};
|
|
30
|
-
} catch (error) {
|
|
31
|
-
return {
|
|
32
|
-
success: false,
|
|
33
|
-
provider: 'knowlarity',
|
|
34
|
-
service: 'THIRD_PARTY',
|
|
35
|
-
error: error.message,
|
|
36
|
-
timestamp: new Date(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
validateConfig(config: any): boolean {
|
|
42
|
-
return config && config.apiKey && config.senderId;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import { Twilio } from 'twilio';
|
|
3
|
-
import {
|
|
4
|
-
CommunicationStrategy,
|
|
5
|
-
CommunicationResult,
|
|
6
|
-
} from '../communication.strategy';
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class SmsStrategy implements CommunicationStrategy {
|
|
10
|
-
async sendMessage(
|
|
11
|
-
to: string,
|
|
12
|
-
message: string,
|
|
13
|
-
config: any,
|
|
14
|
-
): Promise<CommunicationResult> {
|
|
15
|
-
try {
|
|
16
|
-
const { accountSid, authToken, fromNumber } = config;
|
|
17
|
-
|
|
18
|
-
const client = new Twilio(accountSid, authToken);
|
|
19
|
-
|
|
20
|
-
const result = await client.messages.create({
|
|
21
|
-
body: message,
|
|
22
|
-
from: fromNumber,
|
|
23
|
-
to: to,
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
return {
|
|
27
|
-
success: true,
|
|
28
|
-
provider: 'twilio',
|
|
29
|
-
service: 'THIRD_PARTY',
|
|
30
|
-
messageId: result.sid,
|
|
31
|
-
timestamp: new Date(),
|
|
32
|
-
};
|
|
33
|
-
} catch (error) {
|
|
34
|
-
return {
|
|
35
|
-
success: false,
|
|
36
|
-
provider: 'twilio',
|
|
37
|
-
service: 'THIRD_PARTY',
|
|
38
|
-
error: error.message,
|
|
39
|
-
timestamp: new Date(),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
validateConfig(config: any): boolean {
|
|
45
|
-
return !!(config.accountSid && config.authToken && config.fromNumber);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
CommunicationStrategy,
|
|
4
|
-
CommunicationResult,
|
|
5
|
-
} from '../communication.strategy';
|
|
6
|
-
|
|
7
|
-
@Injectable()
|
|
8
|
-
export class TwilioStrategy implements CommunicationStrategy {
|
|
9
|
-
async sendMessage(
|
|
10
|
-
to: string,
|
|
11
|
-
message: string,
|
|
12
|
-
config: any,
|
|
13
|
-
): Promise<CommunicationResult> {
|
|
14
|
-
try {
|
|
15
|
-
if (!this.validateConfig(config)) {
|
|
16
|
-
throw new Error('Invalid Twilio configuration');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Twilio SDK implementation would go here
|
|
20
|
-
// This is a placeholder for actual Twilio integration
|
|
21
|
-
console.log('Sending SMS via Twilio to:', to);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
success: true,
|
|
25
|
-
messageId: `twilio-${Date.now()}`,
|
|
26
|
-
provider: 'twilio',
|
|
27
|
-
service: 'THIRD_PARTY',
|
|
28
|
-
timestamp: new Date(),
|
|
29
|
-
};
|
|
30
|
-
} catch (error) {
|
|
31
|
-
return {
|
|
32
|
-
success: false,
|
|
33
|
-
provider: 'twilio',
|
|
34
|
-
service: 'THIRD_PARTY',
|
|
35
|
-
error: error.message,
|
|
36
|
-
timestamp: new Date(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
validateConfig(config: any): boolean {
|
|
42
|
-
return config && config.accountSid && config.authToken && config.fromNumber;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
import {
|
|
4
|
-
CommunicationStrategy,
|
|
5
|
-
CommunicationResult,
|
|
6
|
-
} from '../communication.strategy';
|
|
7
|
-
|
|
8
|
-
@Injectable()
|
|
9
|
-
export class KnowlarityStrategy implements CommunicationStrategy {
|
|
10
|
-
async sendMessage(
|
|
11
|
-
to: string,
|
|
12
|
-
message: string,
|
|
13
|
-
config: any,
|
|
14
|
-
): Promise<CommunicationResult> {
|
|
15
|
-
try {
|
|
16
|
-
const {
|
|
17
|
-
apiKey,
|
|
18
|
-
apiSecret,
|
|
19
|
-
callerNumber,
|
|
20
|
-
baseUrl = 'https://kpi.knowlarity.com/Basic',
|
|
21
|
-
callType = 'voice',
|
|
22
|
-
language = 'en',
|
|
23
|
-
} = config;
|
|
24
|
-
|
|
25
|
-
if (callType === 'voice') {
|
|
26
|
-
const callData = {
|
|
27
|
-
k_number: callerNumber,
|
|
28
|
-
agent_number: to,
|
|
29
|
-
caller_id: callerNumber,
|
|
30
|
-
voice_message: config.voiceMessage || message,
|
|
31
|
-
language: language,
|
|
32
|
-
api_key: apiKey,
|
|
33
|
-
api_secret: apiSecret,
|
|
34
|
-
format: 'json',
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const response = await axios.post(
|
|
38
|
-
`${baseUrl}/start_call.php`,
|
|
39
|
-
callData,
|
|
40
|
-
{
|
|
41
|
-
headers: {
|
|
42
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
43
|
-
},
|
|
44
|
-
transformRequest: [
|
|
45
|
-
(data) => {
|
|
46
|
-
return Object.keys(data)
|
|
47
|
-
.map(
|
|
48
|
-
(key) =>
|
|
49
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
50
|
-
)
|
|
51
|
-
.join('&');
|
|
52
|
-
},
|
|
53
|
-
],
|
|
54
|
-
},
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
success: response.data.status === 'success',
|
|
59
|
-
provider: 'knowlarity',
|
|
60
|
-
service: 'THIRD_PARTY',
|
|
61
|
-
messageId: response.data.call_id,
|
|
62
|
-
timestamp: new Date(),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (callType === 'sms') {
|
|
67
|
-
const smsData = {
|
|
68
|
-
k_number: callerNumber,
|
|
69
|
-
agent_number: to,
|
|
70
|
-
sms_text: message,
|
|
71
|
-
api_key: apiKey,
|
|
72
|
-
api_secret: apiSecret,
|
|
73
|
-
format: 'json',
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const response = await axios.post(`${baseUrl}/send_sms.php`, smsData, {
|
|
77
|
-
headers: {
|
|
78
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
79
|
-
},
|
|
80
|
-
transformRequest: [
|
|
81
|
-
(data) => {
|
|
82
|
-
return Object.keys(data)
|
|
83
|
-
.map(
|
|
84
|
-
(key) =>
|
|
85
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
86
|
-
)
|
|
87
|
-
.join('&');
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
return {
|
|
93
|
-
success: response.data.status === 'success',
|
|
94
|
-
provider: 'knowlarity',
|
|
95
|
-
service: 'THIRD_PARTY',
|
|
96
|
-
messageId: response.data.message_id,
|
|
97
|
-
timestamp: new Date(),
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
throw new Error('Invalid call type. Must be "voice" or "sms"');
|
|
102
|
-
} catch (error) {
|
|
103
|
-
return {
|
|
104
|
-
success: false,
|
|
105
|
-
provider: 'knowlarity',
|
|
106
|
-
service: 'THIRD_PARTY',
|
|
107
|
-
error: error.message,
|
|
108
|
-
timestamp: new Date(),
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
validateConfig(config: any): boolean {
|
|
114
|
-
return !!(
|
|
115
|
-
config.apiKey &&
|
|
116
|
-
config.apiSecret &&
|
|
117
|
-
config.callerNumber &&
|
|
118
|
-
['voice', 'sms'].includes(config.callType)
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
async getCallStatus(callId: string, config: any): Promise<any> {
|
|
123
|
-
const {
|
|
124
|
-
apiKey,
|
|
125
|
-
apiSecret,
|
|
126
|
-
baseUrl = 'https://kpi.knowlarity.com/Basic',
|
|
127
|
-
} = config;
|
|
128
|
-
|
|
129
|
-
const statusData = {
|
|
130
|
-
call_id: callId,
|
|
131
|
-
api_key: apiKey,
|
|
132
|
-
api_secret: apiSecret,
|
|
133
|
-
format: 'json',
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
const response = await axios.post(
|
|
137
|
-
`${baseUrl}/call_details.php`,
|
|
138
|
-
statusData,
|
|
139
|
-
{
|
|
140
|
-
headers: {
|
|
141
|
-
'Content-Type': 'application/x-www-form-urlencoded',
|
|
142
|
-
},
|
|
143
|
-
transformRequest: [
|
|
144
|
-
(data) => {
|
|
145
|
-
return Object.keys(data)
|
|
146
|
-
.map(
|
|
147
|
-
(key) =>
|
|
148
|
-
`${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`,
|
|
149
|
-
)
|
|
150
|
-
.join('&');
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
},
|
|
154
|
-
);
|
|
155
|
-
|
|
156
|
-
return response.data;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@nestjs/common';
|
|
2
|
-
import {
|
|
3
|
-
CommunicationStrategy,
|
|
4
|
-
CommunicationResult,
|
|
5
|
-
} from '../communication.strategy';
|
|
6
|
-
|
|
7
|
-
@Injectable()
|
|
8
|
-
export class KnowlarityVoiceStrategy implements CommunicationStrategy {
|
|
9
|
-
async sendMessage(
|
|
10
|
-
to: string,
|
|
11
|
-
message: string,
|
|
12
|
-
config: any,
|
|
13
|
-
): Promise<CommunicationResult> {
|
|
14
|
-
try {
|
|
15
|
-
if (!this.validateConfig(config)) {
|
|
16
|
-
throw new Error('Invalid Knowlarity Voice configuration');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Knowlarity Voice API implementation would go here
|
|
20
|
-
// This is a placeholder for actual voice call integration
|
|
21
|
-
console.log('Initiating voice call via Knowlarity to:', to);
|
|
22
|
-
|
|
23
|
-
return {
|
|
24
|
-
success: true,
|
|
25
|
-
messageId: `knowlarity-voice-${Date.now()}`,
|
|
26
|
-
provider: 'knowlarity',
|
|
27
|
-
service: 'THIRD_PARTY',
|
|
28
|
-
timestamp: new Date(),
|
|
29
|
-
};
|
|
30
|
-
} catch (error) {
|
|
31
|
-
return {
|
|
32
|
-
success: false,
|
|
33
|
-
provider: 'knowlarity',
|
|
34
|
-
service: 'THIRD_PARTY',
|
|
35
|
-
error: error.message,
|
|
36
|
-
timestamp: new Date(),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
validateConfig(config: any): boolean {
|
|
42
|
-
return config && config.apiKey && config.callerId && config.voiceUrl;
|
|
43
|
-
}
|
|
44
|
-
}
|
/package/dist/module/{communication → integration}/controller/calender-event.controller.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|