Prepare ERP source for Gitea deployment

This commit is contained in:
A R R R Associates
2026-06-20 15:01:44 +05:30
commit 5c75eb6bd9
450 changed files with 67698 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
from fastapi import FastAPI
from starlette.middleware.sessions import SessionMiddleware
from app.core.settings import get_settings
from app.core.middleware.context import ContextResolveMiddleware
from app.core.middleware.domain_resolver import DomainResolverMiddleware
from app.core.middleware.security_headers import SecurityHeadersMiddleware
from app.core.startup import on_startup
from app.core.api import api_router
from app.ui.app import mount_ui
def create_app() -> FastAPI:
s = get_settings()
app = FastAPI(title=s.APP_NAME, debug=s.DEBUG)
app.add_middleware(SecurityHeadersMiddleware)
app.add_middleware(ContextResolveMiddleware)
# Phase 7T.2: added after context so it resolves the request host before
# context-aware middleware/routes need tenant/branch/domain state.
app.add_middleware(DomainResolverMiddleware)
# SessionMiddleware is added last so it is available to downstream
# middleware/routes in Starlette's middleware execution order.
app.add_middleware(
SessionMiddleware,
secret_key=s.SECRET_KEY,
session_cookie=s.COOKIE_SESSION_NAME,
same_site=s.COOKIE_SAMESITE,
https_only=s.COOKIE_SECURE,
)
app.add_event_handler("startup", lambda: on_startup(app))
app.include_router(api_router, prefix="/api")
mount_ui(app)
return app
app = create_app()