Files
github-local-actions/src/views/settings/secrets.ts
Sanjula Ganepola af0b2edb4a Switch to use secret manager for secrets
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
2024-11-18 18:23:07 -05:00

27 lines
1.2 KiB
TypeScript

import { ThemeIcon, TreeItem, TreeItemCollapsibleState, WorkspaceFolder } from "vscode";
import { act } from "../../extension";
import { Setting } from "../../settingsManager";
import { GithubLocalActionsTreeItem } from "../githubLocalActionsTreeItem";
import SettingTreeItem from "./setting";
export default class SecretsTreeItem extends TreeItem implements GithubLocalActionsTreeItem {
static contextValue = 'githubLocalActions.secrets';
constructor(public workspaceFolder: WorkspaceFolder, secrets: Setting[]) {
super('Secrets', TreeItemCollapsibleState.Collapsed);
this.description = `${secrets.filter(secret => secret.selected).length}/${secrets.length}`;
this.contextValue = SecretsTreeItem.contextValue;
this.iconPath = new ThemeIcon('lock');
}
async getChildren(): Promise<GithubLocalActionsTreeItem[]> {
const items: GithubLocalActionsTreeItem[] = [];
const settings = await act.settingsManager.getSettings(this.workspaceFolder, false);
for (const secret of settings.secrets) {
items.push(SettingTreeItem.getSecretTreeItem(this.workspaceFolder, secret));
}
return items.sort((a, b) => a.label!.toString().localeCompare(b.label!.toString()));
}
}