secrets-injector
Version:
NestJS AWS Secrets Injector
42 lines • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createAWSSecretsManagerAsyncProviders = exports.createAWSSecretsManagerProviders = void 0;
const aws_secrets_manager_service_1 = require("./aws-secrets-manager.service");
const contstants_1 = require("./contstants");
function createAWSSecretsManagerProviders(options) {
return [
aws_secrets_manager_service_1.AWSSecretsService,
{
provide: contstants_1.AWS_SECRETS_MANAGER_MODULE_OPTIONS,
useValue: options,
},
];
}
exports.createAWSSecretsManagerProviders = createAWSSecretsManagerProviders;
function createAWSSecretsManagerAsyncProviders(options) {
const providers = [aws_secrets_manager_service_1.AWSSecretsService];
if (options.useClass) {
const useClass = options.useClass;
providers.push(...[
{
provide: contstants_1.AWS_SECRETS_MANAGER_MODULE_OPTIONS,
useFactory: async (optionsFactory) => await optionsFactory.createAWSSecrectsManagerModuleOptions(),
inject: [useClass],
},
{
provide: useClass,
useClass,
},
]);
}
if (options.useFactory) {
providers.push({
provide: contstants_1.AWS_SECRETS_MANAGER_MODULE_OPTIONS,
useFactory: options.useFactory,
inject: options.inject || [],
});
}
return providers;
}
exports.createAWSSecretsManagerAsyncProviders = createAWSSecretsManagerAsyncProviders;
//# sourceMappingURL=aws-secrets-manager.provider.js.map