Vitron-Front/generate-types.sh
2026-04-29 01:44:16 +03:30

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"