pkheria's picture
fixed
537c898
Raw
History Blame Contribute Delete
1.65 kB
"""
LegalSimplifier – unified FastAPI launcher
Compatible with the HACK2SKILL contract-spec PDF
"""
import os
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from dotenv import load_dotenv
# load env first
load_dotenv()
# import routers
from app.api.v1 import (
upload,
result,
clause,
insert_ghost,
negotiate,
chat,
timeline,
export,
videogen
)
def create_app() -> FastAPI:
app = FastAPI(
title="LegalSimplifier API",
description="Back-end for HACK2SKILL contract analyser",
version="1.0.0",
)
# CORS – adjust origins in production
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# register sub-routers
app.include_router(upload.router, prefix="/api/v1")
app.include_router(result.router, prefix="/api/v1")
app.include_router(clause.router, prefix="/api/v1")
app.include_router(insert_ghost.router, prefix="/api/v1")
app.include_router(negotiate.router, prefix="/api/v1")
app.include_router(chat.router, prefix="/api/v1")
app.include_router(videogen.router, prefix="/api/v1")
# app.include_router(timeline.router, prefix="/api/v1")
# app.include_router(export.router, prefix="/api/v1")
@app.get("/health")
def health():
return {"status": "ok"}
return app
app = create_app()
if __name__ == "__main__":
uvicorn.run(
"main:app",
host="0.0.0.0",
port=int(os.getenv("PORT", 8000)),
reload=True,
)