export const overviewKpis = [
  { label: "VRPs", value: "948,216", delta: "+12,834  (1.35%)", tone: "blue" },
  { label: "ASPAs", value: "4,812", delta: "+61  (2.95%)", tone: "cyan" },
  { label: "Repositories", value: "1,265", delta: "+8  (0.64%)", tone: "blue" },
  { label: "Publication Points", value: "92,438", delta: "+842  (1.63%)", tone: "purple" },
  { label: "Rejected Objects", value: "1,274", delta: "-31  (2.38%)", tone: "red" },
  { label: "Warnings", value: "3,219", delta: "+116  (3.75%)", tone: "amber" }
];

export const validationSlices = [
  { label: "Valid", value: 87, color: "#2563eb" },
  { label: "Warnings", value: 9, color: "#f59e0b" },
  { label: "Rejected", value: 4, color: "#ef4444" }
];

export const objectTypeRows = [
  { type: "ROA", count: "741,092", percent: 64 },
  { type: "CER / RC", count: "118,437", percent: 18 },
  { type: "MFT", count: "54,221", percent: 10 },
  { type: "CRL", count: "31,804", percent: 6 },
  { type: "ASPA", count: "4,812", percent: 2 }
];

export const topRepositories = [
  {
    host: "rpki.apnic.net",
    transport: "RRDP",
    duration: "12.8s",
    objects: "228,192",
    status: "healthy"
  },
  {
    host: "rrdp.arin.net",
    transport: "RRDP",
    duration: "18.4s",
    objects: "214,776",
    status: "healthy"
  },
  {
    host: "rpki.ripe.net",
    transport: "RRDP",
    duration: "22.1s",
    objects: "308,427",
    status: "warning"
  },
  {
    host: "rpki-repo.registro.br",
    transport: "RSYNC",
    duration: "9.7s",
    objects: "19,031",
    status: "fallback"
  }
];

export const validationIssues = [
  {
    severity: "high",
    type: "MFT",
    reason: "Manifest rejected by CRL validation",
    uri: "rsync://rpki-repo.registro.br/repo/9mbS.../3kM7.mft",
    repo: "rpki-repo.registro.br"
  },
  {
    severity: "medium",
    type: "ROA",
    reason: "EE certificate expired",
    uri: "rsync://rpki.example.net/repository/AS64496.roa",
    repo: "rpki.example.net"
  },
  {
    severity: "low",
    type: "CRL",
    reason: "Next update is close",
    uri: "rsync://rpki.apnic.net/member_repository/example.crl",
    repo: "rpki.apnic.net"
  }
];

export const objectDetail = {
  id: "obj_7d4b_00042",
  type: "ROA",
  result: "valid",
  uri: "rsync://rpki.apnic.net/member_repository/A91ED7F4/AS64500-203.0.113.0-24.roa",
  sha256: "7d4b9a0c7f8832d5f6a9807f4371b61cf3131b6fe0fd1a89c9e4eeb7e33b8872",
  source: "fresh validated",
  repo: "rpki.apnic.net",
  pp: "rsync://rpki.apnic.net/member_repository/A91ED7F4/",
  parsed: {
    asn: "AS64500",
    prefixes: ["203.0.113.0/24 maxLength 24", "2001:db8:1200::/48 maxLength 48"],
    eeSubject: "CN=AS64500 ROA EE",
    validity: "2026-06-15T00:00:00Z → 2026-06-22T00:00:00Z"
  },
  chain: [
    { label: "APNIC TAL", state: "trust anchor" },
    { label: "APNIC Root CA", state: "valid CA" },
    { label: "Member CA A91ED7F4", state: "valid CA" },
    { label: "Manifest", state: "current" },
    { label: "ROA object", state: "valid" }
  ],
  manifestFiles: [
    { name: "AS64500-203.0.113.0-24.roa", hash: "7d4b9a0c…8872", state: "matched" },
    { name: "A91ED7F4.crl", hash: "91ee1db2…af09", state: "current" },
    { name: "A91ED7F4.cer", hash: "3acaa8f0…21aa", state: "valid" }
  ],
  validation: [
    { label: "CMS signature", status: "passed", note: "Signed attributes and EE chain are valid." },
    { label: "Resource containment", status: "passed", note: "ROA prefixes are covered by parent resources." },
    { label: "Manifest membership", status: "passed", note: "Object hash matches the current manifest entry." },
    { label: "Revocation", status: "passed", note: "EE certificate is not listed in current CRL." }
  ]
};
