@payloadcms/db-mongodb 4.0.0-internal.d28e9fb → 4.0.0-internal.d7d662c

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 (126) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/connect.d.ts.map +1 -1
  3. package/dist/connect.js +9 -4
  4. package/dist/connect.js.map +1 -1
  5. package/dist/create.d.ts.map +1 -1
  6. package/dist/create.js +2 -1
  7. package/dist/create.js.map +1 -1
  8. package/dist/createGlobalVersion.js +1 -1
  9. package/dist/createGlobalVersion.js.map +1 -1
  10. package/dist/createMigration.d.ts.map +1 -1
  11. package/dist/createMigration.js +9 -2
  12. package/dist/createMigration.js.map +1 -1
  13. package/dist/createVersion.js +1 -1
  14. package/dist/createVersion.js.map +1 -1
  15. package/dist/deleteOne.js.map +1 -1
  16. package/dist/exports/migration-utils.d.ts +2 -0
  17. package/dist/exports/migration-utils.d.ts.map +1 -1
  18. package/dist/exports/migration-utils.js +2 -0
  19. package/dist/exports/migration-utils.js.map +1 -1
  20. package/dist/find.js +1 -1
  21. package/dist/find.js.map +1 -1
  22. package/dist/findDistinct.d.ts.map +1 -1
  23. package/dist/findDistinct.js +52 -8
  24. package/dist/findDistinct.js.map +1 -1
  25. package/dist/findOne.js +1 -1
  26. package/dist/findOne.js.map +1 -1
  27. package/dist/index.d.ts +1 -7
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/init.d.ts.map +1 -1
  31. package/dist/init.js +89 -67
  32. package/dist/init.js.map +1 -1
  33. package/dist/migrateFresh.d.ts +4 -2
  34. package/dist/migrateFresh.d.ts.map +1 -1
  35. package/dist/migrateFresh.js +21 -6
  36. package/dist/migrateFresh.js.map +1 -1
  37. package/dist/models/buildCollectionSchema.d.ts +8 -2
  38. package/dist/models/buildCollectionSchema.d.ts.map +1 -1
  39. package/dist/models/buildCollectionSchema.js +4 -2
  40. package/dist/models/buildCollectionSchema.js.map +1 -1
  41. package/dist/models/buildGlobalModel.d.ts +5 -1
  42. package/dist/models/buildGlobalModel.d.ts.map +1 -1
  43. package/dist/models/buildGlobalModel.js +4 -2
  44. package/dist/models/buildGlobalModel.js.map +1 -1
  45. package/dist/models/buildSchema.d.ts +4 -0
  46. package/dist/models/buildSchema.d.ts.map +1 -1
  47. package/dist/models/buildSchema.js +79 -27
  48. package/dist/models/buildSchema.js.map +1 -1
  49. package/dist/models/schemaBuildContext.d.ts +21 -0
  50. package/dist/models/schemaBuildContext.d.ts.map +1 -0
  51. package/dist/models/schemaBuildContext.js +29 -0
  52. package/dist/models/schemaBuildContext.js.map +1 -0
  53. package/dist/predefinedMigrations/localize-status.d.ts +4 -0
  54. package/dist/predefinedMigrations/localize-status.d.ts.map +1 -0
  55. package/dist/predefinedMigrations/localize-status.js +9 -0
  56. package/dist/predefinedMigrations/localize-status.js.map +1 -0
  57. package/dist/predefinedMigrations/migrateLocalizeStatus.d.ts +27 -0
  58. package/dist/predefinedMigrations/migrateLocalizeStatus.d.ts.map +1 -0
  59. package/dist/predefinedMigrations/migrateLocalizeStatus.js +324 -0
  60. package/dist/predefinedMigrations/migrateLocalizeStatus.js.map +1 -0
  61. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.d.ts.map +1 -1
  62. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.js +4 -4
  63. package/dist/predefinedMigrations/migrateRelationshipsV2_V3.js.map +1 -1
  64. package/dist/predefinedMigrations/migrateSizesToVariants.d.ts +13 -0
  65. package/dist/predefinedMigrations/migrateSizesToVariants.d.ts.map +1 -0
  66. package/dist/predefinedMigrations/migrateSizesToVariants.js +368 -0
  67. package/dist/predefinedMigrations/migrateSizesToVariants.js.map +1 -0
  68. package/dist/predefinedMigrations/sizes-to-variants.d.ts +5 -0
  69. package/dist/predefinedMigrations/sizes-to-variants.d.ts.map +1 -0
  70. package/dist/predefinedMigrations/sizes-to-variants.js +8 -0
  71. package/dist/predefinedMigrations/sizes-to-variants.js.map +1 -0
  72. package/dist/queries/buildSearchParams.d.ts.map +1 -1
  73. package/dist/queries/buildSearchParams.js +189 -6
  74. package/dist/queries/buildSearchParams.js.map +1 -1
  75. package/dist/queries/getLocalizedSortProperty.d.ts.map +1 -1
  76. package/dist/queries/getLocalizedSortProperty.js +1 -1
  77. package/dist/queries/getLocalizedSortProperty.js.map +1 -1
  78. package/dist/queries/operatorMap.d.ts.map +1 -1
  79. package/dist/queries/parseParams.js.map +1 -1
  80. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -1
  81. package/dist/queries/sanitizeQueryValue.js +2 -3
  82. package/dist/queries/sanitizeQueryValue.js.map +1 -1
  83. package/dist/queryDrafts.js +1 -1
  84. package/dist/queryDrafts.js.map +1 -1
  85. package/dist/testCredentials.d.ts.map +1 -1
  86. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  87. package/dist/transactions/beginTransaction.js +0 -1
  88. package/dist/transactions/beginTransaction.js.map +1 -1
  89. package/dist/updateGlobal.d.ts.map +1 -1
  90. package/dist/updateGlobal.js +10 -7
  91. package/dist/updateGlobal.js.map +1 -1
  92. package/dist/updateGlobalVersion.d.ts.map +1 -1
  93. package/dist/updateGlobalVersion.js +10 -7
  94. package/dist/updateGlobalVersion.js.map +1 -1
  95. package/dist/updateJobs.d.ts.map +1 -1
  96. package/dist/updateJobs.js +80 -20
  97. package/dist/updateJobs.js.map +1 -1
  98. package/dist/updateMany.d.ts.map +1 -1
  99. package/dist/updateMany.js +11 -9
  100. package/dist/updateMany.js.map +1 -1
  101. package/dist/updateOne.d.ts.map +1 -1
  102. package/dist/updateOne.js +10 -7
  103. package/dist/updateOne.js.map +1 -1
  104. package/dist/updateVersion.d.ts.map +1 -1
  105. package/dist/updateVersion.js +10 -7
  106. package/dist/updateVersion.js.map +1 -1
  107. package/dist/utilities/aggregatePaginate.d.ts.map +1 -1
  108. package/dist/utilities/aggregatePaginate.js +3 -1
  109. package/dist/utilities/aggregatePaginate.js.map +1 -1
  110. package/dist/utilities/buildJoinAggregation.d.ts +1 -1
  111. package/dist/utilities/buildJoinAggregation.d.ts.map +1 -1
  112. package/dist/utilities/buildJoinAggregation.js +19 -15
  113. package/dist/utilities/buildJoinAggregation.js.map +1 -1
  114. package/dist/utilities/buildProjectionFromSelect.js +1 -1
  115. package/dist/utilities/buildProjectionFromSelect.js.map +1 -1
  116. package/dist/utilities/getEntity.d.ts +1 -1
  117. package/dist/utilities/transform.d.ts.map +1 -1
  118. package/dist/utilities/transform.js +25 -34
  119. package/dist/utilities/transform.js.map +1 -1
  120. package/package.json +18 -21
  121. package/dist/queries/buildSortParam.spec.js +0 -123
  122. package/dist/queries/buildSortParam.spec.js.map +0 -1
  123. package/dist/queries/getLocalizedSortProperty.spec.js +0 -215
  124. package/dist/queries/getLocalizedSortProperty.spec.js.map +0 -1
  125. package/dist/utilities/transform.spec.js +0 -479
  126. package/dist/utilities/transform.spec.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/transform.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { flattenAllFields, type Field, type SanitizedConfig } from 'payload'\nimport { Types } from 'mongoose'\n\nimport { transform } from './transform.js'\nimport type { MongooseAdapter } from '../index.js'\n\nconst flattenRelationshipValues = (obj: Record<string, any>, prefix = ''): Record<string, any> => {\n return Object.keys(obj).reduce(\n (acc, key) => {\n const fullKey = prefix ? `${prefix}.${key}` : key\n const value = obj[key]\n\n if (value && typeof value === 'object' && !(value instanceof Types.ObjectId)) {\n Object.assign(acc, flattenRelationshipValues(value, fullKey))\n // skip relationTo and blockType\n } else if (!fullKey.endsWith('relationTo') && !fullKey.endsWith('blockType')) {\n acc[fullKey] = value\n }\n\n return acc\n },\n {} as Record<string, any>,\n )\n}\n\nconst relsFields: Field[] = [\n {\n name: 'rel_1',\n type: 'relationship',\n relationTo: 'rels',\n },\n {\n name: 'rel_1_l',\n type: 'relationship',\n localized: true,\n relationTo: 'rels',\n },\n {\n name: 'rel_2',\n type: 'relationship',\n hasMany: true,\n relationTo: 'rels',\n },\n {\n name: 'rel_2_l',\n type: 'relationship',\n hasMany: true,\n localized: true,\n relationTo: 'rels',\n },\n {\n name: 'rel_3',\n type: 'relationship',\n relationTo: ['rels'],\n },\n {\n name: 'rel_3_l',\n type: 'relationship',\n localized: true,\n relationTo: ['rels'],\n },\n {\n name: 'rel_4',\n type: 'relationship',\n hasMany: true,\n relationTo: ['rels'],\n },\n {\n name: 'rel_4_l',\n type: 'relationship',\n hasMany: true,\n localized: true,\n relationTo: ['rels'],\n },\n]\n\nconst referenceBlockFields: Field[] = [\n ...relsFields,\n {\n name: 'group',\n type: 'group',\n fields: relsFields,\n },\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n]\n\nconst config = {\n blocks: [\n {\n slug: 'reference-block',\n fields: referenceBlockFields,\n flattenedFields: flattenAllFields({ fields: referenceBlockFields }),\n },\n ],\n collections: [\n {\n slug: 'docs',\n fields: [\n ...relsFields,\n {\n name: 'array',\n type: 'array',\n fields: [\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [{ slug: 'block', fields: relsFields }],\n },\n ...relsFields,\n ],\n },\n {\n name: 'arrayLocalized',\n type: 'array',\n fields: [\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [{ slug: 'block', fields: relsFields }],\n },\n ...relsFields,\n ],\n localized: true,\n },\n {\n name: 'blocks',\n type: 'blocks',\n blocks: [\n {\n slug: 'block',\n fields: [\n ...relsFields,\n {\n name: 'group',\n type: 'group',\n fields: relsFields,\n },\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n ],\n },\n ],\n },\n {\n name: 'blockReferences',\n type: 'blocks',\n blockReferences: ['reference-block'],\n },\n {\n name: 'group',\n type: 'group',\n fields: [\n ...relsFields,\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n ],\n },\n {\n name: 'groupLocalized',\n type: 'group',\n fields: [\n ...relsFields,\n {\n name: 'array',\n type: 'array',\n fields: relsFields,\n },\n ],\n localized: true,\n },\n {\n name: 'groupAndRow',\n type: 'group',\n fields: [\n {\n type: 'row',\n fields: [\n ...relsFields,\n {\n type: 'array',\n name: 'array',\n fields: relsFields,\n },\n ],\n },\n ],\n },\n {\n type: 'tabs',\n tabs: [\n {\n name: 'tab',\n fields: relsFields,\n },\n {\n name: 'tabLocalized',\n fields: relsFields,\n localized: true,\n },\n {\n label: 'another',\n fields: [\n {\n type: 'tabs',\n tabs: [\n {\n name: 'nestedTab',\n fields: relsFields,\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n },\n {\n slug: 'rels',\n fields: [],\n },\n ],\n localization: {\n defaultLocale: 'en',\n localeCodes: ['en', 'es'],\n locales: [\n { code: 'en', label: 'EN' },\n { code: 'es', label: 'ES' },\n ],\n },\n} as SanitizedConfig\n\nconst relsData = {\n rel_1: new Types.ObjectId().toHexString(),\n rel_1_l: {\n en: new Types.ObjectId().toHexString(),\n es: new Types.ObjectId().toHexString(),\n },\n rel_2: [new Types.ObjectId().toHexString()],\n rel_2_l: {\n en: [new Types.ObjectId().toHexString()],\n es: [new Types.ObjectId().toHexString()],\n },\n rel_3: {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n rel_3_l: {\n en: {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n es: {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n },\n rel_4: [\n {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n ],\n rel_4_l: {\n en: [\n {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n ],\n es: [\n {\n relationTo: 'rels',\n value: new Types.ObjectId().toHexString(),\n },\n ],\n },\n}\n\ndescribe('transform', () => {\n it('should sanitize relationships', () => {\n const data = {\n ...relsData,\n array: [\n {\n ...relsData,\n array: [{ ...relsData }],\n blocks: [\n {\n blockType: 'block',\n ...relsData,\n },\n ],\n },\n ],\n arrayLocalized: {\n en: [\n {\n ...relsData,\n array: [{ ...relsData }],\n blocks: [\n {\n blockType: 'block',\n ...relsData,\n },\n ],\n },\n ],\n es: [\n {\n ...relsData,\n array: [{ ...relsData }],\n blocks: [\n {\n blockType: 'block',\n ...relsData,\n },\n ],\n },\n ],\n },\n blocks: [\n {\n blockType: 'block',\n ...relsData,\n array: [{ ...relsData }],\n group: { ...relsData },\n },\n ],\n blockReferences: [\n {\n blockType: 'reference-block',\n array: [{ ...relsData }],\n group: { ...relsData },\n ...relsData,\n },\n ],\n group: {\n ...relsData,\n array: [{ ...relsData }],\n },\n groupAndRow: {\n ...relsData,\n array: [{ ...relsData }],\n },\n groupLocalized: {\n en: {\n ...relsData,\n array: [{ ...relsData }],\n },\n es: {\n ...relsData,\n array: [{ ...relsData }],\n },\n },\n tab: { ...relsData },\n tabLocalized: {\n en: { ...relsData },\n es: { ...relsData },\n },\n nestedTab: { ...relsData },\n }\n const flattenValuesBefore = Object.values(flattenRelationshipValues(data))\n\n const mockAdapter = {\n payload: {\n config,\n },\n } as MongooseAdapter\n\n transform({\n adapter: mockAdapter,\n operation: 'write',\n data,\n fields: config.collections[0].fields,\n })\n if ('updatedAt' in data) {\n delete data.updatedAt\n }\n\n const flattenValuesAfter = Object.values(flattenRelationshipValues(data))\n\n flattenValuesAfter.forEach((value, i) => {\n expect(value).toBeInstanceOf(Types.ObjectId)\n expect(flattenValuesBefore[i]).toBe(value.toHexString())\n })\n })\n})\n"],"names":["describe","it","expect","flattenAllFields","Types","transform","flattenRelationshipValues","obj","prefix","Object","keys","reduce","acc","key","fullKey","value","ObjectId","assign","endsWith","relsFields","name","type","relationTo","localized","hasMany","referenceBlockFields","fields","config","blocks","slug","flattenedFields","collections","blockReferences","tabs","label","localization","defaultLocale","localeCodes","locales","code","relsData","rel_1","toHexString","rel_1_l","en","es","rel_2","rel_2_l","rel_3","rel_3_l","rel_4","rel_4_l","data","array","blockType","arrayLocalized","group","groupAndRow","groupLocalized","tab","tabLocalized","nestedTab","flattenValuesBefore","values","mockAdapter","payload","adapter","operation","updatedAt","flattenValuesAfter","forEach","i","toBeInstanceOf","toBe"],"mappings":"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"}