@papavault/cli
Version:
CLI tool for Papa Vault Secret Manager
86 lines (85 loc) • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PapaVault = void 0;
const error_1 = require("./utils/error");
const api_1 = require("./utils/api");
class PapaVault {
constructor(options = {}) {
this.token = options.token;
this.projectId = options.projectId;
}
/**
* Set the project ID for subsequent operations
*/
setProject(projectId) {
this.projectId = projectId;
}
/**
* Get the current project ID
*/
getCurrentProject() {
return this.projectId;
}
/**
* List all projects
*/
async listProjects() {
try {
return await (0, api_1.getProjects)(this.token);
}
catch (error) {
throw new error_1.PapaVaultError('Failed to list projects', error);
}
}
/**
* Get a project by ID
*/
async getProject(projectId) {
try {
return await (0, api_1.getProject)(projectId, this.token);
}
catch (error) {
throw new error_1.PapaVaultError(`Failed to get project ${projectId}`, error);
}
}
/**
* Get all credential files for a project environment
*/
async getCredentialFiles(environmentId) {
if (!this.projectId) {
throw new error_1.PapaVaultError('Project ID is required. Call setProject() first.');
}
try {
return await (0, api_1.getCredentialFiles)(this.projectId, environmentId, this.token);
}
catch (error) {
throw new error_1.PapaVaultError(`Failed to get credential files for project ${this.projectId}, environment ${environmentId}`, error);
}
}
/**
* Get a credential file by ID
*/
async getCredentialFile(environmentId, fileId) {
if (!this.projectId) {
throw new error_1.PapaVaultError('Project ID is required. Call setProject() first.');
}
try {
return await (0, api_1.getCredentialFile)(this.projectId, environmentId, fileId, this.token);
}
catch (error) {
throw new error_1.PapaVaultError(`Failed to get credential file ${fileId}`, error);
}
}
/**
* Download a credential file
*/
async downloadCredentialFile(downloadUrl) {
try {
return await (0, api_1.downloadCredentialFile)(downloadUrl, this.token);
}
catch (error) {
throw new error_1.PapaVaultError('Failed to download credential file', error);
}
}
}
exports.PapaVault = PapaVault;