removed duplicate isencrypted check as its handled inside encrypt already

This commit is contained in:
Jakub Trávník 2025-12-03 23:25:53 +01:00
parent 1de82fa863
commit abe6eb79d8
3 changed files with 11 additions and 26 deletions

View file

@ -38,42 +38,42 @@ async function encryptSensitiveFields(config: NotificationConfig): Promise<Notif
case "email":
return {
...config,
password: cryptoUtils.isEncrypted(config.password) ? config.password : await cryptoUtils.encrypt(config.password),
password: await cryptoUtils.encrypt(config.password),
};
case "slack":
return {
...config,
webhookUrl: cryptoUtils.isEncrypted(config.webhookUrl) ? config.webhookUrl : await cryptoUtils.encrypt(config.webhookUrl),
webhookUrl: await cryptoUtils.encrypt(config.webhookUrl),
};
case "discord":
return {
...config,
webhookUrl: cryptoUtils.isEncrypted(config.webhookUrl) ? config.webhookUrl : await cryptoUtils.encrypt(config.webhookUrl),
webhookUrl: await cryptoUtils.encrypt(config.webhookUrl),
};
case "gotify":
return {
...config,
token: cryptoUtils.isEncrypted(config.token) ? config.token : await cryptoUtils.encrypt(config.token),
token: await cryptoUtils.encrypt(config.token),
};
case "ntfy":
return {
...config,
password: config.password ? (cryptoUtils.isEncrypted(config.password) ? config.password : await cryptoUtils.encrypt(config.password)) : undefined,
password: config.password ? await cryptoUtils.encrypt(config.password) : undefined,
};
case "pushover":
return {
...config,
apiToken: cryptoUtils.isEncrypted(config.apiToken) ? config.apiToken : await cryptoUtils.encrypt(config.apiToken),
apiToken: await cryptoUtils.encrypt(config.apiToken),
};
case "telegram":
return {
...config,
botToken: cryptoUtils.isEncrypted(config.botToken) ? config.botToken : await cryptoUtils.encrypt(config.botToken),
botToken: await cryptoUtils.encrypt(config.botToken),
};
case "custom":
return {
...config,
shoutrrrUrl: cryptoUtils.isEncrypted(config.shoutrrrUrl) ? config.shoutrrrUrl : await cryptoUtils.encrypt(config.shoutrrrUrl),
shoutrrrUrl: await cryptoUtils.encrypt(config.shoutrrrUrl),
};
default:
return config;

View file

@ -18,42 +18,32 @@ const listRepositories = async () => {
const encryptConfig = async (config: RepositoryConfig): Promise<RepositoryConfig> => {
const encryptedConfig: Record<string, string | boolean | number> = { ...config };
if (config.customPassword && !cryptoUtils.isEncrypted(config.customPassword)) {
if (config.customPassword) {
encryptedConfig.customPassword = await cryptoUtils.encrypt(config.customPassword);
}
switch (config.backend) {
case "s3":
case "r2":
if (!cryptoUtils.isEncrypted(config.accessKeyId)) {
encryptedConfig.accessKeyId = await cryptoUtils.encrypt(config.accessKeyId);
}
if (!cryptoUtils.isEncrypted(config.secretAccessKey)) {
encryptedConfig.secretAccessKey = await cryptoUtils.encrypt(config.secretAccessKey);
}
break;
case "gcs":
if (!cryptoUtils.isEncrypted(config.credentialsJson)) {
encryptedConfig.credentialsJson = await cryptoUtils.encrypt(config.credentialsJson);
}
break;
case "azure":
if (!cryptoUtils.isEncrypted(config.accountKey)) {
encryptedConfig.accountKey = await cryptoUtils.encrypt(config.accountKey);
}
break;
case "rest":
if (config.username && !cryptoUtils.isEncrypted(config.username)) {
if (config.username) {
encryptedConfig.username = await cryptoUtils.encrypt(config.username);
}
if (config.password && !cryptoUtils.isEncrypted(config.password)) {
if (config.password) {
encryptedConfig.password = await cryptoUtils.encrypt(config.password);
}
break;
case "sftp":
if (!cryptoUtils.isEncrypted(config.privateKey)) {
encryptedConfig.privateKey = await cryptoUtils.encrypt(config.privateKey);
}
break;
}

View file

@ -5,10 +5,6 @@ const algorithm = "aes-256-gcm" as const;
const keyLength = 32;
const encryptionPrefix = "encv1";
const isEncrypted = (val?: string): boolean => {
return typeof val === "string" && val.startsWith(encryptionPrefix);
};
/**
* Given a string, encrypts it using a randomly generated salt
*/
@ -62,5 +58,4 @@ const decrypt = async (encryptedData: string) => {
export const cryptoUtils = {
encrypt,
decrypt,
isEncrypted,
};