@serve.zone/platformclient 1.1.0 → 1.1.2
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_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.platformclient.d.ts +4 -0
- package/dist_ts/classes.platformclient.js +9 -3
- package/dist_ts/email/classes.letterconnector.js +7 -1
- package/dist_ts/email/classes.pushnotificationconnector.d.ts +7 -0
- package/dist_ts/email/classes.pushnotificationconnector.js +21 -0
- package/dist_ts/email/classes.smsconnector.js +9 -2
- package/package.json +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.platformclient.ts +16 -5
- package/ts/email/classes.letterconnector.ts +9 -0
- package/ts/email/classes.pushnotificationconnector.ts +34 -0
- package/ts/email/classes.smsconnector.ts +11 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/platformclient',
|
|
6
|
-
version: '1.1.
|
|
6
|
+
version: '1.1.2',
|
|
7
7
|
description: 'a module that makes it really easy to use the serve.zone platform inside your app'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw0QkFBNEI7SUFDbEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLG1GQUFtRjtDQUNqRyxDQUFBIn0=
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SzEmailConnector } from './email/classes.emailconnector.js';
|
|
2
2
|
import { SzSmsConnector } from './email/classes.smsconnector.js';
|
|
3
|
+
import { SzPushNotificationConnector } from './email/classes.pushnotificationconnector.js';
|
|
4
|
+
import { SzLetterConnector } from './email/classes.letterconnector.js';
|
|
3
5
|
import * as plugins from './plugins.js';
|
|
4
6
|
export declare class SzPlatformClient {
|
|
5
7
|
debugMode: boolean;
|
|
@@ -9,6 +11,8 @@ export declare class SzPlatformClient {
|
|
|
9
11
|
private qenvInstance;
|
|
10
12
|
emailConnector: SzEmailConnector;
|
|
11
13
|
smsConnector: SzSmsConnector;
|
|
14
|
+
pushNotificationConnector: SzPushNotificationConnector;
|
|
15
|
+
letterConnector: SzLetterConnector;
|
|
12
16
|
constructor(authorizationStringArg?: string);
|
|
13
17
|
init(authorizationStringArg?: string): Promise<void>;
|
|
14
18
|
private getConnectionAddress;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SzEmailConnector } from './email/classes.emailconnector.js';
|
|
2
2
|
import { SzSmsConnector } from './email/classes.smsconnector.js';
|
|
3
|
+
import { SzPushNotificationConnector } from './email/classes.pushnotificationconnector.js';
|
|
4
|
+
import { SzLetterConnector } from './email/classes.letterconnector.js';
|
|
3
5
|
import * as plugins from './plugins.js';
|
|
4
6
|
export class SzPlatformClient {
|
|
5
7
|
constructor(authorizationStringArg) {
|
|
@@ -8,17 +10,21 @@ export class SzPlatformClient {
|
|
|
8
10
|
this.qenvInstance = new plugins.qenv.Qenv();
|
|
9
11
|
this.emailConnector = new SzEmailConnector(this);
|
|
10
12
|
this.smsConnector = new SzSmsConnector(this);
|
|
13
|
+
this.pushNotificationConnector = new SzPushNotificationConnector(this);
|
|
14
|
+
this.letterConnector = new SzLetterConnector(this);
|
|
11
15
|
this.authorizationString = authorizationStringArg;
|
|
12
16
|
}
|
|
13
17
|
async init(authorizationStringArg) {
|
|
14
|
-
if (authorizationStringArg)
|
|
18
|
+
if (authorizationStringArg) {
|
|
15
19
|
this.authorizationString = authorizationStringArg;
|
|
20
|
+
}
|
|
16
21
|
if (!this.authorizationString)
|
|
17
22
|
this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
|
18
23
|
if (!this.authorizationString)
|
|
19
24
|
throw new Error('authorizationString is required');
|
|
20
|
-
if (
|
|
25
|
+
if (this.authorizationString === 'test') {
|
|
21
26
|
this.debugMode = true;
|
|
27
|
+
console.log('debug mode activated.');
|
|
22
28
|
return;
|
|
23
29
|
}
|
|
24
30
|
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(this.typedrouter, await this.getConnectionAddress());
|
|
@@ -28,4 +34,4 @@ export class SzPlatformClient {
|
|
|
28
34
|
return connectionAddress;
|
|
29
35
|
}
|
|
30
36
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wbGF0Zm9ybWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMucGxhdGZvcm1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBWSxzQkFBK0I7UUFYcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwRCxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV4QyxtQkFBYyxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4Qyw4QkFBeUIsR0FBRyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUduRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsc0JBQXNCLENBQUM7SUFDcEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJLENBQUMsc0JBQStCO1FBQy9DLElBQUksc0JBQXNCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsc0JBQXNCLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQ25FLElBQUksQ0FBQyxXQUFXLEVBQ2hCLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRU8sS0FBSyxDQUFDLG9CQUFvQjtRQUNoQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVGLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztDQUNGIn0=
|
|
@@ -4,8 +4,14 @@ export class SzLetterConnector {
|
|
|
4
4
|
this.platformClientRef = platformClientRefArg;
|
|
5
5
|
}
|
|
6
6
|
async sendLetter(optionsArg) {
|
|
7
|
+
if (this.platformClientRef.debugMode) {
|
|
8
|
+
console.log('sendLetter', optionsArg);
|
|
9
|
+
}
|
|
10
|
+
if (this.platformClientRef.debugMode) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
7
13
|
const typedRequest = this.platformClientRef.typedsocket.createTypedRequest('sendLetter');
|
|
8
14
|
const response = await typedRequest.fire(optionsArg);
|
|
9
15
|
}
|
|
10
16
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5sZXR0ZXJjb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9lbWFpbC9jbGFzc2VzLmxldHRlcmNvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQVksb0JBQXNDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FDckIsVUFBNkY7UUFHN0YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQ25ELFlBQVksQ0FDYixDQUFDO1FBQ0osTUFBTSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SzPlatformClient } from '../classes.platformclient.js';
|
|
2
|
+
import * as plugins from '../plugins.js';
|
|
3
|
+
export declare class SzPushNotificationConnector {
|
|
4
|
+
platformClientRef: SzPlatformClient;
|
|
5
|
+
constructor(platformClientRefArg: SzPlatformClient);
|
|
6
|
+
sendPushNotification(optionsArg: plugins.servezoneInterfaces.platformservice.pushnotification.IRequest_SendPushNotification['request']): Promise<string>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
export class SzPushNotificationConnector {
|
|
3
|
+
constructor(platformClientRefArg) {
|
|
4
|
+
this.platformClientRef = platformClientRefArg;
|
|
5
|
+
}
|
|
6
|
+
async sendPushNotification(optionsArg) {
|
|
7
|
+
if (this.platformClientRef.debugMode) {
|
|
8
|
+
console.log('sendPushNotification', optionsArg);
|
|
9
|
+
}
|
|
10
|
+
if (this.platformClientRef.debugMode) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const typedRequest = this.platformClientRef.typedsocket.createTypedRequest('sendPushNotification');
|
|
14
|
+
const response = await typedRequest.fire(optionsArg);
|
|
15
|
+
if (process.env.SERVEZONE_PLATFORMCLIENT_DEBUG) {
|
|
16
|
+
console.log('sendPushNotification response', response);
|
|
17
|
+
}
|
|
18
|
+
return response.status;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wdXNobm90aWZpY2F0aW9uY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZW1haWwvY2xhc3Nlcy5wdXNobm90aWZpY2F0aW9uY29ubmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFBWSxvQkFBc0M7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDO0lBQ2hELENBQUM7SUFFTSxLQUFLLENBQUMsb0JBQW9CLENBQy9CLFVBQWlIO1FBRWpILElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQ25ELHNCQUFzQixDQUN2QixDQUFDO1FBQ0osTUFBTSxRQUFRLEdBQUcsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJELElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==
|
|
@@ -5,21 +5,28 @@ export class SzSmsConnector {
|
|
|
5
5
|
this.platformClientRef = platformClientRefArg;
|
|
6
6
|
}
|
|
7
7
|
async sendSms(messageArg) {
|
|
8
|
-
if (
|
|
8
|
+
if (this.platformClientRef.debugMode) {
|
|
9
9
|
logger.log('info', `sent sms to ${messageArg.toNumber}}
|
|
10
10
|
body:
|
|
11
11
|
${messageArg.messageText.split('\n').map(line => ` ${line}`).join('\n')}
|
|
12
12
|
|
|
13
13
|
`);
|
|
14
14
|
}
|
|
15
|
+
if (this.platformClientRef.debugMode) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
15
18
|
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest('sendSms');
|
|
16
19
|
const response = await typedrequest.fire(messageArg);
|
|
17
20
|
return response.status;
|
|
18
21
|
}
|
|
19
22
|
async sendSmsVerifcation(recipientArg) {
|
|
23
|
+
if (this.platformClientRef.debugMode) {
|
|
24
|
+
console.log('sendSmsVerifcation', recipientArg, '123456');
|
|
25
|
+
return '123456';
|
|
26
|
+
}
|
|
20
27
|
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest('sendVerificationCode');
|
|
21
28
|
const response = await typedrequest.fire(recipientArg);
|
|
22
29
|
return response.verificationCode;
|
|
23
30
|
}
|
|
24
31
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zbXNjb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9lbWFpbC9jbGFzc2VzLnNtc2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQVksb0JBQXNDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUF1RjtRQUMxRyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxlQUFlLFVBQVUsQ0FBQyxRQUFROztVQUVqRCxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7U0FFNUUsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDeEUsU0FBUyxDQUNWLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCLENBQzdCLFlBQXNHO1FBRXRHLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFHRCxNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDbkQsc0JBQXNCLENBQ3ZCLENBQUM7UUFDSixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsT0FBTyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7SUFDbkMsQ0FBQztDQUNGIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/platformclient",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "a module that makes it really easy to use the serve.zone platform inside your app",
|
|
6
6
|
"main": "dist_ts/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@push.rocks/qenv": "^6.0.5",
|
|
24
24
|
"@push.rocks/smartlog": "^3.0.7",
|
|
25
25
|
"@push.rocks/smartntml": "^2.0.4",
|
|
26
|
-
"@serve.zone/interfaces": "^1.
|
|
26
|
+
"@serve.zone/interfaces": "^1.1.1"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SzEmailConnector } from './email/classes.emailconnector.js';
|
|
2
2
|
import { SzSmsConnector } from './email/classes.smsconnector.js';
|
|
3
|
+
import { SzPushNotificationConnector } from './email/classes.pushnotificationconnector.js';
|
|
4
|
+
import { SzLetterConnector } from './email/classes.letterconnector.js';
|
|
3
5
|
import * as plugins from './plugins.js';
|
|
4
6
|
|
|
5
7
|
export class SzPlatformClient {
|
|
@@ -11,24 +13,33 @@ export class SzPlatformClient {
|
|
|
11
13
|
|
|
12
14
|
public emailConnector = new SzEmailConnector(this);
|
|
13
15
|
public smsConnector = new SzSmsConnector(this);
|
|
16
|
+
public pushNotificationConnector = new SzPushNotificationConnector(this);
|
|
17
|
+
public letterConnector = new SzLetterConnector(this);
|
|
14
18
|
|
|
15
19
|
constructor(authorizationStringArg?: string) {
|
|
16
20
|
this.authorizationString = authorizationStringArg;
|
|
17
21
|
}
|
|
18
22
|
|
|
19
23
|
public async init(authorizationStringArg?: string) {
|
|
20
|
-
if (authorizationStringArg)
|
|
21
|
-
|
|
24
|
+
if (authorizationStringArg) {
|
|
25
|
+
this.authorizationString = authorizationStringArg;
|
|
26
|
+
}
|
|
27
|
+
if (!this.authorizationString)
|
|
28
|
+
this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
|
22
29
|
if (!this.authorizationString) throw new Error('authorizationString is required');
|
|
23
|
-
if (
|
|
30
|
+
if (this.authorizationString === 'test') {
|
|
24
31
|
this.debugMode = true;
|
|
32
|
+
console.log('debug mode activated.');
|
|
25
33
|
return;
|
|
26
34
|
}
|
|
27
|
-
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(
|
|
35
|
+
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(
|
|
36
|
+
this.typedrouter,
|
|
37
|
+
await this.getConnectionAddress()
|
|
38
|
+
);
|
|
28
39
|
}
|
|
29
40
|
|
|
30
41
|
private async getConnectionAddress() {
|
|
31
42
|
const connectionAddress = await this.qenvInstance.getEnvVarOnDemand('SERVEZONE_API_DOMAIN');
|
|
32
43
|
return connectionAddress;
|
|
33
44
|
}
|
|
34
|
-
}
|
|
45
|
+
}
|
|
@@ -11,6 +11,15 @@ export class SzLetterConnector {
|
|
|
11
11
|
public async sendLetter(
|
|
12
12
|
optionsArg: plugins.servezoneInterfaces.platformservice.letter.IRequest_SendLetter['request']
|
|
13
13
|
) {
|
|
14
|
+
|
|
15
|
+
if (this.platformClientRef.debugMode) {
|
|
16
|
+
console.log('sendLetter', optionsArg);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (this.platformClientRef.debugMode) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
14
23
|
const typedRequest =
|
|
15
24
|
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.letter.IRequest_SendLetter>(
|
|
16
25
|
'sendLetter'
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SzPlatformClient } from '../classes.platformclient.js';
|
|
2
|
+
import * as plugins from '../plugins.js';
|
|
3
|
+
|
|
4
|
+
export class SzPushNotificationConnector {
|
|
5
|
+
public platformClientRef: SzPlatformClient;
|
|
6
|
+
|
|
7
|
+
constructor(platformClientRefArg: SzPlatformClient) {
|
|
8
|
+
this.platformClientRef = platformClientRefArg;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public async sendPushNotification(
|
|
12
|
+
optionsArg: plugins.servezoneInterfaces.platformservice.pushnotification.IRequest_SendPushNotification['request']
|
|
13
|
+
) {
|
|
14
|
+
if (this.platformClientRef.debugMode) {
|
|
15
|
+
console.log('sendPushNotification', optionsArg);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (this.platformClientRef.debugMode) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const typedRequest =
|
|
23
|
+
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.pushnotification.IRequest_SendPushNotification>(
|
|
24
|
+
'sendPushNotification'
|
|
25
|
+
);
|
|
26
|
+
const response = await typedRequest.fire(optionsArg);
|
|
27
|
+
|
|
28
|
+
if (process.env.SERVEZONE_PLATFORMCLIENT_DEBUG) {
|
|
29
|
+
console.log('sendPushNotification response', response);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return response.status;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -10,13 +10,17 @@ export class SzSmsConnector {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
public async sendSms(messageArg: plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms['request']) {
|
|
13
|
-
if (
|
|
13
|
+
if (this.platformClientRef.debugMode) {
|
|
14
14
|
logger.log('info', `sent sms to ${messageArg.toNumber}}
|
|
15
15
|
body:
|
|
16
16
|
${messageArg.messageText.split('\n').map(line => ` ${line}`).join('\n')}
|
|
17
17
|
|
|
18
18
|
`);
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
if (this.platformClientRef.debugMode) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
20
24
|
|
|
21
25
|
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms>(
|
|
22
26
|
'sendSms'
|
|
@@ -29,6 +33,12 @@ export class SzSmsConnector {
|
|
|
29
33
|
public async sendSmsVerifcation(
|
|
30
34
|
recipientArg: plugins.servezoneInterfaces.platformservice.sms.IRequest_SendVerificationCode['request']
|
|
31
35
|
) {
|
|
36
|
+
if (this.platformClientRef.debugMode) {
|
|
37
|
+
console.log('sendSmsVerifcation', recipientArg, '123456');
|
|
38
|
+
return '123456';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
32
42
|
const typedrequest =
|
|
33
43
|
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendVerificationCode>(
|
|
34
44
|
'sendVerificationCode'
|