yadm-config/.config/scripts/anyrun/Bitwarden.sh

42 lines
1,009 B
Bash
Executable file

#!/bin/env sh
declare -A actions
actions['Sync']="sync"
actions["Logout"]="logout"
actions["Lock"]="lock"
printSelection() {
echo "$1"
for key in "${!fruits[@]}"
do
echo "Action: $key"
done
}
formattedIDs=$(echo "format:[NAME] ([USERNAME])" | nc -U /tmp/bitwarden-daemon.sock)
selectionList=$(echo "$formattedIDs" | jq 'keys | map("\(.)\n") | add' -r)
actionSelectionList=$(printf "Actions: %s\n" ${!actions[@]})
selection=$(printf "%s\n" "$selectionList" "$actionSelectionList" | anyrun --plugins libstdin.so)
echo "$selection"
if [[ $selection == '' ]]; then
exit 0
fi
if [[ $selection == Actions:* ]]; then
actionKey="${selection:9}"
action="${actions[$actionKey]}"
echo "Performing: $action"
echo "$action:" | nc -U /tmp/bitwarden-daemon.sock
else
id=$(echo "$formattedIDs" | jq ".[\"${selection}\"]" -r)
echo "lookupPassword:$id" | nc -U /tmp/bitwarden-daemon.sock | wl-copy
notify-send "Password copied" "Copied password for '$selection' to clipboard."
fi
exit 0;