rckg-shared-library
v1.4.37
Published
rocket global shared library
Downloads
19
Keywords
Readme
Rocket global shared Library
Shared Response
Base response
type baseResponseType
{
status: string;
success: boolean;
message: string;
}
Ok response
Type Ok extends baseResponseType
Ok { data?: any}
Bad request response
Type BadRequest extends baseResponseType
BadRequest extends baseResponseType{
error?: any;
errorCode?: string
}
Not found request response
export interface NotFound extends baseResponseType{
error?: any;
errorCode?: string;
}
example usage in nest projects
@Controller()
class User {
createUser: "
}
Notification
Sending emails
import { EmailSender, EmailPayload } from "package-name/notification";
const emailSender = new EmailSender(NOTIFICATION_URL, API_KEY);
const payload: EmailPayload = {
from: "from@chiji" //Optional
subject: "Mail Subject",
recipients: ["[email protected]"];
templateType: "default";
content: "Mail Content";
}
emailSender.send(payload);
templateType - EmailType
SMS Notification
import { SMSSender } from 'package-name';
import { SMSPayload } from '../notification/sms';
const SMSObject: SMSPayload = {
recipients: ['2348011415447'],
message: 'Welcome to Rocket Global services',
};
const sendSMS = new SMSSender('http://localhost:9090/api/v1/notifications/sms');
await sendSMS.send(SMSObject);
Message queue details
Audit Trail
Saving and getting Audit information
Queue name:
Getting the name of the queue the message Broker.
import { eventPatterns } from "rckg-shared-library";
app.connectMicroservice({
transport: Transport.RMQ,
options: {
urls: ["RabbitMQ_URL"],
queue: eventPatterns.auditTrail.queueName,
queueOptions: {
durable: false,
},
},
});
Event Pattern:
Getting all available event patterns that are available for the client to listen to
//client service
import { eventPatterns } from "rckg-shared-library";
let rabbitMQ_Pattern = eventPatterns.auditTrail.pattern
Shared Functions
Reusable functions for simple repetitive processes.
Audit Trail
Save new Audit
import { functions } from "rckg-shared-library";
export class AuditParams {
userId: string;
affectedUserId?: string;
action: string;
ipAddress?: string;
deviceInfo?: string;
oldData?: string;
newData?: string;
geoData?: string;
naration: string;
}
let auditParams: AuditParams
functions.auditTrail.save(auditParams,auditTrailURL)
Get audits
export class getAuditParamsDTO {
userId?: string;
affectedUserId?: string;
fromDate?: string;
toDate?: string;
action?: string;
search?: string;
}
let auditParams : getAuditParamsDTO
functions.auditTrail.get(auditParams,auditTrailURL)