pkgs: add rbw-pass
This is honestly almost overkill, as the script doesn't really have any logic in it, but it's good to have a common base with the bitwarden-cli one.
This commit is contained in:
parent
2dfc788ed4
commit
8f818b8611
3 changed files with 85 additions and 0 deletions
43
pkgs/rbw-pass/rbw-pass
Executable file
43
pkgs/rbw-pass/rbw-pass
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
usage() {
|
||||
printf '%s\n' "Usage: bw-pass [directory name] <account name>" >&2
|
||||
}
|
||||
|
||||
error_out() {
|
||||
printf '%s\n' "$1" >&2
|
||||
rofi -dmenu -no-fixed-num-lines -p "$1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ensure_logged_in() {
|
||||
rbw login
|
||||
}
|
||||
|
||||
query_password() {
|
||||
# Either use with `query_password <directory> <account name>
|
||||
# Or `query_password <account name>` when the account has no directory
|
||||
|
||||
local FOLDER_ARGS=()
|
||||
local PASSWORD
|
||||
|
||||
# FIXME: no way to enforce filering by "no folder"
|
||||
if [ $# -eq 2 ]; then
|
||||
FOLDER_ARGS+=(--folder "$1")
|
||||
shift
|
||||
fi
|
||||
PASSWORD="$(rbw get "${FOLDER_ARGS[@]}" "$1")"
|
||||
|
||||
if [ -z "$PASSWORD" ]; then
|
||||
error_out "Did not find password for '$1'"
|
||||
fi
|
||||
printf '%s\n' "$PASSWORD"
|
||||
}
|
||||
|
||||
if [ $# -lt 1 ] || [ $# -gt 2 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ensure_logged_in
|
||||
query_password "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue