コード例 #1
0
 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())
コード例 #2
0
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'
コード例 #3
0
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)}'
        ),
    ]
コード例 #4
0
 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())