feat(backend): add single-record draft read endpoints

add backend read endpoints for single draft records

support direct fetch of individual draft entities
improve draft inspection and targeted editor workflows
This commit is contained in:
greebo
2026-03-19 19:42:03 +03:00
parent 56aadf848b
commit 35fc170cef
6 changed files with 169 additions and 0 deletions

View File

@@ -166,3 +166,26 @@ async def delete_scheme_version_group_by_record_id(
await session.delete(group)
await session.commit()
async def get_scheme_version_group_by_record_id(
*,
scheme_version_id: str,
group_record_id: str,
) -> SchemeGroupRecord:
async with AsyncSessionLocal() as session:
result = await session.execute(
select(SchemeGroupRecord).where(
SchemeGroupRecord.scheme_version_id == scheme_version_id,
SchemeGroupRecord.group_record_id == group_record_id,
)
)
row = result.scalar_one_or_none()
if row is None:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="Group record not found in current draft version",
)
return row