@payloadcms/db-mongodb 4.0.0-internal.bc5cf8c → 4.0.0-internal.c7d5de4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/dist/models/buildCollectionSchema.d.ts.map +1 -1
- package/dist/models/buildGlobalModel.d.ts.map +1 -1
- package/dist/models/buildSchema.d.ts.map +1 -1
- package/dist/models/buildSchema.js +14 -0
- package/dist/models/buildSchema.js.map +1 -1
- package/dist/queries/buildQuery.d.ts.map +1 -1
- package/dist/queries/buildSortParam.d.ts.map +1 -1
- package/dist/queries/getBuildQueryPlugin.d.ts.map +1 -1
- package/dist/queries/getLocalizedSortProperty.d.ts.map +1 -1
- package/dist/queries/operatorMap.d.ts.map +1 -1
- package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
- package/dist/testCredentials.d.ts.map +1 -1
- package/dist/transactions/beginTransaction.d.ts.map +1 -1
- package/dist/transactions/beginTransaction.js +0 -1
- package/dist/transactions/beginTransaction.js.map +1 -1
- package/dist/utilities/aggregatePaginate.d.ts.map +1 -1
- package/dist/utilities/buildJoinAggregation.d.ts.map +1 -1
- package/dist/utilities/buildProjectionFromSelect.d.ts.map +1 -1
- package/dist/utilities/getDBName.d.ts.map +1 -1
- package/dist/utilities/getEntity.d.ts +1 -1
- package/dist/utilities/getEntity.d.ts.map +1 -1
- package/dist/utilities/handleError.d.ts.map +1 -1
- package/dist/utilities/isObjectID.d.ts.map +1 -1
- package/dist/utilities/transform.d.ts.map +1 -1
- package/package.json +4 -4
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2018-
|
|
3
|
+
Copyright (c) 2018-2026 Payload CMS, LLC <info@payloadcms.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
6
|
a copy of this software and associated documentation files (the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCollectionSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildCollectionSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOjE,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"buildCollectionSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildCollectionSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOjE,eAAO,MAAM,qBAAqB,eACpB,yBAAyB,WAC5B,OAAO,yBAEf,MAoCF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildGlobalModel.d.ts","sourceRoot":"","sources":["../../src/models/buildGlobalModel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAK9C,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"buildGlobalModel.d.ts","sourceRoot":"","sources":["../../src/models/buildGlobalModel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAK9C,eAAO,MAAM,gBAAgB,YAAa,eAAe,KAAG,WAAW,GAAG,IAgCzE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,MAAM,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAA;AAGtF,OAAO,EAQL,KAAK,KAAK,EAEV,KAAK,cAAc,EAKnB,KAAK,OAAO,EAMZ,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,MAAM,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAA;AAGtF,OAAO,EAQL,KAAK,KAAK,EAEV,KAAK,cAAc,EAKnB,KAAK,OAAO,EAMZ,KAAK,sBAAsB,EAS5B,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAkFD,eAAO,MAAM,WAAW,SAAU;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC1C,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;CACjB,KAAG,MAqEH,CAAA"}
|
|
@@ -571,6 +571,19 @@ const text = (field, schema, payload, buildSchemaOptions, parentIsLocalized)=>{
|
|
|
571
571
|
[field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized)
|
|
572
572
|
});
|
|
573
573
|
};
|
|
574
|
+
const slug = (field, schema, payload, buildSchemaOptions, parentIsLocalized)=>{
|
|
575
|
+
const baseSchema = {
|
|
576
|
+
...formatBaseSchema({
|
|
577
|
+
buildSchemaOptions,
|
|
578
|
+
field,
|
|
579
|
+
parentIsLocalized
|
|
580
|
+
}),
|
|
581
|
+
type: String
|
|
582
|
+
};
|
|
583
|
+
schema.add({
|
|
584
|
+
[field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized)
|
|
585
|
+
});
|
|
586
|
+
};
|
|
574
587
|
const textarea = (field, schema, payload, buildSchemaOptions, parentIsLocalized)=>{
|
|
575
588
|
const baseSchema = {
|
|
576
589
|
...formatBaseSchema({
|
|
@@ -693,6 +706,7 @@ const getSchemaGenerator = (fieldType)=>{
|
|
|
693
706
|
return null;
|
|
694
707
|
};
|
|
695
708
|
const fieldToSchemaMap = {
|
|
709
|
+
slug,
|
|
696
710
|
array,
|
|
697
711
|
blocks,
|
|
698
712
|
checkbox,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/buildSchema.ts"],"sourcesContent":["import type { IndexOptions, Schema, SchemaOptions, SchemaTypeOptions } from 'mongoose'\n\nimport mongoose from 'mongoose'\nimport {\n type ArrayField,\n type BlocksField,\n type CheckboxField,\n type CodeField,\n type CollapsibleField,\n type DateField,\n type EmailField,\n type Field,\n type FieldAffectingData,\n type FlattenedField,\n type GroupField,\n type JSONField,\n type NonPresentationalField,\n type NumberField,\n type Payload,\n type PointField,\n type RadioField,\n type RelationshipField,\n type RichTextField,\n type RowField,\n type SanitizedCompoundIndex,\n type SanitizedLocalizationConfig,\n type SelectField,\n type Tab,\n type TabsField,\n type TextareaField,\n type TextField,\n type UploadField,\n} from 'payload'\nimport {\n fieldAffectsData,\n fieldIsPresentationalOnly,\n fieldIsVirtual,\n fieldShouldBeLocalized,\n tabHasName,\n} from 'payload/shared'\n\nexport type BuildSchemaOptions = {\n allowIDField?: boolean\n disableUnique?: boolean\n draftsEnabled?: boolean\n indexSortableFields?: boolean\n options?: SchemaOptions\n}\n\ntype FieldSchemaGenerator<T extends Field = Field> = (\n field: T,\n schema: Schema,\n config: Payload,\n buildSchemaOptions: BuildSchemaOptions,\n parentIsLocalized: boolean,\n) => void\n\n/**\n * get a field's defaultValue only if defined and not dynamic so that it can be set on the field schema\n * @param field\n */\nconst formatDefaultValue = (field: FieldAffectingData) =>\n typeof field.defaultValue !== 'undefined' && typeof field.defaultValue !== 'function'\n ? field.defaultValue\n : undefined\n\nconst formatBaseSchema = ({\n buildSchemaOptions,\n field,\n parentIsLocalized,\n}: {\n buildSchemaOptions: BuildSchemaOptions\n field: FieldAffectingData\n parentIsLocalized: boolean\n}) => {\n const { disableUnique, draftsEnabled, indexSortableFields } = buildSchemaOptions\n const schema: SchemaTypeOptions<unknown> = {\n default: formatDefaultValue(field),\n index: field.index || (!disableUnique && field.unique) || indexSortableFields || false,\n required: false,\n unique: (!disableUnique && field.unique) || false,\n }\n\n if (\n schema.unique &&\n (fieldShouldBeLocalized({ field, parentIsLocalized }) ||\n draftsEnabled ||\n (fieldAffectsData(field) &&\n field.type !== 'group' &&\n field.type !== 'tab' &&\n field.required !== true))\n ) {\n schema.sparse = true\n }\n\n if (field.hidden) {\n schema.hidden = true\n }\n\n return schema\n}\n\nconst localizeSchema = (\n entity: NonPresentationalField | Tab,\n schema: SchemaTypeOptions<any>,\n localization: false | SanitizedLocalizationConfig,\n parentIsLocalized: boolean,\n) => {\n if (\n fieldShouldBeLocalized({ field: entity, parentIsLocalized }) &&\n localization &&\n Array.isArray(localization.locales)\n ) {\n return {\n type: localization.localeCodes.reduce(\n (localeSchema, locale) => ({\n ...localeSchema,\n [locale]: schema,\n }),\n {\n _id: false,\n },\n ),\n localized: true,\n }\n }\n return schema\n}\n\nexport const buildSchema = (args: {\n buildSchemaOptions: BuildSchemaOptions\n compoundIndexes?: SanitizedCompoundIndex[]\n configFields: Field[]\n flattenedFields?: FlattenedField[]\n parentIsLocalized?: boolean\n payload: Payload\n}): Schema => {\n const {\n buildSchemaOptions = {},\n configFields,\n flattenedFields,\n parentIsLocalized,\n payload,\n } = args\n const { allowIDField, options } = buildSchemaOptions\n let fields = {}\n\n let schemaFields = configFields\n\n if (!allowIDField) {\n // Use flattenedFields if available to find custom id field regardless of nesting\n const fieldsToSearch = flattenedFields || schemaFields\n const idField = fieldsToSearch.find((field) => fieldAffectsData(field) && field.name === 'id')\n if (idField) {\n fields = {\n _id:\n idField.type === 'number'\n ? payload.db.useBigIntForNumberIDs\n ? mongoose.Schema.Types.BigInt\n : Number\n : String,\n }\n schemaFields = schemaFields.filter(\n (field) => !(fieldAffectsData(field) && field.name === 'id'),\n )\n }\n }\n\n const schema = new mongoose.Schema(fields, options as any)\n\n schemaFields.forEach((field) => {\n if (fieldIsVirtual(field)) {\n return\n }\n\n if (!fieldIsPresentationalOnly(field)) {\n const addFieldSchema = getSchemaGenerator(field.type)\n\n if (addFieldSchema) {\n addFieldSchema(field, schema, payload, buildSchemaOptions, parentIsLocalized ?? false)\n }\n }\n })\n\n if (args.compoundIndexes) {\n for (const index of args.compoundIndexes) {\n const indexDefinition: Record<string, 1> = {}\n\n for (const field of index.fields) {\n if (field.pathHasLocalized && payload.config.localization) {\n for (const locale of payload.config.localization.locales) {\n indexDefinition[field.localizedPath.replace('<locale>', locale.code)] = 1\n }\n } else {\n indexDefinition[field.path] = 1\n }\n }\n\n schema.index(indexDefinition, {\n unique: args.buildSchemaOptions.disableUnique ? false : index.unique,\n })\n }\n }\n\n return schema\n}\n\nconst array: FieldSchemaGenerator<ArrayField> = (\n field: ArrayField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n) => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: [\n buildSchema({\n buildSchemaOptions: {\n allowIDField: true,\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: field.fields,\n parentIsLocalized: parentIsLocalized || field.localized,\n payload,\n }),\n ],\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst blocks: FieldSchemaGenerator<BlocksField> = (\n field: BlocksField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const fieldSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: [new mongoose.Schema({}, { _id: false, discriminatorKey: 'blockType' })],\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n fieldSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n field.blocks.forEach((blockItem) => {\n const blockSchema = new mongoose.Schema({}, { _id: false, id: false })\n\n const block = typeof blockItem === 'string' ? payload.blocks[blockItem] : blockItem\n\n if (!block) {\n return\n }\n\n block.fields.forEach((blockField) => {\n if (fieldIsVirtual(blockField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(blockField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n blockField,\n blockSchema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || field.localized) ?? false,\n )\n }\n })\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n payload.config.localization.localeCodes.forEach((localeCode) => {\n // @ts-expect-error Possible incorrect typing in mongoose types, this works\n schema.path(`${field.name}.${localeCode}`).discriminator(block.slug, blockSchema)\n })\n } else {\n // @ts-expect-error Possible incorrect typing in mongoose types, this works\n schema.path(field.name).discriminator(block.slug, blockSchema)\n }\n })\n}\n\nconst checkbox: FieldSchemaGenerator<CheckboxField> = (\n field: CheckboxField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: Boolean,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst code: FieldSchemaGenerator<CodeField> = (\n field: CodeField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst collapsible: FieldSchemaGenerator<CollapsibleField> = (\n field: CollapsibleField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(subField, schema, payload, buildSchemaOptions, parentIsLocalized)\n }\n })\n}\n\nconst date: FieldSchemaGenerator<DateField> = (\n field: DateField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: Date,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst email: FieldSchemaGenerator<EmailField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst group: FieldSchemaGenerator<GroupField> = (\n field: GroupField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n if (fieldAffectsData(field)) {\n const formattedBaseSchema = formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized })\n\n // carry indexSortableFields through to versions if drafts enabled\n const indexSortableFields =\n buildSchemaOptions.indexSortableFields &&\n field.name === 'version' &&\n buildSchemaOptions.draftsEnabled\n\n const baseSchema: SchemaTypeOptions<any> = {\n ...formattedBaseSchema,\n type: buildSchema({\n buildSchemaOptions: {\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n indexSortableFields,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: field.fields,\n parentIsLocalized: parentIsLocalized || field.localized,\n payload,\n }),\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n baseSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n } else {\n field.fields.forEach((subField) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n subField,\n schema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || field.localized) ?? false,\n )\n }\n })\n }\n}\n\nconst json: FieldSchemaGenerator<JSONField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: mongoose.Schema.Types.Mixed,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst number: FieldSchemaGenerator<NumberField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: field.hasMany ? [Number] : Number,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst point: FieldSchemaGenerator<PointField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<unknown> = {\n type: {\n type: String,\n enum: ['Point'],\n ...(typeof field.defaultValue !== 'undefined' && {\n default: 'Point',\n }),\n },\n coordinates: {\n type: [Number],\n default: formatDefaultValue(field),\n required: false,\n },\n }\n\n if (\n buildSchemaOptions.disableUnique &&\n field.unique &&\n fieldShouldBeLocalized({ field, parentIsLocalized })\n ) {\n baseSchema.coordinates.sparse = true\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n\n if (field.index === true || field.index === undefined) {\n const indexOptions: IndexOptions = {}\n if (!buildSchemaOptions.disableUnique && field.unique) {\n indexOptions.sparse = true\n indexOptions.unique = true\n }\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n payload.config.localization.locales.forEach((locale) => {\n schema.index({ [`${field.name}.${locale.code}`]: '2dsphere' }, indexOptions)\n })\n } else {\n schema.index({ [field.name]: '2dsphere' }, indexOptions)\n }\n }\n}\n\nconst radio: FieldSchemaGenerator<RadioField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n enum: field.options.map((option) => {\n if (typeof option === 'object') {\n return option.value\n }\n return option\n }),\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst relationship: FieldSchemaGenerator<RelationshipField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n) => {\n const hasManyRelations = Array.isArray(field.relationTo)\n let schemaToReturn: { [key: string]: any } = {}\n\n const valueType = getRelationshipValueType(field, payload)\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n schemaToReturn = {\n _id: false,\n type: payload.config.localization.localeCodes.reduce((locales, locale) => {\n let localeSchema: { [key: string]: any } = {}\n\n if (hasManyRelations) {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.${locale}.relationTo`,\n },\n }\n } else {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n }\n\n return {\n ...locales,\n [locale]: field.hasMany\n ? { type: [localeSchema], default: formatDefaultValue(field) }\n : localeSchema,\n }\n }, {}),\n localized: true,\n }\n } else if (hasManyRelations) {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.relationTo`,\n },\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n } else {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n }\n\n schema.add({\n [field.name]: schemaToReturn,\n })\n}\n\nconst richText: FieldSchemaGenerator<RichTextField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: mongoose.Schema.Types.Mixed,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst row: FieldSchemaGenerator<RowField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(subField, schema, payload, buildSchemaOptions, parentIsLocalized)\n }\n })\n}\n\nconst select: FieldSchemaGenerator<SelectField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n enum: field.options.map((option) => {\n if (typeof option === 'object') {\n return option.value\n }\n return option\n }),\n }\n\n if (buildSchemaOptions.draftsEnabled || !field.required) {\n ;(baseSchema.enum as unknown[]).push(null)\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n field.hasMany ? [baseSchema] : baseSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n}\n\nconst tabs: FieldSchemaGenerator<TabsField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.tabs.forEach((tab) => {\n if (tabHasName(tab)) {\n if (fieldIsVirtual(tab)) {\n return\n }\n const baseSchema = {\n type: buildSchema({\n buildSchemaOptions: {\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: tab.fields,\n parentIsLocalized: parentIsLocalized || tab.localized,\n payload,\n }),\n }\n\n schema.add({\n [tab.name]: localizeSchema(tab, baseSchema, payload.config.localization, parentIsLocalized),\n })\n } else {\n tab.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n subField,\n schema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || tab.localized) ?? false,\n )\n }\n })\n }\n })\n}\n\nconst text: FieldSchemaGenerator<TextField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: field.hasMany ? [String] : String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst textarea: FieldSchemaGenerator<TextareaField> = (\n field: TextareaField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst upload: FieldSchemaGenerator<UploadField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const hasManyRelations = Array.isArray(field.relationTo)\n let schemaToReturn: { [key: string]: any } = {}\n\n const valueType = getRelationshipValueType(field, payload)\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n schemaToReturn = {\n _id: false,\n type: payload.config.localization.localeCodes.reduce((locales, locale) => {\n let localeSchema: { [key: string]: any } = {}\n\n if (hasManyRelations) {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.${locale}.relationTo`,\n },\n }\n } else {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n }\n\n return {\n ...locales,\n [locale]: field.hasMany\n ? { type: [localeSchema], default: formatDefaultValue(field) }\n : localeSchema,\n }\n }, {}),\n localized: true,\n }\n } else if (hasManyRelations) {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.relationTo`,\n },\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n } else {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n }\n\n schema.add({\n [field.name]: schemaToReturn,\n })\n}\n\nconst getSchemaGenerator = (fieldType: string): FieldSchemaGenerator | null => {\n if (fieldType in fieldToSchemaMap) {\n return fieldToSchemaMap[fieldType as keyof typeof fieldToSchemaMap] as FieldSchemaGenerator\n }\n\n return null\n}\n\nconst fieldToSchemaMap = {\n array,\n blocks,\n checkbox,\n code,\n collapsible,\n date,\n email,\n group,\n json,\n number,\n point,\n radio,\n relationship,\n richText,\n row,\n select,\n tabs,\n text,\n textarea,\n upload,\n}\n\nconst getRelationshipValueType = (field: RelationshipField | UploadField, payload: Payload) => {\n if (typeof field.relationTo === 'string') {\n const customIDType = payload.collections[field.relationTo]?.customIDType\n\n if (!customIDType) {\n return mongoose.Schema.Types.ObjectId\n }\n\n if (customIDType === 'number') {\n if (payload.db.useBigIntForNumberIDs) {\n return mongoose.Schema.Types.BigInt\n } else {\n return mongoose.Schema.Types.Number\n }\n }\n\n return mongoose.Schema.Types.String\n }\n\n // has custom id relationTo\n if (\n field.relationTo.some((relationTo) => {\n return !!payload.collections[relationTo]?.customIDType\n })\n ) {\n return mongoose.Schema.Types.Mixed\n }\n\n return mongoose.Schema.Types.ObjectId\n}\n"],"names":["mongoose","fieldAffectsData","fieldIsPresentationalOnly","fieldIsVirtual","fieldShouldBeLocalized","tabHasName","formatDefaultValue","field","defaultValue","undefined","formatBaseSchema","buildSchemaOptions","parentIsLocalized","disableUnique","draftsEnabled","indexSortableFields","schema","default","index","unique","required","type","sparse","hidden","localizeSchema","entity","localization","Array","isArray","locales","localeCodes","reduce","localeSchema","locale","_id","localized","buildSchema","args","configFields","flattenedFields","payload","allowIDField","options","fields","schemaFields","fieldsToSearch","idField","find","name","db","useBigIntForNumberIDs","Schema","Types","BigInt","Number","String","filter","forEach","addFieldSchema","getSchemaGenerator","compoundIndexes","indexDefinition","pathHasLocalized","config","localizedPath","replace","code","path","array","baseSchema","id","minimize","add","blocks","fieldSchema","discriminatorKey","blockItem","blockSchema","block","blockField","localeCode","discriminator","slug","checkbox","Boolean","collapsible","subField","date","Date","email","group","formattedBaseSchema","json","Mixed","number","hasMany","point","enum","coordinates","indexOptions","radio","map","option","value","relationship","hasManyRelations","relationTo","schemaToReturn","valueType","getRelationshipValueType","refPath","ref","richText","row","select","push","tabs","tab","text","textarea","upload","fieldType","fieldToSchemaMap","customIDType","collections","ObjectId","some"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/models/buildSchema.ts"],"sourcesContent":["import type { IndexOptions, Schema, SchemaOptions, SchemaTypeOptions } from 'mongoose'\n\nimport mongoose from 'mongoose'\nimport {\n type ArrayField,\n type BlocksField,\n type CheckboxField,\n type CodeField,\n type CollapsibleField,\n type DateField,\n type EmailField,\n type Field,\n type FieldAffectingData,\n type FlattenedField,\n type GroupField,\n type JSONField,\n type NonPresentationalField,\n type NumberField,\n type Payload,\n type PointField,\n type RadioField,\n type RelationshipField,\n type RichTextField,\n type RowField,\n type SanitizedCompoundIndex,\n type SanitizedLocalizationConfig,\n type SelectField,\n type SlugField,\n type Tab,\n type TabsField,\n type TextareaField,\n type TextField,\n type UploadField,\n} from 'payload'\nimport {\n fieldAffectsData,\n fieldIsPresentationalOnly,\n fieldIsVirtual,\n fieldShouldBeLocalized,\n tabHasName,\n} from 'payload/shared'\n\nexport type BuildSchemaOptions = {\n allowIDField?: boolean\n disableUnique?: boolean\n draftsEnabled?: boolean\n indexSortableFields?: boolean\n options?: SchemaOptions\n}\n\ntype FieldSchemaGenerator<T extends Field = Field> = (\n field: T,\n schema: Schema,\n config: Payload,\n buildSchemaOptions: BuildSchemaOptions,\n parentIsLocalized: boolean,\n) => void\n\n/**\n * get a field's defaultValue only if defined and not dynamic so that it can be set on the field schema\n * @param field\n */\nconst formatDefaultValue = (field: FieldAffectingData) =>\n typeof field.defaultValue !== 'undefined' && typeof field.defaultValue !== 'function'\n ? field.defaultValue\n : undefined\n\nconst formatBaseSchema = ({\n buildSchemaOptions,\n field,\n parentIsLocalized,\n}: {\n buildSchemaOptions: BuildSchemaOptions\n field: FieldAffectingData\n parentIsLocalized: boolean\n}) => {\n const { disableUnique, draftsEnabled, indexSortableFields } = buildSchemaOptions\n const schema: SchemaTypeOptions<unknown> = {\n default: formatDefaultValue(field),\n index: field.index || (!disableUnique && field.unique) || indexSortableFields || false,\n required: false,\n unique: (!disableUnique && field.unique) || false,\n }\n\n if (\n schema.unique &&\n (fieldShouldBeLocalized({ field, parentIsLocalized }) ||\n draftsEnabled ||\n (fieldAffectsData(field) &&\n field.type !== 'group' &&\n field.type !== 'tab' &&\n field.required !== true))\n ) {\n schema.sparse = true\n }\n\n if (field.hidden) {\n schema.hidden = true\n }\n\n return schema\n}\n\nconst localizeSchema = (\n entity: NonPresentationalField | Tab,\n schema: SchemaTypeOptions<any>,\n localization: false | SanitizedLocalizationConfig,\n parentIsLocalized: boolean,\n) => {\n if (\n fieldShouldBeLocalized({ field: entity, parentIsLocalized }) &&\n localization &&\n Array.isArray(localization.locales)\n ) {\n return {\n type: localization.localeCodes.reduce(\n (localeSchema, locale) => ({\n ...localeSchema,\n [locale]: schema,\n }),\n {\n _id: false,\n },\n ),\n localized: true,\n }\n }\n return schema\n}\n\nexport const buildSchema = (args: {\n buildSchemaOptions: BuildSchemaOptions\n compoundIndexes?: SanitizedCompoundIndex[]\n configFields: Field[]\n flattenedFields?: FlattenedField[]\n parentIsLocalized?: boolean\n payload: Payload\n}): Schema => {\n const {\n buildSchemaOptions = {},\n configFields,\n flattenedFields,\n parentIsLocalized,\n payload,\n } = args\n const { allowIDField, options } = buildSchemaOptions\n let fields = {}\n\n let schemaFields = configFields\n\n if (!allowIDField) {\n // Use flattenedFields if available to find custom id field regardless of nesting\n const fieldsToSearch = flattenedFields || schemaFields\n const idField = fieldsToSearch.find((field) => fieldAffectsData(field) && field.name === 'id')\n if (idField) {\n fields = {\n _id:\n idField.type === 'number'\n ? payload.db.useBigIntForNumberIDs\n ? mongoose.Schema.Types.BigInt\n : Number\n : String,\n }\n schemaFields = schemaFields.filter(\n (field) => !(fieldAffectsData(field) && field.name === 'id'),\n )\n }\n }\n\n const schema = new mongoose.Schema(fields, options as any)\n\n schemaFields.forEach((field) => {\n if (fieldIsVirtual(field)) {\n return\n }\n\n if (!fieldIsPresentationalOnly(field)) {\n const addFieldSchema = getSchemaGenerator(field.type)\n\n if (addFieldSchema) {\n addFieldSchema(field, schema, payload, buildSchemaOptions, parentIsLocalized ?? false)\n }\n }\n })\n\n if (args.compoundIndexes) {\n for (const index of args.compoundIndexes) {\n const indexDefinition: Record<string, 1> = {}\n\n for (const field of index.fields) {\n if (field.pathHasLocalized && payload.config.localization) {\n for (const locale of payload.config.localization.locales) {\n indexDefinition[field.localizedPath.replace('<locale>', locale.code)] = 1\n }\n } else {\n indexDefinition[field.path] = 1\n }\n }\n\n schema.index(indexDefinition, {\n unique: args.buildSchemaOptions.disableUnique ? false : index.unique,\n })\n }\n }\n\n return schema\n}\n\nconst array: FieldSchemaGenerator<ArrayField> = (\n field: ArrayField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n) => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: [\n buildSchema({\n buildSchemaOptions: {\n allowIDField: true,\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: field.fields,\n parentIsLocalized: parentIsLocalized || field.localized,\n payload,\n }),\n ],\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst blocks: FieldSchemaGenerator<BlocksField> = (\n field: BlocksField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const fieldSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: [new mongoose.Schema({}, { _id: false, discriminatorKey: 'blockType' })],\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n fieldSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n field.blocks.forEach((blockItem) => {\n const blockSchema = new mongoose.Schema({}, { _id: false, id: false })\n\n const block = typeof blockItem === 'string' ? payload.blocks[blockItem] : blockItem\n\n if (!block) {\n return\n }\n\n block.fields.forEach((blockField) => {\n if (fieldIsVirtual(blockField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(blockField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n blockField,\n blockSchema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || field.localized) ?? false,\n )\n }\n })\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n payload.config.localization.localeCodes.forEach((localeCode) => {\n // @ts-expect-error Possible incorrect typing in mongoose types, this works\n schema.path(`${field.name}.${localeCode}`).discriminator(block.slug, blockSchema)\n })\n } else {\n // @ts-expect-error Possible incorrect typing in mongoose types, this works\n schema.path(field.name).discriminator(block.slug, blockSchema)\n }\n })\n}\n\nconst checkbox: FieldSchemaGenerator<CheckboxField> = (\n field: CheckboxField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: Boolean,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst code: FieldSchemaGenerator<CodeField> = (\n field: CodeField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst collapsible: FieldSchemaGenerator<CollapsibleField> = (\n field: CollapsibleField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(subField, schema, payload, buildSchemaOptions, parentIsLocalized)\n }\n })\n}\n\nconst date: FieldSchemaGenerator<DateField> = (\n field: DateField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: Date,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst email: FieldSchemaGenerator<EmailField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst group: FieldSchemaGenerator<GroupField> = (\n field: GroupField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n if (fieldAffectsData(field)) {\n const formattedBaseSchema = formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized })\n\n // carry indexSortableFields through to versions if drafts enabled\n const indexSortableFields =\n buildSchemaOptions.indexSortableFields &&\n field.name === 'version' &&\n buildSchemaOptions.draftsEnabled\n\n const baseSchema: SchemaTypeOptions<any> = {\n ...formattedBaseSchema,\n type: buildSchema({\n buildSchemaOptions: {\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n indexSortableFields,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: field.fields,\n parentIsLocalized: parentIsLocalized || field.localized,\n payload,\n }),\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n baseSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n } else {\n field.fields.forEach((subField) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n subField,\n schema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || field.localized) ?? false,\n )\n }\n })\n }\n}\n\nconst json: FieldSchemaGenerator<JSONField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: mongoose.Schema.Types.Mixed,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst number: FieldSchemaGenerator<NumberField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: field.hasMany ? [Number] : Number,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst point: FieldSchemaGenerator<PointField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<unknown> = {\n type: {\n type: String,\n enum: ['Point'],\n ...(typeof field.defaultValue !== 'undefined' && {\n default: 'Point',\n }),\n },\n coordinates: {\n type: [Number],\n default: formatDefaultValue(field),\n required: false,\n },\n }\n\n if (\n buildSchemaOptions.disableUnique &&\n field.unique &&\n fieldShouldBeLocalized({ field, parentIsLocalized })\n ) {\n baseSchema.coordinates.sparse = true\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n\n if (field.index === true || field.index === undefined) {\n const indexOptions: IndexOptions = {}\n if (!buildSchemaOptions.disableUnique && field.unique) {\n indexOptions.sparse = true\n indexOptions.unique = true\n }\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n payload.config.localization.locales.forEach((locale) => {\n schema.index({ [`${field.name}.${locale.code}`]: '2dsphere' }, indexOptions)\n })\n } else {\n schema.index({ [field.name]: '2dsphere' }, indexOptions)\n }\n }\n}\n\nconst radio: FieldSchemaGenerator<RadioField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n enum: field.options.map((option) => {\n if (typeof option === 'object') {\n return option.value\n }\n return option\n }),\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst relationship: FieldSchemaGenerator<RelationshipField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n) => {\n const hasManyRelations = Array.isArray(field.relationTo)\n let schemaToReturn: { [key: string]: any } = {}\n\n const valueType = getRelationshipValueType(field, payload)\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n schemaToReturn = {\n _id: false,\n type: payload.config.localization.localeCodes.reduce((locales, locale) => {\n let localeSchema: { [key: string]: any } = {}\n\n if (hasManyRelations) {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.${locale}.relationTo`,\n },\n }\n } else {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n }\n\n return {\n ...locales,\n [locale]: field.hasMany\n ? { type: [localeSchema], default: formatDefaultValue(field) }\n : localeSchema,\n }\n }, {}),\n localized: true,\n }\n } else if (hasManyRelations) {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.relationTo`,\n },\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n } else {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n }\n\n schema.add({\n [field.name]: schemaToReturn,\n })\n}\n\nconst richText: FieldSchemaGenerator<RichTextField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: mongoose.Schema.Types.Mixed,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst row: FieldSchemaGenerator<RowField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(subField, schema, payload, buildSchemaOptions, parentIsLocalized)\n }\n })\n}\n\nconst select: FieldSchemaGenerator<SelectField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n enum: field.options.map((option) => {\n if (typeof option === 'object') {\n return option.value\n }\n return option\n }),\n }\n\n if (buildSchemaOptions.draftsEnabled || !field.required) {\n ;(baseSchema.enum as unknown[]).push(null)\n }\n\n schema.add({\n [field.name]: localizeSchema(\n field,\n field.hasMany ? [baseSchema] : baseSchema,\n payload.config.localization,\n parentIsLocalized,\n ),\n })\n}\n\nconst tabs: FieldSchemaGenerator<TabsField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n field.tabs.forEach((tab) => {\n if (tabHasName(tab)) {\n if (fieldIsVirtual(tab)) {\n return\n }\n const baseSchema = {\n type: buildSchema({\n buildSchemaOptions: {\n disableUnique: buildSchemaOptions.disableUnique,\n draftsEnabled: buildSchemaOptions.draftsEnabled,\n options: {\n _id: false,\n id: false,\n minimize: false,\n },\n },\n configFields: tab.fields,\n parentIsLocalized: parentIsLocalized || tab.localized,\n payload,\n }),\n }\n\n schema.add({\n [tab.name]: localizeSchema(tab, baseSchema, payload.config.localization, parentIsLocalized),\n })\n } else {\n tab.fields.forEach((subField: Field) => {\n if (fieldIsVirtual(subField)) {\n return\n }\n const addFieldSchema = getSchemaGenerator(subField.type)\n\n if (addFieldSchema) {\n addFieldSchema(\n subField,\n schema,\n payload,\n buildSchemaOptions,\n (parentIsLocalized || tab.localized) ?? false,\n )\n }\n })\n }\n })\n}\n\nconst text: FieldSchemaGenerator<TextField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: field.hasMany ? [String] : String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst slug: FieldSchemaGenerator<SlugField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema: SchemaTypeOptions<any> = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst textarea: FieldSchemaGenerator<TextareaField> = (\n field: TextareaField,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const baseSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: String,\n }\n\n schema.add({\n [field.name]: localizeSchema(field, baseSchema, payload.config.localization, parentIsLocalized),\n })\n}\n\nconst upload: FieldSchemaGenerator<UploadField> = (\n field,\n schema,\n payload,\n buildSchemaOptions,\n parentIsLocalized,\n): void => {\n const hasManyRelations = Array.isArray(field.relationTo)\n let schemaToReturn: { [key: string]: any } = {}\n\n const valueType = getRelationshipValueType(field, payload)\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && payload.config.localization) {\n schemaToReturn = {\n _id: false,\n type: payload.config.localization.localeCodes.reduce((locales, locale) => {\n let localeSchema: { [key: string]: any } = {}\n\n if (hasManyRelations) {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.${locale}.relationTo`,\n },\n }\n } else {\n localeSchema = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n }\n\n return {\n ...locales,\n [locale]: field.hasMany\n ? { type: [localeSchema], default: formatDefaultValue(field) }\n : localeSchema,\n }\n }, {}),\n localized: true,\n }\n } else if (hasManyRelations) {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n _id: false,\n type: mongoose.Schema.Types.Mixed,\n relationTo: { type: String, enum: field.relationTo },\n value: {\n type: valueType,\n refPath: `${field.name}.relationTo`,\n },\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n } else {\n schemaToReturn = {\n ...formatBaseSchema({ buildSchemaOptions, field, parentIsLocalized }),\n type: valueType,\n ref: field.relationTo,\n }\n\n if (field.hasMany) {\n schemaToReturn = {\n type: [schemaToReturn],\n default: formatDefaultValue(field),\n }\n }\n }\n\n schema.add({\n [field.name]: schemaToReturn,\n })\n}\n\nconst getSchemaGenerator = (fieldType: string): FieldSchemaGenerator | null => {\n if (fieldType in fieldToSchemaMap) {\n return fieldToSchemaMap[fieldType as keyof typeof fieldToSchemaMap] as FieldSchemaGenerator\n }\n\n return null\n}\n\nconst fieldToSchemaMap = {\n slug,\n array,\n blocks,\n checkbox,\n code,\n collapsible,\n date,\n email,\n group,\n json,\n number,\n point,\n radio,\n relationship,\n richText,\n row,\n select,\n tabs,\n text,\n textarea,\n upload,\n}\n\nconst getRelationshipValueType = (field: RelationshipField | UploadField, payload: Payload) => {\n if (typeof field.relationTo === 'string') {\n const customIDType = payload.collections[field.relationTo]?.customIDType\n\n if (!customIDType) {\n return mongoose.Schema.Types.ObjectId\n }\n\n if (customIDType === 'number') {\n if (payload.db.useBigIntForNumberIDs) {\n return mongoose.Schema.Types.BigInt\n } else {\n return mongoose.Schema.Types.Number\n }\n }\n\n return mongoose.Schema.Types.String\n }\n\n // has custom id relationTo\n if (\n field.relationTo.some((relationTo) => {\n return !!payload.collections[relationTo]?.customIDType\n })\n ) {\n return mongoose.Schema.Types.Mixed\n }\n\n return mongoose.Schema.Types.ObjectId\n}\n"],"names":["mongoose","fieldAffectsData","fieldIsPresentationalOnly","fieldIsVirtual","fieldShouldBeLocalized","tabHasName","formatDefaultValue","field","defaultValue","undefined","formatBaseSchema","buildSchemaOptions","parentIsLocalized","disableUnique","draftsEnabled","indexSortableFields","schema","default","index","unique","required","type","sparse","hidden","localizeSchema","entity","localization","Array","isArray","locales","localeCodes","reduce","localeSchema","locale","_id","localized","buildSchema","args","configFields","flattenedFields","payload","allowIDField","options","fields","schemaFields","fieldsToSearch","idField","find","name","db","useBigIntForNumberIDs","Schema","Types","BigInt","Number","String","filter","forEach","addFieldSchema","getSchemaGenerator","compoundIndexes","indexDefinition","pathHasLocalized","config","localizedPath","replace","code","path","array","baseSchema","id","minimize","add","blocks","fieldSchema","discriminatorKey","blockItem","blockSchema","block","blockField","localeCode","discriminator","slug","checkbox","Boolean","collapsible","subField","date","Date","email","group","formattedBaseSchema","json","Mixed","number","hasMany","point","enum","coordinates","indexOptions","radio","map","option","value","relationship","hasManyRelations","relationTo","schemaToReturn","valueType","getRelationshipValueType","refPath","ref","richText","row","select","push","tabs","tab","text","textarea","upload","fieldType","fieldToSchemaMap","customIDType","collections","ObjectId","some"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAIlD,eAAO,MAAM,UAAU,oEAOpB;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,qCAYA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSortParam.d.ts","sourceRoot":"","sources":["../../src/queries/buildSortParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,eAAe,EACpB,KAAK,IAAI,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,EAAE,CAAA;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAgH1C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"buildSortParam.d.ts","sourceRoot":"","sources":["../../src/queries/buildSortParam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,eAAe,EACpB,KAAK,IAAI,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAKlD,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,EAAE,CAAA;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAgH1C,eAAO,MAAM,cAAc,yGAUxB,IAAI,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAgF9B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBuildQueryPlugin.d.ts","sourceRoot":"","sources":["../../src/queries/getBuildQueryPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAM7D,KAAK,uBAAuB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAKD,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"getBuildQueryPlugin.d.ts","sourceRoot":"","sources":["../../src/queries/getBuildQueryPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAM7D,KAAK,uBAAuB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAKD,eAAO,MAAM,mBAAmB,yCAG7B,uBAAuB,cACiB,GAAG,SAmD7C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLocalizedSortProperty.d.ts","sourceRoot":"","sources":["../../src/queries/getLocalizedSortProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9D,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"getLocalizedSortProperty.d.ts","sourceRoot":"","sources":["../../src/queries/getLocalizedSortProperty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9D,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,wBAAwB,uGAOlC,IAAI,KAAG,MA8FT,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operatorMap.d.ts","sourceRoot":"","sources":["../../src/queries/operatorMap.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,WAAW,CAAA;AAErD,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"operatorMap.d.ts","sourceRoot":"","sources":["../../src/queries/operatorMap.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,WAAW,CAAA;AAErD,eAAO,MAAM,WAAW;IACtB,GAAG;IACH,MAAM;IACN,MAAM;IACN,YAAY;IACZ,kBAAkB;IAClB,EAAE;IACF,UAAU;IACV,SAAS;IACT,eAAe;IACf,IAAI;IACJ,UAAU;IACV,MAAM;IACN,MAAM;CACP,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAA;AAMnG,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,cAAc,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAmED,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAA;AAMnG,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,cAAc,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAmED,eAAO,MAAM,kBAAkB,qFAS5B,sBAAsB,KACrB;IACE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd,GACD,SAycH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testCredentials.d.ts","sourceRoot":"","sources":["../src/testCredentials.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,kBAAkB,CAAA;AACpC,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"testCredentials.d.ts","sourceRoot":"","sources":["../src/testCredentials.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,kBAAkB,CAAA;AACpC,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,UAAU;IACrB,IAAI;IACJ,IAAI;IACJ,GAAG;CACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beginTransaction.d.ts","sourceRoot":"","sources":["../../src/transactions/beginTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAU/C,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"beginTransaction.d.ts","sourceRoot":"","sources":["../../src/transactions/beginTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAU/C,eAAO,MAAM,gBAAgB,EAAE,gBAqB9B,CAAA"}
|
|
@@ -10,7 +10,6 @@ export const beginTransaction = async function beginTransaction(options) {
|
|
|
10
10
|
const client = this.connection.getClient();
|
|
11
11
|
const id = uuid();
|
|
12
12
|
if (!this.sessions[id]) {
|
|
13
|
-
// @ts-expect-error BaseDatabaseAdapter and MongoosAdapter (that extends Base) sessions aren't compatible.
|
|
14
13
|
this.sessions[id] = client.startSession();
|
|
15
14
|
}
|
|
16
15
|
if (this.sessions[id]?.inTransaction()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/transactions/beginTransaction.ts"],"sourcesContent":["import type { TransactionOptions } from 'mongodb'\nimport type { BeginTransaction } from 'payload'\n\nimport { APIError } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { MongooseAdapter } from '../index.js'\n\n// Needs await to fulfill the interface\n// @ts-expect-error TransactionOptions isn't compatible with BeginTransaction of the DatabaseAdapter interface.\n// eslint-disable-next-line @typescript-eslint/require-await\nexport const beginTransaction: BeginTransaction = async function beginTransaction(\n this: MongooseAdapter,\n options: TransactionOptions,\n) {\n if (!this.connection) {\n throw new APIError('beginTransaction called while no connection to the database exists')\n }\n\n const client = this.connection.getClient()\n const id = uuid()\n\n if (!this.sessions[id]) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/beginTransaction.ts"],"sourcesContent":["import type { TransactionOptions } from 'mongodb'\nimport type { BeginTransaction } from 'payload'\n\nimport { APIError } from 'payload'\nimport { v4 as uuid } from 'uuid'\n\nimport type { MongooseAdapter } from '../index.js'\n\n// Needs await to fulfill the interface\n// @ts-expect-error TransactionOptions isn't compatible with BeginTransaction of the DatabaseAdapter interface.\n// eslint-disable-next-line @typescript-eslint/require-await\nexport const beginTransaction: BeginTransaction = async function beginTransaction(\n this: MongooseAdapter,\n options: TransactionOptions,\n) {\n if (!this.connection) {\n throw new APIError('beginTransaction called while no connection to the database exists')\n }\n\n const client = this.connection.getClient()\n const id = uuid()\n\n if (!this.sessions[id]) {\n this.sessions[id] = client.startSession()\n }\n if (this.sessions[id]?.inTransaction()) {\n this.payload.logger.warn('beginTransaction called while transaction already exists')\n } else {\n this.sessions[id]?.startTransaction(options || (this.transactionOptions as TransactionOptions))\n }\n\n return id\n}\n"],"names":["APIError","v4","uuid","beginTransaction","options","connection","client","getClient","id","sessions","startSession","inTransaction","payload","logger","warn","startTransaction","transactionOptions"],"mappings":"AAGA,SAASA,QAAQ,QAAQ,UAAS;AAClC,SAASC,MAAMC,IAAI,QAAQ,OAAM;AAIjC,uCAAuC;AACvC,+GAA+G;AAC/G,4DAA4D;AAC5D,OAAO,MAAMC,mBAAqC,eAAeA,iBAE/DC,OAA2B;IAE3B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;QACpB,MAAM,IAAIL,SAAS;IACrB;IAEA,MAAMM,SAAS,IAAI,CAACD,UAAU,CAACE,SAAS;IACxC,MAAMC,KAAKN;IAEX,IAAI,CAAC,IAAI,CAACO,QAAQ,CAACD,GAAG,EAAE;QACtB,IAAI,CAACC,QAAQ,CAACD,GAAG,GAAGF,OAAOI,YAAY;IACzC;IACA,IAAI,IAAI,CAACD,QAAQ,CAACD,GAAG,EAAEG,iBAAiB;QACtC,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC;IAC3B,OAAO;QACL,IAAI,CAACL,QAAQ,CAACD,GAAG,EAAEO,iBAAiBX,WAAY,IAAI,CAACY,kBAAkB;IACzE;IAEA,OAAOR;AACT,EAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregatePaginate.d.ts","sourceRoot":"","sources":["../../src/utilities/aggregatePaginate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"aggregatePaginate.d.ts","sourceRoot":"","sources":["../../src/utilities/aggregatePaginate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,iBAAiB,mJAc3B;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,gBAAgB,CAAA;IAC5B,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,KAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAmF7B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildJoinAggregation.d.ts","sourceRoot":"","sources":["../../src/utilities/buildJoinAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOlD,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"buildJoinAggregation.d.ts","sourceRoot":"","sources":["../../src/utilities/buildJoinAggregation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,SAAS,EACd,KAAK,yBAAyB,EAC/B,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAOlD,KAAK,wBAAwB,GAAG;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,cAAc,CAAA;IAC1B,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,oBAAoB,mGAS9B,wBAAwB,KAAG,OAAO,CAAC,aAAa,EAAE,GAAG,SAAS,CA0chE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildProjectionFromSelect.d.ts","sourceRoot":"","sources":["../../src/utilities/buildProjectionFromSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGd,UAAU,EACX,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAgMlD,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"buildProjectionFromSelect.d.ts","sourceRoot":"","sources":["../../src/utilities/buildProjectionFromSelect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EAGd,UAAU,EACX,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAgMlD,eAAO,MAAM,yBAAyB,iCAInC;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB,KAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAmB1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDBName.d.ts","sourceRoot":"","sources":["../../src/utilities/getDBName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"getDBName.d.ts","sourceRoot":"","sources":["../../src/utilities/getDBName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEzD,KAAK,IAAI,GAAG;IACV,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,0DAKnB,IAAI,KAAG,MAuBT,CAAA"}
|
|
@@ -7,7 +7,7 @@ export declare const getCollection: ({ adapter, collectionSlug, versions, }: {
|
|
|
7
7
|
versions?: boolean;
|
|
8
8
|
}) => {
|
|
9
9
|
collectionConfig: SanitizedCollectionConfig;
|
|
10
|
-
customIDType: Collection[
|
|
10
|
+
customIDType: Collection['customIDType'];
|
|
11
11
|
Model: CollectionModel;
|
|
12
12
|
};
|
|
13
13
|
type BaseGetGlobalArgs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntity.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"getEntity.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAI3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE/D,eAAO,MAAM,aAAa,2CAIvB;IACD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG;IACF,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAA;IAExC,KAAK,EAAE,eAAe,CAAA;CA+BvB,CAAA;AAED,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,eAAe,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,UAAU,SAAS;IACjB,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;KAAE,GAAG,iBAAiB,GAAG;QAC5D,YAAY,EAAE,qBAAqB,CAAA;QACnC,KAAK,EAAE,WAAW,CAAA;KACnB,CAAA;IACD,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,iBAAiB,GAAG;QAC/C,YAAY,EAAE,qBAAqB,CAAA;QACnC,KAAK,EAAE,eAAe,CAAA;KACvB,CAAA;CACF;AAED,eAAO,MAAM,SAAS,EAAE,SAsBvB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAoC7C,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"handleError.d.ts","sourceRoot":"","sources":["../../src/utilities/handleError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAoC7C,eAAO,MAAM,WAAW,wCAKrB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;CAC9B,UAoCA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isObjectID.d.ts","sourceRoot":"","sources":["../../src/utilities/isObjectID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"isObjectID.d.ts","sourceRoot":"","sources":["../../src/utilities/isObjectID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,KAAK,CAAC,QAa1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/utilities/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAQN,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmQlD,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC9C,8BAA8B;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACzD,uCAAuC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AA2KD;;;GAGG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/utilities/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAQN,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAmQlD,KAAK,IAAI,GAAG;IACV,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE,GAAG,GAAG,CAAC,CAAA;IAC9C,8BAA8B;IAC9B,OAAO,EAAE,eAAe,CAAA;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACzD,uCAAuC;IACvC,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AA2KD;;;GAGG;AACH,eAAO,MAAM,SAAS,+HAYnB,IAAI,qBA6XN,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/db-mongodb",
|
|
3
|
-
"version": "4.0.0-internal.
|
|
3
|
+
"version": "4.0.0-internal.c7d5de4",
|
|
4
4
|
"description": "The officially supported MongoDB database adapter for Payload",
|
|
5
5
|
"homepage": "https://payloadcms.com",
|
|
6
6
|
"repository": {
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"@types/prompts": "^2.4.5",
|
|
54
54
|
"mongodb": "6.20.0",
|
|
55
55
|
"mongodb-memory-server": "10.1.4",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
56
|
+
"payload": "4.0.0-internal.c7d5de4",
|
|
57
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"payload": "4.0.0-internal.
|
|
60
|
+
"payload": "4.0.0-internal.c7d5de4"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "pnpm build:types && pnpm build:swc",
|