dsql-admin/dsql-app/package-shared/utils/grab-keys.ts

35 lines
1.1 KiB
TypeScript
Raw Normal View History

2025-01-14 15:27:08 +00:00
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,
};
}