@serve.zone/platformclient 1.0.11 → 1.1.1
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 +2 -2
- package/dist_ts/classes.platformclient.d.ts +5 -0
- package/dist_ts/classes.platformclient.js +10 -1
- package/dist_ts/email/classes.emailconnector.js +5 -2
- 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 +5 -2
- package/package.json +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.platformclient.ts +9 -0
- package/ts/email/classes.emailconnector.ts +6 -1
- package/ts/email/classes.letterconnector.ts +9 -0
- package/ts/email/classes.pushnotificationconnector.ts +34 -0
- package/ts/email/classes.smsconnector.ts +5 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/platformclient',
|
|
6
|
-
version: '1.
|
|
6
|
+
version: '1.1.1',
|
|
7
7
|
description: 'a module that makes it really easy to use the serve.zone platform inside your app'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSw0QkFBNEI7SUFDbEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLG1GQUFtRjtDQUNqRyxDQUFBIn0=
|
|
@@ -1,13 +1,18 @@
|
|
|
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 {
|
|
7
|
+
debugMode: boolean;
|
|
5
8
|
private authorizationString;
|
|
6
9
|
typedrouter: plugins.typedrequest.TypedRouter;
|
|
7
10
|
typedsocket: plugins.typedsocket.TypedSocket;
|
|
8
11
|
private qenvInstance;
|
|
9
12
|
emailConnector: SzEmailConnector;
|
|
10
13
|
smsConnector: SzSmsConnector;
|
|
14
|
+
pushNotificationConnector: SzPushNotificationConnector;
|
|
15
|
+
letterConnector: SzLetterConnector;
|
|
11
16
|
constructor(authorizationStringArg?: string);
|
|
12
17
|
init(authorizationStringArg?: string): Promise<void>;
|
|
13
18
|
private getConnectionAddress;
|
|
@@ -1,12 +1,17 @@
|
|
|
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
|
+
this.debugMode = false;
|
|
6
9
|
this.typedrouter = new plugins.typedrequest.TypedRouter();
|
|
7
10
|
this.qenvInstance = new plugins.qenv.Qenv();
|
|
8
11
|
this.emailConnector = new SzEmailConnector(this);
|
|
9
12
|
this.smsConnector = new SzSmsConnector(this);
|
|
13
|
+
this.pushNotificationConnector = new SzPushNotificationConnector(this);
|
|
14
|
+
this.letterConnector = new SzLetterConnector(this);
|
|
10
15
|
this.authorizationString = authorizationStringArg;
|
|
11
16
|
}
|
|
12
17
|
async init(authorizationStringArg) {
|
|
@@ -16,6 +21,10 @@ export class SzPlatformClient {
|
|
|
16
21
|
this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
|
17
22
|
if (!this.authorizationString)
|
|
18
23
|
throw new Error('authorizationString is required');
|
|
24
|
+
if (authorizationStringArg === 'test') {
|
|
25
|
+
this.debugMode = true;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
19
28
|
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(this.typedrouter, await this.getConnectionAddress());
|
|
20
29
|
}
|
|
21
30
|
async getConnectionAddress() {
|
|
@@ -23,4 +32,4 @@ export class SzPlatformClient {
|
|
|
23
32
|
return connectionAddress;
|
|
24
33
|
}
|
|
25
34
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wbGF0Zm9ybWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMucGxhdGZvcm1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBWSxzQkFBK0I7UUFYcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwRCxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV4QyxtQkFBYyxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4Qyw4QkFBeUIsR0FBRyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUduRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsc0JBQXNCLENBQUM7SUFDcEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJLENBQUMsc0JBQStCO1FBQy9DLElBQUksc0JBQXNCO1lBQUUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNCQUFzQixDQUFDO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQUUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUM7UUFDdkcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDbEYsSUFBSSxzQkFBc0IsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDN0gsQ0FBQztJQUVPLEtBQUssQ0FBQyxvQkFBb0I7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM1RixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7Q0FDRiJ9
|
|
@@ -5,17 +5,20 @@ export class SzEmailConnector {
|
|
|
5
5
|
this.platformClientRef = platformClientRefArg;
|
|
6
6
|
}
|
|
7
7
|
async sendEmail(optionsArg) {
|
|
8
|
-
if (
|
|
8
|
+
if (this.platformClientRef.debugMode) {
|
|
9
9
|
logger.log('info', `sent email with subject ${optionsArg.title} to ${optionsArg.to}
|
|
10
10
|
body:
|
|
11
11
|
${optionsArg.body.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('sendEmail');
|
|
16
19
|
const response = await typedRequest.fire(optionsArg);
|
|
17
20
|
}
|
|
18
21
|
async sendNotification(optionsArg) { }
|
|
19
22
|
async sendActionLink(optionsArg) { }
|
|
20
23
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5lbWFpbGNvbm5lY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2VtYWlsL2NsYXNzZXMuZW1haWxjb25uZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQVksb0JBQXNDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FDcEIsVUFBeUY7UUFFekYsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLFVBQVUsQ0FBQyxLQUFLLE9BQU8sVUFBVSxDQUFDLEVBQUU7O1VBRTlFLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOztTQUVyRSxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDbkQsV0FBVyxDQUNaLENBQUM7UUFDSixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUE0RCxJQUFHLENBQUM7SUFFdkYsS0FBSyxDQUFDLGNBQWMsQ0FBQyxVQUE0RCxJQUFHLENBQUM7Q0FDN0YifQ==
|
|
@@ -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,13 +5,16 @@ 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;
|
|
@@ -22,4 +25,4 @@ export class SzSmsConnector {
|
|
|
22
25
|
return response.verificationCode;
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zbXNjb25uZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9lbWFpbC9jbGFzc2VzLnNtc2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQVksb0JBQXNDO1FBQ2hELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztJQUNoRCxDQUFDO0lBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUF1RjtRQUMxRyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxlQUFlLFVBQVUsQ0FBQyxRQUFROztVQUVqRCxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7U0FFNUUsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FDeEUsU0FBUyxDQUNWLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCLENBQzdCLFlBQXNHO1FBRXRHLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUNuRCxzQkFBc0IsQ0FDdkIsQ0FBQztRQUNKLE1BQU0sUUFBUSxHQUFHLE1BQU0sWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxPQUFPLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUNuQyxDQUFDO0NBQ0YifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serve.zone/platformclient",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
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,8 +1,11 @@
|
|
|
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 {
|
|
8
|
+
public debugMode = false;
|
|
6
9
|
private authorizationString: string;
|
|
7
10
|
public typedrouter = new plugins.typedrequest.TypedRouter();
|
|
8
11
|
public typedsocket: plugins.typedsocket.TypedSocket;
|
|
@@ -10,6 +13,8 @@ export class SzPlatformClient {
|
|
|
10
13
|
|
|
11
14
|
public emailConnector = new SzEmailConnector(this);
|
|
12
15
|
public smsConnector = new SzSmsConnector(this);
|
|
16
|
+
public pushNotificationConnector = new SzPushNotificationConnector(this);
|
|
17
|
+
public letterConnector = new SzLetterConnector(this);
|
|
13
18
|
|
|
14
19
|
constructor(authorizationStringArg?: string) {
|
|
15
20
|
this.authorizationString = authorizationStringArg;
|
|
@@ -19,6 +24,10 @@ export class SzPlatformClient {
|
|
|
19
24
|
if (authorizationStringArg) this.authorizationString = authorizationStringArg;
|
|
20
25
|
if (!this.authorizationString) this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
|
21
26
|
if (!this.authorizationString) throw new Error('authorizationString is required');
|
|
27
|
+
if (authorizationStringArg === 'test') {
|
|
28
|
+
this.debugMode = true;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
22
31
|
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(this.typedrouter, await this.getConnectionAddress());
|
|
23
32
|
}
|
|
24
33
|
|
|
@@ -13,13 +13,18 @@ export class SzEmailConnector {
|
|
|
13
13
|
public async sendEmail(
|
|
14
14
|
optionsArg: plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail['request']
|
|
15
15
|
) {
|
|
16
|
-
if (
|
|
16
|
+
if (this.platformClientRef.debugMode) {
|
|
17
17
|
logger.log('info', `sent email with subject ${optionsArg.title} to ${optionsArg.to}
|
|
18
18
|
body:
|
|
19
19
|
${optionsArg.body.split('\n').map(line => ` ${line}`).join('\n')}
|
|
20
20
|
|
|
21
21
|
`);
|
|
22
22
|
}
|
|
23
|
+
|
|
24
|
+
if (this.platformClientRef.debugMode) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
const typedRequest =
|
|
24
29
|
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail>(
|
|
25
30
|
'sendEmail'
|
|
@@ -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'
|