#!/bin/bash # Model generation script for MPR # Generates Django, Pydantic, TypeScript, and Protobuf from schema/models set -e cd "$(dirname "$0")/.." echo "Generating models from schema/models..." # Django ORM models python -m modelgen from-schema \ --schema schema/models \ --output mpr/media_assets/models.py \ --targets django # Pydantic schemas for FastAPI python -m modelgen from-schema \ --schema schema/models \ --output api/schemas/models.py \ --targets pydantic # TypeScript types for Timeline UI python -m modelgen from-schema \ --schema schema/models \ --output ui/timeline/src/types.ts \ --targets typescript # Protobuf for gRPC python -m modelgen from-schema \ --schema schema/models \ --output mpr/grpc/protos/worker.proto \ --targets proto # Generate gRPC stubs from proto echo "Generating gRPC stubs..." python -m grpc_tools.protoc \ -I mpr/grpc/protos \ --python_out=mpr/grpc \ --grpc_python_out=mpr/grpc \ mpr/grpc/protos/worker.proto # Fix relative import in generated grpc stub sed -i 's/^import worker_pb2/from . import worker_pb2/' mpr/grpc/worker_pb2_grpc.py echo "Done!"