Merge pull request #2758 from yueguobin/verify-resource-pool-deletion

Fix: properly delete resource records when deleting resource pools
This commit is contained in:
Jeremy Grossmann 2026-06-01 10:55:26 +02:00 committed by GitHub
commit ed6273413e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -156,6 +156,14 @@ class ResourcePoolsRepository(BaseRepository):
Delete a resource pool.
"""
# Get all resources in the pool first
resources = await self.get_pool_resources(resource_pool_id)
# Delete all resource records
for resource in resources:
await self.delete_resource(resource.resource_id)
# Now delete the resource pool
query = delete(models.ResourcePool).where(models.ResourcePool.resource_pool_id == resource_pool_id)
result = await self._db_session.execute(query)
await self._db_session.commit()
@ -203,6 +211,7 @@ class ResourcePoolsRepository(BaseRepository):
resource_pool_db.resources.remove(resource)
await self._db_session.commit()
await self._db_session.refresh(resource_pool_db)
return resource_pool_db
async def get_pool_resources(self, resource_pool_id: UUID) -> List[models.Resource]: