{"version":3,"file":"stats.mjs","names":[],"sources":["../../../../../src/astro/routes/api/search/stats.ts"],"sourcesContent":["/**\n * Search stats endpoint\n *\n * GET /_emdash/api/search/stats\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, apiSuccess, handleError } from \"#api/error.js\";\nimport { getSearchStats } from \"#search/index.js\";\n\nexport const prerender = false;\n\n/**\n * Get search index statistics\n */\nexport const GET: APIRoute = async ({ locals }) => {\n\tconst { emdash, user } = locals;\n\n\tconst denied = requirePerm(user, \"search:manage\");\n\tif (denied) return denied;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash not configured\", 500);\n\t}\n\n\ttry {\n\t\tconst stats = await getSearchStats(emdash.db);\n\n\t\treturn apiSuccess(stats);\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to get stats\", \"STATS_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;AAYA,MAAa,YAAY;;;;AAKzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,QAAQ,SAAS;CAEzB,MAAM,SAAS,YAAY,MAAM,gBAAgB;AACjD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,yBAAyB,IAAI;AAGhE,KAAI;AAGH,SAAO,WAFO,MAAM,eAAe,OAAO,GAAG,CAErB;UAChB,OAAO;AACf,SAAO,YAAY,OAAO,uBAAuB,cAAc"}