. ./@Core/Scripts/templates.sh

if [ ! -d "./API/CoreHelpers/Jest/" ]
then
    mkdir -p ./API/CoreHelpers/Jest/
else
    rm -rf ./API/CoreHelpers/Jest/*
fi
# Remove old files
rm -rf ./@Core/Server/ServerUtils/Prisma/*

# Make a copy of the prisma file for testing purposes
cp ./prisma/schema.prisma ./API/CoreHelpers/Jest
sed -i -- "s/..\/@Core\/Server\/ServerUtils\/Prisma\/@Prisma/.\/@Prisma/g" ./API/CoreHelpers/Jest/schema.prisma
rm -f ./API/CoreHelpers/Jest/schema.prisma--

# Generate the client
npx prisma generate

# Find and replace the file 
sed -i -- "s/schema.prisma/..\/server\/ServerUtils\/Prisma\/@Prisma\/schema.prisma/g" ./@Core/Server/ServerUtils/Prisma/@Prisma/runtime/index.js
rm -f ./@Core/Server/ServerUtils/Prisma/SchemaBuild/runtime/index.js--

cp ./@Core/Server/ServerUtils/Prisma/@Prisma/index.d.ts ./API/CoreHelpers/PrismaTypes.ts

cat > "./@Core/Server/ServerUtils/Prisma/index.ts" <<- "EOF"
import { PrismaClient } from './@Prisma/'

const prisma = new PrismaClient()

export default prisma
EOF

# For testing purposes, we need to copy and paste it into API/CoreHelpers/Prisma!
npx prisma generate --schema=./API/CoreHelpers/Jest/schema.prisma
# cp -a ./@Core/Server/ServerUtils/Prisma/. ./API/CoreHelpers/Prisma/
sed -i -- "s/schema.prisma/..\/..\/..\/CoreHelpers\/Jest\/@Prisma\/schema.prisma/g" ./API/CoreHelpers/Jest/@Prisma/runtime/index.js

cat > "./API/CoreHelpers/Jest/index.ts" <<- "EOF"
import { PrismaClient } from './@Prisma'

const prisma = new PrismaClient()

export default prisma
EOF

echo "${PRISMA_USEAGE}"
