Files
breakpilot-compliance/developer-portal/app/api/iace/_components/ProjectManagementSection.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

89 lines
3.1 KiB
TypeScript

'use client'
import { ApiEndpoint, CodeBlock, ParameterTable } from '@/components/DevPortalLayout'
export function ProjectManagementSection() {
return (
<>
<h2>Project Management</h2>
<p>Erstellen und verwalten Sie IACE-Projekte fuer einzelne Maschinen oder Produkte.</p>
<ApiEndpoint method="POST" path="/sdk/v1/iace/projects" description="Neues IACE-Projekt erstellen" />
<h3>Request Body</h3>
<ParameterTable
parameters={[
{ name: 'machine_name', type: 'string', required: true, description: 'Name der Maschine / des Produkts' },
{ name: 'machine_type', type: 'string', required: true, description: 'Maschinentyp (z.B. "CNC-Fraesmaschine", "Industrieroboter")' },
{ name: 'manufacturer', type: 'string', required: false, description: 'Hersteller-Name' },
{ name: 'description', type: 'string', required: false, description: 'Beschreibung des Produkts und seiner Einsatzzwecke' },
]}
/>
<CodeBlock language="bash" filename="cURL">
{`curl -X POST "https://api.breakpilot.io/sdk/v1/iace/projects" \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"machine_name": "RoboArm X500",
"machine_type": "Industrieroboter",
"manufacturer": "TechCorp GmbH",
"description": "6-Achsen-Industrieroboter fuer Montagearbeiten"
}'`}
</CodeBlock>
<h3>Response (201 Created)</h3>
<CodeBlock language="json" filename="Response">
{`{
"success": true,
"data": {
"id": "proj_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"machine_name": "RoboArm X500",
"machine_type": "Industrieroboter",
"manufacturer": "TechCorp GmbH",
"description": "6-Achsen-Industrieroboter fuer Montagearbeiten",
"status": "draft",
"completeness_score": 0,
"created_at": "2026-03-16T10:00:00Z"
}
}`}
</CodeBlock>
<ApiEndpoint method="GET" path="/sdk/v1/iace/projects" description="Alle Projekte des Tenants auflisten" />
<CodeBlock language="bash" filename="cURL">
{`curl -X GET "https://api.breakpilot.io/sdk/v1/iace/projects" \\
-H "Authorization: Bearer YOUR_API_KEY"`}
</CodeBlock>
<h3>Response (200 OK)</h3>
<CodeBlock language="json" filename="Response">
{`{
"success": true,
"data": [
{
"id": "proj_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"machine_name": "RoboArm X500",
"machine_type": "Industrieroboter",
"status": "in_progress",
"completeness_score": 72,
"hazard_count": 14,
"created_at": "2026-03-16T10:00:00Z"
}
]
}`}
</CodeBlock>
<ApiEndpoint method="GET" path="/sdk/v1/iace/projects/:id" description="Projektdetails inkl. Komponenten und Klassifizierungen laden" />
<CodeBlock language="bash" filename="cURL">
{`curl -X GET "https://api.breakpilot.io/sdk/v1/iace/projects/proj_a1b2c3d4" \\
-H "Authorization: Bearer YOUR_API_KEY"`}
</CodeBlock>
<ApiEndpoint method="PUT" path="/sdk/v1/iace/projects/:id" description="Projektfelder aktualisieren" />
<ApiEndpoint method="DELETE" path="/sdk/v1/iace/projects/:id" description="Projekt archivieren (Soft Delete)" />
</>
)
}