UNPKG

@nzz/q-server

Version:

**Maintainer**: [Franco Gervasi](https://github.com/fgervasi)

50 lines (43 loc) 1.25 kB
const Hoek = require("@hapi/hoek"); const configSchemas = require("./configSchemas.js"); const defaults = { editorConfig: {}, }; module.exports = { name: "q-editor-api", register: async function (server, options) { const settings = Hoek.applyToDefaults(defaults, options); //validate the server settings const targetConfigValidationResult = configSchemas.target.validate( server.settings.app.targets.get(`/`), { allowUnknown: true, } ); if (targetConfigValidationResult.error) { throw new Error(targetConfigValidationResult.error); } server.route([ require("./routes/targets"), require("./routes/tools"), require("./routes/tools-ordered-by-user-usage"), require("./routes/locales").getGetToolsRoute(), require("./routes/locales").getGetEditorConfigRoute(settings), ]); server.route({ path: "/editor/config", method: "GET", options: { auth: { strategy: "q-auth-azure-then-ld", mode: "try", }, description: "Returns configuration for Q Editor", tags: ["api", "editor"], }, handler: (request, h) => { return settings.editorConfig; }, }); }, };