Files
breakpilot-compliance/developer-portal/app/api/iace/_components/ComponentsSection.tsx
Sharang Parnerkar 9ec72ed681 refactor(developer-portal): split iace, docs, byoeh pages
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>
2026-04-18 08:45:13 +02:00

53 lines
1.9 KiB
TypeScript

'use client'
import { ApiEndpoint, CodeBlock, ParameterTable } from '@/components/DevPortalLayout'
export function ComponentsSection() {
return (
<>
<h2>Components</h2>
<p>Verwalten Sie die Komponenten einer Maschine oder eines Produkts.</p>
<ApiEndpoint method="POST" path="/sdk/v1/iace/projects/:id/components" description="Komponente hinzufuegen" />
<h3>Request Body</h3>
<ParameterTable
parameters={[
{ name: 'name', type: 'string', required: true, description: 'Komponentenname' },
{ name: 'component_type', type: 'string', required: true, description: 'Typ (z.B. "actuator", "sensor", "controller", "structural")' },
{ name: 'is_safety_relevant', type: 'boolean', required: false, description: 'Sicherheitsrelevante Komponente (default: false)' },
]}
/>
<CodeBlock language="bash" filename="cURL">
{`curl -X POST "https://api.breakpilot.io/sdk/v1/iace/projects/proj_a1b2c3d4/components" \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"name": "Servo-Antrieb Achse 1",
"component_type": "actuator",
"is_safety_relevant": true
}'`}
</CodeBlock>
<h3>Response (201 Created)</h3>
<CodeBlock language="json" filename="Response">
{`{
"success": true,
"data": {
"id": "comp_1234abcd",
"name": "Servo-Antrieb Achse 1",
"component_type": "actuator",
"is_safety_relevant": true,
"created_at": "2026-03-16T10:05:00Z"
}
}`}
</CodeBlock>
<ApiEndpoint method="GET" path="/sdk/v1/iace/projects/:id/components" description="Alle Komponenten des Projekts auflisten" />
<ApiEndpoint method="PUT" path="/sdk/v1/iace/projects/:id/components/:cid" description="Komponente aktualisieren" />
<ApiEndpoint method="DELETE" path="/sdk/v1/iace/projects/:id/components/:cid" description="Komponente loeschen" />
</>
)
}