mirror of
https://github.com/strapi/strapi.git
synced 2025-08-18 05:37:10 +00:00
43 lines
974 B
JavaScript
43 lines
974 B
JavaScript
![]() |
'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,
|
||
|
};
|