import numberfy from "./numberfy"; export type GrabEncryptionKeysParam = { encryptionKey?: string; encryptionSalt?: string; apiKey?: string; algorithm?: string; bufferAllocSize?: number; }; /** * # Grab Encryption Keys * @description Grab Required Encryption Keys */ export default function grabKeys(param?: GrabEncryptionKeysParam) { return { key: param?.encryptionKey || process.env.DSQL_ENCRYPTION_PASSWORD, keyLen: process.env.DSQL_ENCRYPTION_KEY_LENGTH ? Number(process.env.DSQL_ENCRYPTION_KEY_LENGTH) : 24, salt: param?.encryptionSalt || process.env.DSQL_ENCRYPTION_SALT, apiKey: param?.apiKey || process.env.DSQL_API_KEY, algorithm: param?.algorithm || process.env.DSQL_ENCRYPTION_ALGORITHM || "aes-192-cbc", bufferAllocSize: param?.bufferAllocSize || (process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE ? numberfy(process.env.DSQL_ENCRYPTION_BUFFER_ALLOCATION_SIZE) : undefined) || 16, }; }