diff --git a/CHANGELOG.md b/CHANGELOG.md index 145b6dd..9123c4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ### Changelog +## 2023-01-12 +- Add IGTF demo instance at Metrics-Dev + +## 2023-12-14 +- Add EGI demo instance at Metrics-Dev ## 2023-11-23 diff --git a/app/ingester/loginsIngester.py b/app/ingester/loginsIngester.py index 559aa7b..a179ba2 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,17 @@ 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]) + if ('voPersonId' in login[0] and utilsIngester.validateTenenv(login[0]['tenenvId'], session)): + 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/usersIngester.py b/app/ingester/usersIngester.py index 20fcd44..542ba36 100644 --- a/app/ingester/usersIngester.py +++ b/app/ingester/usersIngester.py @@ -48,6 +48,9 @@ def ingestUserDataPerTenenv(cls, tenenv, session): cls.logger.error(""" user status '{0}' is not valid """.format(user[0]['status'])) continue + if ('voPersonId' not in user[0]): + cls.logger.warning("""voPersonId not found at record. Ignoring...""") + continue if (user[0]['voPersonId'] in hashed_user_ids): cls.logger.info("""Ignore this user with hash {0} as he is at the blacklist""". format(user[0]['voPersonId'])) diff --git a/app/ingester/utilsIngester.py b/app/ingester/utilsIngester.py index 9b27666..8f00dbb 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.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, + status, tenenv_id) + VALUES ('{0}','{1}','{1}', '{2}', {3}) + """. format( + hashedUser, now, 'A', + tenenvId)) + session.commit() return True