2017-07-06 10:02:00 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
module.exports = {
|
2017-07-10 11:40:41 +02:00
|
|
|
menu: async ctx => {
|
|
|
|
const Service = strapi.plugins['settings-manager'].services.settingsmanager;
|
2017-07-06 10:02:00 +02:00
|
|
|
|
2017-07-10 11:40:41 +02:00
|
|
|
ctx.send(Service.menu);
|
|
|
|
},
|
2017-07-06 10:02:00 +02:00
|
|
|
|
2017-07-10 11:40:41 +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 11:40:41 +02:00
|
|
|
},
|
|
|
|
|
2017-07-10 18:00:50 +02:00
|
|
|
get: async ctx => {
|
2017-07-10 11:40:41 +02:00
|
|
|
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
|
|
|
};
|