Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from fastapi.middleware.cors import CORSMiddleware | |
from starlette.staticfiles import StaticFiles | |
from project.admin import AdminCustom, UserAdmin, AudioRecordsAdmin, ImageRecordsAdmin, FolderAdmin, ReportAdmin | |
from project.database import engine | |
from project.users.auth import fastapi_users, auth_backend, authentication_backend_admin | |
from project.users.schemas import UserRead, UserCreate | |
def create_app() -> FastAPI: | |
app = FastAPI() | |
from project.users import user_router | |
app.include_router(user_router, tags=['users']) | |
from project.bot import bot_router | |
app.include_router(bot_router, tags=['bot']) | |
from project.ws import ws_router | |
app.include_router(ws_router, tags=['ws']) | |
app.include_router( | |
fastapi_users.get_auth_router(auth_backend), | |
prefix="/auth/jwt", | |
tags=["auth"], | |
) | |
app.include_router( | |
fastapi_users.get_register_router(UserRead, UserCreate), | |
prefix='/auth', | |
tags=['auth'], | |
) | |
app.include_router( | |
fastapi_users.get_reset_password_router(), | |
prefix="/auth", | |
tags=["auth"], | |
) | |
app.mount('/static', StaticFiles(directory="static"), name="static") | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["http://127.0.0.1:8000", "http://localhost:8000", 'https://brestok-real-estate.hf.space/'], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
admin = AdminCustom(app, engine, authentication_backend=authentication_backend_admin) | |
admin.add_view(UserAdmin) | |
admin.add_view(AudioRecordsAdmin) | |
admin.add_view(ImageRecordsAdmin) | |
admin.add_view(FolderAdmin) | |
admin.add_view(ReportAdmin) | |
return app | |