async def update_me_(user_data: UserUpdateSerializer, user: UserDB = Depends(get_user), session: Session = Depends(get_session)): user.sex = user_data.sex user.phone = user_data.phone user.address = user_data.address user.nation = user_data.nation user.birthday = user_data.birthday session.add(user) session.commit() return success_response(to_UserDetailSerializer(user))
async def read_op_user_(op_user_id: int, manager: UserDB = Depends(get_user), session: Session = Depends(get_session)): op_user = get_user_by_id(session, op_user_id) if op_user is None: return error_response(NotFound("没找到该用户~")) if not has_permission_manage_user(manager, op_user): return error_response(PermissionError()) return success_response(to_UserDetailSerializer(op_user))
async def login_(login_data: LoginSerializer, session: Session = Depends(get_session)): logger.info(f"phone number: {login_data.phone} login") user = get_user_by_phone_number(session=session, phone_number=login_data.phone) logger.info(f'get user: {user}') if user is None or not user.is_right_password(login_data.password): return error_response(WrongPassword()) data = to_UserDetailSerializer(user) user_token = encode_token(user.id).decode() data['user_token'] = user_token response = success_response(data) response.set_cookie('user-token', user_token) return response
async def update_op_user_(op_user_id: int, user_data: ManagerUpdateUserSerializer, manager: UserDB = Depends(get_user), session: Session = Depends(get_session)): op_user = get_user_by_id(session, op_user_id) if not has_permission_manage_user(manager, op_user): return error_response(PermissionError()) op_user.sex = user_data.sex op_user.phone = user_data.phone op_user.address = user_data.address op_user.nation = user_data.nation op_user.birthday = user_data.birthday op_user.name = user_data.name session.commit() return success_response(to_UserDetailSerializer(op_user))
async def read_self_(user: UserDB = Depends(get_user), session: Session = Depends(get_session)): return success_response(to_UserDetailSerializer(user))
async def register(user_data: CreateUser, session: Session = Depends(get_session)): user = add_user(session, user_data) session.commit() return success_response(to_UserDetailSerializer(user))
async def manager_create_user(user_data: ManagerCreateUser, manager: UserDB = Depends(get_user), session: Session = Depends(get_session)): user = add_user(session, user_data) session.commit() return success_response(to_UserDetailSerializer(user))