Prepare ERP source for Gitea deployment
This commit is contained in:
+40
@@ -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()
|
||||
Reference in New Issue
Block a user