import { TestResult as AccessControlTestResult } from '../all-owasp-scan-module/broken-access-control/interface/access-control.interface';
import { EnhancedCryptoTestResult } from '../all-owasp-scan-module/crypto-failure-test/interfaces/crypto-test-result.interface';

export interface FormattedAccessControlResult {
  url: string;
  summary: {
    totalTests: number;
    vulnerabilitiesFound: number;
    secureEndpoints: number;
    criticalIssues: number;
    highIssues: number;
    mediumIssues: number;
    lowIssues: number;
  };
  vulnerabilities: {
    critical: AccessControlTestResult[];
    high: AccessControlTestResult[];
    medium: AccessControlTestResult[];
    low: AccessControlTestResult[];
  };
  secure: AccessControlTestResult[];
}

export interface CombinedOwaspResults {
  url: string;
  scanDate: string;
  summary: {
    totalVulnerabilities: number;
    critical: number;
    high: number;
    medium: number;
    low: number;
  };
  results: {
    brokenAccessControl: FormattedAccessControlResult;
    cryptographicFailures: EnhancedCryptoTestResult;
  };
}