{"version":3,"file":"current.mjs","names":[],"sources":["../../../../../src/astro/routes/api/color-schemes/current.ts"],"sourcesContent":["/**\n * The site's applied color scheme.\n * GET    /_emdash/api/color-schemes/current — read it (or null).\n * DELETE /_emdash/api/color-schemes/current — clear it (revert to theme defaults).\n */\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, unwrapResult } from \"#api/error.js\";\nimport { clearColorScheme, getAppliedColorScheme } from \"#api/handlers/color-schemes.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ locals }) => {\n\tconst { emdash, user } = locals;\n\tif (!emdash?.db) return apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\tconst denied = requirePerm(user, \"settings:read\");\n\tif (denied) return denied;\n\tconst scheme = await getAppliedColorScheme(emdash.db);\n\treturn Response.json({ success: true, data: { scheme } });\n};\n\nexport const DELETE: APIRoute = async ({ locals }) => {\n\tconst { emdash, user } = locals;\n\tif (!emdash?.db) return apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\tconst denied = requirePerm(user, \"settings:manage\");\n\tif (denied) return denied;\n\ttry {\n\t\treturn unwrapResult(await clearColorScheme(emdash.db));\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to clear color scheme\", \"COLOR_SCHEME_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;AAWA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,QAAQ,SAAS;AACzB,KAAI,CAAC,QAAQ,GAAI,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CACpF,MAAM,SAAS,YAAY,MAAM,gBAAgB;AACjD,KAAI,OAAQ,QAAO;CACnB,MAAM,SAAS,MAAM,sBAAsB,OAAO,GAAG;AACrD,QAAO,SAAS,KAAK;EAAE,SAAS;EAAM,MAAM,EAAE,QAAQ;EAAE,CAAC;;AAG1D,MAAa,SAAmB,OAAO,EAAE,aAAa;CACrD,MAAM,EAAE,QAAQ,SAAS;AACzB,KAAI,CAAC,QAAQ,GAAI,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CACpF,MAAM,SAAS,YAAY,MAAM,kBAAkB;AACnD,KAAI,OAAQ,QAAO;AACnB,KAAI;AACH,SAAO,aAAa,MAAM,iBAAiB,OAAO,GAAG,CAAC;UAC9C,OAAO;AACf,SAAO,YAAY,OAAO,gCAAgC,qBAAqB"}