{"version":3,"file":"enable.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/users/[id]/enable.ts"],"sourcesContent":["/**\n * User enable endpoint\n *\n * POST /_emdash/api/admin/users/:id/enable - Re-enable a disabled user\n */\n\nimport { createKyselyAdapter } from \"@premium-cms/auth/adapters/kysely\";\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, apiSuccess, handleError } from \"#api/error.js\";\n\nexport const prerender = false;\n\nexport const POST: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"Database not configured\", 500);\n\t}\n\n\tconst denied = requirePerm(user, \"users:manage\");\n\tif (denied) return denied;\n\n\tconst adapter = createKyselyAdapter(emdash.db);\n\n\tconst { id } = params;\n\n\tif (!id) {\n\t\treturn apiError(\"VALIDATION_ERROR\", \"User ID required\", 400);\n\t}\n\n\ttry {\n\t\t// Get target user\n\t\tconst targetUser = await adapter.getUserById(id);\n\t\tif (!targetUser) {\n\t\t\treturn apiError(\"NOT_FOUND\", \"User not found\", 404);\n\t\t}\n\n\t\t// Enable user\n\t\tawait adapter.updateUser(id, { disabled: false });\n\n\t\treturn apiSuccess({ success: true });\n\t} catch (error) {\n\t\treturn handleError(error, \"Failed to enable user\", \"USER_ENABLE_ERROR\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,OAAiB,OAAO,EAAE,QAAQ,aAAa;CAC3D,MAAM,EAAE,QAAQ,SAAS;AAEzB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,2BAA2B,IAAI;CAGlE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;CAEnB,MAAM,UAAU,oBAAoB,OAAO,GAAG;CAE9C,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,GACJ,QAAO,SAAS,oBAAoB,oBAAoB,IAAI;AAG7D,KAAI;AAGH,MAAI,CADe,MAAM,QAAQ,YAAY,GAAG,CAE/C,QAAO,SAAS,aAAa,kBAAkB,IAAI;AAIpD,QAAM,QAAQ,WAAW,IAAI,EAAE,UAAU,OAAO,CAAC;AAEjD,SAAO,WAAW,EAAE,SAAS,MAAM,CAAC;UAC5B,OAAO;AACf,SAAO,YAAY,OAAO,yBAAyB,oBAAoB"}