1
0
Fork 0
VaultUI/src/api/kv/getSecrets.ts

26 lines
776 B
TypeScript
Raw Normal View History

2021-05-09 11:18:18 +01:00
import { DoesNotExistError } from "../../types/internalErrors";
import { appendAPIURL, getHeaders } from "../apiUtils";
2021-05-07 11:53:26 +01:00
2021-05-08 00:21:58 +01:00
export async function getSecrets(
2021-05-10 11:35:14 +01:00
baseMount: string,
mountType: string,
2021-05-08 00:21:58 +01:00
secretPath: string[]
): Promise<string[]> {
2021-05-07 11:53:26 +01:00
let secretURL = "";
if (mountType == "kv-v2") {
secretURL = `/v1/${baseMount}/metadata/${secretPath.join("")}?list=true`;
} else {
// cubbyhole and v1 are identical
secretURL = `/v1/${baseMount}/${secretPath.join("")}?list=true`;
}
const request = new Request(appendAPIURL(secretURL), {
2021-05-10 11:35:14 +01:00
headers: getHeaders(),
2021-05-07 11:53:26 +01:00
});
2021-05-10 11:35:14 +01:00
const resp = await fetch(request);
if (resp.status == 404) {
throw DoesNotExistError;
}
const data = await resp.json() as { data: { keys: string[] } };
return data.data.keys;
2021-05-07 11:53:26 +01:00
}