Update delete route response.
This commit is contained in:
parent
da96206deb
commit
89e0db7baa
3 changed files with 5 additions and 8 deletions
|
|
@ -329,7 +329,7 @@ navigator.credentials.get()...} }`; ответ — access JWT (см. ниже).
|
||||||
|
|
||||||
Список — массив `{ id, credentialID, credentialPublicKey, counter, userId,
|
Список — массив `{ id, credentialID, credentialPublicKey, counter, userId,
|
||||||
deviceName, createdAt }`, новые первыми. Удаление чужого/несуществующего —
|
deviceName, createdAt }`, новые первыми. Удаление чужого/несуществующего —
|
||||||
`404`, успех — `{ "ok": true }`.
|
`404`, успех — `204 No Content` (пустое тело).
|
||||||
|
|
||||||
#### `POST /api/v1/auth/magic-link/request` / `verify`
|
#### `POST /api/v1/auth/magic-link/request` / `verify`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ from src.contract_check.api.deps import (
|
||||||
)
|
)
|
||||||
from src.contract_check.api.routes.auth.support import _issue_single_token, _require_passkey_enabled
|
from src.contract_check.api.routes.auth.support import _issue_single_token, _require_passkey_enabled
|
||||||
from src.contract_check.api.schemas import (
|
from src.contract_check.api.schemas import (
|
||||||
OkResponse,
|
|
||||||
PasskeyAuthenticateFinishRequest,
|
PasskeyAuthenticateFinishRequest,
|
||||||
PasskeyAuthenticationOptions,
|
PasskeyAuthenticationOptions,
|
||||||
PasskeyCredentialPublic,
|
PasskeyCredentialPublic,
|
||||||
|
|
@ -244,14 +243,13 @@ async def passkeys_list(
|
||||||
|
|
||||||
@router.delete(
|
@router.delete(
|
||||||
"/passkeys/{passkey_id}",
|
"/passkeys/{passkey_id}",
|
||||||
response_model=OkResponse,
|
status_code=status.HTTP_204_NO_CONTENT,
|
||||||
status_code=status.HTTP_200_OK,
|
|
||||||
)
|
)
|
||||||
async def passkeys_delete(
|
async def passkeys_delete(
|
||||||
user: CurrentUserDep,
|
user: CurrentUserDep,
|
||||||
session: AsyncSessionDep,
|
session: AsyncSessionDep,
|
||||||
passkey_id: uuid.UUID,
|
passkey_id: uuid.UUID,
|
||||||
) -> OkResponse:
|
) -> None:
|
||||||
"""Remove one of the user's passkeys. Scoped to the owning user."""
|
"""Remove one of the user's passkeys. Scoped to the owning user."""
|
||||||
_require_passkey_enabled()
|
_require_passkey_enabled()
|
||||||
|
|
||||||
|
|
@ -260,4 +258,3 @@ async def passkeys_delete(
|
||||||
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="passkey not found")
|
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="passkey not found")
|
||||||
await session.commit()
|
await session.commit()
|
||||||
log.info("passkey_deleted", user_id=str(user.user_id), passkey_id=str(passkey_id))
|
log.info("passkey_deleted", user_id=str(user.user_id), passkey_id=str(passkey_id))
|
||||||
return OkResponse(ok=True, detail="passkey deleted")
|
|
||||||
|
|
|
||||||
|
|
@ -207,8 +207,8 @@ async def test_passkey_list_and_delete(
|
||||||
assert items[0]["userId"] == user_id
|
assert items[0]["userId"] == user_id
|
||||||
|
|
||||||
deleted = await client.delete(f"/api/v1/auth/passkeys/{passkey_row_id}", headers=headers)
|
deleted = await client.delete(f"/api/v1/auth/passkeys/{passkey_row_id}", headers=headers)
|
||||||
assert deleted.status_code == 200
|
assert deleted.status_code == 204
|
||||||
assert deleted.json()["ok"] is True
|
assert deleted.content == b""
|
||||||
|
|
||||||
gone = await client.delete(f"/api/v1/auth/passkeys/{passkey_row_id}", headers=headers)
|
gone = await client.delete(f"/api/v1/auth/passkeys/{passkey_row_id}", headers=headers)
|
||||||
assert gone.status_code == 404
|
assert gone.status_code == 404
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue