#!/bin/bash

while getopts y:l:d: flag
do
    case "${flag}" in
        y) year=${OPTARG};;
        l) language=${OPTARG};;
        d) day=${OPTARG};;
    esac
done

if [[ ! $year || ! $language || ! $day ]]
then
    echo "Invalid usage! Required flags are -y, -l and -d";
    echo "Bye...";
    exit 1;
fi

case $language in
    "ts") lang="typescript";;
    *) lang="unknown";;
esac

cd $year

mkdir -p $lang/day$day

cp ../templates/$lang/* ./$lang/day$day

cd ./$lang/day$day

for f in d*.txt
do
    if [[ "$f" =~ ^(d)XX(p[0-9]\.)txt$ ]]; then
        mv "$f" "${BASH_REMATCH[1]}${day}${BASH_REMATCH[2]}ts"
    fi
done

mv "index.txt" "index.ts"
