49 lines
2.1 KiB
Python
49 lines
2.1 KiB
Python
from fastapi import FastAPI
|
|
from starlette.middleware.cors import CORSMiddleware
|
|
|
|
from app.controllers.auth_router import auth_router
|
|
from app.controllers.courses_router import courses_router
|
|
from app.controllers.lessons_router import lessons_router
|
|
from app.controllers.register_router import register_router
|
|
from app.controllers.roles_router import roles_router
|
|
from app.controllers.solution_comments_router import solution_comments_router
|
|
from app.controllers.solutions_router import solution_router
|
|
from app.controllers.statuses_router import statuses_router
|
|
from app.controllers.tasks_router import tasks_router
|
|
from app.controllers.users_router import users_router
|
|
from app.settings import Settings
|
|
|
|
|
|
def start_app():
|
|
api_app = FastAPI()
|
|
settings = Settings()
|
|
|
|
api_app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=['https://api.lectio.numerum.team', 'https://lectio.numerum.team', 'http://localhost:5173', 'http://localhost:3000', 'http://localhost:8000'],
|
|
allow_credentials=True,
|
|
allow_methods=['*'],
|
|
allow_headers=['*'],
|
|
)
|
|
|
|
api_app.include_router(auth_router, prefix=f'{settings.prefix}/auth', tags=['auth'])
|
|
api_app.include_router(courses_router, prefix=f'{settings.prefix}/courses', tags=['courses'])
|
|
api_app.include_router(lessons_router, prefix=f'{settings.prefix}/lessons', tags=['lessons'])
|
|
api_app.include_router(register_router, prefix=f'{settings.prefix}/register', tags=['register'])
|
|
api_app.include_router(roles_router, prefix=f'{settings.prefix}/roles', tags=['roles'])
|
|
api_app.include_router(solution_comments_router, prefix=f'{settings.prefix}/comments', tags=['comments'])
|
|
api_app.include_router(solution_router, prefix=f'{settings.prefix}/solutions', tags=['solutions'])
|
|
api_app.include_router(statuses_router, prefix=f'{settings.prefix}/statuses', tags=['statuses'])
|
|
api_app.include_router(tasks_router, prefix=f'{settings.prefix}/tasks', tags=['tasks'])
|
|
api_app.include_router(users_router, prefix=f'{settings.prefix}/users', tags=['users'])
|
|
|
|
return api_app
|
|
|
|
|
|
app = start_app()
|
|
|
|
|
|
@app.get('/', tags=['root'])
|
|
async def root():
|
|
return {'message': 'Hello :з'}
|