@bitblit/ratchet-misc
Version:
Ratchet miscellaneous tooling that requires smallish dependant libraries
40 lines • 1.35 kB
JavaScript
import { Logger } from '@bitblit/ratchet-common/logger/logger';
import { AccountApi } from './generated/apis/AccountApi.js';
import { SMTPApi } from './generated/apis/SMTPApi.js';
import { Configuration } from './generated/runtime.js';
export class BrevoRatchet {
keys;
configParamTemplate;
constructor(keys, configParamTemplate) {
this.keys = keys;
this.configParamTemplate = configParamTemplate;
}
async buildConfig() {
const keys = await this.keys;
const rval = this.configParamTemplate ? Object.assign({}, this.configParamTemplate) : {};
const logger = {
pre: async (context) => {
Logger.silly('Context: %j', context);
},
};
rval.apiKey = keys.apiKey;
rval.middleware = [logger];
return rval;
}
async accountApi() {
const config = await this.buildConfig();
const rval = new AccountApi(new Configuration(config));
return rval;
}
async smtpApi() {
const config = await this.buildConfig();
const rval = new SMTPApi(new Configuration(config));
return rval;
}
async fetchAccountData() {
const api = await this.accountApi();
const rval = await api.getAccount();
return rval;
}
}
//# sourceMappingURL=brevo-ratchet.js.map