in ees_microsoft_teams/microsoft_teams_channels.py [0:0]
def get_all_teams(self, ids_list):
""" Fetches all the teams from Microsoft Teams
:param ids_list: Shared storage for storing the document ids
Returns:
teams_details: List of dictionaries containing the team details
"""
self.logger.info("Fetching teams from Microsoft Teams...")
documents = []
response = self.client.get_teams(next_url=f"{constant.GRAPH_BASE_URL}/groups")
if not response:
return []
team_schema = get_schema_fields("teams", self.object_type_to_index)
for team in response:
team_data = {"type": constant.TEAMS}
# Logic to append teams for deletion
self.local_storage.insert_document_into_doc_id_storage(
ids_list=ids_list, id=team["id"], type=constant.TEAMS
)
for workplace_search_field, microsoft_teams_field in team_schema.items():
team_data[workplace_search_field] = team[microsoft_teams_field]
team_data["_allow_permissions"] = []
if self.is_permission_sync_enabled:
team_data["_allow_permissions"] = [team["id"]]
documents.append(team_data)
return documents