mirror of
https://github.com/GSA/notifications-api.git
synced 2026-01-31 06:52:06 -05:00
Record and persist failed login count on api.
This commit is contained in:
@@ -62,3 +62,9 @@ def get_model_users(user_id=None):
|
||||
if user_id:
|
||||
return User.query.filter_by(id=user_id).one()
|
||||
return User.query.filter_by().all()
|
||||
|
||||
|
||||
def increment_failed_login_count(user):
|
||||
user.failed_login_count += 1
|
||||
db.session.add(user)
|
||||
db.session.commit()
|
||||
|
||||
@@ -5,7 +5,7 @@ from sqlalchemy.orm.exc import NoResultFound
|
||||
from app.dao.services_dao import get_model_services
|
||||
from app.dao.users_dao import (
|
||||
get_model_users, save_model_user, delete_model_user,
|
||||
create_user_code, get_user_code, use_user_code,
|
||||
create_user_code, get_user_code, use_user_code, increment_failed_login_count,
|
||||
create_secret_code)
|
||||
from app.schemas import (
|
||||
user_schema, users_schema, service_schema, services_schema,
|
||||
@@ -71,6 +71,7 @@ def verify_user_password(user_id):
|
||||
if user.check_password(txt_pwd):
|
||||
return jsonify(''), 204
|
||||
else:
|
||||
increment_failed_login_count(user)
|
||||
return jsonify(result='error', message={'password': ['Incorrect password']}), 400
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user