Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
fix: TT-335 patch to make Astrid user admin
  • Loading branch information
bytesantiago committed Oct 1, 2021
commit 6d68515abd113e7d8ad2fbab9e1a935a476cacc3
19 changes: 15 additions & 4 deletions utils/azure_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ class MSConfig:
'MS_SECRET',
'MS_SCOPE',
'MS_ENDPOINT',
'USER-ID',
]

check_variables_are_defined(ms_variables)
Expand All @@ -22,6 +23,7 @@ class MSConfig:
SECRET = os.environ.get('MS_SECRET')
SCOPE = os.environ.get('MS_SCOPE')
ENDPOINT = os.environ.get('MS_ENDPOINT')
USERID =os.environ.get('USER-ID')


class BearerAuth(requests.auth.AuthBase):
Expand Down Expand Up @@ -96,13 +98,14 @@ def users(self) -> List[AzureUser]:
role_fields_params = ','.join(
[field_name for field_name, _ in ROLE_FIELD_VALUES.values()]
)
endpoint = "{endpoint}/users?api-version=1.6&$select=displayName,otherMails,objectId,{role_fields_params}".format(
endpoint = "{endpoint}/users?api-version=1.6&$select=displayName,otherMails,mail,objectId,{role_fields_params}".format(
endpoint=self.config.ENDPOINT,
role_fields_params=role_fields_params,
)

exists_users = True
users = []
valid_users = []
skip_token_attribute = '&$skiptoken='

while exists_users:
Expand All @@ -124,8 +127,14 @@ def users(self) -> List[AzureUser]:
skip_token_attribute
)[1]
endpoint = endpoint + skip_token_attribute + request_token

return [self.to_azure_user(user) for user in users]

for i in range(len(users)):
if users[i]['mail'] is not None:
pass
else:
valid_users.append(users[i])

return [self.to_azure_user(user) for user in valid_users]

def to_azure_user(self, item) -> AzureUser:
there_is_email = len(item['otherMails']) > 0
Expand Down Expand Up @@ -255,7 +264,9 @@ def get_groups_and_users(self):
item['displayName'],
[member['objectId'] for member in item['members']],
)
result = list(map(parse_item, response.json()['value']))
result = list(map(parse_item, response.json()['value']))
result[0][1].append(self.config.USERID)

return result

def is_user_in_group(self, user_id, data: dict):
Expand Down