def get_all_companies_breaches_details(self, company_names, logs_data):
        """Fetch breaches data for all companies and post it to Sentinel.

        Args:
            company_names (list): List of company names.
            logs_data (list): List of log data.
        """
        count_companies = 0
        fetching_index = self.get_last_data_index(
            company_names, self.checkpoint_obj, self.breach_company_state, table_name=consts.BREACHES_TABLE_NAME
        )
        for company_index in range(fetching_index + 1, len(logs_data)):
            company_name = logs_data[company_index].get("name_s")
            if int(time.time()) >= self.start_time + 540:
                applogger.info(
                    "{} {} 9:00 mins executed hence breaking. In next iteration, start fetching from {}.".format(
                        self.logs_starts_with,
                        consts.BREACHES_FUNC_NAME,
                        company_name,
                    )
                )
                break
            company_guid = logs_data[company_index].get("guid_g")
            self.get_breaches_data(company_name, company_guid)
            count_companies += 1
            self.checkpoint_obj.save_checkpoint(
                self.breach_company_state,
                company_name,
                "breaches",
                "{}_{}".format(consts.BREACHES_TABLE_NAME, "Company_Checkpoint"),
                company_name_flag=True,
            )
        applogger.info(
            "{} {} Posted {} companies data.".format(
                self.logs_starts_with, consts.BREACHES_FUNC_NAME, count_companies
            )
        )
Fetch breaches data for all companies and post it to Sentinel.

        Args:
            company_names (list): List of company names.
            logs_data (list): List of log data.
        
Solutions/BitSight/Data Connectors/BitSightDataConnector/BreachesDetails/bitsight_breaches.py