Switch to use secret manager for secrets

Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
Sanjula Ganepola
2024-11-18 18:23:07 -05:00
parent 6608976f54
commit af0b2edb4a
8 changed files with 83 additions and 38 deletions

23
src/secretManager.ts Normal file
View File

@@ -0,0 +1,23 @@
import { ExtensionContext, WorkspaceFolder } from "vscode";
import { StorageKey } from "./storageManager";
export class SecretManager {
private context: ExtensionContext;
private extensionKey: string = 'githubLocalActions';
constructor(context: ExtensionContext) {
this.context = context;
}
async get(workspaceFolder: WorkspaceFolder, storageKey: StorageKey, key: string): Promise<string | undefined> {
return await this.context.secrets.get(`${this.extensionKey}.${workspaceFolder.uri.fsPath}.${storageKey}.${key}`);
}
async store(workspaceFolder: WorkspaceFolder, storageKey: StorageKey, key: string, value: string): Promise<void> {
await this.context.secrets.store(`${this.extensionKey}.${workspaceFolder.uri.fsPath}.${storageKey}.${key}`, value);
}
async delete(workspaceFolder: WorkspaceFolder, storageKey: StorageKey, key: string): Promise<void> {
return await this.context.secrets.delete(`${this.extensionKey}.${workspaceFolder.uri.fsPath}.${storageKey}.${key}`);
}
}