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

28 lines
789 B
TypeScript
Raw Normal View History

2021-05-07 23:35:43 +01:00
import { DoesNotExistError } from "../types/internalErrors";
2021-05-08 00:21:58 +01:00
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(
baseMount: string,
mountType: string,
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-08 00:21:58 +01:00
headers: (getHeaders() as any),
2021-05-07 11:53:26 +01:00
});
return fetch(request).then(response => {
if (response.status == 404) {
throw DoesNotExistError;
}
return response.json();
}).then(data => {
return data.data.keys;
});
}