#!/bin/bash

set -eo pipefail

SHARED_ACCOUNT="086679231553"

# check aws setup is correct
AWS_ACCOUNT=$(aws sts get-caller-identity --query 'Account' --output text)
if [ "$AWS_ACCOUNT" != "$SHARED_ACCOUNT" ]; then
    echo "This script must be run in the context of the shared AWS account ($SHARED_ACCOUNT)"
    exit 1
fi

# if no param, show options
if [ -z "$1" ]; then
    aws s3 ls s3://shared-rds-backup-artifacts/artifacts/
    exit 1
fi

set -xu
DB_NAME=$1
IMAGE_NAME="$SHARED_ACCOUNT.dkr.ecr.us-east-1.amazonaws.com/docker-database-images:$DB_NAME"

# cleanup from previous runs
set +e
docker rm tmp_container
set -e

# pull container and extract schema
docker pull $IMAGE_NAME
docker create --name tmp_container $IMAGE_NAME
docker cp tmp_container:/docker-entrypoint-initdb.d/001_schema.sql ./$DB_NAME.sql
docker rm tmp_container
