@payloadcms/db-mongodb 3.26.0-canary.bbb3083 → 3.27.0-canary.ecc3f49

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.
Files changed (164) hide show
  1. package/dist/connect.d.ts.map +1 -1
  2. package/dist/connect.js +5 -1
  3. package/dist/connect.js.map +1 -1
  4. package/dist/count.d.ts.map +1 -1
  5. package/dist/count.js +8 -4
  6. package/dist/count.js.map +1 -1
  7. package/dist/countGlobalVersions.d.ts.map +1 -1
  8. package/dist/countGlobalVersions.js +8 -3
  9. package/dist/countGlobalVersions.js.map +1 -1
  10. package/dist/countVersions.d.ts.map +1 -1
  11. package/dist/countVersions.js +8 -3
  12. package/dist/countVersions.js.map +1 -1
  13. package/dist/create.d.ts.map +1 -1
  14. package/dist/create.js +13 -6
  15. package/dist/create.js.map +1 -1
  16. package/dist/createGlobal.d.ts +1 -1
  17. package/dist/createGlobal.d.ts.map +1 -1
  18. package/dist/createGlobal.js +12 -5
  19. package/dist/createGlobal.js.map +1 -1
  20. package/dist/createGlobalVersion.d.ts.map +1 -1
  21. package/dist/createGlobalVersion.js +13 -5
  22. package/dist/createGlobalVersion.js.map +1 -1
  23. package/dist/createMigration.d.ts.map +1 -1
  24. package/dist/createMigration.js.map +1 -1
  25. package/dist/createVersion.d.ts.map +1 -1
  26. package/dist/createVersion.js +13 -5
  27. package/dist/createVersion.js.map +1 -1
  28. package/dist/deleteMany.d.ts +1 -1
  29. package/dist/deleteMany.d.ts.map +1 -1
  30. package/dist/deleteMany.js +8 -4
  31. package/dist/deleteMany.js.map +1 -1
  32. package/dist/deleteOne.d.ts.map +1 -1
  33. package/dist/deleteOne.js +14 -6
  34. package/dist/deleteOne.js.map +1 -1
  35. package/dist/deleteVersions.d.ts.map +1 -1
  36. package/dist/deleteVersions.js +9 -4
  37. package/dist/deleteVersions.js.map +1 -1
  38. package/dist/find.d.ts.map +1 -1
  39. package/dist/find.js +25 -8
  40. package/dist/find.js.map +1 -1
  41. package/dist/findGlobal.d.ts.map +1 -1
  42. package/dist/findGlobal.js +8 -5
  43. package/dist/findGlobal.js.map +1 -1
  44. package/dist/findGlobalVersions.d.ts.map +1 -1
  45. package/dist/findGlobalVersions.js +8 -4
  46. package/dist/findGlobalVersions.js.map +1 -1
  47. package/dist/findOne.d.ts +1 -1
  48. package/dist/findOne.d.ts.map +1 -1
  49. package/dist/findOne.js +18 -8
  50. package/dist/findOne.js.map +1 -1
  51. package/dist/findVersions.d.ts.map +1 -1
  52. package/dist/findVersions.js +8 -4
  53. package/dist/findVersions.js.map +1 -1
  54. package/dist/index.d.ts +6 -7
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +6 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/init.d.ts.map +1 -1
  59. package/dist/init.js +1 -5
  60. package/dist/init.js.map +1 -1
  61. package/dist/migrateFresh.d.ts.map +1 -1
  62. package/dist/migrateFresh.js.map +1 -1
  63. package/dist/models/buildCollectionSchema.d.ts.map +1 -1
  64. package/dist/models/buildCollectionSchema.js +0 -4
  65. package/dist/models/buildCollectionSchema.js.map +1 -1
  66. package/dist/models/buildSchema.d.ts.map +1 -1
  67. package/dist/models/buildSchema.js +545 -515
  68. package/dist/models/buildSchema.js.map +1 -1
  69. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.d.ts.map +1 -1
  70. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.js +21 -8
  71. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.js.map +1 -1
  72. package/dist/predefinedMigrations/migrateVersionsV1_V2.d.ts.map +1 -1
  73. package/dist/predefinedMigrations/migrateVersionsV1_V2.js +20 -8
  74. package/dist/predefinedMigrations/migrateVersionsV1_V2.js.map +1 -1
  75. package/dist/queries/buildSearchParams.d.ts +1 -1
  76. package/dist/queries/buildSearchParams.d.ts.map +1 -1
  77. package/dist/queries/buildSearchParams.js +42 -29
  78. package/dist/queries/buildSearchParams.js.map +1 -1
  79. package/dist/queries/buildSortParam.d.ts +2 -3
  80. package/dist/queries/buildSortParam.d.ts.map +1 -1
  81. package/dist/queries/buildSortParam.js +1 -1
  82. package/dist/queries/buildSortParam.js.map +1 -1
  83. package/dist/queries/getBuildQueryPlugin.d.ts.map +1 -1
  84. package/dist/queries/getBuildQueryPlugin.js +15 -8
  85. package/dist/queries/getBuildQueryPlugin.js.map +1 -1
  86. package/dist/queries/getLocalizedSortProperty.d.ts +1 -1
  87. package/dist/queries/getLocalizedSortProperty.d.ts.map +1 -1
  88. package/dist/queries/getLocalizedSortProperty.js +11 -6
  89. package/dist/queries/getLocalizedSortProperty.js.map +1 -1
  90. package/dist/queries/getLocalizedSortProperty.spec.js +8 -0
  91. package/dist/queries/getLocalizedSortProperty.spec.js.map +1 -1
  92. package/dist/queries/operatorMap.d.ts +1 -0
  93. package/dist/queries/operatorMap.d.ts.map +1 -1
  94. package/dist/queries/operatorMap.js.map +1 -1
  95. package/dist/queries/parseParams.d.ts +1 -1
  96. package/dist/queries/parseParams.d.ts.map +1 -1
  97. package/dist/queries/parseParams.js +3 -3
  98. package/dist/queries/parseParams.js.map +1 -1
  99. package/dist/queries/sanitizeQueryValue.d.ts +1 -1
  100. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  101. package/dist/queries/sanitizeQueryValue.js +30 -26
  102. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  103. package/dist/queryDrafts.d.ts.map +1 -1
  104. package/dist/queryDrafts.js +26 -8
  105. package/dist/queryDrafts.js.map +1 -1
  106. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  107. package/dist/transactions/beginTransaction.js +4 -2
  108. package/dist/transactions/beginTransaction.js.map +1 -1
  109. package/dist/transactions/commitTransaction.d.ts.map +1 -1
  110. package/dist/transactions/commitTransaction.js +1 -1
  111. package/dist/transactions/commitTransaction.js.map +1 -1
  112. package/dist/transactions/rollbackTransaction.d.ts.map +1 -1
  113. package/dist/transactions/rollbackTransaction.js +3 -3
  114. package/dist/transactions/rollbackTransaction.js.map +1 -1
  115. package/dist/types.d.ts +2 -2
  116. package/dist/types.d.ts.map +1 -1
  117. package/dist/types.js.map +1 -1
  118. package/dist/updateGlobal.d.ts.map +1 -1
  119. package/dist/updateGlobal.js +17 -7
  120. package/dist/updateGlobal.js.map +1 -1
  121. package/dist/updateGlobalVersion.d.ts +1 -1
  122. package/dist/updateGlobalVersion.d.ts.map +1 -1
  123. package/dist/updateGlobalVersion.js +14 -6
  124. package/dist/updateGlobalVersion.js.map +1 -1
  125. package/dist/updateMany.d.ts +3 -0
  126. package/dist/updateMany.d.ts.map +1 -0
  127. package/dist/updateMany.js +75 -0
  128. package/dist/updateMany.js.map +1 -0
  129. package/dist/updateOne.d.ts.map +1 -1
  130. package/dist/updateOne.js +17 -8
  131. package/dist/updateOne.js.map +1 -1
  132. package/dist/updateVersion.d.ts.map +1 -1
  133. package/dist/updateVersion.js +14 -5
  134. package/dist/updateVersion.js.map +1 -1
  135. package/dist/upsert.d.ts.map +1 -1
  136. package/dist/upsert.js +2 -1
  137. package/dist/upsert.js.map +1 -1
  138. package/dist/utilities/aggregatePaginate.d.ts +19 -0
  139. package/dist/utilities/aggregatePaginate.d.ts.map +1 -0
  140. package/dist/utilities/aggregatePaginate.js +78 -0
  141. package/dist/utilities/aggregatePaginate.js.map +1 -0
  142. package/dist/utilities/buildJoinAggregation.d.ts +5 -6
  143. package/dist/utilities/buildJoinAggregation.d.ts.map +1 -1
  144. package/dist/utilities/buildJoinAggregation.js +39 -36
  145. package/dist/utilities/buildJoinAggregation.js.map +1 -1
  146. package/dist/utilities/buildProjectionFromSelect.d.ts.map +1 -1
  147. package/dist/utilities/buildProjectionFromSelect.js +8 -4
  148. package/dist/utilities/buildProjectionFromSelect.js.map +1 -1
  149. package/dist/utilities/getDBName.d.ts +1 -1
  150. package/dist/utilities/getDBName.d.ts.map +1 -1
  151. package/dist/utilities/getDBName.js +6 -2
  152. package/dist/utilities/getDBName.js.map +1 -1
  153. package/dist/utilities/getEntity.d.ts +33 -0
  154. package/dist/utilities/getEntity.d.ts.map +1 -0
  155. package/dist/utilities/getEntity.js +49 -0
  156. package/dist/utilities/getEntity.js.map +1 -0
  157. package/dist/utilities/handleError.d.ts +1 -1
  158. package/dist/utilities/handleError.d.ts.map +1 -1
  159. package/dist/utilities/handleError.js +3 -2
  160. package/dist/utilities/handleError.js.map +1 -1
  161. package/dist/utilities/transform.d.ts.map +1 -1
  162. package/dist/utilities/transform.js +10 -9
  163. package/dist/utilities/transform.js.map +1 -1
  164. package/package.json +6 -5
