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

104 lines
2.5 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/endpoints"
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}/endpoint_get_AAAAA" "${BASE_DIR}/${SITE}/${MODULES}/endpoint_get_${NODE}"
log $?
cd "${BASE_DIR}/${SITE}/${MODULES}/endpoint_get_${NODE}"
# Rename files
echo -en " 🍓 Rename ${B}endpoint_get_${NODE}.info.yml${E} file"
mv "endpoint_get_AAAAA.info.yml" "endpoint_get_${NODE}.info.yml"
log $?
echo -en " 🍓 Rename ${B}endpoint_get_${NODE}.routing.yml${E} file"
mv "endpoint_get_AAAAA.routing.yml" "endpoint_get_${NODE}.routing.yml"
log $?
# Edit files
echo -en " ⭐ Edit ${B}endpoint_get_${NODE}.info.yml${E} file"
sed -i "s/AAAAA/${NODE}/g" "endpoint_get_${NODE}.info.yml"
log $?
echo -en " ⭐ Edit ${B}endpoint_get_${NODE}.routing.yml${E} file"
sed -i "s/AAAAA/${NODE}/g" "endpoint_get_${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 $?
exit
# Enable module
echo -e " 🌈 Enable module"
cd /var/www/sites/${SITE}
../vendor/drush/drush/drush en "endpoint_get_${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 "endpoint-get-${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