Example #1
0
def get_pin_data(id: int, update_pin_counter: int = 2,
                 update_pin_matches: int = 2) -> "pin_code, pin_counter, pin_matches":
    """
    :param id: user telegram id
    :param update_pin_counter: 2 - without update; 1 - increment pin counter; 0 - nullify pin counter
    :param update_pin_matches: 2 - without update; 1 - increment pin matches; 0 - nullify pin matches
    :return: pin code, pin counter and pin matches
    """
    user = db.query(User).filter_by(user_id=id).first()

    if update_pin_counter < 2:
        # increment or nullify pin counter
        user.pin_counter = (user.pin_counter + 1 if update_pin_counter else 0)
        db.commit()

    if update_pin_matches < 2:
        # increment or nullify pin matches
        user.pin_matches = (user.pin_matches + 1 if update_pin_matches else 0)
        db.commit()

    return user.pin_code, user.pin_counter, user.pin_matches
Example #2
0
def get_last_session(id: int):
    return db.query(BotSession).filter_by(user_id=id).order_by(
        desc(BotSession.start_session)).first()
Example #3
0
def get_user(id: int):
    return db.query(User).filter_by(user_id=id).first()