intlayer-editor
Version:
Integrate the Intlayer visual editor into your Intlayer projects, enabling CMS-like content management with multilingual support.
112 lines (110 loc) • 3.83 kB
JavaScript
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
const require_utils_responseData = require('../utils/responseData.cjs');
let _intlayer_config = require("@intlayer/config");
let _intlayer_chokidar = require("@intlayer/chokidar");
let _intlayer_unmerged_dictionaries_entry = require("@intlayer/unmerged-dictionaries-entry");
let express_intlayer = require("express-intlayer");
//#region src/controllers/dictionary.controller.ts
/**
* Get the Intlayer configuration
*/
const getDictionaries = async (_req, res, _next) => {
try {
const formattedResponse = require_utils_responseData.formatResponse({ data: (0, _intlayer_unmerged_dictionaries_entry.getUnmergedDictionaries)() });
res.json(formattedResponse);
return;
} catch (err) {
const errorMessage = err ?? {
message: "Internal Server Error",
status: 500
};
const formattedErrorResponse = require_utils_responseData.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 (0, _intlayer_chokidar.writeContentDeclaration)(dictionaryData, (0, _intlayer_config.getConfiguration)());
let description = "";
switch (result.status) {
case "created":
description = (0, express_intlayer.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 = (0, express_intlayer.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 = (0, express_intlayer.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 = (0, express_intlayer.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 = (0, express_intlayer.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 = require_utils_responseData.formatResponse({
data: result,
message: (0, express_intlayer.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 = require_utils_responseData.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
exports.getDictionaries = getDictionaries;
exports.writeContentDeclaration = writeContentDeclaration;
//# sourceMappingURL=dictionary.controller.cjs.map