Пример #1
0
def generate_recovery_codes_for_user(user, count=RECOVERY_CODE_COUNT):
    user.recovery_codes = [
        RecoveryCode(code=str(uuid.uuid4()).replace('-', ''))
        for _ in range(count)
    ]
    session.flush()
    return user
Пример #2
0
def generate_recovery_codes_for_user(user, count=RECOVERY_CODE_COUNT):
    user.recovery_codes = [
        RecoveryCode(code=str(uuid.uuid4()).replace('-', ''))
        for _ in range(count)
    ]
    session.flush()
    return user
Пример #3
0
def consume_recovery_code(user_id, recovery_code):
    code = session.query(RecoveryCode).filter(
        RecoveryCode.user_id == user_id, RecoveryCode.code == recovery_code,
        RecoveryCode.used.is_(False)).first()

    if not code:
        raise RecoveryCodeConsumptionError(
            'That recovery code has already been used, '
            'or doesn\'t exist for this user')

    code.used = True
    session.flush()
Пример #4
0
def consume_recovery_code(user_id, recovery_code):
    code = session.query(RecoveryCode).filter(
        RecoveryCode.user_id == user_id,
        RecoveryCode.code == recovery_code,
        RecoveryCode.used.is_(False)
    ).first()

    if not code:
        raise RecoveryCodeConsumptionError(
            'That recovery code has already been used, '
            'or doesn\'t exist for this user'
        )

    code.used = True
    session.flush()