cloakx
Version:
Cloakx is a secure, lightweight CLI tool to manage your development secrets locally — no cloud, no hassle. Store, retrieve, and manage secrets across projects with encryption and ease. 🔐 Perfect for solo devs, indie hackers, and teams who value speed, si
38 lines (37 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateSecret = updateSecret;
// src/commands/update.ts
const commander_1 = require("commander");
const vault_1 = require("../utils/vault");
const crypto_1 = require("../utils/crypto");
const session_1 = require("../utils/session");
/**
* Update a secret value by key.
*/
async function updateSecret(key, value) {
try {
const vault = (0, vault_1.loadVault)();
if (!vault[key]) {
console.error(`❌ Key "${key}" does not exist.`);
process.exit(1);
}
const password = await (0, session_1.getSessionPassword)();
const encrypted = (0, crypto_1.encrypt)(value, password);
vault[key] = encrypted;
(0, vault_1.saveVault)(vault);
console.log(`✅ Key "${key}" has been updated.`);
}
catch (err) {
console.error(`❌ Error updating key: ${err.message || err}`);
process.exit(1);
}
}
const command = new commander_1.Command('upd')
.description('Update a secret by key')
.argument('<key>', 'Key of the secret to update')
.argument('<value>', 'New value of the secret')
.action(async (key, value) => {
await updateSecret(key, value);
});
exports.default = command;