#!/usr/bin/env bash

show-project-setup() {
    TASK_DOTENV_DIR=${TASK_DOTENV_DIR:="$HOME/.config/taskfile.build"}

    local project_name
    project_name=$(basename -s .git "$(git remote get-url origin 2>/dev/null)" 2>/dev/null)
    project_name=${project_name:-${PWD##*/}}

    local key_name
    key_name=$(echo "${1:-$project_name}" | tr '[:upper:]' '[:lower:]')
    local age_key_file="$HOME/.config/sops/age/keys.txt"
    local branch
    branch=$(git symbolic-ref --short -q HEAD)

    local pass_entry
    pass_entry=$(echo "dotenv/${PWD##*/}#${branch}" | tr '[:upper:]' '[:lower:]')
    local keepass_entry
    keepass_entry=$(echo "dotenv/${PWD##*/}#${branch}" | tr '[:upper:]' '[:lower:]')
    local age_keepass_entry="age/$key_name"
    local age_pass_entry="age/$key_name"

    echo ""
    echo "Project: $project_name"
    echo ""
    if [[ -f "$KEEPASS_DATABASE_FILE" ]]; then
        echo "KeePass database file: $KEEPASS_DATABASE_FILE (exists)"
    else
        echo "KeePass database file: $KEEPASS_DATABASE_FILE (missing)"
    fi
    if [[ -f "$KEEPASS_DATABASE_KEY_FILE" ]]; then
        echo "KeePass database key file: $KEEPASS_DATABASE_KEY_FILE (exists)"
    else
        echo "KeePass database key file: $KEEPASS_DATABASE_KEY_FILE (missing)"
    fi
    echo "KeePass entry: $keepass_entry"
    echo ""
    echo "Age key name: $key_name"
    echo "Age key file: $age_key_file"
    echo "Age KeePass entry: $age_keepass_entry"
    echo "Age Pass entry: $age_pass_entry"

    if [[ -f ".sops.yaml" ]]; then
        echo "SOPS config:"
        cat ".sops.yaml"
    else
        echo "SOPS config: not found"
    fi

    if [[ -f "$age_key_file" ]] && grep -q "# name: $key_name" "$age_key_file"; then
        echo "Age key: exists"
    else
        echo "Age key: not found"
    fi
}
sps() {
    show-project-setup "$@"
}
