#!/usr/bin/env bash

##############################################################################
#
# DESCRIPTION
#   This script:
#       - Downloads the Spotify API credentials JSON from AWS Secrets Manager
#       - Sets the environment variables
#
#   There are optional overrides that can be set via environment variables.
#
#   These are the available override variables and their defaults:
#       ENVIRONMENT                   "dev"
#       SPOTIFY_API_SECRET_NAME       "delphi/${ENVIRONMENT}/apd/spotify"
#
##############################################################################

set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null && pwd)"
PARENT_DIR="$(dirname ${SCRIPT_DIR})"

# get variable from environment, or default to 'dev'
ENVIRONMENT="${ENVIRONMENT:-dev}"

SPOTIFY_API_SECRET_NAME_DEFAULT="delphi/${ENVIRONMENT}/apd/spotify"
SPOTIFY_API_SECRET_NAME=${SPOTIFY_API_SECRET_NAME:-$SPOTIFY_API_SECRET_NAME_DEFAULT}

SPOTIFY_API_SECRETS_RESPONSE=$(aws secretsmanager get-secret-value --secret-id "${SPOTIFY_API_SECRET_NAME}" --output json | jq -r .SecretString)

export SPOTIFY_CLIENT_ID="${SPOTIFY_CLIENT_ID:-`echo "${SPOTIFY_API_SECRETS_RESPONSE}" | jq -r .client_id`}"
export SPOTIFY_CLIENT_SECRET="${SPOTIFY_CLIENT_SECRET:-`echo "${SPOTIFY_API_SECRETS_RESPONSE}" | jq -r .client_secret`}"
