@supernovaio/cli
Version:
Supernova.io Command Line Interface
30 lines • 1.59 kB
TypeScript
import { TargetEnv } from "../types/environment.js";
import { Tokens } from "../types/login.js";
import { AuthService } from "./auth.service.js";
export interface IVault {
deletePassword: (serviceName: string, account: string) => Promise<void>;
getPassword: (serviceName: string, account: string) => Promise<null | string>;
setPassword: (serviceName: string, account: string, password: string) => Promise<void>;
}
export declare class KeytarVault implements IVault {
deletePassword(serviceName: string, account: string): Promise<void>;
getPassword(serviceName: string, account: string): Promise<null | string>;
setPassword(serviceName: string, account: string, password: string): Promise<void>;
}
export declare class VaultService {
private readonly authService;
private readonly vault;
private readonly serviceName;
constructor(authService?: AuthService, vault?: IVault);
deleteTokensFromVault(env: TargetEnv): Promise<void>;
getLoggedInUserSub(env: TargetEnv): Promise<string | undefined>;
getTokensFromFile(env: TargetEnv): Tokens | undefined;
tryGetTokensFromVault(env: TargetEnv): Promise<Tokens | null>;
getTokensFromVault(env: TargetEnv): Promise<Tokens>;
refreshTokens(env: TargetEnv, accessToken: string, refreshToken: string): Promise<Tokens | undefined>;
storeTokensInFile(env: TargetEnv, tokens: null | Tokens): void;
storeTokensToVault({ accessToken, refreshToken }: Tokens, env: TargetEnv): Promise<void>;
supernovaDir(): string;
tokensFilePath(): string;
}
//# sourceMappingURL=vault.service.d.ts.map