feat: Katalogverwaltung ins Compliance SDK integriert (17 Kataloge)
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 36s
CI / test-python-backend-compliance (push) Successful in 41s
CI / test-python-document-crawler (push) Successful in 23s
CI / test-python-dsms-gateway (push) Successful in 18s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 36s
CI / test-python-backend-compliance (push) Successful in 41s
CI / test-python-document-crawler (push) Successful in 23s
CI / test-python-dsms-gateway (push) Successful in 18s
Bestehende Catalog-Manager-Komponenten in SDK-Routes eingebunden: - SDKState + Reducer um customCatalogs CRUD erweitert - Neue Route /sdk/catalog-manager mit CatalogManagerContent - Sidebar-Link "Kataloge" mit Database-Icon Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
7
admin-compliance/app/sdk/catalog-manager/page.tsx
Normal file
7
admin-compliance/app/sdk/catalog-manager/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
||||
'use client'
|
||||
|
||||
import CatalogManagerContent from '@/components/catalog-manager/CatalogManagerContent'
|
||||
|
||||
export default function CatalogManagerPage() {
|
||||
return <CatalogManagerContent />
|
||||
}
|
||||
@@ -590,6 +590,18 @@ export function SDKSidebar({ collapsed = false, onCollapsedChange }: SDKSidebarP
|
||||
isActive={pathname === '/sdk/architecture'}
|
||||
collapsed={collapsed}
|
||||
/>
|
||||
<AdditionalModuleItem
|
||||
href="/sdk/catalog-manager"
|
||||
icon={
|
||||
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2}
|
||||
d="M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4" />
|
||||
</svg>
|
||||
}
|
||||
label="Kataloge"
|
||||
isActive={pathname === '/sdk/catalog-manager'}
|
||||
collapsed={collapsed}
|
||||
/>
|
||||
<AdditionalModuleItem
|
||||
href="https://macmini:3006"
|
||||
icon={
|
||||
|
||||
@@ -113,6 +113,9 @@ const initialState: SDKState = {
|
||||
securityIssues: [],
|
||||
securityBacklog: [],
|
||||
|
||||
// Catalog Manager
|
||||
customCatalogs: {},
|
||||
|
||||
// UI State
|
||||
commandBarHistory: [],
|
||||
recentSearches: [],
|
||||
@@ -433,6 +436,41 @@ function sdkReducer(state: SDKState, action: ExtendedSDKAction): SDKState {
|
||||
preferences: { ...state.preferences, ...action.payload },
|
||||
})
|
||||
|
||||
case 'ADD_CUSTOM_CATALOG_ENTRY': {
|
||||
const entry = action.payload
|
||||
const existing = state.customCatalogs[entry.catalogId] || []
|
||||
return updateState({
|
||||
customCatalogs: {
|
||||
...state.customCatalogs,
|
||||
[entry.catalogId]: [...existing, entry],
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
case 'UPDATE_CUSTOM_CATALOG_ENTRY': {
|
||||
const { catalogId, entryId, data } = action.payload
|
||||
const entries = state.customCatalogs[catalogId] || []
|
||||
return updateState({
|
||||
customCatalogs: {
|
||||
...state.customCatalogs,
|
||||
[catalogId]: entries.map(e =>
|
||||
e.id === entryId ? { ...e, data: { ...e.data, ...data }, updatedAt: new Date().toISOString() } : e
|
||||
),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
case 'DELETE_CUSTOM_CATALOG_ENTRY': {
|
||||
const { catalogId, entryId } = action.payload
|
||||
const items = state.customCatalogs[catalogId] || []
|
||||
return updateState({
|
||||
customCatalogs: {
|
||||
...state.customCatalogs,
|
||||
[catalogId]: items.filter(e => e.id !== entryId),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
case 'RESET_STATE':
|
||||
return { ...initialState, lastModified: new Date() }
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
* checkpoint system, and all compliance-related data structures.
|
||||
*/
|
||||
|
||||
import type { CustomCatalogs, CatalogId, CustomCatalogEntry } from './catalog-manager/types'
|
||||
|
||||
// =============================================================================
|
||||
// ENUMS
|
||||
// =============================================================================
|
||||
@@ -1536,6 +1538,9 @@ export interface SDKState {
|
||||
securityIssues: SecurityIssue[]
|
||||
securityBacklog: BacklogItem[]
|
||||
|
||||
// Catalog Manager
|
||||
customCatalogs: CustomCatalogs
|
||||
|
||||
// UI State
|
||||
commandBarHistory: CommandHistory[]
|
||||
recentSearches: string[]
|
||||
@@ -1621,6 +1626,9 @@ export type SDKAction =
|
||||
| { type: 'UPDATE_BACKLOG_ITEM'; payload: { id: string; data: Partial<BacklogItem> } }
|
||||
| { type: 'ADD_COMMAND_HISTORY'; payload: CommandHistory }
|
||||
| { type: 'SET_PREFERENCES'; payload: Partial<UserPreferences> }
|
||||
| { type: 'ADD_CUSTOM_CATALOG_ENTRY'; payload: CustomCatalogEntry }
|
||||
| { type: 'UPDATE_CUSTOM_CATALOG_ENTRY'; payload: { catalogId: CatalogId; entryId: string; data: Record<string, unknown> } }
|
||||
| { type: 'DELETE_CUSTOM_CATALOG_ENTRY'; payload: { catalogId: CatalogId; entryId: string } }
|
||||
| { type: 'RESET_STATE' }
|
||||
|
||||
// =============================================================================
|
||||
|
||||
Reference in New Issue
Block a user