dokumentation.py
- Pfad:
/var/www/mcp-servers/mcp-docs/domain/dokumentation.py - Namespace: -
- Zeilen: 65 | Größe: 1,970 Bytes
- Geändert: 2025-12-28 12:36:36 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 95
- Dependencies: 80 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Keine Issues gefunden.
Dependencies 9
- extends str
- trait Enum
- use dataclasses.dataclass
- use dataclasses.field
- use datetime.datetime
- use enum.Enum
- use typing.Any
- use typing.Dict
- use typing.Optional
Klassen 2
-
DocStatusclass Zeile 9 -
Dokumentationclass Zeile 18
Code
"""Domain Entities für MCP-Docs Server."""
from dataclasses import dataclass, field
from datetime import datetime
from enum import Enum
from typing import Any, Dict, Optional
class DocStatus(str, Enum):
"""Dokumentations-Status-Werte."""
DRAFT = "draft"
PUBLISHED = "published"
ARCHIVED = "archived"
@dataclass
class Dokumentation:
"""Dokumentation-Entity für Datenbank."""
id: Optional[int] = None
parent_id: Optional[int] = None
slug: str = ""
path: str = ""
title: str = ""
description: Optional[str] = None
content: str = ""
status: DocStatus = DocStatus.DRAFT
sort_order: int = 0
depth: int = 0
created_at: datetime = field(default_factory=datetime.now)
updated_at: datetime = field(default_factory=datetime.now)
def to_dict(self) -> Dict[str, Any]:
"""Vollständige Darstellung."""
return {
"id": self.id,
"parent_id": self.parent_id,
"slug": self.slug,
"path": self.path,
"title": self.title,
"description": self.description,
"content": self.content,
"status": (
self.status.value if isinstance(self.status, DocStatus) else self.status
),
"sort_order": self.sort_order,
"depth": self.depth,
"created_at": self.created_at.isoformat() if self.created_at else None,
"updated_at": self.updated_at.isoformat() if self.updated_at else None,
}
def to_dict_compact(self) -> Dict[str, Any]:
"""Kompakte Darstellung für Listen (Token-sparend, ohne content)."""
return {
"id": self.id,
"parent_id": self.parent_id,
"path": self.path,
"title": self.title,
"status": (
self.status.value if isinstance(self.status, DocStatus) else self.status
),
"depth": self.depth,
}