SQL更新ロジック変更・失敗判定変更
This commit is contained in:
parent
ac5cfc4d0f
commit
cfdac2b9f4
@ -2,6 +2,7 @@ from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from src.model.db.base_db_model import BaseDBModel
|
||||
from src.system_var import constants
|
||||
|
||||
class UserMasterModel(BaseDBModel):
|
||||
user_id: Optional[str]
|
||||
@ -34,4 +35,7 @@ class UserMasterModel(BaseDBModel):
|
||||
return self.mntuser_flg == '1'
|
||||
|
||||
def is_groupware_user(self):
|
||||
return self.mntuser_flg == '0' or self.mntuser_flg is None
|
||||
return self.mntuser_flg == '0' or self.mntuser_flg is None
|
||||
|
||||
def is_login_failed_limit_exceeded(self):
|
||||
return self.mntuser_login_failed_cnt >= constants.LOGIN_FAIL_LIMIT
|
||||
@ -35,8 +35,14 @@ class UserMasterRepository(BaseRepository):
|
||||
SET
|
||||
mntuser_login_failed_cnt =
|
||||
CASE
|
||||
WHEN DATE(mntuser_last_login_failed_datetime) = CURRENT_DATE() THEN mntuser_login_failed_cnt + 1
|
||||
ELSE 1
|
||||
WHEN
|
||||
DATE(mntuser_last_login_failed_datetime) = CURRENT_DATE()
|
||||
OR
|
||||
mntuser_login_failed_cnt >= 10
|
||||
THEN
|
||||
mntuser_login_failed_cnt + 1
|
||||
ELSE
|
||||
1
|
||||
END,
|
||||
mntuser_last_login_failed_datetime = CURRENT_TIMESTAMP()
|
||||
WHERE
|
||||
|
||||
@ -59,7 +59,7 @@ class LoginService(BaseService):
|
||||
user_record: UserMasterModel = self.user_repository.fetch_one({'user_id': user_id})
|
||||
if user_record is None:
|
||||
return False
|
||||
return user_record.mntuser_login_failed_cnt >= constants.LOGIN_FAIL_LIMIT
|
||||
return user_record.is_login_failed_limit_exceeded()
|
||||
|
||||
def __secret_hash(self, username: str):
|
||||
# see - https://aws.amazon.com/jp/premiumsupport/knowledge-center/cognito-unable-to-verify-secret-hash/ # noqa
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user