diff --git a/changelog.md b/changelog.md index 280bb7a..ca72cef 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # 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 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index e0016ee..1f8dda5 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@serve.zone/platformclient', - version: '1.0.11', + version: '1.1.0', description: 'a module that makes it really easy to use the serve.zone platform inside your app' } diff --git a/ts/classes.platformclient.ts b/ts/classes.platformclient.ts index 9ee83b8..125ab32 100644 --- a/ts/classes.platformclient.ts +++ b/ts/classes.platformclient.ts @@ -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()); } diff --git a/ts/email/classes.emailconnector.ts b/ts/email/classes.emailconnector.ts index 865cac2..108cd2b 100644 --- a/ts/email/classes.emailconnector.ts +++ b/ts/email/classes.emailconnector.ts @@ -13,13 +13,18 @@ export class SzEmailConnector { public async sendEmail( optionsArg: plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail['request'] ) { - 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')} `); } + + if (this.platformClientRef.debugMode) { + return; + } + const typedRequest = this.platformClientRef.typedsocket.createTypedRequest( 'sendEmail'