@@ -115,12 +115,12 @@ const sanitizeDate = ({ field, locale, ref, value })=>{
115
115
  ref[field.name] = value;
116
116
  }
117
117
  };
118
- export const transform = ({ adapter, data, fields, globalSlug, operation, parentIsLocalized, validateRelationships = true })=>{
118
+ export const transform = ({ adapter, data, fields, globalSlug, operation, parentIsLocalized = false, validateRelationships = true })=>{
119
119
  if (Array.isArray(data)) {
120
- for(let i = 0; i < data.length; i++){
120
+ for (const item of data){
121
121
  transform({
122
122
  adapter,
123
- data: data[i],
123
+ data: item,
124
124
  fields,
125
125
  globalSlug,
126
126
  operation,
@@ -141,11 +141,12 @@ export const transform = ({ adapter, data, fields, globalSlug, operation, parent
141
141
  if (operation === 'write' && globalSlug) {
142
142
  data.globalType = globalSlug;
143
143
  }
144
- const sanitize = ({ field, ref })=>{
145
- if (!ref || typeof ref !== 'object') {
144
+ const sanitize = ({ field, ref: incomingRef })=>{
145
+ if (!incomingRef || typeof incomingRef !== 'object') {
146
146
  return;
147
147
  }
148
- if (field.type === 'date' && operation === 'read' && ref[field.name]) {
148
+ const ref = incomingRef;
149
+ if (field.type === 'date' && operation === 'read' && field.name in ref && ref[field.name]) {
149
150
  if (config.localization && fieldShouldBeLocalized({
150
151
  field,
151
152
  parentIsLocalized
@@ -164,7 +165,7 @@ export const transform = ({ adapter, data, fields, globalSlug, operation, parent
164
165
  } else {
165
166
  sanitizeDate({
166
167
  field,
167
- ref: ref,
168
+ ref,
168
169
  value: ref[field.name]
169
170
  });
170
171
  }
@@ -184,7 +185,7 @@ export const transform = ({ adapter, data, fields, globalSlug, operation, parent
184
185
  return;
185
186
  }
186
187
  for (const { code } of locales){
187
- const value = ref[field.name][code];
188
+ const value = fieldRef[code];
188
189
  if (value) {
189
190
  sanitizeRelationship({
190
191
  config,
@@ -204,7 +205,7 @@ export const transform = ({ adapter, data, fields, globalSlug, operation, parent
204
205
  field,
205
206
  locale: undefined,
206
207
  operation,
207
- ref: ref,
208
+ ref,
208
209
  validateRelationships,
209
210
  value: ref[field.name]
210
211
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/transform.ts"],"sourcesContent":["import type {\n CollectionConfig,\n DateField,\n Field,\n JoinField,\n RelationshipField,\n SanitizedConfig,\n TraverseFieldsCallback,\n UploadField,\n} from 'payload'\n\nimport { Types } from 'mongoose'\nimport { traverseFields } from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized } from 'payload/shared'\n\nimport type { MongooseAdapter } from '../index.js'\n\ninterface RelationObject {\n relationTo: string\n value: number | string\n}\n\nfunction isValidRelationObject(value: unknown): value is RelationObject {\n return typeof value === 'object' && value !== null && 'relationTo' in value && 'value' in value\n}\n\nconst convertRelationshipValue = ({\n operation,\n relatedCollection,\n validateRelationships,\n value,\n}: {\n operation: Args['operation']\n relatedCollection: CollectionConfig\n validateRelationships?: boolean\n value: unknown\n}) => {\n const customIDField = relatedCollection.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n if (operation === 'read') {\n if (value instanceof Types.ObjectId) {\n return value.toHexString()\n }\n\n return value\n }\n\n if (customIDField) {\n return value\n }\n\n if (typeof value === 'string') {\n try {\n return new Types.ObjectId(value)\n } catch (e) {\n if (validateRelationships) {\n throw e\n }\n return value\n }\n }\n\n return value\n}\n\nconst sanitizeRelationship = ({\n config,\n field,\n locale,\n operation,\n ref,\n validateRelationships,\n value,\n}: {\n config: SanitizedConfig\n field: JoinField | RelationshipField | UploadField\n locale?: string\n operation: Args['operation']\n ref: Record<string, unknown>\n validateRelationships?: boolean\n value?: unknown\n}) => {\n if (field.type === 'join') {\n if (\n operation === 'read' &&\n value &&\n typeof value === 'object' &&\n 'docs' in value &&\n Array.isArray(value.docs)\n ) {\n for (let i = 0; i < value.docs.length; i++) {\n const item = value.docs[i]\n\n if (item instanceof Types.ObjectId) {\n value.docs[i] = item.toHexString()\n } else if (Array.isArray(field.collection) && item) {\n // Fields here for polymorphic joins cannot be determinted, JSON.parse needed\n value.docs[i] = JSON.parse(JSON.stringify(value.docs[i]))\n }\n }\n }\n\n return value\n }\n let relatedCollection: CollectionConfig | undefined\n let result = value\n\n const hasManyRelations = typeof field.relationTo !== 'string'\n\n if (!hasManyRelations) {\n relatedCollection = config.collections?.find(({ slug }) => slug === field.relationTo)\n }\n\n if (Array.isArray(value)) {\n result = value.map((val) => {\n // Handle has many - polymorphic\n if (isValidRelationObject(val)) {\n const relatedCollectionForSingleValue = config.collections?.find(\n ({ slug }) => slug === val.relationTo,\n )\n\n if (relatedCollectionForSingleValue) {\n return {\n relationTo: val.relationTo,\n value: convertRelationshipValue({\n operation,\n relatedCollection: relatedCollectionForSingleValue,\n validateRelationships,\n value: val.value,\n }),\n }\n }\n }\n\n if (relatedCollection) {\n return convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value: val,\n })\n }\n\n return val\n })\n }\n // Handle has one - polymorphic\n else if (isValidRelationObject(value)) {\n relatedCollection = config.collections?.find(({ slug }) => slug === value.relationTo)\n\n if (relatedCollection) {\n result = {\n relationTo: value.relationTo,\n value: convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value: value.value,\n }),\n }\n }\n }\n // Handle has one\n else if (relatedCollection) {\n result = convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value,\n })\n }\n\n if (locale) {\n ref[locale] = result\n } else {\n ref[field.name] = result\n }\n}\n\nconst sanitizeDate = ({\n field,\n locale,\n ref,\n value,\n}: {\n field: DateField\n locale?: string\n ref: Record<string, unknown>\n value: unknown\n}) => {\n if (!value) {\n return\n }\n\n if (value instanceof Date) {\n value = value.toISOString()\n }\n\n if (locale) {\n ref[locale] = value\n } else {\n ref[field.name] = value\n }\n}\n\ntype Args = {\n /** instance of the adapter */\n adapter: MongooseAdapter\n /** data to transform, can be an array of documents or a single document */\n data: Record<string, unknown> | Record<string, unknown>[]\n /** fields accossiated with the data */\n fields: Field[]\n /** slug of the global, pass only when the operation is `write` */\n globalSlug?: string\n /**\n * Type of the operation\n * read - sanitizes ObjectIDs, Date to strings.\n * write - sanitizes string relationships to ObjectIDs.\n */\n operation: 'read' | 'write'\n parentIsLocalized?: boolean\n /**\n * Throw errors on invalid relationships\n * @default true\n */\n validateRelationships?: boolean\n}\n\nexport const transform = ({\n adapter,\n data,\n fields,\n globalSlug,\n operation,\n parentIsLocalized,\n validateRelationships = true,\n}: Args) => {\n if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n transform({ adapter, data: data[i], fields, globalSlug, operation, validateRelationships })\n }\n return\n }\n\n const {\n payload: { config },\n } = adapter\n\n if (operation === 'read') {\n delete data['__v']\n data.id = data._id\n delete data['_id']\n\n if (data.id instanceof Types.ObjectId) {\n data.id = data.id.toHexString()\n }\n }\n\n if (operation === 'write' && globalSlug) {\n data.globalType = globalSlug\n }\n\n const sanitize: TraverseFieldsCallback = ({ field, ref }) => {\n if (!ref || typeof ref !== 'object') {\n return\n }\n\n if (field.type === 'date' && operation === 'read' && ref[field.name]) {\n if (config.localization && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n const fieldRef = ref[field.name]\n if (!fieldRef || typeof fieldRef !== 'object') {\n return\n }\n\n for (const locale of config.localization.localeCodes) {\n sanitizeDate({\n field,\n ref: fieldRef,\n value: fieldRef[locale],\n })\n }\n } else {\n sanitizeDate({\n field,\n ref: ref as Record<string, unknown>,\n value: ref[field.name],\n })\n }\n }\n\n if (\n field.type === 'relationship' ||\n field.type === 'upload' ||\n (operation === 'read' && field.type === 'join')\n ) {\n if (!ref[field.name]) {\n return\n }\n\n // handle localized relationships\n if (config.localization && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n const locales = config.localization.locales\n const fieldRef = ref[field.name]\n if (typeof fieldRef !== 'object') {\n return\n }\n\n for (const { code } of locales) {\n const value = ref[field.name][code]\n if (value) {\n sanitizeRelationship({\n config,\n field,\n locale: code,\n operation,\n ref: fieldRef,\n validateRelationships,\n value,\n })\n }\n }\n } else {\n // handle non-localized relationships\n sanitizeRelationship({\n config,\n field,\n locale: undefined,\n operation,\n ref: ref as Record<string, unknown>,\n validateRelationships,\n value: ref[field.name],\n })\n }\n }\n }\n\n traverseFields({\n callback: sanitize,\n config,\n fields,\n fillEmpty: false,\n parentIsLocalized,\n ref: data,\n })\n}\n"],"names":["Types","traverseFields","fieldAffectsData","fieldShouldBeLocalized","isValidRelationObject","value","convertRelationshipValue","operation","relatedCollection","validateRelationships","customIDField","fields","find","field","name","ObjectId","toHexString","e","sanitizeRelationship","config","locale","ref","type","Array","isArray","docs","i","length","item","collection","JSON","parse","stringify","result","hasManyRelations","relationTo","collections","slug","map","val","relatedCollectionForSingleValue","sanitizeDate","Date","toISOString","transform","adapter","data","globalSlug","parentIsLocalized","payload","id","_id","globalType","sanitize","localization","fieldRef","localeCodes","locales","code","undefined","callback","fillEmpty"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utilities/transform.ts"],"sourcesContent":["import type {\n CollectionConfig,\n DateField,\n Field,\n JoinField,\n RelationshipField,\n SanitizedConfig,\n TraverseFieldsCallback,\n UploadField,\n} from 'payload'\n\nimport { Types } from 'mongoose'\nimport { traverseFields } from 'payload'\nimport { fieldAffectsData, fieldShouldBeLocalized } from 'payload/shared'\n\nimport type { MongooseAdapter } from '../index.js'\n\ninterface RelationObject {\n relationTo: string\n value: number | string\n}\n\nfunction isValidRelationObject(value: unknown): value is RelationObject {\n return typeof value === 'object' && value !== null && 'relationTo' in value && 'value' in value\n}\n\nconst convertRelationshipValue = ({\n operation,\n relatedCollection,\n validateRelationships,\n value,\n}: {\n operation: Args['operation']\n relatedCollection: CollectionConfig\n validateRelationships?: boolean\n value: unknown\n}) => {\n const customIDField = relatedCollection.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n if (operation === 'read') {\n if (value instanceof Types.ObjectId) {\n return value.toHexString()\n }\n\n return value\n }\n\n if (customIDField) {\n return value\n }\n\n if (typeof value === 'string') {\n try {\n return new Types.ObjectId(value)\n } catch (e) {\n if (validateRelationships) {\n throw e\n }\n return value\n }\n }\n\n return value\n}\n\nconst sanitizeRelationship = ({\n config,\n field,\n locale,\n operation,\n ref,\n validateRelationships,\n value,\n}: {\n config: SanitizedConfig\n field: JoinField | RelationshipField | UploadField\n locale?: string\n operation: Args['operation']\n ref: Record<string, unknown>\n validateRelationships?: boolean\n value?: unknown\n}) => {\n if (field.type === 'join') {\n if (\n operation === 'read' &&\n value &&\n typeof value === 'object' &&\n 'docs' in value &&\n Array.isArray(value.docs)\n ) {\n for (let i = 0; i < value.docs.length; i++) {\n const item = value.docs[i]\n\n if (item instanceof Types.ObjectId) {\n value.docs[i] = item.toHexString()\n } else if (Array.isArray(field.collection) && item) {\n // Fields here for polymorphic joins cannot be determinted, JSON.parse needed\n value.docs[i] = JSON.parse(JSON.stringify(value.docs[i]))\n }\n }\n }\n\n return value\n }\n let relatedCollection: CollectionConfig | undefined\n let result = value\n\n const hasManyRelations = typeof field.relationTo !== 'string'\n\n if (!hasManyRelations) {\n relatedCollection = config.collections?.find(({ slug }) => slug === field.relationTo)\n }\n\n if (Array.isArray(value)) {\n result = value.map((val) => {\n // Handle has many - polymorphic\n if (isValidRelationObject(val)) {\n const relatedCollectionForSingleValue = config.collections?.find(\n ({ slug }) => slug === val.relationTo,\n )\n\n if (relatedCollectionForSingleValue) {\n return {\n relationTo: val.relationTo,\n value: convertRelationshipValue({\n operation,\n relatedCollection: relatedCollectionForSingleValue,\n validateRelationships,\n value: val.value,\n }),\n }\n }\n }\n\n if (relatedCollection) {\n return convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value: val,\n })\n }\n\n return val\n })\n }\n // Handle has one - polymorphic\n else if (isValidRelationObject(value)) {\n relatedCollection = config.collections?.find(({ slug }) => slug === value.relationTo)\n\n if (relatedCollection) {\n result = {\n relationTo: value.relationTo,\n value: convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value: value.value,\n }),\n }\n }\n }\n // Handle has one\n else if (relatedCollection) {\n result = convertRelationshipValue({\n operation,\n relatedCollection,\n validateRelationships,\n value,\n })\n }\n\n if (locale) {\n ref[locale] = result\n } else {\n ref[field.name] = result\n }\n}\n\nconst sanitizeDate = ({\n field,\n locale,\n ref,\n value,\n}: {\n field: DateField\n locale?: string\n ref: Record<string, unknown>\n value: unknown\n}) => {\n if (!value) {\n return\n }\n\n if (value instanceof Date) {\n value = value.toISOString()\n }\n\n if (locale) {\n ref[locale] = value\n } else {\n ref[field.name] = value\n }\n}\n\ntype Args = {\n /** instance of the adapter */\n adapter: MongooseAdapter\n /** data to transform, can be an array of documents or a single document */\n data: Record<string, unknown> | Record<string, unknown>[]\n /** fields accossiated with the data */\n fields: Field[]\n /** slug of the global, pass only when the operation is `write` */\n globalSlug?: string\n /**\n * Type of the operation\n * read - sanitizes ObjectIDs, Date to strings.\n * write - sanitizes string relationships to ObjectIDs.\n */\n operation: 'read' | 'write'\n parentIsLocalized?: boolean\n /**\n * Throw errors on invalid relationships\n * @default true\n */\n validateRelationships?: boolean\n}\n\nexport const transform = ({\n adapter,\n data,\n fields,\n globalSlug,\n operation,\n parentIsLocalized = false,\n validateRelationships = true,\n}: Args) => {\n if (Array.isArray(data)) {\n for (const item of data) {\n transform({ adapter, data: item, fields, globalSlug, operation, validateRelationships })\n }\n return\n }\n\n const {\n payload: { config },\n } = adapter\n\n if (operation === 'read') {\n delete data['__v']\n data.id = data._id\n delete data['_id']\n\n if (data.id instanceof Types.ObjectId) {\n data.id = data.id.toHexString()\n }\n }\n\n if (operation === 'write' && globalSlug) {\n data.globalType = globalSlug\n }\n\n const sanitize: TraverseFieldsCallback = ({ field, ref: incomingRef }) => {\n if (!incomingRef || typeof incomingRef !== 'object') {\n return\n }\n\n const ref = incomingRef as Record<string, unknown>\n\n if (field.type === 'date' && operation === 'read' && field.name in ref && ref[field.name]) {\n if (config.localization && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n const fieldRef = ref[field.name] as Record<string, unknown>\n if (!fieldRef || typeof fieldRef !== 'object') {\n return\n }\n\n for (const locale of config.localization.localeCodes) {\n sanitizeDate({\n field,\n ref: fieldRef,\n value: fieldRef[locale],\n })\n }\n } else {\n sanitizeDate({\n field,\n ref,\n value: ref[field.name],\n })\n }\n }\n\n if (\n field.type === 'relationship' ||\n field.type === 'upload' ||\n (operation === 'read' && field.type === 'join')\n ) {\n if (!ref[field.name]) {\n return\n }\n\n // handle localized relationships\n if (config.localization && fieldShouldBeLocalized({ field, parentIsLocalized })) {\n const locales = config.localization.locales\n const fieldRef = ref[field.name] as Record<string, unknown>\n if (typeof fieldRef !== 'object') {\n return\n }\n\n for (const { code } of locales) {\n const value = fieldRef[code]\n if (value) {\n sanitizeRelationship({\n config,\n field,\n locale: code,\n operation,\n ref: fieldRef,\n validateRelationships,\n value,\n })\n }\n }\n } else {\n // handle non-localized relationships\n sanitizeRelationship({\n config,\n field,\n locale: undefined,\n operation,\n ref,\n validateRelationships,\n value: ref[field.name],\n })\n }\n }\n }\n\n traverseFields({\n callback: sanitize,\n config,\n fields,\n fillEmpty: false,\n parentIsLocalized,\n ref: data,\n })\n}\n"],"names":["Types","traverseFields","fieldAffectsData","fieldShouldBeLocalized","isValidRelationObject","value","convertRelationshipValue","operation","relatedCollection","validateRelationships","customIDField","fields","find","field","name","ObjectId","toHexString","e","sanitizeRelationship","config","locale","ref","type","Array","isArray","docs","i","length","item","collection","JSON","parse","stringify","result","hasManyRelations","relationTo","collections","slug","map","val","relatedCollectionForSingleValue","sanitizeDate","Date","toISOString","transform","adapter","data","globalSlug","parentIsLocalized","payload","id","_id","globalType","sanitize","incomingRef","localization","fieldRef","localeCodes","locales","code","undefined","callback","fillEmpty"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-mongodb",
3
- "version": "3.26.0-canary.bbb3083",
3
+ "version": "3.27.0-canary.ecc3f49",
4
4
  "description": "The officially supported MongoDB database adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -38,20 +38,21 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "mongoose": "8.9.5",
41
- "mongoose-aggregate-paginate-v2": "1.1.2",
42
41
  "mongoose-paginate-v2": "1.8.5",
43
42
  "prompts": "2.4.2",
44
43
  "uuid": "10.0.0"
45
44
  },
46
45
  "devDependencies": {
47
46
  "@types/mongoose-aggregate-paginate-v2": "1.0.12",
47
+ "@types/prompts": "^2.4.5",
48
+ "@types/uuid": "10.0.0",
48
49
  "mongodb": "6.12.0",
49
50
  "mongodb-memory-server": "^10",
50
- "@payloadcms/eslint-config": "3.9.0",
51
- "payload": "3.26.0-canary.bbb3083"
51
+ "payload": "3.27.0-canary.ecc3f49",
52
+ "@payloadcms/eslint-config": "3.9.0"
52
53
  },
53
54
  "peerDependencies": {
54
- "payload": "3.26.0-canary.bbb3083"
55
+ "payload": "3.27.0-canary.ecc3f49"
55
56
  },
56
57
  "scripts": {
57
58
  "build": "pnpm build:types && pnpm build:swc",