Skip to content
Snippets Groups Projects
Select Git revision
  • 348fd278e9466306cfa3ab4d3149ac6cb05d98ce
  • release default protected
  • workshop
3 results

remote_control.py

Blame
  • generate.sh 1.80 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/tests/api_$1"
      rm -rf "${HOME}/Projects/fda-services/.demo/api_$1"
    }
    
    function copy () {
      echo "... copying python api"
      cp -r "./api-$1/swagger_client" "${HOME}/Projects/fda-services/.gitlab/tests/api_$1"
      cp -r "./api-$1/swagger_client" "${HOME}/Projects/fda-services/.demo/api_$1"
    }
    
    function replace () {
      echo "... replacing swagger client package name and gateway"
      find "${HOME}/Projects/fda-services/.gitlab/tests/api_$2" -type f -exec sed -i -e "s/swagger_client/api_$2/g" {} \;
      find "${HOME}/Projects/fda-services/.gitlab/tests/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" {} \;
    }
    
    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