18 lines
625 B
TypeScript
18 lines
625 B
TypeScript
import { deleteUserDevice } from "../../db/devices";
|
|
|
|
/**
|
|
* DELETE /api/devices/:id
|
|
*
|
|
* User entfernt ein eigenes Device — gibt damit einen Slot frei.
|
|
* Idempotent: wenn Device nicht existiert oder bereits gelöscht → 200.
|
|
*/
|
|
export default defineEventHandler(async (event) => {
|
|
// skipDeviceCheck: User soll bei Geräte-Limit-Sperre trotzdem freigeben können.
|
|
const user = await requireUser(event, { skipDeviceCheck: true });
|
|
const id = getRouterParam(event, "id");
|
|
if (!id) throw createError({ statusCode: 400, message: "id required" });
|
|
|
|
await deleteUserDevice(user.id, id);
|
|
return { ok: true };
|
|
});
|