33
* @param logService Optional logger for trace output.
34
*/
35
>
export async function readEncryptedSecret(
secrets.ts
36
>
key: string,
37
>
storageGet: (fullKey: string) => string | undefined,
38
>
decrypt: (value: string) => Promise<string>,
39
>
logService?: ILogService,
40
>
): Promise<string | undefined> {
41
>
const fullKey = secretStorageKey(key);
42
>
logService?.trace('[secrets] getting secret for key:', fullKey);
43
>
const encrypted = storageGet(fullKey);
44
>
if (!encrypted) {
45
logService?.trace('[secrets] no secret found for key:', fullKey);
46
return undefined;
47
}
48
>
logService?.trace('[secrets] decrypting secret for key:', fullKey);
secrets.ts
49
>
const result = await decrypt(encrypted);
50
>
logService?.trace('[secrets] decrypted secret for key:', fullKey);
51
>
return result;
52
>
}
53
54
/**