53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
'use strict';
|
||
|
||
const config = require('config');
|
||
const router = require('../lib/router-async').create();
|
||
const passport = require('../lib/passport');
|
||
|
||
const bluebird = require('bluebird');
|
||
const fsReadFile = bluebird.promisify(require('fs').readFile);
|
||
|
||
const path = require('path');
|
||
|
||
|
||
|
||
let fs = require('fs');
|
||
let path = require('path');
|
||
let _ = require('../lib/translate')._;
|
||
let editorHelpers = require('../lib/editor-helpers');
|
||
|
||
// FIXME - add authentication by sandboxToken
|
||
|
||
|
||
router.getAsync('/editor', passport.csrfProtection, async (req, res) => {
|
||
const resourceType = req.query.type;
|
||
const resourceId = req.query.id;
|
||
|
||
let languageStrings = null;
|
||
if (config.language && config.language !== 'en') {
|
||
const lang = config.language.split('_')[0];
|
||
try {
|
||
const file = path.join(__dirname, '..', 'client', 'public', 'mosaico', 'lang', 'mosaico-' + lang + '.json');
|
||
languageStrings = await fsReadFile(file, 'utf8');
|
||
} catch (err) {
|
||
}
|
||
}
|
||
|
||
/* ????
|
||
resource.editorName = resource.editorName || 'mosaico';
|
||
resource.editorData = !resource.editorData ?
|
||
{
|
||
template: req.query.template || 'versafix-1'
|
||
} :
|
||
JSON.parse(resource.editorData);
|
||
*/
|
||
|
||
res.render('mosaico/root', {
|
||
layout: 'mosaico/root-layout',
|
||
editorConfig: config.mosaico,
|
||
languageStrings: getLanguageStrings(config.language),
|
||
csrfToken: req.csrfToken(),
|
||
});
|
||
});
|
||
|
||
module.exports = router;
|