def get_folder_documents()

in ees_microsoft_teams/microsoft_teams_channels.py [0:0]


    def get_folder_documents(
            self, team_id, drive_id, document_id, schema, documents, ids_list, parent_file_id, start_time,
            end_time, team_name):
        """ Fetches the files from the folder recursively
            :param team_id: Team id
            :param drive_id: Drive id
            :param document_id: Folder id
            :param schema: Schema for workplace fields and Microsoft Teams fields
            :param documents: Document id storage
            :param ids_list: Shared storage for storing the document ids
            :param parent_file_id: Parent document id of current file/folder
            :param start_time: Starting time for fetching data
            :param end_time: Ending time for fetching data
            :param team_name: Team name for log message
            Returns:
                documents: list of documents containing the channel documents details
        """
        folder_files_url = f"{constant.GRAPH_BASE_URL}/groups/{team_id}/drives/{drive_id}/items/{document_id}/children"
        folder_files_response = self.client.get_channel_documents(
            next_url=folder_files_url, start_time=start_time, end_time=end_time,
            object_type=constant.CHANNEL_DOCUMENTS, team_name=team_name)

        if not folder_files_response:
            return documents

        for document in folder_files_response:
            # Logic to append recursive files/folders for deletion
            self.local_storage.insert_document_into_doc_id_storage(
                ids_list, document["id"], constant.CHANNEL_DOCUMENTS, document_id, parent_file_id)
            document_data = {"type": constant.CHANNEL_DOCUMENTS}

            if document.get("folder") and type(document.get("folder")) != float:
                self.get_folder_documents(
                    team_id, drive_id, document["id"],
                    schema, documents, ids_list, document_id, start_time, end_time, team_name)

            for workplace_search_field, microsoft_teams_filed in schema.items():
                document_data[workplace_search_field] = document[microsoft_teams_filed]

            document_data["_allow_permissions"] = []
            if self.is_permission_sync_enabled:
                document_data["_allow_permissions"] = [team_id]

            document_data["body"] = self.get_attachment_content(document)
            documents.append(document_data)
        return documents