sync/src/configuration/emailconfig.js

89 lines
1.8 KiB
JavaScript
Raw Normal View History

2017-09-25 22:31:45 -07:00
class EmailConfig {
constructor(config = { 'password-reset': { enabled: false }, smtp: {} }) {
2017-09-25 22:31:45 -07:00
this.config = config;
const smtp = config.smtp;
this._smtp = {
getHost() {
return smtp.host;
},
getPort() {
return smtp.port;
},
isSecure() {
return smtp.secure;
},
getUser() {
return smtp.user;
},
getPassword() {
return smtp.password;
}
2018-04-07 15:30:30 -07:00
};
const reset = config['password-reset'];
this._reset = {
isEnabled() {
return reset.enabled;
},
2017-09-25 22:31:45 -07:00
getHTML() {
return reset['html-template'];
},
getText() {
return reset['text-template'];
},
getFrom() {
return reset.from;
2017-09-25 22:31:45 -07:00
},
getSubject() {
return reset.subject;
2017-09-25 22:31:45 -07:00
}
};
const deleteAccount = config['delete-account'];
this._delete = {
isEnabled() {
return deleteAccount !== null && deleteAccount.enabled;
},
getHTML() {
return deleteAccount['html-template'];
},
getText() {
return deleteAccount['text-template'];
},
getFrom() {
return deleteAccount.from;
},
getSubject() {
return deleteAccount.subject;
}
};
2017-09-25 22:31:45 -07:00
}
getSmtp() {
return this._smtp;
}
getPasswordReset() {
return this._reset;
}
getDeleteAccount() {
return this._delete;
}
2017-09-25 22:31:45 -07:00
}
export { EmailConfig };