mirror of
https://github.com/dadosfera/maestro.git
synced 2026-09-11 06:24:47 +00:00
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import {
|
|
SecretsManagerClient,
|
|
GetSecretValueCommand,
|
|
} from '@aws-sdk/client-secrets-manager';
|
|
|
|
class OauthSecretsObject {
|
|
client_id = '';
|
|
client_secret = '';
|
|
redirect_uri = '';
|
|
}
|
|
// @Injectable()
|
|
export class OauthSecrets {
|
|
hubspot = new OauthSecretsObject();
|
|
google = new OauthSecretsObject();
|
|
mailchimp = new OauthSecretsObject();
|
|
facebook = new OauthSecretsObject();
|
|
salesforce = new OauthSecretsObject();
|
|
}
|
|
export async function getOauthSecrets() {
|
|
const secrets = new OauthSecrets();
|
|
const path = process.env.SM_OAUTH_PATH;
|
|
const secretsManagerClient = new SecretsManagerClient({});
|
|
for (const key in secrets) {
|
|
const getSecretComand = new GetSecretValueCommand({
|
|
SecretId: `${path}/${key}`,
|
|
});
|
|
const res = await secretsManagerClient
|
|
.send(getSecretComand)
|
|
.catch(() => null);
|
|
if (res) {
|
|
secrets[key] = JSON.parse(res.SecretString);
|
|
} else {
|
|
secrets[key] = {
|
|
client_id: 'id',
|
|
client_secret: 'id',
|
|
redirect_uri: 'id',
|
|
};
|
|
}
|
|
}
|
|
return secrets;
|
|
}
|