Merge branch 'master' of github.com:payloadcms/payload
This commit is contained in:
@@ -12,6 +12,7 @@ const buildCollectionSchema = (collection: SanitizedCollectionConfig, config: Sa
|
||||
{
|
||||
draftsEnabled: Boolean(typeof collection?.versions === 'object' && collection.versions.drafts),
|
||||
options: { timestamps: collection.timestamps !== false, ...schemaOptions },
|
||||
indexSortableFields: config.indexSortableFields,
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -40,18 +40,20 @@ export type BuildSchemaOptions = {
|
||||
disableUnique?: boolean
|
||||
draftsEnabled?: boolean
|
||||
global?: boolean
|
||||
indexSortableFields?: boolean
|
||||
}
|
||||
|
||||
type FieldSchemaGenerator = (field: Field, schema: Schema, config: SanitizedConfig, buildSchemaOptions: BuildSchemaOptions) => void;
|
||||
|
||||
const formatBaseSchema = (field: FieldAffectingData, buildSchemaOptions: BuildSchemaOptions) => {
|
||||
const { disableUnique, draftsEnabled, indexSortableFields } = buildSchemaOptions;
|
||||
const schema: SchemaTypeOptions<unknown> = {
|
||||
unique: (!buildSchemaOptions.disableUnique && field.unique) || false,
|
||||
unique: (!disableUnique && field.unique) || false,
|
||||
required: false,
|
||||
index: field.index || (!buildSchemaOptions.disableUnique && field.unique) || false,
|
||||
index: field.index || (!disableUnique && field.unique) || indexSortableFields || false,
|
||||
};
|
||||
|
||||
if ((schema.unique && (field.localized || buildSchemaOptions.draftsEnabled))) {
|
||||
if ((schema.unique && (field.localized || draftsEnabled))) {
|
||||
schema.sparse = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user