mirror of
https://github.com/velocitatem/cvfs.git
synced 2026-05-31 08:43:37 +00:00
fix: remove public assets before deleting branch
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from sqlalchemy import select
|
from sqlalchemy import delete, select
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from sqlalchemy.orm import selectinload
|
from sqlalchemy.orm import selectinload
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ from dlib.cv import (
|
|||||||
validate_patchset,
|
validate_patchset,
|
||||||
)
|
)
|
||||||
|
|
||||||
from app.models import CvDocument, CvPatch, CvVersion
|
from app.models import CvDocument, CvPatch, CvVersion, PublicAsset
|
||||||
|
|
||||||
|
|
||||||
async def create_branch(
|
async def create_branch(
|
||||||
@@ -100,10 +100,15 @@ async def delete_version(
|
|||||||
if not version.parent_version_id:
|
if not version.parent_version_id:
|
||||||
return "root"
|
return "root"
|
||||||
# Refuse if child branches exist
|
# Refuse if child branches exist
|
||||||
child_stmt = select(CvVersion.id).where(CvVersion.parent_version_id == version_id).limit(1)
|
child_stmt = (
|
||||||
|
select(CvVersion.id).where(CvVersion.parent_version_id == version_id).limit(1)
|
||||||
|
)
|
||||||
child_result = await session.execute(child_stmt)
|
child_result = await session.execute(child_stmt)
|
||||||
if child_result.scalar_one_or_none():
|
if child_result.scalar_one_or_none():
|
||||||
return "has_children"
|
return "has_children"
|
||||||
|
await session.execute(
|
||||||
|
delete(PublicAsset).where(PublicAsset.version_id == version_id)
|
||||||
|
)
|
||||||
await session.delete(version)
|
await session.delete(version)
|
||||||
await session.commit()
|
await session.commit()
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user