async def mutate(self, info, user_password_input: UserPasswordInput): repository = UserRepository(info.context.get("client_motor")) user = await repository.check_user(login=user_password_input.login, password=user_password_input.password) if not user: raise Exception("Ошибка при авторизации пользователя.") token = Token(repository_user=repository, login=user.meta_info.login) return SignIn(token=token.encode())
def notify(): data = request.get_json(force=True) user = User.find_by_token(Token.encode(data['token'])) if user: line_bot_api.push_message(user.user_id, TextSendMessage(data['message'])) return 'OK'
def get_welcome_message(user_id): user = User.find(user_id) if not user: while True: # 產生 token token = Token.generate() # 沒有重複就使用 if not User.find_by_token(Token.encode(token)): break user = User(user_id=user_id, token=Token.encode(token)) db.session.add(user) db.session.commit() return [ TextSendMessage('Hi, I am Missue Tracker\'s LINE bot.'), TextSendMessage( f'To make you able to receive notifications, please fill the following token into your profile page: {Token.decode(user.token)}' ), ]
async def mutate(self, info): user: User = info.context.get("current_user") repository = UserRepository(info.context.get("client_motor")) token = Token(repository_user=repository, login=user.meta_info.login) return Refresh(token=token.encode())