mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-05-03 11:20:34 +00:00
Rework
This commit is contained in:
@@ -84,6 +84,15 @@ public class ProtonPasswordManager implements PasswordManager {
|
||||
return SHELL;
|
||||
}
|
||||
|
||||
private String runCommand(CommandBuilder b) throws Exception {
|
||||
var r = getOrStartShell().command(b).sensitive().readStdoutAndStderr();
|
||||
// pass-cli does not set exit codes on failure
|
||||
if (r[0].isEmpty() && !r[1].isEmpty()) {
|
||||
throw ErrorEventFactory.expected(ProcessOutputException.of(1, r[1]));
|
||||
}
|
||||
return r[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized Result query(String key) {
|
||||
try {
|
||||
@@ -117,8 +126,7 @@ public class ProtonPasswordManager implements PasswordManager {
|
||||
var itemName = split.length > 1 ? split[1] : key;
|
||||
|
||||
if (vault == null) {
|
||||
var b = CommandBuilder.of().add("pass-cli", "vault", "list", "--output", "json");
|
||||
var out = sc.command(b).readStdoutOrThrow();
|
||||
var out = runCommand(CommandBuilder.of().add("pass-cli", "vault", "list", "--output", "json"));
|
||||
var json = JacksonMapper.getDefault().readTree(out);
|
||||
var vaultsNode = json.required("vaults");
|
||||
if (vaultsNode == null || vaultsNode.size() == 0) {
|
||||
@@ -142,7 +150,7 @@ public class ProtonPasswordManager implements PasswordManager {
|
||||
}
|
||||
b.add("--item-title").addQuoted(itemName);
|
||||
b.add("--output", "json");
|
||||
var out = sc.command(b).readStdoutOrThrow();
|
||||
var out = runCommand(b);
|
||||
var json = JacksonMapper.getDefault().readTree(out);
|
||||
|
||||
var itemNode = json.get("item");
|
||||
|
||||
Vendored
+3
@@ -52,5 +52,8 @@ Furthermore, the container restart action will now properly restart any systemd
|
||||
- Add support for multiple 1password accounts
|
||||
- Add support for Bitwarden flatpak and macOS App Store installations
|
||||
- Add support for KeePassXC flatpak
|
||||
- Add support for Proton Pass password manager
|
||||
- Add support for hashicorp vault as password manager
|
||||
- Improve timeout handling for shells to allow for a quicker shell init
|
||||
- Fix Keeper issues on macOS and add support for Keeper App Store installations
|
||||
- Fix SSH being broken when a custom alias to a modified ssh command was set in a shell rc file
|
||||
|
||||
Reference in New Issue
Block a user