mirror of
https://github.com/flibusta-apps/users_settings_server.git
synced 2025-12-06 14:45:38 +01:00
Refactor views
This commit is contained in:
6
src/app/views/__init__.py
Normal file
6
src/app/views/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from .healthcheck import healthcheck_router
|
||||
from .languages import languages_router
|
||||
from .users import users_router
|
||||
|
||||
|
||||
__all__ = ["healthcheck_router", "languages_router", "users_router"]
|
||||
9
src/app/views/healthcheck.py
Normal file
9
src/app/views/healthcheck.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from fastapi import APIRouter
|
||||
|
||||
|
||||
healthcheck_router = APIRouter(tags=["healthcheck"])
|
||||
|
||||
|
||||
@healthcheck_router.get("/healthcheck")
|
||||
async def healthcheck():
|
||||
return "Ok!"
|
||||
33
src/app/views/languages.py
Normal file
33
src/app/views/languages.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
|
||||
from app.depends import check_token
|
||||
from app.models import Language
|
||||
from app.serializers import (
|
||||
CreateLanguage,
|
||||
LanguageDetail,
|
||||
)
|
||||
|
||||
|
||||
languages_router = APIRouter(
|
||||
prefix="/languages", tags=["languages"], dependencies=[Depends(check_token)]
|
||||
)
|
||||
|
||||
|
||||
@languages_router.get("/", response_model=list[LanguageDetail])
|
||||
async def get_languages():
|
||||
return await Language.objects.all()
|
||||
|
||||
|
||||
@languages_router.get("/{code}", response_model=LanguageDetail)
|
||||
async def get_language(code: str):
|
||||
language = await Language.objects.get_or_none(code=code)
|
||||
|
||||
if language is None:
|
||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return language
|
||||
|
||||
|
||||
@languages_router.post("/", response_model=LanguageDetail)
|
||||
async def create_language(data: CreateLanguage):
|
||||
return await Language.objects.create(**data.dict())
|
||||
@@ -8,10 +8,8 @@ from fastapi_pagination.ext.ormar import paginate
|
||||
from redis import asyncio as aioredis
|
||||
|
||||
from app.depends import check_token
|
||||
from app.models import Language, User, UserActivity
|
||||
from app.models import User, UserActivity
|
||||
from app.serializers import (
|
||||
CreateLanguage,
|
||||
LanguageDetail,
|
||||
UserCreateOrUpdate,
|
||||
UserDetail,
|
||||
UserUpdate,
|
||||
@@ -70,36 +68,3 @@ async def update_activity(user_id: int) -> None:
|
||||
|
||||
activity.updated = datetime.now()
|
||||
await activity.update()
|
||||
|
||||
|
||||
languages_router = APIRouter(
|
||||
prefix="/languages", tags=["languages"], dependencies=[Depends(check_token)]
|
||||
)
|
||||
|
||||
|
||||
@languages_router.get("/", response_model=list[LanguageDetail])
|
||||
async def get_languages():
|
||||
return await Language.objects.all()
|
||||
|
||||
|
||||
@languages_router.get("/{code}", response_model=LanguageDetail)
|
||||
async def get_language(code: str):
|
||||
language = await Language.objects.get_or_none(code=code)
|
||||
|
||||
if language is None:
|
||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
return language
|
||||
|
||||
|
||||
@languages_router.post("/", response_model=LanguageDetail)
|
||||
async def create_language(data: CreateLanguage):
|
||||
return await Language.objects.create(**data.dict())
|
||||
|
||||
|
||||
healthcheck_router = APIRouter(tags=["healthcheck"])
|
||||
|
||||
|
||||
@healthcheck_router.get("/healthcheck")
|
||||
async def healthcheck():
|
||||
return "Ok!"
|
||||
Reference in New Issue
Block a user