fix(mobile): повторный enroll и удаление устройств в UI (0.9.10).

При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
This commit is contained in:
2026-06-13 16:36:07 +10:00
parent e022f2f213
commit 3d36faa49d
10 changed files with 186 additions and 39 deletions
+16 -3
View File
@@ -1,4 +1,4 @@
from datetime import datetime
from datetime import datetime
from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel, Field
@@ -13,6 +13,7 @@ from app.services.mobile_devices import (
get_device_or_raise,
list_mobile_devices,
revoke_device,
delete_device_record,
touch_device,
update_fcm_token,
assert_device_active,
@@ -257,8 +258,8 @@ def get_devices(
return [_device_to_response(item) for item in list_mobile_devices(db)]
@router.delete("/devices/{device_id}", response_model=MobileDeviceResponse)
def delete_device(
@router.post("/devices/{device_id}/revoke", response_model=MobileDeviceResponse)
def post_revoke_device(
device_id: int,
db: Session = Depends(get_db),
_user=Depends(require_admin),
@@ -270,6 +271,18 @@ def delete_device(
return _device_to_response(summary)
@router.delete("/devices/{device_id}", status_code=204)
def delete_device(
device_id: int,
db: Session = Depends(get_db),
_user=Depends(require_admin),
) -> None:
try:
delete_device_record(db, device_id)
except ValueError as exc:
raise HTTPException(status_code=404, detail=str(exc)) from exc
@router.post("/devices/{device_id}/test-push", response_model=TestPushResponse)
def test_device_push(
device_id: int,