saleor-apps-redis_apl/apps/emails-and-messages/src/modules/sendgrid/configuration/get-sendgrid-configuration.service.ts

37 lines
1 KiB
TypeScript
Raw Normal View History

2023-03-06 13:01:03 +00:00
import { PrivateMetadataSendgridConfigurator } from "./sendgrid-configurator";
import { Client } from "urql";
import { logger as pinoLogger } from "../../../lib/logger";
import { createSettingsManager } from "../../app-configuration/metadata-manager";
// todo test
export class GetSendgridConfigurationService {
constructor(
private settings: {
apiClient: Client;
saleorApiUrl: string;
}
) {}
async getConfiguration() {
const logger = pinoLogger.child({
service: "GetSendgridConfigurationService",
saleorApiUrl: this.settings.saleorApiUrl,
});
const { saleorApiUrl, apiClient } = this.settings;
const sendgridConfigurator = new PrivateMetadataSendgridConfigurator(
createSettingsManager(apiClient),
saleorApiUrl
);
const savedSendgridConfig = (await sendgridConfigurator.getConfig()) ?? null;
logger.debug(savedSendgridConfig, "Retrieved sendgrid config from Metadata. Will return it");
if (savedSendgridConfig) {
return savedSendgridConfig;
}
}
}