intlayer-editor
Version:
Integrate the Intlayer visual editor into your Intlayer projects, enabling CMS-like content management with multilingual support.
112 lines (110 loc) • 4.08 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_utils_responseData = require('../utils/responseData.cjs');
let _intlayer_config_node = require("@intlayer/config/node");
let node_path = require("node:path");
let _intlayer_config_utils = require("@intlayer/config/utils");
let _intlayer_engine_build = require("@intlayer/engine/build");
let _intlayer_unmerged_dictionaries_entry = require("@intlayer/unmerged-dictionaries-entry");
let fastify_intlayer = require("fastify-intlayer");
//#region src/controllers/dictionary.controller.ts
/**
* Get the Intlayer configuration
*/
const getDictionaries = async (_req, res) => {
try {
const formattedResponse = require_utils_responseData.formatResponse({ data: (0, _intlayer_unmerged_dictionaries_entry.getUnmergedDictionaries)() });
return res.send(formattedResponse);
} 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
});
return res.send(formattedErrorResponse);
}
};
/**
* Adds a new dictionary to the database.
*/
const writeContentDeclaration = async (req, res) => {
try {
const dictionaryData = req.body.dictionary;
const config = (0, _intlayer_config_node.getConfiguration)();
const result = await (0, _intlayer_engine_build.writeContentDeclaration)(dictionaryData, config);
(0, _intlayer_config_utils.clearModuleCache)((0, node_path.join)(config.system.mainDir, `unmerged_dictionaries.cjs`));
let description = "";
switch (result.status) {
case "created":
description = (0, fastify_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, fastify_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, fastify_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, fastify_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, fastify_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, fastify_intlayer.t)({
en: "Content declaration written",
fr: "Déclaration de contenu écrite",
es: "Declaración de contenido escrita"
}),
description
});
return res.send(formattedResponse);
} 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
});
return res.send(formattedErrorResponse);
}
};
//#endregion
exports.getDictionaries = getDictionaries;
exports.writeContentDeclaration = writeContentDeclaration;
//# sourceMappingURL=dictionary.controller.cjs.map