Add base for members
This commit is contained in:
@@ -19,6 +19,7 @@ from app.models.apikey import (
|
||||
ApiKeysPublic,
|
||||
)
|
||||
from app.models.base import ApiTags, Message, RowId
|
||||
from app.models.member import MemberPublic, MemberUpdate, Member
|
||||
from app.models.user import (
|
||||
PermissionModule,
|
||||
PermissionPart,
|
||||
@@ -195,6 +196,37 @@ def read_user_me(current_user: CurrentUser) -> Any:
|
||||
return current_user
|
||||
|
||||
|
||||
@router.get("/me/member", response_model=MemberPublic, tags=[ApiTags.MEMBERS])
|
||||
def read_user_me_member(current_user: CurrentUser) -> Any:
|
||||
"""
|
||||
Get current user member.
|
||||
"""
|
||||
return current_user.member
|
||||
|
||||
|
||||
@router.put("/me/member", response_model=MemberPublic, tags=[ApiTags.MEMBERS])
|
||||
def update_user_me_member(
|
||||
*, session: SessionDep, current_user: CurrentUser, member_in: MemberUpdate
|
||||
) -> Any:
|
||||
"""
|
||||
Get current user member.
|
||||
"""
|
||||
member = session.get(Member, current_user.member_id)
|
||||
data_obj = member_in.model_dump(exclude_unset=True)
|
||||
|
||||
if not member:
|
||||
member = Member.model_validate(data_obj)
|
||||
current_user.member_id = member.id
|
||||
session.add(current_user)
|
||||
else:
|
||||
member.sqlmodel_update(data_obj)
|
||||
session.add(member)
|
||||
session.commit()
|
||||
session.refresh(member)
|
||||
|
||||
return member
|
||||
|
||||
|
||||
@router.delete("/me", response_model=Message)
|
||||
def delete_user_me(session: SessionDep, current_user: CurrentUser) -> Any:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user