41 lines
936 B
JavaScript
Raw Normal View History

'use strict';
const _ = require('lodash');
2019-07-24 11:51:35 +02:00
const { isSortable } = require('./attributes');
/**
* Retunrs a configuration default settings
*/
async function createDefaultSettings() {
const generalSettings = await strapi.plugins[
'content-manager'
].services.generalsettings.getGeneralSettings();
return {
...generalSettings,
mainField: 'id',
defaultSortBy: 'id',
defaultSortOrder: 'ASC',
};
}
/** Synchronisation functions */
2019-07-24 11:51:35 +02:00
async function syncSettings(configuration, schema) {
if (_.isEmpty(configuration.settings)) return createDefaultSettings(schema);
const { mainField = 'id', defaultSortBy = 'id' } =
configuration.settings || {};
return {
...configuration.settings,
2019-07-24 11:51:35 +02:00
mainField: isSortable(schema, mainField) ? mainField : 'id',
defaultSortBy: isSortable(schema, defaultSortBy) ? defaultSortBy : 'id',
};
}
module.exports = {
createDefaultSettings,
syncSettings,
};