# pass_set
# --------
# Inserta o sobreescribe un secreto en el password store.
# Lee el valor de stdin si no se pasa como segundo argumento.
# Sale con exit code 1 si pass falla.
#
# USO (sourced):
#   source pass_set.sh
#   pass_set agentes/nuevo-token "mi-token-secreto"
#   echo "mi-token" | pass_set agentes/nuevo-token

pass_set() {
    local entry="$1"
    local value="$2"

    if [ -z "$entry" ]; then
        echo "pass_set: se requiere nombre de entrada" >&2
        return 1
    fi

    if [ -n "$value" ]; then
        printf '%s' "$value" | pass insert -m -f "$entry" >/dev/null 2>&1
    else
        pass insert -m -f "$entry" >/dev/null 2>&1
    fi

    if [ $? -ne 0 ]; then
        echo "pass_set: fallo al escribir '$entry'" >&2
        return 1
    fi
}
