2021-04-17 10:45:42 +01:00
|
|
|
import { Page } from "../../types/Page.js";
|
|
|
|
import { getSecretMetadata } from "../../api.js";
|
|
|
|
import { setPageContent, setTitleElement } from "../../pageUtils.js";
|
|
|
|
import { makeElement } from "../../htmlUtils.js";
|
2021-04-15 13:01:58 +01:00
|
|
|
|
|
|
|
export class KeyValueVersionsPage extends Page {
|
2021-04-15 15:37:52 +01:00
|
|
|
constructor() {
|
|
|
|
super();
|
|
|
|
}
|
|
|
|
goBack() {
|
|
|
|
changePage(pages.KEY_VALUE_SECRETS);
|
|
|
|
}
|
|
|
|
async render() {
|
|
|
|
setTitleElement(pageState);
|
2021-04-15 13:01:58 +01:00
|
|
|
|
2021-04-15 15:37:52 +01:00
|
|
|
let versionsList = makeElement({
|
|
|
|
tag: "ul",
|
|
|
|
id: "versionsList",
|
|
|
|
class: ["uk-nav", "uk-nav-default"]
|
|
|
|
});
|
|
|
|
setPageContent(versionsList);
|
|
|
|
|
|
|
|
let metadata = await getSecretMetadata(
|
|
|
|
pageState.currentBaseMount,
|
|
|
|
pageState.currentSecretPath,
|
|
|
|
pageState.currentSecret
|
|
|
|
);
|
|
|
|
|
|
|
|
new Map(Object.entries(metadata.versions)).forEach((_, ver) => {
|
|
|
|
versionsList.appendChild(makeElement({
|
|
|
|
tag: "li",
|
|
|
|
children: makeElement({
|
|
|
|
tag: "a",
|
|
|
|
text: `v${ver}`,
|
|
|
|
onclick: _ => {
|
|
|
|
pageState.currentSecretVersion = ver;
|
|
|
|
changePage(pages.KEY_VALUE_SECRETS);
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
get name() {
|
|
|
|
return "K/V Versions";
|
|
|
|
}
|
|
|
|
}
|