33 lines
924 B
Python
33 lines
924 B
Python
from collections.abc import Mapping
|
|
from typing import Optional
|
|
|
|
from app.dao.parent import ParentDAO
|
|
from app.service import get_db_session
|
|
|
|
|
|
class ParentService:
|
|
def __init__(self, db):
|
|
self.dao = ParentDAO(db)
|
|
|
|
def create(
|
|
self,
|
|
openid: str,
|
|
unionid: Optional[str] = None,
|
|
nickname: Optional[str] = None,
|
|
avatar_url: Optional[str] = None,
|
|
) -> Mapping:
|
|
user_id = self.dao.upsert(openid, unionid, nickname, avatar_url)
|
|
return self.dao.get_by_id(user_id)
|
|
|
|
def get(self, user_id: int) -> Optional[Mapping]:
|
|
return self.dao.get_by_id(user_id)
|
|
|
|
def update(
|
|
self,
|
|
user_id: int,
|
|
nickname: Optional[str] = None,
|
|
avatar_url: Optional[str] = None,
|
|
phone: Optional[str] = None,
|
|
) -> Mapping:
|
|
self.dao.update(user_id, nickname, avatar_url, phone)
|
|
return self.dao.get_by_id(user_id) |