This commit is contained in:
jxxghp
2024-07-09 08:25:22 +08:00
parent 47b276795f
commit 3d2b645bfc
3 changed files with 21 additions and 4 deletions

View File

@@ -17,7 +17,7 @@ router = APIRouter()
@router.get("/", summary="所有用户", response_model=List[schemas.User])
def read_users(
def list_users(
db: Session = Depends(get_db),
current_user: User = Depends(get_current_active_superuser),
) -> Any:

View File

@@ -2,7 +2,7 @@ import json
from typing import Any, Self, List
from typing import Tuple, Optional, Generator
from sqlalchemy import create_engine, QueuePool
from sqlalchemy import create_engine, QueuePool, and_
from sqlalchemy import inspect
from sqlalchemy.orm import declared_attr
from sqlalchemy.orm import sessionmaker, Session, scoped_session, as_declarative
@@ -167,7 +167,7 @@ class Base:
@classmethod
@db_update
def delete(cls, db: Session, rid):
db.query(cls).filter(cls.id == rid).delete()
db.query(cls).filter(and_(cls.id == rid)).delete()
@classmethod
@db_update

View File

@@ -1,6 +1,7 @@
import json
from typing import Optional
from pydantic import BaseModel
from pydantic import BaseModel, validator
# Shared properties
@@ -17,6 +18,22 @@ class UserBase(BaseModel):
avatar: Optional[str] = None
# 是否开启二次验证
is_otp: Optional[bool] = False
# 权限
permissions: Optional[dict] = {}
# 个性化设置
settings: Optional[dict] = {}
@validator('permissions', 'settings', pre=True)
def parse_json_fields(cls, value):
if value:
try:
return json.loads(value)
except json.JSONDecodeError:
raise ValueError(f"Invalid JSON string: {value}")
return {}
class Config:
orm_mode = True
# Properties to receive via API on creation