#!/bin/bash

set -euo pipefail

DOCKER_HUB_URL="https://index.docker.io/v1/"

STDIN=$(cat)

ACTION="$1"

case "$ACTION" in
  get)
    SERVER_URL="$STDIN"

    if [[ "$SERVER_URL" == "$DOCKER_HUB_URL" ]]; then
      if [[ -z "${DOCKERHUB_USERNAME:-}" || -z "${DOCKERHUB_PASSWORD:-}" ]]; then
        echo "Error: DOCKERHUB_USERNAME or DOCKERHUB_PASSWORD environment variables are not set." >&2
        exit 1
      fi

      echo "{\"Username\": \"$DOCKERHUB_USERNAME\", \"Secret\": \"$DOCKERHUB_PASSWORD\"}"
    else
      echo "Error: No credentials available for $SERVER_URL" >&2
      exit 1
    fi
    ;;

  *)
    echo "Unsupported action: $ACTION" >&2
    exit 1
    ;;
esac