responses.py 935 B

12345678910111213141516171819202122232425262728293031
  1. from datetime import datetime
  2. from typing import Optional
  3. from uuid import UUID
  4. from pydantic import BaseModel
  5. from shared.abstractions.graph import Community, Entity, Relationship
  6. from shared.api.models.base import PaginatedR2RResult, R2RResults
  7. WrappedEntityResponse = R2RResults[Entity]
  8. WrappedEntitiesResponse = PaginatedR2RResult[list[Entity]]
  9. WrappedRelationshipResponse = R2RResults[Relationship]
  10. WrappedRelationshipsResponse = PaginatedR2RResult[list[Relationship]]
  11. WrappedCommunityResponse = R2RResults[Community]
  12. WrappedCommunitiesResponse = PaginatedR2RResult[list[Community]]
  13. class GraphResponse(BaseModel):
  14. id: UUID
  15. collection_id: UUID
  16. name: str
  17. description: Optional[str]
  18. status: str
  19. created_at: datetime
  20. updated_at: datetime
  21. document_ids: list[UUID]
  22. # Graph Responses
  23. WrappedGraphResponse = R2RResults[GraphResponse]
  24. WrappedGraphsResponse = PaginatedR2RResult[list[GraphResponse]]