38 lines
1.4 KiB
Bash
38 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Determine environment (default to dev)
|
|
ENVIRONMENT=${1:-dev}
|
|
|
|
if [ "$ENVIRONMENT" = "prod" ] || [ "$ENVIRONMENT" = "production" ]; then
|
|
OPENAPI_URL="https://api.vitrown.com/api/docs/swagger.json"
|
|
else
|
|
OPENAPI_URL="https://api.vitrown.abrino.cloud/api/docs/swagger.json"
|
|
fi
|
|
|
|
OUTPUT_DIR="./src/api/types"
|
|
GENERATOR_JAR="/usr/local/bin/openapi-generator-cli.jar"
|
|
|
|
echo "Generating API types for $ENVIRONMENT environment"
|
|
echo "Using OpenAPI URL: $OPENAPI_URL"
|
|
|
|
# Download OpenAPI schema
|
|
curl -s "$OPENAPI_URL" -o ./openapi.json
|
|
|
|
# Run generator using java directly
|
|
java -jar "$GENERATOR_JAR" generate \
|
|
-i ./openapi.json \
|
|
-g typescript-fetch \
|
|
-o "$OUTPUT_DIR" \
|
|
--skip-validate-spec \
|
|
--additional-properties=supportsES6=true,withoutRuntimeChecks=true,modelPropertyNaming=camelCase
|
|
|
|
# Apply post-generation fix to make BASE_PATH dynamic
|
|
echo "Applying dynamic BASE_PATH fix..."
|
|
sed -i 's|export const BASE_PATH = "https://api\.vitrown\.abrino\.cloud"|import { getApiBaseUrl } from "../../../app/utils/api-config";\nexport const BASE_PATH = getApiBaseUrl()|g' src/api/types/runtime.ts
|
|
sed -i 's|export const BASE_PATH = "https://api\.vitrown\.com"|import { getApiBaseUrl } from "../../../app/utils/api-config";\nexport const BASE_PATH = getApiBaseUrl()|g' src/api/types/runtime.ts
|
|
|
|
# Clean up
|
|
rm ./openapi.json
|
|
|
|
echo "API types generated successfully with dynamic BASE_PATH"
|