49 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-07-06 10:02:00 +02:00
'use strict';
module.exports = {
menu: async ctx => {
const Service = strapi.plugins['settings-manager'].services.settingsmanager;
2017-07-06 10:02:00 +02:00
ctx.send(Service.menu);
},
2017-07-06 10:02:00 +02:00
environments: async ctx => {
let envs = _.map(_.keys(strapi.config.environments), env => {
return {
name: env,
active: (strapi.config.environment === env)
}
});
2017-07-06 10:02:00 +02:00
2017-07-11 11:41:00 +02:00
ctx.send({ environments: envs });
},
2017-07-10 18:00:50 +02:00
get: async ctx => {
const Service = strapi.plugins['settings-manager'].services.settingsmanager;
const { slug, env } = ctx.params;
ctx.send(env ? Service[slug](env) : Service[slug]);
},
2017-07-10 18:00:50 +02:00
update: async ctx => {
const Service = strapi.plugins['settings-manager'].services.settingsmanager;
const { slug, env } = ctx.params;
let params = ctx.request.body;
const model = env ? Service[slug](env) : Service[slug];
const items = Service.getItems(model);
params = Service.cleanParams(params, items);
let validationErrors = Service.paramsValidation(params, items);
2017-07-11 11:41:00 +02:00
if (!_.isEmpty(validationErrors)) {
return ctx.badData(null, validationErrors);
2017-07-10 18:00:50 +02:00
}
2017-07-11 11:41:00 +02:00
Service.updateSettings(params, items, env);
ctx.send();
2017-07-10 18:00:50 +02:00
},
2017-07-06 10:02:00 +02:00
};