UNPKG

intlayer-editor

Version:

Integrate the Intlayer visual editor into your Intlayer projects, enabling CMS-like content management with multilingual support.

110 lines (108 loc) 3.38 kB
import { formatResponse } from "../utils/responseData.mjs"; import { getConfiguration } from "@intlayer/config"; import { writeContentDeclaration as writeContentDeclaration$1 } from "@intlayer/chokidar"; import { getUnmergedDictionaries } from "@intlayer/unmerged-dictionaries-entry"; import { t } from "express-intlayer"; //#region src/controllers/dictionary.controller.ts /** * Get the Intlayer configuration */ const getDictionaries = async (_req, res, _next) => { try { const formattedResponse = formatResponse({ data: getUnmergedDictionaries() }); res.json(formattedResponse); return; } catch (err) { const errorMessage = err ?? { message: "Internal Server Error", status: 500 }; const formattedErrorResponse = formatResponse({ error: { message: errorMessage.message ?? "Internal Server Error", code: "INTERNAL_SERVER_ERROR", title: "Internal Server Error" }, status: errorMessage.status ?? 500 }); res.json(formattedErrorResponse); return; } }; /** * Adds a new dictionary to the database. */ const writeContentDeclaration = async (req, res, _next) => { try { const dictionaryData = req.body.dictionary; const result = await writeContentDeclaration$1(dictionaryData, getConfiguration()); let description = ""; switch (result.status) { case "created": description = t({ en: "Content declaration created successfully", fr: "Déclaration de contenu créée avec succès", es: "Declaración de contenido creada con éxito" }); break; case "updated": description = t({ en: "Content declaration updated successfully", fr: "Déclaration de contenu mise à jour avec succès", es: "Declaración de contenido actualizada con éxito" }); break; case "reimported in JSON": description = t({ en: "Content declaration reimported in JSON successfully", fr: "Déclaration de contenu réimportée en JSON avec succès", es: "Declaración de contenido reimportada en JSON con éxito" }); break; case "new content file": description = t({ en: "Content declaration new content file successfully", fr: "Déclaration de contenu réimportée dans un nouveau emplacement avec succès", es: "Declaración de contenido reimportada en un nuevo lugar con éxito" }); break; default: description = t({ en: "Content declaration written successfully", fr: "Déclaration de contenu écrite avec succès", es: "Declaración de contenido escrita con éxito" }); break; } const formattedResponse = formatResponse({ data: result, message: t({ en: "Content declaration written", fr: "Déclaration de contenu écrite", es: "Declaración de contenido escrita" }), description }); res.json(formattedResponse); return; } catch (err) { const errorMessage = err ?? { message: "Internal Server Error", status: 500 }; console.error(errorMessage); const formattedErrorResponse = formatResponse({ error: { message: errorMessage.message ?? "Internal Server Error", code: "INTERNAL_SERVER_ERROR", title: "Internal Server Error" }, status: errorMessage.status ?? 500 }); res.json(formattedErrorResponse); return; } }; //#endregion export { getDictionaries, writeContentDeclaration }; //# sourceMappingURL=dictionary.controller.mjs.map