mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-08-27 20:40:13 +03:00
Merge pull request #2758 from yueguobin/verify-resource-pool-deletion
Fix: properly delete resource records when deleting resource pools
This commit is contained in:
commit
ed6273413e
@ -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]:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user