@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
59 lines (58 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmailState = void 0;
/**
* Singleton class to manage email transport and template directory
*/
class EmailState {
constructor() {
this.emailTemplateDir = "";
this.transport = undefined;
}
/**
* Get the singleton instance
*/
static getInstance() {
if (!EmailState.instance) {
EmailState.instance = new EmailState();
}
return EmailState.instance;
}
/**
* Set the email transport
*/
setTransport(transport) {
this.transport = transport;
}
/**
* Get the email transport
*/
getTransport() {
return this.transport;
}
/**
* Set the email template directory
*/
setEmailTemplateDir(dir) {
this.emailTemplateDir = dir;
}
/**
* Get the email template directory
*/
getEmailTemplateDir() {
return this.emailTemplateDir;
}
/**
* Check if email transport is configured and ready
*/
isConfigured() {
return this.transport !== undefined;
}
/**
* Reset the singleton (useful for testing)
*/
static reset() {
EmailState.instance = undefined;
}
}
exports.EmailState = EmailState;