def merge_projects()

in services/jobs/fetch_projects/transfer_controller.py [0:0]


    def merge_projects(projects: list[Project]) -> list[Project]:
        """
        Remove duplicates from the API response
        """
        name2projects = {}

        for project in projects:
            if project.project_id not in name2projects:
                name2projects[project.project_id] = project
            else:
                dataplex_api = (
                    project.dataplex_api_enabled
                    or name2projects[project.project_id].dataplex_api_enabled
                )
                datacatalog_api = (
                    project.data_catalog_api_enabled
                    or name2projects[
                        project.project_id
                    ].data_catalog_api_enabled
                )

                name2projects[project.project_id].set_dataplex_api_enabled(
                    dataplex_api
                )
                name2projects[project.project_id].set_data_catalog_api_enabled(
                    datacatalog_api
                )

        return list(name2projects.values())