Files
ziti/controller/scripts/generate_rest.sh
T
2023-08-16 12:39:59 -04:00

45 lines
1.4 KiB
Bash
Executable File

#!/bin/bash -e
command -v swagger >/dev/null 2>&1 || {
echo >&2 "Command 'swagger' not installed. See: https://github.com/go-swagger/go-swagger for installation"
exit 1
}
scriptPath=$(realpath $0)
scriptDir=$(dirname "$scriptPath")
zitiEdgeDir=$(realpath "$scriptDir/..")
swagSpec=$(realpath "$zitiEdgeDir/specs/swagger.yml")
copyrightFile=$(realpath "$scriptDir/template.copyright.txt")
serverPath=$(realpath "$zitiEdgeDir/rest_server")
echo "...removing any existing server from $serverPath"
rm -rf "$serverPath"
mkdir -p "$serverPath"
clientPath=$(realpath "$zitiEdgeDir/rest_client")
echo "...removing any existing client from $clientPath"
rm -rf "$clientPath"
mkdir -p "$clientPath"
modelPath=$(realpath "$zitiEdgeDir/rest_model")
echo "...removing any existing model from $modelPath"
rm -rf "$modelPath"
mkdir -p "$modelPath"
echo "...generating server"
swagger generate server --exclude-main -f "$swagSpec" -s rest_server -t "$zitiEdgeDir" -q -r "$copyrightFile" -m "rest_model"
exit_status=$?
if [ ${exit_status} -ne 0 ]; then
echo "Failed to generate server. See above."
exit "${exit_status}"
fi
echo "...generating client"
swagger generate client -f "$swagSpec" -c rest_client -t "$zitiEdgeDir" -q -r "$copyrightFile" -m "rest_model"
exit_status=$?
if [ ${exit_status} -ne 0 ]; then
echo "Failed to generate client. See above."
exit "${exit_status}"
fi