models + refactor
This commit is contained in:
@@ -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"}
|
||||
|
||||
Reference in New Issue
Block a user