Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
e16c8876b8 | |||
1212ee9116 | |||
b610cba9ac | |||
854f1f73dc | |||
edc54f4fc1 | |||
7e721eb48e | |||
965dad9b15 | |||
4a75c109e3 | |||
7d0925ad33 | |||
63700c3754 | |||
274bffb318 | |||
1ed33efec1 | |||
8300532de4 | |||
606d46acf8 | |||
9c84205633 | |||
a71d5f1bde | |||
e19a5b6195 | |||
02d204e606 |
56
changelog.md
56
changelog.md
@ -1,5 +1,61 @@
|
||||
# Changelog
|
||||
|
||||
## 2024-10-05 - 1.1.2 - fix(core)
|
||||
Fix authorization handling and format code.
|
||||
|
||||
- Resolved the incorrect condition check for 'authorizationStringArg' within the 'init' function.
|
||||
- Corrected the condition to activate 'debugMode' within the 'init' function.
|
||||
- Improved code formatting for better readability.
|
||||
|
||||
## 2024-10-05 - 1.1.1 - fix(platformclient)
|
||||
Refactor debug mode checks in SzPlatformClient connectors
|
||||
|
||||
- Unified debug mode checks across email, SMS, and letter connectors
|
||||
- Added new SzPushNotificationConnector class with debug mode functionality
|
||||
|
||||
## 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
|
||||
|
||||
- Corrected the build script in package.json to include tsfolders parameter
|
||||
- Fixed the import path for plugins in classes.infohtml.ts
|
||||
|
||||
## 2024-10-02 - 1.0.9 - fix(infohtml)
|
||||
Refactor infohtml module and fix import paths
|
||||
|
||||
- Refactored ts_infohtml module.
|
||||
- Fixed incorrect import paths in ts_infohtml module.
|
||||
- Ensured that the InfoHtml class and related templates are properly imported and used.
|
||||
|
||||
## 2024-10-02 - 1.0.8 - fix(core)
|
||||
Maintain dependencies, update metadata
|
||||
|
||||
- No changes detected
|
||||
|
||||
## 2024-10-02 - 1.0.7 - fix(core)
|
||||
Update dependencies and add logging for email and SMS functions
|
||||
|
||||
- Updated devDependencies and dependencies in package.json
|
||||
- Added logger import and logging statements in classes.emailconnector.ts and classes.smsconnector.ts
|
||||
- Fixed formatting issues in test/test.ts
|
||||
- Cleaned up and removed unused imports in index.ts and plugins.ts
|
||||
|
||||
## 2024-07-26 - 1.0.6 - fix(core)
|
||||
Update @types/node dependency version
|
||||
|
||||
- Dependencies updated: @types/node updated from ^20.14.11 to ^20.14.12
|
||||
|
||||
## 2024-07-23 - 1.0.5 - fix(dependencies)
|
||||
Updated dependencies to latest versions and removed unused service server class
|
||||
|
||||
|
14
package.json
14
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@serve.zone/platformclient",
|
||||
"version": "1.0.5",
|
||||
"version": "1.1.2",
|
||||
"private": false,
|
||||
"description": "a module that makes it really easy to use the serve.zone platform inside your app",
|
||||
"main": "dist_ts/index.js",
|
||||
@ -10,7 +10,7 @@
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"test": "(tstest test/ --web)",
|
||||
"build": "(tsbuild --web --allowimplicitany)",
|
||||
"build": "(tsbuild tsfolders --web --allowimplicitany)",
|
||||
"localPublish": "gitzone commit && pnpm run build && pnpm publish && pnpm publish --access public --registry=\"https://registry.npmjs.org\""
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -18,17 +18,17 @@
|
||||
"@git.zone/tsbundle": "^2.0.5",
|
||||
"@git.zone/tsrun": "^1.2.49",
|
||||
"@git.zone/tstest": "^1.0.90",
|
||||
"@push.rocks/tapbundle": "^5.0.23",
|
||||
"@types/node": "^20.14.11"
|
||||
"@push.rocks/tapbundle": "^5.3.0",
|
||||
"@types/node": "^22.7.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@api.global/typedrequest": "^3.0.30",
|
||||
"@api.global/typedserver": "^3.0.50",
|
||||
"@api.global/typedrequest": "^3.0.32",
|
||||
"@api.global/typedserver": "^3.0.51",
|
||||
"@api.global/typedsocket": "^3.0.1",
|
||||
"@push.rocks/qenv": "^6.0.5",
|
||||
"@push.rocks/smartlog": "^3.0.7",
|
||||
"@push.rocks/smartntml": "^2.0.4",
|
||||
"@serve.zone/interfaces": "^1.0.74"
|
||||
"@serve.zone/interfaces": "^1.1.1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
1418
pnpm-lock.yaml
generated
1418
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
import { expect, expectAsync, tap } from '@push.rocks/tapbundle';
|
||||
import * as platformclient from '../ts/index.js'
|
||||
import * as platformclient from '../ts/index.js';
|
||||
|
||||
tap.test('first test', async () => {
|
||||
console.log(platformclient)
|
||||
})
|
||||
console.log(platformclient);
|
||||
});
|
||||
|
||||
tap.start()
|
||||
tap.start();
|
||||
|
@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@serve.zone/platformclient',
|
||||
version: '1.0.5',
|
||||
version: '1.1.2',
|
||||
description: 'a module that makes it really easy to use the serve.zone platform inside your app'
|
||||
}
|
||||
|
@ -1,8 +1,11 @@
|
||||
import { SzEmailConnector } from './email/classes.emailconnector.js';
|
||||
import { SzSmsConnector } from './email/classes.smsconnector.js';
|
||||
import { SzPushNotificationConnector } from './email/classes.pushnotificationconnector.js';
|
||||
import { SzLetterConnector } from './email/classes.letterconnector.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;
|
||||
@ -10,20 +13,33 @@ export class SzPlatformClient {
|
||||
|
||||
public emailConnector = new SzEmailConnector(this);
|
||||
public smsConnector = new SzSmsConnector(this);
|
||||
public pushNotificationConnector = new SzPushNotificationConnector(this);
|
||||
public letterConnector = new SzLetterConnector(this);
|
||||
|
||||
constructor(authorizationStringArg?: string) {
|
||||
this.authorizationString = authorizationStringArg;
|
||||
}
|
||||
|
||||
public async init(authorizationStringArg?: string) {
|
||||
if (authorizationStringArg) this.authorizationString = authorizationStringArg;
|
||||
if (!this.authorizationString) this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
||||
if (authorizationStringArg) {
|
||||
this.authorizationString = authorizationStringArg;
|
||||
}
|
||||
if (!this.authorizationString)
|
||||
this.authorizationString = process.env.SERVEZONE_PLATFROM_AUTHORIZATION;
|
||||
if (!this.authorizationString) throw new Error('authorizationString is required');
|
||||
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(this.typedrouter, await this.getConnectionAddress());
|
||||
if (this.authorizationString === 'test') {
|
||||
this.debugMode = true;
|
||||
console.log('debug mode activated.');
|
||||
return;
|
||||
}
|
||||
this.typedsocket = await plugins.typedsocket.TypedSocket.createClient(
|
||||
this.typedrouter,
|
||||
await this.getConnectionAddress()
|
||||
);
|
||||
}
|
||||
|
||||
private async getConnectionAddress() {
|
||||
const connectionAddress = await this.qenvInstance.getEnvVarOnDemand('SERVEZONE_API_DOMAIN');
|
||||
return connectionAddress;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
import type { SzPlatformClient } from '../classes.platformclient.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
import { logger } from '../logger.js';
|
||||
|
||||
export class SzEmailConnector {
|
||||
public platformClientRef: SzPlatformClient;
|
||||
|
||||
@ -11,11 +13,24 @@ export class SzEmailConnector {
|
||||
public async sendEmail(
|
||||
optionsArg: plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail['request']
|
||||
) {
|
||||
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<plugins.servezoneInterfaces.platformservice.mta.IRequest_SendEmail>(
|
||||
'sendEmail'
|
||||
);
|
||||
const response = await typedRequest.fire(optionsArg);
|
||||
|
||||
}
|
||||
|
||||
public async sendNotification(optionsArg: { toArg: string; subject: string; text: string }) {}
|
||||
|
@ -11,6 +11,15 @@ export class SzLetterConnector {
|
||||
public async sendLetter(
|
||||
optionsArg: plugins.servezoneInterfaces.platformservice.letter.IRequest_SendLetter['request']
|
||||
) {
|
||||
|
||||
if (this.platformClientRef.debugMode) {
|
||||
console.log('sendLetter', optionsArg);
|
||||
}
|
||||
|
||||
if (this.platformClientRef.debugMode) {
|
||||
return;
|
||||
}
|
||||
|
||||
const typedRequest =
|
||||
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.letter.IRequest_SendLetter>(
|
||||
'sendLetter'
|
||||
|
34
ts/email/classes.pushnotificationconnector.ts
Normal file
34
ts/email/classes.pushnotificationconnector.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import type { SzPlatformClient } from '../classes.platformclient.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export class SzPushNotificationConnector {
|
||||
public platformClientRef: SzPlatformClient;
|
||||
|
||||
constructor(platformClientRefArg: SzPlatformClient) {
|
||||
this.platformClientRef = platformClientRefArg;
|
||||
}
|
||||
|
||||
public async sendPushNotification(
|
||||
optionsArg: plugins.servezoneInterfaces.platformservice.pushnotification.IRequest_SendPushNotification['request']
|
||||
) {
|
||||
if (this.platformClientRef.debugMode) {
|
||||
console.log('sendPushNotification', optionsArg);
|
||||
}
|
||||
|
||||
if (this.platformClientRef.debugMode) {
|
||||
return;
|
||||
}
|
||||
|
||||
const typedRequest =
|
||||
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.pushnotification.IRequest_SendPushNotification>(
|
||||
'sendPushNotification'
|
||||
);
|
||||
const response = await typedRequest.fire(optionsArg);
|
||||
|
||||
if (process.env.SERVEZONE_PLATFORMCLIENT_DEBUG) {
|
||||
console.log('sendPushNotification response', response);
|
||||
}
|
||||
|
||||
return response.status;
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
import type { SzPlatformClient } from '../classes.platformclient.js';
|
||||
import { logger } from '../logger.js';
|
||||
import * as plugins from '../plugins.js';
|
||||
|
||||
export class SzSmsConnector {
|
||||
@ -9,16 +10,35 @@ export class SzSmsConnector {
|
||||
}
|
||||
|
||||
public async sendSms(messageArg: plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms['request']) {
|
||||
if (this.platformClientRef.debugMode) {
|
||||
logger.log('info', `sent sms to ${messageArg.toNumber}}
|
||||
body:
|
||||
${messageArg.messageText.split('\n').map(line => ` ${line}`).join('\n')}
|
||||
|
||||
`);
|
||||
}
|
||||
|
||||
if (this.platformClientRef.debugMode) {
|
||||
return;
|
||||
}
|
||||
|
||||
const typedrequest = this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendSms>(
|
||||
'sendSms'
|
||||
);
|
||||
const response = await typedrequest.fire(messageArg);
|
||||
|
||||
return response.status;
|
||||
}
|
||||
|
||||
public async sendSmsVerifcation(
|
||||
recipientArg: plugins.servezoneInterfaces.platformservice.sms.IRequest_SendVerificationCode['request']
|
||||
) {
|
||||
if (this.platformClientRef.debugMode) {
|
||||
console.log('sendSmsVerifcation', recipientArg, '123456');
|
||||
return '123456';
|
||||
}
|
||||
|
||||
|
||||
const typedrequest =
|
||||
this.platformClientRef.typedsocket.createTypedRequest<plugins.servezoneInterfaces.platformservice.sms.IRequest_SendVerificationCode>(
|
||||
'sendVerificationCode'
|
||||
|
@ -1,6 +1 @@
|
||||
export * from './classes.platformclient.js';
|
||||
|
||||
// Things for building a server
|
||||
import { servertools, utilityservers } from '@api.global/typedserver';
|
||||
|
||||
|
||||
|
@ -6,4 +6,6 @@ export const logger = new plugins.smartlog.Smartlog({
|
||||
runtime: 'node',
|
||||
zone: 'serve.zone',
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
logger.enableConsole();
|
@ -8,12 +8,10 @@ export {
|
||||
// @push.rocks scope
|
||||
import * as qenv from '@push.rocks/qenv';
|
||||
import * as smartlog from '@push.rocks/smartlog';
|
||||
import * as smartntml from '@push.rocks/smartntml';
|
||||
|
||||
export {
|
||||
qenv,
|
||||
smartlog,
|
||||
smartntml,
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as plugins from './plugins.js';
|
||||
|
||||
import { simpleInfo } from './template.js';
|
||||
|
5
ts_infohtml/plugins.ts
Normal file
5
ts_infohtml/plugins.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import * as smartntml from '@push.rocks/smartntml';
|
||||
|
||||
export {
|
||||
smartntml,
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as plugins from './plugins.js';
|
||||
import { type IHtmlInfoOptions } from './classes.infohtml.js';
|
||||
|
||||
export const simpleInfo = async (
|
Loading…
x
Reference in New Issue
Block a user