Adding sync with imported parts

This commit is contained in:
Ian Roddis committed 2026-07-02 12:55:13 -03:00
1 parent 00fb43c8ed
commit c320595423
11 files changed
+300 -4

No files matched your search

+37
View File
@@ -22,6 +22,7 @@ from app.crud import user as user_crud
from app.deps import get_current_web_user
from app.models.unc_thread import UncSeries
from app.models.user import User
from app.services import augmented_part_sync as augmented_part_sync_service
from app.services import odata as odata_service
from app.web.templates import templates
@@ -1182,6 +1183,42 @@ async def create_augmented_part(
)
@router.post("/augmented-parts/sync", response_class=HTMLResponse)
async def sync_augmented_parts(
request: Request,
db: AsyncSession = Depends(get_db),
actor: User = Depends(web_require("augmented_parts:write")),
):
try:
result = await augmented_part_sync_service.sync(db)
await audit_crud.log(
db, actor=actor, action="update", resource_type="AugmentedPart",
resource_id=None,
description=(
f"Sync: {result.created} created, {result.deleted} deleted, "
f"{result.skipped} skipped (no type match)"
),
)
sync_result = (
f"Sync complete: {result.created} created, {result.deleted} deleted"
+ (f", {result.skipped} skipped (type not recognised)" if result.skipped else "")
+ "."
)
sync_error = None
except Exception as exc:
sync_result = None
sync_error = f"Sync failed: {exc}"
return templates.TemplateResponse(
request,
"admin/_augmented_parts_table.html",
{
"augmented_parts": await augmented_part_crud.list_all(db),
"sync_result": sync_result,
"sync_error": sync_error,
},
)
@router.get("/augmented-parts/{augmented_part_id}/edit", response_class=HTMLResponse)
async def edit_augmented_part_row(
request: Request,