feat: Add delete group endpoint (#132)
* feat: Add delete group endpoint * chore: Version bump * chore: improve not found error handling
This commit is contained in:
parent
02ff178769
commit
d8c49c1c0a
3 changed files with 23 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "graphiti-core"
|
||||
version = "0.3.3"
|
||||
version = "0.3.4"
|
||||
description = "A temporal graph building library"
|
||||
authors = [
|
||||
"Paul Paliychuk <paul@getzep.com>",
|
||||
|
|
|
|||
|
|
@ -90,6 +90,12 @@ async def delete_entity_edge(uuid: str, graphiti: ZepGraphitiDep):
|
|||
return Result(message='Entity Edge deleted', success=True)
|
||||
|
||||
|
||||
@router.delete('/group/{group_id}', status_code=status.HTTP_200_OK)
|
||||
async def delete_group(group_id: str, graphiti: ZepGraphitiDep):
|
||||
await graphiti.delete_group(group_id)
|
||||
return Result(message='Group deleted', success=True)
|
||||
|
||||
|
||||
@router.delete('/episode/{uuid}', status_code=status.HTTP_200_OK)
|
||||
async def delete_episode(uuid: str, graphiti: ZepGraphitiDep):
|
||||
await graphiti.delete_episodic_node(uuid)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,22 @@ class ZepGraphiti(Graphiti):
|
|||
except EdgeNotFoundError as e:
|
||||
raise HTTPException(status_code=404, detail=e.message) from e
|
||||
|
||||
async def delete_group(self, group_id: str):
|
||||
try:
|
||||
edges = await EntityEdge.get_by_group_ids(self.driver, [group_id])
|
||||
nodes = await EntityNode.get_by_group_ids(self.driver, [group_id])
|
||||
episodes = await EpisodicNode.get_by_group_ids(self.driver, [group_id])
|
||||
for edge in edges:
|
||||
await edge.delete(self.driver)
|
||||
for node in nodes:
|
||||
await node.delete(self.driver)
|
||||
for episode in episodes:
|
||||
await episode.delete(self.driver)
|
||||
except EdgeNotFoundError as e:
|
||||
raise HTTPException(status_code=404, detail=e.message) from e
|
||||
except NodeNotFoundError as e:
|
||||
raise HTTPException(status_code=404, detail=e.message) from e
|
||||
|
||||
async def delete_entity_edge(self, uuid: str):
|
||||
try:
|
||||
edge = await EntityEdge.get_by_uuid(self.driver, uuid)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue