2019-07-22 12:15:16 +02:00
|
|
|
'use strict';
|
2019-07-22 17:01:25 +02:00
|
|
|
|
2019-07-22 12:15:16 +02:00
|
|
|
const storeUtils = require('./utils/store');
|
|
|
|
|
|
|
|
const defaultGeneralSettings = {
|
|
|
|
searchable: true,
|
|
|
|
filterable: true,
|
|
|
|
bulkable: true,
|
|
|
|
pageSize: 10,
|
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
async getGeneralSettings() {
|
|
|
|
const generalSettings = await storeUtils.getGeneralSettings();
|
|
|
|
|
|
|
|
return generalSettings || defaultGeneralSettings;
|
|
|
|
},
|
|
|
|
|
2019-07-22 17:01:25 +02:00
|
|
|
async setGeneralSettings(data) {
|
|
|
|
await storeUtils.setGeneralSettings(data);
|
|
|
|
|
|
|
|
// overwriite all the other configuration settings
|
|
|
|
const groupsService = strapi.plugins['content-manager'].services.groups;
|
|
|
|
const contentTypesService =
|
|
|
|
strapi.plugins['content-manager'].services.contenttypes;
|
|
|
|
|
|
|
|
const configurations = await storeUtils.getAllConfigurations();
|
2019-07-22 17:31:20 +02:00
|
|
|
|
2019-07-22 17:01:25 +02:00
|
|
|
await Promise.all(
|
2019-07-22 17:31:20 +02:00
|
|
|
configurations.map(value => {
|
2019-07-22 17:01:25 +02:00
|
|
|
const { uid, source } = value;
|
|
|
|
const settings = {
|
|
|
|
...value.settings,
|
|
|
|
...data,
|
|
|
|
};
|
|
|
|
|
|
|
|
if (value.isGroup) {
|
|
|
|
return groupsService.setConfiguration(value.uid, {
|
|
|
|
settings,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
return contentTypesService.setContentTypeConfiguration(
|
|
|
|
{ uid, source },
|
|
|
|
{ settings }
|
|
|
|
);
|
|
|
|
})
|
|
|
|
);
|
2019-07-22 12:15:16 +02:00
|
|
|
},
|
|
|
|
};
|