{"version":3,"file":"counts.mjs","names":[],"sources":["../../../../../../src/astro/routes/api/admin/comments/counts.ts"],"sourcesContent":["/**\n * Comment status counts for inbox badges\n *\n * GET /_emdash/api/admin/comments/counts\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { handleError, requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleCommentCounts } from \"#api/handlers/comments.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"comments:moderate\");\n\tif (denied) return denied;\n\n\ttry {\n\t\tconst result = await handleCommentCounts(emdash.db);\n\t\treturn unwrapResult(result);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to get comment counts\", \"COMMENT_COUNTS_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,QAAQ,SAAS;CAEzB,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,oBAAoB;AACrD,KAAI,OAAQ,QAAO;AAEnB,KAAI;AAEH,SAAO,aADQ,MAAM,oBAAoB,OAAO,GAAG,CACxB;UACnB,OAAO;AACf,SAAO,YAAY,OAAO,gCAAgC,uBAAuB"}