Merge branch 'master' of github.com:payloadcms/payload

This commit is contained in:
James
2022-10-21 15:39:36 -04:00
3 changed files with 9 additions and 6 deletions

View File

@@ -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,
},
);

View File

@@ -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;
}