2016-08-26 14:07:57 +02:00
|
|
|
'use strict';
|
|
|
|
|
2016-08-31 12:24:16 +02:00
|
|
|
const path = require('path');
|
2016-09-25 18:52:15 +02:00
|
|
|
const _ = require('lodash');
|
2016-09-26 17:28:40 +02:00
|
|
|
const fs = require('fs');
|
2016-08-31 12:24:16 +02:00
|
|
|
|
2016-08-26 14:07:57 +02:00
|
|
|
/**
|
|
|
|
* A set of functions called "actions" for `SettingsManager`
|
|
|
|
*/
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
2016-11-24 16:40:57 +01:00
|
|
|
getGeneralSettings: async (ctx) => {
|
2016-09-25 18:52:15 +02:00
|
|
|
// Pick values from `strapi.config`
|
|
|
|
const settings = _.pick(strapi.config, [
|
|
|
|
'name',
|
|
|
|
'version',
|
2016-11-22 12:05:37 +01:00
|
|
|
'description'
|
2016-09-25 18:52:15 +02:00
|
|
|
]);
|
|
|
|
|
2016-11-24 16:40:57 +01:00
|
|
|
ctx.body = settings;
|
2016-08-31 12:24:16 +02:00
|
|
|
},
|
|
|
|
|
2016-11-24 16:40:57 +01:00
|
|
|
updateSettings: async (ctx) => {
|
|
|
|
const data = ctx.request.body;
|
2016-10-04 16:31:52 +02:00
|
|
|
|
|
|
|
try {
|
2016-11-24 16:40:57 +01:00
|
|
|
const settingsUpdated = await strapi.plugins['settings-manager'].services.settingsservice.configurationsManager(strapi, data);
|
|
|
|
ctx.body = settingsUpdated.values;
|
2016-10-04 16:31:52 +02:00
|
|
|
} catch (err) {
|
2016-11-24 16:40:57 +01:00
|
|
|
console.log('err', err);
|
|
|
|
ctx.status = err && err.status || 400;
|
|
|
|
return ctx.body = {
|
2016-10-04 16:31:52 +02:00
|
|
|
message: err.msg || 'An error occurred during settings update'
|
|
|
|
};
|
2016-11-22 12:05:37 +01:00
|
|
|
}
|
2016-09-26 17:28:40 +02:00
|
|
|
},
|
|
|
|
|
2016-11-24 16:40:57 +01:00
|
|
|
file: async (ctx) => {
|
|
|
|
try {
|
|
|
|
const file = fs.readFileSync(path.resolve(__dirname, '..', 'public', 'build', ctx.params.file));
|
|
|
|
ctx.body = file;
|
|
|
|
} catch (err) {
|
|
|
|
ctx.body = ctx.notFound();
|
|
|
|
}
|
2016-08-26 14:07:57 +02:00
|
|
|
}
|
|
|
|
};
|