Select Git revision
FdaContainerManagingApplication.java
generate.sh 2.16 KiB
#!/bin/bash
declare -A services
services[5010]=units
services[9091]=container
services[9092]=database
services[9093]=query
services[9094]=table
services[9097]=authentication
services[9096]=identifier
function retrieve () {
echo "... retrieve api"
if [[ "$2" == units ]]; then
wget "http://localhost:$1/api-$2.json" -O "./api-$2.yaml" -q
else
wget "http://localhost:$1/v3/api-docs.yaml" -O "./api-$2.yaml" -q
fi
}
function generate () {
echo "... generate python api"
java -jar swagger-codegen-cli.jar generate -i "./api-$1.yaml" -l python -o "./api-$1" > /dev/null
}
function remove () {
echo "... removing old python api"
rm -rf "${HOME}/Projects/fda-services/.gitlab/api_$1"
rm -rf "${HOME}/Projects/fda-services/.demo/api_$1"
rm -rf "./api/api_$1"
}
function copy () {
echo "... copying python api"
cp -r "./api-$1/swagger_client" "${HOME}/Projects/fda-services/.gitlab/api_$1"
cp -r "./api-$1/swagger_client" "${HOME}/Projects/fda-services/.demo/api_$1"
cp -r "./api-$1/swagger_client" "./api/api_$1"
}
function replace () {
echo "... replacing swagger client package name and gateway"
find "${HOME}/Projects/fda-services/.gitlab/api_$2" -type f -exec sed -i -e "s/swagger_client/api_$2/g" {} \;
find "${HOME}/Projects/fda-services/.gitlab/api_$2" -type f -exec sed -i -e "s/self.host = .*/self.host = \"http:\/\/localhost:9095\"/g" {} \;
find "${HOME}/Projects/fda-services/.demo/api_$2" -type f -exec sed -i -e "s/swagger_client/api_$2/g" {} \;
find "${HOME}/Projects/fda-services/.demo/api_$2" -type f -exec sed -i -e "s/self.host = .*/self.host = \"http:\/\/localhost:9095\"/g" {} \;
find "./api/api_$2" -type f -exec sed -i -e "s/swagger_client/api_$2/g" {} \;
find "./api/api_$2" -type f -exec sed -i -e "s/self.host = .*/self.host = \"http:\/\/localhost:9095\"/g" {} \;
}
for key in "${!services[@]}"; do
echo "Generating ${services[$key]} API"
retrieve "$key" "${services[$key]}"
generate "${services[$key]}"
remove "${services[$key]}"
copy "${services[$key]}"
replace "$key" "${services[$key]}"
done
cp -r ./api/* "${HOME}/Projects/dbrepo-tuw/worker-airquality/"
cp -r ./client "${HOME}/Projects/dbrepo-tuw/worker-airquality/"