From 308aa6d94201ffb1ee867f51bf55232d74d31acd Mon Sep 17 00:00:00 2001 From: Nick Mastoris Date: Tue, 16 Jan 2024 12:27:08 +0200 Subject: [PATCH 1/2] add user if not exists, when ingesting a login --- app/ingester/loginsIngester.py | 12 +++++++++++- app/ingester/utilsIngester.py | 12 ++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/ingester/loginsIngester.py b/app/ingester/loginsIngester.py index 559aa7b..47251f5 100644 --- a/app/ingester/loginsIngester.py +++ b/app/ingester/loginsIngester.py @@ -197,7 +197,7 @@ def ingestLoginDataPerTenenv(cls, tenenv, session): hash {0} as he is at the blacklist""". format(login[0]['voPersonId'])) continue - if (not login[0]['failedLogin'] + if ((not login[0]['failedLogin'] or login[0]['failedLogin'] == 'false') and utilsIngester.validateTenenv(login[0]['tenenvId'], session) and 'voPersonId' in login[0] and utilsIngester.validateHashedUser(login[0]['voPersonId'], @@ -237,6 +237,16 @@ def ingestLoginDataPerTenenv(cls, tenenv, session): loginMappedItems += 1 else: cls.logger.warning("The record {0} was not imported due to validation errors".format(repr(login[0]))) + cls.logger.warning("validateTenenv:") + cls.logger.warning(utilsIngester.validateTenenv(login[0]['tenenvId'], session)) + cls.logger.warning("voPersonId in login[0]:") + cls.logger.warning('voPersonId' in login[0]) + cls.logger.warning("validateHashedUser:") + cls.logger.warning(utilsIngester.validateHashedUser(login[0]['voPersonId'], + login[0]['tenenvId'], + session)) + cls.logger.warning("validate if login is successful:") + cls.logger.warning(not login[0]['failedLogin'] or login[0]['failedLogin'] == 'false') cls.logger.info(""" {0} new logins ingested""".format(loginMappedItems)) diff --git a/app/ingester/utilsIngester.py b/app/ingester/utilsIngester.py index 9b27666..8d71273 100644 --- a/app/ingester/utilsIngester.py +++ b/app/ingester/utilsIngester.py @@ -58,6 +58,14 @@ def validateHashedUser(cls, hashedUser, tenenvId, session): ) ).one() except NoResultFound: - cls.logger.info("User {0} not found".format(hashedUser)) - return False + cls.logger.info("""User {0} not found, we are going to create it + with default values.""".format(hashedUser)) + now = date.today().strftime('%Y-%m-%d %H:%M:%S') + session.exec("""INSERT INTO users(hasheduserid, created, updated, + status, tenenv_id) + VALUES ('{0}','{1}','{1}', '{2}', {3}) + """. format( + hashedUser, now, 'A', + tenenvId)) + session.commit() return True From 81eb2c61fdc4c1e745b8f5c0c0035fd1ea948dba Mon Sep 17 00:00:00 2001 From: Nick Mastoris Date: Tue, 16 Jan 2024 12:32:01 +0200 Subject: [PATCH 2/2] change info to warning message --- app/ingester/utilsIngester.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ingester/utilsIngester.py b/app/ingester/utilsIngester.py index 8d71273..8f00dbb 100644 --- a/app/ingester/utilsIngester.py +++ b/app/ingester/utilsIngester.py @@ -58,7 +58,7 @@ def validateHashedUser(cls, hashedUser, tenenvId, session): ) ).one() except NoResultFound: - cls.logger.info("""User {0} not found, we are going to create it + cls.logger.warning("""User {0} not found, we are going to create it with default values.""".format(hashedUser)) now = date.today().strftime('%Y-%m-%d %H:%M:%S') session.exec("""INSERT INTO users(hasheduserid, created, updated,