#!/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