models + refactor

This commit is contained in:
xds
2026-03-17 16:46:32 +03:00
parent e011805186
commit 14f9e7b7e9
15 changed files with 979 additions and 83 deletions

View File

@@ -7,6 +7,7 @@ from pydantic import BaseModel
from repos.user_repo import UsersRepo, UserStatus
from api.dependency import get_dao
from repos.dao import DAO
from models.Settings import SystemSettings
from utils.security import verify_password, create_access_token, ACCESS_TOKEN_EXPIRE_MINUTES, ALGORITHM, SECRET_KEY
from jose import JWTError, jwt
from starlette.requests import Request
@@ -96,3 +97,21 @@ async def deny_user(
await repo.deny_user(username)
return {"message": f"User {username} denied"}
@router.get("/settings", response_model=SystemSettings)
async def get_settings(
admin: Annotated[dict, Depends(get_current_admin)],
dao: Annotated[DAO, Depends(get_dao)]
):
return await dao.settings.get_settings()
@router.post("/settings")
async def update_settings(
settings: SystemSettings,
admin: Annotated[dict, Depends(get_current_admin)],
dao: Annotated[DAO, Depends(get_dao)]
):
success = await dao.settings.update_settings(settings)
if not success:
raise HTTPException(status_code=500, detail="Failed to update settings")
return {"message": "Settings updated successfully"}