#!/usr/bin/env bash
# store-secret -- add libsecret entries in certain known schemas

. lib.bash || exit

app=$1
[[ $app ]] || die "usage: $progname <app> ..."

label=""
attrs=()

case $app in
	mpop|msmtp)
		host=$2 user=$3
		[[ $host && $user ]] || die "usage: $progname $app <host> <user>"
		case $app in
			msmtp) proto=smtp;;
			mpop) proto=pop3;;
		esac
		label="$app: $proto://$(urlencode -a "$user")@$host"
		attrs=(
			xdg:schema "de.marlam.$app.password"
			host "$host"
			service "$proto"
			user "$user"
		) ;;
	rdp)
		# Used by ~/code/bin/rdp only.
		host=$2 user=$3
		[[ $host && $user ]] || die "usage: $progname $app <host> <user>"
		label="$app: Password for '$user' on '$host'"
		attrs=(
			xdg:schema "org.gnome.keyring.NetworkPassword"
			server "$host"
			protocol "rdp"
			user "$user"
		) ;;
	*)
		die "unknown app '$app'" ;;
esac

secret-tool store --label="$label" xdg:schema "$schema" "${attrs[@]}"
