dev/endpoints/endpoint-post.sh
2023-12-31 00:04:21 +02:00

103 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
SITE=${1}
NODE=${2}
G="\e[0;32m"
B="\e[0;34m"
W="\e[0;97m"
E="\e[00m"
SOURCE="/root/Dev-Enviroment/toolbox/endpoints_maker"
BASE_DIR="/var/www/sites"
MODULES="modules/custom"
[ "$#" -lt 2 ] && echo "Argument missing" && exit
[ ! -d ${SITE} ] && echo "Directory ${SITE} does not exist" && exit
[ -d ${SITE}/web ] && SITE=${SITE}/web
function log() {
[ $1 == 0 ] && echo -e " ${G}[ OK ]${E}"; return
echo -e " ${R}[FAIL]${E}"
exit
}
echo
echo -en " 📂 Copy template module dir to ${B}${SITE}${E}"
cp -r "${SOURCE}/bundle_AAAAA" "${BASE_DIR}/${SITE}/${MODULES}/bundle_${NODE}"
log $?
cd "${BASE_DIR}/${SITE}/${MODULES}/bundle_${NODE}"
# Rename files
echo -en " 🍓 Rename ${B}bundle_${NODE}.info.yml${E} file"
mv "bundle_AAAAA.info.yml" "bundle_${NODE}.info.yml"
log $?
echo -en " 🍓 Rename ${B}bundle_${NODE}.routing.yml${E} file"
mv "bundle_AAAAA.routing.yml" "bundle_${NODE}.routing.yml"
log $?
# Edit files
echo -en " ⭐ Edit ${B}bundle_${NODE}.info.yml${E} file"
sed -i "s/AAAAA/${NODE}/g" "bundle_${NODE}.info.yml"
log $?
echo -en " ⭐ Edit ${B}bundle_${NODE}.routing.yml${E} file"
sed -i "s/AAAAA/${NODE}/g" "bundle_${NODE}.routing.yml"
log $?
echo -en " ⭐ Edit ${B}src/Controller/NodeController.php${E} file"
sed -i "s/AAAAA/${NODE}/g" "src/Controller/NodeController.php"
log $?
echo -en " ⭐ Edit ${B}src/Controller/NodesController.php${E} file"
sed -i "s/AAAAA/${NODE}/g" "src/Controller/NodesController.php"
log $?
echo -en " ⭐ Edit ${B}src/Controller/CategoryController.php${E} file"
sed -i "s/AAAAA/${NODE}/g" "src/Controller/CategoryController.php"
log $?
# Enable module
echo -e " 🌈 Enable module"
cd /var/www/sites/${SITE}
../vendor/drush/drush/drush en "bundle_${NODE}"
# Test endpoint
BASE_URL="http://$(ls -l /var/www/ | grep ${SITE} | awk {'print $9'}).vm7"
API_URL="api/el"
NODE_URL="${BASE_URL}/${API_URL}/${NODE}"
NODES_URL="${BASE_URL}/${API_URL}/${NODE}s"
cat "bundle_${NODE}.routing.yml" | grep path
# echo "BASE_URL :" ${BASE_URL}
# echo "API_URL :" ${API_URL}
# echo "NODE :" ${NODE}
# echo "NODE_URL :" ${NODE_URL}
# echo "NODEs_URL:" ${NODES_URL}
ENDPOINTS=(
api/en/${NODE}s
api/el/${NODE}s
)
for ENDPOINT in ${ENDPOINTS[@]}; do
ENDPOINT_STATUS=$(curl -sI --location --request GET $BASE_URL/$ENDPOINT?_format=json \
-b cookie.txt \
--header "Content-type: application/json" | grep HTTP | awk {'print $2 " " $3'})
echo -e " 🍒 GET $ENDPOINT: $ENDPOINT_STATUS"
done