Switch to use secret manager for secrets
Signed-off-by: Sanjula Ganepola <sanjulagane@gmail.com>
This commit is contained in:
23
src/secretManager.ts
Normal file
23
src/secretManager.ts
Normal 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}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user