4 Commits

6 changed files with 35 additions and 15 deletions

View File

@ -1,5 +1,17 @@
# Changelog
## 2024-10-04 - 1.1.0 - feat(SzPlatformClient)
Add debug mode functionality to SzPlatformClient and SzEmailConnector
- Introduced a debug mode in SzPlatformClient to handle authorization in test scenarios.
- Updated SzEmailConnector to log emails and early return in debug mode for testing purposes.
## 2024-10-02 - 1.0.11 - fix(email,sms)
Reorder debug logging to avoid confusion in email and sms connectors
- Reordered the logging after request creation in `sendEmail` method of `SzEmailConnector`
- Reordered the logging after request creation in `sendSms` method of `SzSmsConnector`
## 2024-10-02 - 1.0.10 - fix(build)
Fix build script configuration and plugins import path

View File

@ -1,6 +1,6 @@
{
"name": "@serve.zone/platformclient",
"version": "1.0.10",
"version": "1.1.0",
"private": false,
"description": "a module that makes it really easy to use the serve.zone platform inside your app",
"main": "dist_ts/index.js",

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/platformclient',
version: '1.0.10',
version: '1.1.0',
description: 'a module that makes it really easy to use the serve.zone platform inside your app'
}

View File

@ -3,6 +3,7 @@ import { SzSmsConnector } from './email/classes.smsconnector.js';
import * as plugins from './plugins.js';
export class SzPlatformClient {
public debugMode = false;
private authorizationString: string;
public typedrouter = new plugins.typedrequest.TypedRouter();
public typedsocket: plugins.typedsocket.TypedSocket;
@ -19,6 +20,10 @@ export class SzPlatformClient {
if (authorizationStringArg) this.authorizationString = authorizationStringArg;
if (!this.authorizationString) this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
if (!this.authorizationString) throw new Error('authorizationString is required');
if (authorizationStringArg === 'test') {
this.debugMode = true;
return;
}
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(this.typedrouter, await this.getConnectionAddress());
}

View File

@ -13,13 +13,7 @@ export class SzEmailConnector {
public async sendEmail(
optionsArg: plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail['request']
) {
const typedRequest =
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail>(
'sendEmail'
);
const response = await typedRequest.fire(optionsArg);
if (process.env.SERVEZONE_PLATFORMCLIENT_DEBUG) {
if (this.platformClientRef.debugMode) {
logger.log('info', `sent email with subject ${optionsArg.title} to ${optionsArg.to}
body:
${optionsArg.body.split('\n').map(line => ` ${line}`).join('\n')}
@ -27,6 +21,16 @@ export class SzEmailConnector {
`);
}
if (this.platformClientRef.debugMode) {
return;
}
const typedRequest =
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail>(
'sendEmail'
);
const response = await typedRequest.fire(optionsArg);
}
public async sendNotification(optionsArg: { toArg: string; subject: string; text: string }) {}

View File

@ -10,11 +10,6 @@ export class SzSmsConnector {
}
public async sendSms(messageArg: plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms['request']) {
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms>(
'sendSms'
);
const response = await typedrequest.fire(messageArg);
if (process.env.SERVEZONE_PLATFORMCLIENT_DEBUG) {
logger.log('info', `sent sms to ${messageArg.toNumber}}
body:
@ -22,7 +17,11 @@ export class SzSmsConnector {
`);
}
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms>(
'sendSms'
);
const response = await typedrequest.fire(messageArg);
return response.status;
}