mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-12 20:35:24 +00:00
fix attempt #3: Do not require a encrpytion key at build time
This commit is contained in:
parent
d17c90a8f3
commit
98becf531a
2 changed files with 10 additions and 6 deletions
|
|
@ -1,10 +1,6 @@
|
|||
import dotenv from 'dotenv';
|
||||
|
||||
export const getEnv = (env: string | undefined, defaultValue?: string, required?: boolean) => {
|
||||
if (required && !env && !defaultValue) {
|
||||
throw new Error(`Missing required environment variable`);
|
||||
}
|
||||
|
||||
export const getEnv = (env: string | undefined, defaultValue?: string) => {
|
||||
return env ?? defaultValue;
|
||||
}
|
||||
|
||||
|
|
@ -14,4 +10,4 @@ dotenv.config({
|
|||
});
|
||||
|
||||
// @note: You can use https://generate-random.org/encryption-key-generator to create a new 32 byte key
|
||||
export const SOURCEBOT_ENCRYPTION_KEY = getEnv(process.env.SOURCEBOT_ENCRYPTION_KEY, undefined, true)!;
|
||||
export const SOURCEBOT_ENCRYPTION_KEY = getEnv(process.env.SOURCEBOT_ENCRYPTION_KEY);
|
||||
|
|
@ -9,6 +9,10 @@ const generateIV = (): Buffer => {
|
|||
};
|
||||
|
||||
export function encrypt(text: string): { iv: string; encryptedData: string } {
|
||||
if (!SOURCEBOT_ENCRYPTION_KEY) {
|
||||
throw new Error('Encryption key is not set');
|
||||
}
|
||||
|
||||
const encryptionKey = Buffer.from(SOURCEBOT_ENCRYPTION_KEY, 'ascii');
|
||||
|
||||
const iv = generateIV();
|
||||
|
|
@ -21,6 +25,10 @@ export function encrypt(text: string): { iv: string; encryptedData: string } {
|
|||
}
|
||||
|
||||
export function decrypt(iv: string, encryptedText: string): string {
|
||||
if (!SOURCEBOT_ENCRYPTION_KEY) {
|
||||
throw new Error('Encryption key is not set');
|
||||
}
|
||||
|
||||
const encryptionKey = Buffer.from(SOURCEBOT_ENCRYPTION_KEY, 'ascii');
|
||||
|
||||
const ivBuffer = Buffer.from(iv, 'hex');
|
||||
|
|
|
|||
Loading…
Reference in a new issue