#!/bin/bash
# dnc-exec - Kitty shell wrapper for dnc containerized mode

if [ -z "$DNC_CONTAINER" ]; then
    echo "Error: DNC_CONTAINER environment variable not set" >&2
    echo "This script should be run via dnc-kitty-launcher" >&2
    exit 1
fi

workdir="$PWD"

SSH_ARGS=""
[ -n "$SSH_AUTH_SOCK" ] && SSH_ARGS="-e SSH_AUTH_SOCK=$SSH_AUTH_SOCK"

if [ $# -eq 0 ]; then
    exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" /usr/bin/dnc-entry
else
    for arg in "$@"; do
        case "$arg" in
            *'|'*|*'&'*|*';'*|*'<'*|*'>'*|*'$'*|*'`'*|*'"'*|*"'"*)
                exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" sh -c "$*"
                ;;
        esac
    done
    exec docker exec -it $SSH_ARGS -w "$workdir" "$DNC_CONTAINER" "$@"
fi
