43 lines
974 B
JavaScript
Raw Normal View History

'use strict';
const _ = require('lodash');
const { hasListableAttribute } = 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 */
async function syncSettings(configuration, model) {
if (_.isEmpty(configuration.settings)) return createDefaultSettings(model);
const { mainField = 'id', defaultSortBy = 'id' } =
configuration.settings || {};
return {
...configuration.settings,
mainField: hasListableAttribute(model, mainField) ? mainField : 'id',
defaultSortBy: hasListableAttribute(model, defaultSortBy)
? defaultSortBy
: 'id',
};
}
module.exports = {
createDefaultSettings,
syncSettings,
};