def identify(self, request): """ 用户鉴权 :return: list """ auth_header = request.headers.get('Authorization') if (auth_header): auth_tokenArr = auth_header.split(" ") if (not auth_tokenArr or auth_tokenArr[0] != 'JWT' or len(auth_tokenArr) != 2): result = common.falseReturn('', '请传递正确的验证头信息') else: auth_token = auth_tokenArr[1] payload = self.decode_auth_token(auth_token) if not isinstance(payload, str): user = Users.get(Users, payload['data']['id']) if (user is None): result = common.falseReturn('', '找不到该用户信息') else: if (user.login_time == payload['data']['login_time']): result = common.trueReturn(user.id, '请求成功') else: result = common.falseReturn('', 'Token已更改,请重新登录获取') else: result = common.falseReturn('', payload) else: result = common.falseReturn('', '没有提供认证token') return result
def add(): email = request.form.get('email') username = request.form.get('username') password = request.form.get('password') # 最后一条记录及其ID lastUserRecord = Users.query.order_by('-id').first() if (lastUserRecord is None): newRecordId = 1 else: newRecordId = lastUserRecord.id + 1 user = Users(id=newRecordId, email=email, username=username, password=password) Users.add(Users, user) userInfo = Users.get(Users, user.id) if userInfo: returnUser = { 'id': userInfo.id, 'username': userInfo.username, 'email': userInfo.email, 'login_time': userInfo.login_time } return jsonify(common.trueReturn(returnUser, "用户注册成功")) else: return jsonify(common.falseReturn('', '用户注册失败'))
def currentUser(): result = Auth.identify(Auth, request) if (result['status'] and result['data']): user = Users.get(Users, result['data']) returnUser = { 'id': user.id, 'username': user.username, 'login_time': user.login_time } return [True, returnUser] return [False, result]
def select_single(username): '''Selects a single user from the database Args: username (str): The user's username Return: User: The selected user False: if unsuccessful ''' if check_empty_str(username): try: user = Users.get(Users.username == username) return user except Exception as e: print(e) return False
def get(id): """ 获取用户信息 :return: json """ user = Users.get(Users, id) if not user: result = common.falseReturn('', '找不到用户') else: returnUser = { 'id': user.id, 'username': user.username, 'email': user.email, 'login_time': user.login_time } result = common.trueReturn(returnUser, "请求成功") return jsonify(result)
def update(id): """ 修改用户信息 :return: json """ # 获取请求的数据 username = request.form.get('username') password = request.form.get('password') email = request.form.get('email') user = Users.get(Users, id) if (user is None): result = common.falseReturn('', '找不到要修改的记录') else: user.username = username user.password = password user.email = email Users.update(Users) result = common.trueReturn({'id': user.id, 'username': user.username, 'password': user.password, 'email': user.email, 'login_time': user.login_time}, '请求成功') return jsonify(result)
async def update_user(user_id: int, user: UserUpdate): try: await Users.filter(id=user_id).update(**user.dict(exclude_none=True)) return await User_Pydantic.from_queryset_single(Users.get(id=user_id)) except DoesNotExist: raise HTTPException(status_code=404, detail='User not found.')
async def get_user(user_id: int): try: return await User_Pydantic.from_queryset_single(Users.get(id=user_id)) except DoesNotExist: raise HTTPException(status_code=404, detail='User not found.')
async def update_user(user_id: int, user: UserIn_Pydantic): await Users.filter(id=user_id).update(**user.dict(exclude_unset=True)) return await User_Pydantic.from_queryset_single(Users.get(id=user_id))
async def get_user(user_id: int): return await User_Pydantic.from_queryset_single(Users.get(id=user_id))
def user(): user_id = int(web.cookies(user_id=0).get('user_id')) return Users.get(user_id)
def dataUsers(): return jsonify(tablaUsers.get().serialize())