Extract each page into colocated _components/ sections to bring page.tsx files from 1008/891/769 LOC down to 57/23/21 LOC, well within the 500-line hard cap. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
79 lines
2.7 KiB
TypeScript
79 lines
2.7 KiB
TypeScript
'use client'
|
|
|
|
import { ApiEndpoint, CodeBlock } from '@/components/DevPortalLayout'
|
|
|
|
export function EvidenceVerificationSection() {
|
|
return (
|
|
<>
|
|
<h2>Evidence</h2>
|
|
<p>Evidenz-Dateien hochladen und verwalten (Pruefberichte, Zertifikate, Fotos, etc.).</p>
|
|
|
|
<ApiEndpoint method="POST" path="/sdk/v1/iace/projects/:id/evidence" description="Evidenz-Datei hochladen" />
|
|
|
|
<CodeBlock language="bash" filename="cURL">
|
|
{`curl -X POST "https://api.breakpilot.io/sdk/v1/iace/projects/proj_a1b2c3d4/evidence" \\
|
|
-H "Authorization: Bearer YOUR_API_KEY" \\
|
|
-F "file=@pruefbericht_schutzgitter.pdf" \\
|
|
-F "title=Pruefbericht Schutzgitter ISO 14120" \\
|
|
-F "evidence_type=test_report" \\
|
|
-F "linked_mitigation_id=mit_abcd1234"`}
|
|
</CodeBlock>
|
|
|
|
<h3>Response (201 Created)</h3>
|
|
<CodeBlock language="json" filename="Response">
|
|
{`{
|
|
"success": true,
|
|
"data": {
|
|
"id": "evi_xyz789",
|
|
"title": "Pruefbericht Schutzgitter ISO 14120",
|
|
"evidence_type": "test_report",
|
|
"file_name": "pruefbericht_schutzgitter.pdf",
|
|
"file_size": 245760,
|
|
"linked_mitigation_id": "mit_abcd1234",
|
|
"created_at": "2026-03-16T12:00:00Z"
|
|
}
|
|
}`}
|
|
</CodeBlock>
|
|
|
|
<ApiEndpoint method="GET" path="/sdk/v1/iace/projects/:id/evidence" description="Alle Evidenzen des Projekts auflisten" />
|
|
|
|
<h2>Verification Plans</h2>
|
|
<p>Verifizierungsplaene erstellen und abarbeiten.</p>
|
|
|
|
<ApiEndpoint method="POST" path="/sdk/v1/iace/projects/:id/verification-plan" description="Verifizierungsplan erstellen" />
|
|
|
|
<CodeBlock language="bash" filename="cURL">
|
|
{`curl -X POST "https://api.breakpilot.io/sdk/v1/iace/projects/proj_a1b2c3d4/verification-plan" \\
|
|
-H "Authorization: Bearer YOUR_API_KEY" \\
|
|
-H "Content-Type: application/json" \\
|
|
-d '{
|
|
"title": "Schutzgitter-Verifizierung",
|
|
"description": "Pruefung der Schutzgitter nach ISO 14120",
|
|
"method": "inspection",
|
|
"linked_mitigation_id": "mit_abcd1234",
|
|
"planned_date": "2026-04-15T00:00:00Z"
|
|
}'`}
|
|
</CodeBlock>
|
|
|
|
<h3>Response (201 Created)</h3>
|
|
<CodeBlock language="json" filename="Response">
|
|
{`{
|
|
"success": true,
|
|
"data": {
|
|
"id": "vp_plan001",
|
|
"title": "Schutzgitter-Verifizierung",
|
|
"method": "inspection",
|
|
"status": "planned",
|
|
"linked_mitigation_id": "mit_abcd1234",
|
|
"planned_date": "2026-04-15T00:00:00Z",
|
|
"created_at": "2026-03-16T12:30:00Z"
|
|
}
|
|
}`}
|
|
</CodeBlock>
|
|
|
|
<ApiEndpoint method="PUT" path="/sdk/v1/iace/verification-plan/:vid" description="Verifizierungsplan aktualisieren" />
|
|
<ApiEndpoint method="POST" path="/sdk/v1/iace/verification-plan/:vid/complete" description="Verifizierung abschliessen" />
|
|
</>
|
|
)
|
|
}
|