{"version":3,"file":"_id_.mjs","names":[],"sources":["../../../../../../src/astro/routes/api/auth/session-tokens/[id].ts"],"sourcesContent":["/**\n * DELETE /_emdash/api/auth/session-tokens/:id\n *\n * Revoke one of the caller's own tokens (a session token that is no longer\n * needed). Session-only, like minting.\n */\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleApiTokenRevoke } from \"#api/handlers/api-tokens.js\";\n\nexport const prerender = false;\n\nexport const DELETE: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tif (!emdash?.db) return apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\tif (locals.tokenAuth) {\n\t\treturn apiError(\n\t\t\t\"TOKEN_AUTH_FORBIDDEN\",\n\t\t\t\"Session tokens can only be revoked from a signed-in session.\",\n\t\t\t403,\n\t\t);\n\t}\n\tconst denied = requirePerm(user, \"content:edit_own\");\n\tif (denied) return denied;\n\tconst id = params.id ?? \"\";\n\tif (!id) return apiError(\"VALIDATION_ERROR\", \"Token id required\", 400);\n\treturn unwrapResult(await handleApiTokenRevoke(emdash.db, id, user!.id));\n};\n"],"mappings":";;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,SAAmB,OAAO,EAAE,QAAQ,aAAa;CAC7D,MAAM,EAAE,QAAQ,SAAS;AACzB,KAAI,CAAC,QAAQ,GAAI,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;AACpF,KAAI,OAAO,UACV,QAAO,SACN,wBACA,gEACA,IACA;CAEF,MAAM,SAAS,YAAY,MAAM,mBAAmB;AACpD,KAAI,OAAQ,QAAO;CACnB,MAAM,KAAK,OAAO,MAAM;AACxB,KAAI,CAAC,GAAI,QAAO,SAAS,oBAAoB,qBAAqB,IAAI;AACtE,QAAO,aAAa,MAAM,qBAAqB,OAAO,IAAI,IAAI,KAAM,GAAG,CAAC"}