CODEX_ADK/FRONTEND/scripts/update_api_client.sh
Svrnty 229a0698a3 Initial commit: CODEX_ADK monorepo
Multi-agent AI laboratory with ASP.NET Core 8.0 backend and Flutter frontend.
Implements CQRS architecture, OpenAPI contract-first API design.

BACKEND: Agent management, conversations, executions with PostgreSQL + Ollama
FRONTEND: Cross-platform UI with strict typing and Result-based error handling

Co-Authored-By: Jean-Philippe Brule <jp@svrnty.io>
2025-10-26 23:12:32 -04:00

63 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Update API Client from OpenAPI Specification
#
# This script regenerates Dart API client code from the OpenAPI contract.
# Run this after the backend team updates docs/openapi.json
set -e # Exit on error
echo "🔄 Updating API Client from OpenAPI Specification..."
echo ""
# Check if api-schema.json exists
if [ ! -f "api-schema.json" ]; then
echo "❌ Error: api-schema.json not found"
echo ""
echo "Please copy the OpenAPI spec from backend:"
echo " cp ../backend/docs/openapi.json ./api-schema.json"
echo ""
exit 1
fi
# Show schema info
SCHEMA_SIZE=$(wc -c < api-schema.json | tr -d ' ')
echo "📄 OpenAPI Schema: api-schema.json (${SCHEMA_SIZE} bytes)"
echo ""
# Check if backend CHANGELOG exists and show recent changes
if [ -f "../backend/docs/CHANGELOG.md" ]; then
echo "📋 Recent Backend Changes:"
echo "────────────────────────────"
head -n 20 ../backend/docs/CHANGELOG.md | grep -v "^#" | grep -v "^$" || echo "No recent changes"
echo "────────────────────────────"
echo ""
fi
# Run build_runner to generate code
echo "🏗️ Running code generation..."
echo ""
flutter pub run build_runner build --delete-conflicting-outputs
if [ $? -eq 0 ]; then
echo ""
echo "✅ API client updated successfully!"
echo ""
echo "Next steps:"
echo " 1. Review generated types in lib/api/generated/"
echo " 2. Update endpoint extensions if needed"
echo " 3. Run tests: flutter test"
echo " 4. Commit changes: git add . && git commit -m 'chore: Update API client'"
echo ""
else
echo ""
echo "❌ Code generation failed"
echo ""
echo "Troubleshooting:"
echo " 1. Check api-schema.json is valid OpenAPI 3.x"
echo " 2. Run: flutter clean && flutter pub get"
echo " 3. Check build errors above"
echo ""
exit 1
fi