intlayer-editor
Version:
Integrate the Intlayer visual editor into your Intlayer projects, enabling CMS-like content management with multilingual support.
111 lines • 3.61 kB
JavaScript
import {
writeContentDeclaration as writeContentDeclarationEditor
} from "@intlayer/chokidar";
import { getConfiguration } from "@intlayer/config";
import dictionaries from "@intlayer/dictionaries-entry";
import { formatResponse } from "./../utils/responseData.mjs";
import { t } from "express-intlayer";
const getDictionaries = async (_req, res, _next) => {
try {
const formattedResponse = formatResponse({
data: dictionaries
});
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;
}
};
const writeContentDeclaration = async (req, res, _next) => {
try {
const dictionaryData = req.body.dictionary;
const config = getConfiguration();
const result = await writeContentDeclarationEditor(dictionaryData, config);
let description = "";
switch (result.status) {
case "updated": {
description = t({
en: "Content declaration updated successfully",
fr: "D\xE9claration de contenu mise \xE0 jour avec succ\xE8s",
es: "Declaraci\xF3n de contenido actualizada con \xE9xito"
});
break;
}
case "reimported in JSON": {
description = t({
en: "Content declaration reimported in JSON successfully",
fr: "D\xE9claration de contenu r\xE9import\xE9e en JSON avec succ\xE8s",
es: "Declaraci\xF3n de contenido reimportada en JSON con \xE9xito"
});
break;
}
case "reimported in new location": {
description = t({
en: "Content declaration reimported in new location successfully",
fr: "D\xE9claration de contenu r\xE9import\xE9e dans un nouveau emplacement avec succ\xE8s",
es: "Declaraci\xF3n de contenido reimportada en un nuevo lugar con \xE9xito"
});
break;
}
default: {
description = t({
en: "Content declaration written successfully",
fr: "D\xE9claration de contenu \xE9crite avec succ\xE8s",
es: "Declaraci\xF3n de contenido escrita con \xE9xito"
});
break;
}
}
const formattedResponse = formatResponse(
{
data: result,
message: t({
en: "Content declaration written",
fr: "D\xE9claration de contenu \xE9crite",
es: "Declaraci\xF3n de contenido escrita"
}),
description: t({
en: "Content declaration written successfully",
fr: "D\xE9claration de contenu \xE9crite avec succ\xE8s",
es: "Declaraci\xF3n de contenido escrita con \xE9xito"
})
}
);
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;
}
};
export {
getDictionaries,
writeContentDeclaration
};
//# sourceMappingURL=dictionary.controller.mjs.map