import { getPortalLogin } from "../../../actions/services/accountService"; import { consoleLogger } from "../../../actions/core/logger"; const WELSH_LANGUAGE_CODE = 846040000; const resolveRequestLocale = (req) => req?.query?.locale || req?.body?.locale || req?.cookies?.pedw_locale || "en"; export default async function handler(req, res) { if (req.method !== "POST") { return res.status(405).json({ message: "Method not allowed" }); } const email = String(req.body?.email || "") .trim() .toLowerCase(); const sessionLocale = resolveRequestLocale(req); if (!email) { return res.status(200).json({ locale: sessionLocale }); } try { const portalUserObj = await getPortalLogin(email); const preferredLanguage = portalUserObj?.value?.[0]?.pinswg_preferredlanguage; const locale = preferredLanguage === WELSH_LANGUAGE_CODE ? "cy" : preferredLanguage != null ? "en" : sessionLocale; return res.status(200).json({ locale }); } catch (error) { consoleLogger(error); return res.status(200).json({ locale: sessionLocale }); } }