def create_findings_summary_data(
        self,
        findings_summary_data,
        vulnerabilities_response,
        company_name,
        company_guid,
    ):
        """Create findings summary data and post it to Sentinel.

        Args:
            findings_summary_data (dict): Findings summary data.
            vulnerabilities_response (list): Vulnerabilities response data.
            company_name (str): Name of the company.
            company_guid (str): GUID of the company.
        """
        last_data = self.checkpoint_obj.get_last_data(
            self.findings_summary_details_state, table_name=consts.FINDINGS_SUMMARY_TABLE_NAME
        )
        last_checkpoint_company = self.checkpoint_obj.get_endpoint_last_data(
            last_data, "findings_summary", company_guid
        )
        last_checkpoint_company = (
            last_checkpoint_company if last_checkpoint_company else []
        )
        findings_summary_endpoint = consts.ENDPOINTS[
            "findings_summary_endpoint_path"
        ].format(company_guid)
        checkpoint_key = "{}".format(company_guid)
        end_date = findings_summary_data.get("end_date")
        start_date = findings_summary_data.get("start_date")
        stats = findings_summary_data.get("stats", [])

        for stat in stats:
            for vulnerability in vulnerabilities_response:
                if stat.get("name") == vulnerability.get("display_name"):
                    stat["description"] = vulnerability.get("description")
                    stat["severity"] = vulnerability.get("severity")
                    stat["end_date"] = end_date
                    stat["start_date"] = start_date
                    stat["Company"] = company_name

                    body = json.dumps(stat, sort_keys=True)
                    data_hash = hashlib.sha512(body.encode())
                    result_hash = data_hash.hexdigest()
                    if (
                        last_checkpoint_company
                        and result_hash not in last_checkpoint_company
                    ) or not last_checkpoint_company:
                        last_checkpoint_company.append(result_hash)
                        self.send_data_to_sentinel(
                            stat,
                            consts.FINDINGS_SUMMARY_TABLE_NAME,
                            company_name,
                            findings_summary_endpoint,
                        )

        self.checkpoint_obj.save_checkpoint(
            self.findings_summary_details_state,
            last_data,
            "findings_summary",
            "{}_{}".format(consts.FINDINGS_SUMMARY_TABLE_NAME, "Checkpoint"),
            checkpoint_key,
            last_checkpoint_company,
        )
Create findings summary data and post it to Sentinel.

        Args:
            findings_summary_data (dict): Findings summary data.
            vulnerabilities_response (list): Vulnerabilities response data.
            company_name (str): Name of the company.
            company_guid (str): GUID of the company.
        
Solutions/BitSight/Data Connectors/BitSightDataConnector/FindingsSummaryDetails/bitsight_findings_summary.py