Skip to content

Commit

Permalink
use payload.collections[relationTo].customIDType, pass payload down t…
Browse files Browse the repository at this point in the history
…o buildSchema
  • Loading branch information
r1tsuu committed Nov 15, 2024
1 parent 55d8e40 commit b553a25
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 91 deletions.
8 changes: 4 additions & 4 deletions packages/db-mongodb/src/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ import { getDBName } from './utilities/getDBName.js'

export const init: Init = function init(this: MongooseAdapter) {
this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {
const schema = buildCollectionSchema(collection, this.payload.config)
const schema = buildCollectionSchema(collection, this.payload)

if (collection.versions) {
const versionModelName = getDBName({ config: collection, versions: true })

const versionCollectionFields = buildVersionCollectionFields(this.payload.config, collection)

const versionSchema = buildSchema(this.payload.config, versionCollectionFields, {
const versionSchema = buildSchema(this.payload, versionCollectionFields, {
disableUnique: true,
draftsEnabled: true,
indexSortableFields: this.payload.config.indexSortableFields,
Expand Down Expand Up @@ -66,15 +66,15 @@ export const init: Init = function init(this: MongooseAdapter) {
) as CollectionModel
})

this.globals = buildGlobalModel(this.payload.config)
this.globals = buildGlobalModel(this.payload)

this.payload.config.globals.forEach((global) => {
if (global.versions) {
const versionModelName = getDBName({ config: global, versions: true })

const versionGlobalFields = buildVersionGlobalFields(this.payload.config, global)

const versionSchema = buildSchema(this.payload.config, versionGlobalFields, {
const versionSchema = buildSchema(this.payload, versionGlobalFields, {
disableUnique: true,
draftsEnabled: true,
indexSortableFields: this.payload.config.indexSortableFields,
Expand Down
10 changes: 5 additions & 5 deletions packages/db-mongodb/src/models/buildCollectionSchema.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { PaginateOptions, Schema } from 'mongoose'
import type { SanitizedCollectionConfig, SanitizedConfig } from 'payload'
import type { Payload, SanitizedCollectionConfig } from 'payload'

import mongooseAggregatePaginate from 'mongoose-aggregate-paginate-v2'
import paginate from 'mongoose-paginate-v2'
Expand All @@ -9,12 +9,12 @@ import { buildSchema } from './buildSchema.js'

export const buildCollectionSchema = (
collection: SanitizedCollectionConfig,
config: SanitizedConfig,
payload: Payload,
schemaOptions = {},
): Schema => {
const schema = buildSchema(config, collection.fields, {
const schema = buildSchema(payload, collection.fields, {
draftsEnabled: Boolean(typeof collection?.versions === 'object' && collection.versions.drafts),
indexSortableFields: config.indexSortableFields,
indexSortableFields: payload.config.indexSortableFields,
options: {
minimize: false,
timestamps: collection.timestamps !== false,
Expand All @@ -34,7 +34,7 @@ export const buildCollectionSchema = (
schema.index(indexDefinition, { unique: true })
}

if (config.indexSortableFields && collection.timestamps !== false) {
if (payload.config.indexSortableFields && collection.timestamps !== false) {
schema.index({ updatedAt: 1 })
schema.index({ createdAt: 1 })
}
Expand Down
10 changes: 5 additions & 5 deletions packages/db-mongodb/src/models/buildGlobalModel.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { SanitizedConfig } from 'payload'
import type { Payload } from 'payload'

import mongoose from 'mongoose'

Expand All @@ -7,8 +7,8 @@ import type { GlobalModel } from '../types.js'
import { getBuildQueryPlugin } from '../queries/buildQuery.js'
import { buildSchema } from './buildSchema.js'

export const buildGlobalModel = (config: SanitizedConfig): GlobalModel | null => {
if (config.globals && config.globals.length > 0) {
export const buildGlobalModel = (payload: Payload): GlobalModel | null => {
if (payload.config.globals && payload.config.globals.length > 0) {
const globalsSchema = new mongoose.Schema(
{},
{ discriminatorKey: 'globalType', minimize: false, timestamps: true },
Expand All @@ -18,8 +18,8 @@ export const buildGlobalModel = (config: SanitizedConfig): GlobalModel | null =>

const Globals = mongoose.model('globals', globalsSchema, 'globals') as unknown as GlobalModel

Object.values(config.globals).forEach((globalConfig) => {
const globalSchema = buildSchema(config, globalConfig.fields, {
Object.values(payload.config.globals).forEach((globalConfig) => {
const globalSchema = buildSchema(payload, globalConfig.fields, {
options: {
minimize: false,
},
Expand Down
Loading

0 comments on commit b553a25

Please sign in to comment.