Initial commit: InternalAuditInterprise
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
"""API 数据传输模型(Pydantic)。"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class EntityOut(BaseModel):
|
||||
id: uuid.UUID
|
||||
entity_type: str
|
||||
business_key: str
|
||||
display_name: str | None = None
|
||||
attributes: dict = Field(default_factory=dict)
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class RelatedEntityOut(BaseModel):
|
||||
"""穿透命中的关联实体,附最短跳数(证据强度的初步指示)。"""
|
||||
|
||||
entity: EntityOut
|
||||
depth: int
|
||||
|
||||
|
||||
class PenetrateRequest(BaseModel):
|
||||
start_entity_id: uuid.UUID
|
||||
max_depth: int = Field(default=3, ge=1, le=6)
|
||||
|
||||
|
||||
class PenetrateResponse(BaseModel):
|
||||
start_entity_id: uuid.UUID
|
||||
max_depth: int
|
||||
related_count: int
|
||||
related: list[RelatedEntityOut]
|
||||
Reference in New Issue
Block a user