@payloadcms/drizzle 4.0.0-internal.ea6e8f8 → 4.0.0-internal.ee5d8bd

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 (169) hide show
  1. package/dist/count.d.ts.map +1 -1
  2. package/dist/count.js +3 -25
  3. package/dist/count.js.map +1 -1
  4. package/dist/countVersions.d.ts.map +1 -1
  5. package/dist/countVersions.js +4 -28
  6. package/dist/countVersions.js.map +1 -1
  7. package/dist/createGlobalVersion.d.ts.map +1 -1
  8. package/dist/createGlobalVersion.js +2 -15
  9. package/dist/createGlobalVersion.js.map +1 -1
  10. package/dist/createVersion.d.ts.map +1 -1
  11. package/dist/createVersion.js +1 -12
  12. package/dist/createVersion.js.map +1 -1
  13. package/dist/deleteOne.d.ts.map +1 -1
  14. package/dist/deleteOne.js +1 -18
  15. package/dist/deleteOne.js.map +1 -1
  16. package/dist/find/buildFindManyArgs.d.ts +2 -3
  17. package/dist/find/buildFindManyArgs.d.ts.map +1 -1
  18. package/dist/find/buildFindManyArgs.js +1 -2
  19. package/dist/find/buildFindManyArgs.js.map +1 -1
  20. package/dist/find/buildPolymorphicJoinQuery.d.ts +4 -4
  21. package/dist/find/buildPolymorphicJoinQuery.d.ts.map +1 -1
  22. package/dist/find/buildPolymorphicJoinQuery.js +26 -32
  23. package/dist/find/buildPolymorphicJoinQuery.js.map +1 -1
  24. package/dist/find/buildPolymorphicJoinWhere.js +1 -1
  25. package/dist/find/buildPolymorphicJoinWhere.js.map +1 -1
  26. package/dist/find/createPolymorphicJoinWherePlan.d.ts +2 -1
  27. package/dist/find/createPolymorphicJoinWherePlan.d.ts.map +1 -1
  28. package/dist/find/createPolymorphicJoinWherePlan.js +14 -5
  29. package/dist/find/createPolymorphicJoinWherePlan.js.map +1 -1
  30. package/dist/find/findMany.d.ts +1 -6
  31. package/dist/find/findMany.d.ts.map +1 -1
  32. package/dist/find/findMany.js +3 -16
  33. package/dist/find/findMany.js.map +1 -1
  34. package/dist/find/traverseFields.d.ts +2 -3
  35. package/dist/find/traverseFields.d.ts.map +1 -1
  36. package/dist/find/traverseFields.js +8 -54
  37. package/dist/find/traverseFields.js.map +1 -1
  38. package/dist/find.d.ts.map +1 -1
  39. package/dist/find.js +4 -32
  40. package/dist/find.js.map +1 -1
  41. package/dist/findDistinct.d.ts.map +1 -1
  42. package/dist/findDistinct.js +8 -107
  43. package/dist/findDistinct.js.map +1 -1
  44. package/dist/findGlobal.d.ts.map +1 -1
  45. package/dist/findGlobal.js +5 -22
  46. package/dist/findGlobal.js.map +1 -1
  47. package/dist/findGlobalVersions.js +3 -8
  48. package/dist/findGlobalVersions.js.map +1 -1
  49. package/dist/findOne.d.ts +1 -1
  50. package/dist/findOne.d.ts.map +1 -1
  51. package/dist/findOne.js +3 -30
  52. package/dist/findOne.js.map +1 -1
  53. package/dist/findVersions.d.ts.map +1 -1
  54. package/dist/findVersions.js +5 -32
  55. package/dist/findVersions.js.map +1 -1
  56. package/dist/index.d.ts +0 -10
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +0 -10
  59. package/dist/index.js.map +1 -1
  60. package/dist/postgres/insert.d.ts.map +1 -1
  61. package/dist/postgres/insert.js +2 -4
  62. package/dist/postgres/insert.js.map +1 -1
  63. package/dist/postgres/types.d.ts +0 -4
  64. package/dist/postgres/types.d.ts.map +1 -1
  65. package/dist/postgres/types.js.map +1 -1
  66. package/dist/queries/buildAndOrConditions.d.ts +2 -3
  67. package/dist/queries/buildAndOrConditions.d.ts.map +1 -1
  68. package/dist/queries/buildAndOrConditions.js +1 -2
  69. package/dist/queries/buildAndOrConditions.js.map +1 -1
  70. package/dist/queries/buildOrderBy.d.ts +2 -3
  71. package/dist/queries/buildOrderBy.d.ts.map +1 -1
  72. package/dist/queries/buildOrderBy.js +1 -2
  73. package/dist/queries/buildOrderBy.js.map +1 -1
  74. package/dist/queries/buildQuery.d.ts +2 -3
  75. package/dist/queries/buildQuery.d.ts.map +1 -1
  76. package/dist/queries/buildQuery.js +2 -4
  77. package/dist/queries/buildQuery.js.map +1 -1
  78. package/dist/queries/getTableColumnFromPath.d.ts +2 -3
  79. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  80. package/dist/queries/getTableColumnFromPath.js +27 -166
  81. package/dist/queries/getTableColumnFromPath.js.map +1 -1
  82. package/dist/queries/parseParams.d.ts +2 -3
  83. package/dist/queries/parseParams.d.ts.map +1 -1
  84. package/dist/queries/parseParams.js +1 -4
  85. package/dist/queries/parseParams.js.map +1 -1
  86. package/dist/queryDrafts.d.ts.map +1 -1
  87. package/dist/queryDrafts.js +4 -23
  88. package/dist/queryDrafts.js.map +1 -1
  89. package/dist/schema/build.d.ts.map +1 -1
  90. package/dist/schema/build.js +20 -23
  91. package/dist/schema/build.js.map +1 -1
  92. package/dist/sqlite/execute.js.map +1 -1
  93. package/dist/sqlite/insert.d.ts.map +1 -1
  94. package/dist/sqlite/insert.js +3 -5
  95. package/dist/sqlite/insert.js.map +1 -1
  96. package/dist/sqlite/types.d.ts +0 -4
  97. package/dist/sqlite/types.d.ts.map +1 -1
  98. package/dist/sqlite/types.js.map +1 -1
  99. package/dist/transactions/beginTransaction.d.ts.map +1 -1
  100. package/dist/transactions/beginTransaction.js +5 -13
  101. package/dist/transactions/beginTransaction.js.map +1 -1
  102. package/dist/transactions/commitTransaction.d.ts.map +1 -1
  103. package/dist/transactions/commitTransaction.js +5 -1
  104. package/dist/transactions/commitTransaction.js.map +1 -1
  105. package/dist/transform/read/traverseFields.js.map +1 -1
  106. package/dist/transform/write/array.d.ts +2 -3
  107. package/dist/transform/write/array.d.ts.map +1 -1
  108. package/dist/transform/write/array.js +1 -2
  109. package/dist/transform/write/array.js.map +1 -1
  110. package/dist/transform/write/blocks.d.ts +2 -3
  111. package/dist/transform/write/blocks.d.ts.map +1 -1
  112. package/dist/transform/write/blocks.js +1 -2
  113. package/dist/transform/write/blocks.js.map +1 -1
  114. package/dist/transform/write/index.d.ts.map +1 -1
  115. package/dist/transform/write/index.js +0 -2
  116. package/dist/transform/write/index.js.map +1 -1
  117. package/dist/transform/write/traverseFields.d.ts +1 -2
  118. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  119. package/dist/transform/write/traverseFields.js +6 -32
  120. package/dist/transform/write/traverseFields.js.map +1 -1
  121. package/dist/transform/write/types.d.ts +0 -7
  122. package/dist/transform/write/types.d.ts.map +1 -1
  123. package/dist/transform/write/types.js.map +1 -1
  124. package/dist/types.d.ts +0 -1
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/types.js.map +1 -1
  127. package/dist/updateGlobal.d.ts +1 -5
  128. package/dist/updateGlobal.d.ts.map +1 -1
  129. package/dist/updateGlobal.js +4 -96
  130. package/dist/updateGlobal.js.map +1 -1
  131. package/dist/updateOne.d.ts.map +1 -1
  132. package/dist/updateOne.js +5 -47
  133. package/dist/updateOne.js.map +1 -1
  134. package/dist/upsertRow/deleteExistingRowsByPath.d.ts.map +1 -1
  135. package/dist/upsertRow/deleteExistingRowsByPath.js +12 -17
  136. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -1
  137. package/dist/upsertRow/index.d.ts +1 -1
  138. package/dist/upsertRow/index.d.ts.map +1 -1
  139. package/dist/upsertRow/index.js +42 -132
  140. package/dist/upsertRow/index.js.map +1 -1
  141. package/dist/upsertRow/types.d.ts +0 -3
  142. package/dist/upsertRow/types.d.ts.map +1 -1
  143. package/dist/upsertRow/types.js.map +1 -1
  144. package/dist/utilities/blocksToJsonMigrator.d.ts.map +1 -1
  145. package/dist/utilities/blocksToJsonMigrator.js +6 -17
  146. package/dist/utilities/blocksToJsonMigrator.js.map +1 -1
  147. package/dist/utilities/createSchemaGenerator.d.ts.map +1 -1
  148. package/dist/utilities/createSchemaGenerator.js +7 -12
  149. package/dist/utilities/createSchemaGenerator.js.map +1 -1
  150. package/dist/utilities/executeSchemaHooks.js +1 -1
  151. package/dist/utilities/executeSchemaHooks.js.map +1 -1
  152. package/dist/utilities/formatGeneratedFile.d.ts +10 -0
  153. package/dist/utilities/formatGeneratedFile.d.ts.map +1 -0
  154. package/dist/utilities/formatGeneratedFile.js +58 -0
  155. package/dist/utilities/formatGeneratedFile.js.map +1 -0
  156. package/dist/utilities/getTransaction.js.map +1 -1
  157. package/package.json +16 -19
  158. package/dist/deleteBranchGlobal.d.ts +0 -10
  159. package/dist/deleteBranchGlobal.d.ts.map +0 -1
  160. package/dist/deleteBranchGlobal.js +0 -27
  161. package/dist/deleteBranchGlobal.js.map +0 -1
  162. package/dist/queries/buildBranchVisibility.d.ts +0 -11
  163. package/dist/queries/buildBranchVisibility.d.ts.map +0 -1
  164. package/dist/queries/buildBranchVisibility.js +0 -48
  165. package/dist/queries/buildBranchVisibility.js.map +0 -1
  166. package/dist/upsertBranchGlobalChange.d.ts +0 -3
  167. package/dist/upsertBranchGlobalChange.d.ts.map +0 -1
  168. package/dist/upsertBranchGlobalChange.js +0 -35
  169. package/dist/upsertBranchGlobalChange.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transform/write/blocks.ts"],"sourcesContent":["import type { FlattenedBlock, FlattenedBlocksField } from 'payload'\n\nimport { fieldShouldBeLocalized } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type {\n BlockRowToInsert,\n NumberToDelete,\n RelationshipToDelete,\n RowToInsert,\n TextToDelete,\n} from './types.js'\n\nimport { resolveBlockTableName } from '../../utilities/validateExistingBlockIsIdentical.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n baseTableName: string\n blocks: {\n [blockType: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n data: Record<string, unknown>[]\n field: FlattenedBlocksField\n locale?: string\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n parentIsLocalized: boolean\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToDelete: RelationshipToDelete[]\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n selectsToDelete: RowToInsert['selectsToDelete']\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\nexport const transformBlocks = ({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data,\n field,\n locale,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n}: Args) => {\n data.forEach((blockRow, i) => {\n if (typeof blockRow.blockType !== 'string') {\n return\n }\n\n const matchedBlock =\n adapter.payload.blocks[blockRow.blockType] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockRow.blockType,\n ) as FlattenedBlock | undefined)\n\n if (!matchedBlock) {\n return\n }\n const blockType = toSnakeCase(blockRow.blockType)\n\n const newRow: BlockRowToInsert = {\n arrays: {},\n arraysToPush: {},\n locales: {},\n row: {\n _order: i + 1,\n _path: `${path}${field.name}`,\n },\n }\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && locale) {\n newRow.row._locale = locale\n }\n if (withinArrayOrBlockLocale) {\n newRow.row._locale = withinArrayOrBlockLocale\n }\n\n const blockTableName = resolveBlockTableName(\n matchedBlock,\n adapter.tableNameMap.get(`${baseTableName}_blocks_${blockType}`),\n )\n\n if (!blocks[blockTableName]) {\n blocks[blockTableName] = []\n }\n\n const hasUUID = adapter.tables[blockTableName]._uuid\n\n // If we have declared a _uuid field on arrays,\n // that means the ID has to be unique,\n // and our ids within arrays are not unique.\n // So move the ID to a uuid field for storage\n // and allow the database to generate a serial id automatically\n if (hasUUID) {\n newRow.row._uuid = blockRow.id\n delete blockRow.id\n }\n\n traverseFields({\n adapter,\n arrays: newRow.arrays,\n arraysToPush: newRow.arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: '',\n data: blockRow,\n fieldPrefix: '',\n fields: matchedBlock.flattenedFields,\n insideArrayOrBlock: true,\n locales: newRow.locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName: blockTableName,\n path: `${path || ''}${field.name}.${i}.`,\n relationships,\n relationshipsToAppend: [],\n relationshipsToDelete,\n row: newRow.row,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n\n blocks[blockTableName].push(newRow)\n })\n}\n"],"names":["fieldShouldBeLocalized","toSnakeCase","resolveBlockTableName","traverseFields","transformBlocks","adapter","baseTableName","blocks","blocksToDelete","data","field","locale","numbers","numbersToDelete","parentIsLocalized","path","relationships","relationshipsToDelete","selects","selectsToDelete","texts","textsToDelete","withinArrayOrBlockLocale","forEach","blockRow","i","blockType","matchedBlock","payload","find","block","slug","newRow","arrays","arraysToPush","locales","row","_order","_path","name","_locale","blockTableName","tableNameMap","get","hasUUID","tables","_uuid","id","columnPrefix","fieldPrefix","fields","flattenedFields","insideArrayOrBlock","localized","parentTableName","relationshipsToAppend","push"],"mappings":"AAEA,SAASA,sBAAsB,QAAQ,iBAAgB;AACvD,OAAOC,iBAAiB,gBAAe;AAWvC,SAASC,qBAAqB,QAAQ,sDAAqD;AAC3F,SAASC,cAAc,QAAQ,sBAAqB;AA8BpD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,OAAO,EACPC,aAAa,EACbC,MAAM,EACNC,cAAc,EACdC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,eAAe,EACfC,iBAAiB,EACjBC,IAAI,EACJC,aAAa,EACbC,qBAAqB,EACrBC,OAAO,EACPC,eAAe,EACfC,KAAK,EACLC,aAAa,EACbC,wBAAwB,EACnB;IACLb,KAAKc,OAAO,CAAC,CAACC,UAAUC;QACtB,IAAI,OAAOD,SAASE,SAAS,KAAK,UAAU;YAC1C;QACF;QAEA,MAAMC,eACJtB,QAAQuB,OAAO,CAACrB,MAAM,CAACiB,SAASE,SAAS,CAAC,IACzChB,MAAMH,MAAM,CAACsB,IAAI,CAChB,CAACC,QAAU,OAAOA,UAAU,YAAYA,MAAMC,IAAI,KAAKP,SAASE,SAAS;QAG7E,IAAI,CAACC,cAAc;YACjB;QACF;QACA,MAAMD,YAAYzB,YAAYuB,SAASE,SAAS;QAEhD,MAAMM,SAA2B;YAC/BC,QAAQ,CAAC;YACTC,cAAc,CAAC;YACfC,SAAS,CAAC;YACVC,KAAK;gBACHC,QAAQZ,IAAI;gBACZa,OAAO,GAAGvB,OAAOL,MAAM6B,IAAI,EAAE;YAC/B;QACF;QAEA,IAAIvC,uBAAuB;YAAEU;YAAOI;QAAkB,MAAMH,QAAQ;YAClEqB,OAAOI,GAAG,CAACI,OAAO,GAAG7B;QACvB;QACA,IAAIW,0BAA0B;YAC5BU,OAAOI,GAAG,CAACI,OAAO,GAAGlB;QACvB;QAEA,MAAMmB,iBAAiBvC,sBACrByB,cACAtB,QAAQqC,YAAY,CAACC,GAAG,CAAC,GAAGrC,cAAc,QAAQ,EAAEoB,WAAW;QAGjE,IAAI,CAACnB,MAAM,CAACkC,eAAe,EAAE;YAC3BlC,MAAM,CAACkC,eAAe,GAAG,EAAE;QAC7B;QAEA,MAAMG,UAAUvC,QAAQwC,MAAM,CAACJ,eAAe,CAACK,KAAK;QAEpD,+CAA+C;QAC/C,sCAAsC;QACtC,4CAA4C;QAC5C,6CAA6C;QAC7C,+DAA+D;QAC/D,IAAIF,SAAS;YACXZ,OAAOI,GAAG,CAACU,KAAK,GAAGtB,SAASuB,EAAE;YAC9B,OAAOvB,SAASuB,EAAE;QACpB;QAEA5C,eAAe;YACbE;YACA4B,QAAQD,OAAOC,MAAM;YACrBC,cAAcF,OAAOE,YAAY;YACjC5B;YACAC;YACAC;YACAwC,cAAc;YACdvC,MAAMe;YACNyB,aAAa;YACbC,QAAQvB,aAAawB,eAAe;YACpCC,oBAAoB;YACpBjB,SAASH,OAAOG,OAAO;YACvBvB;YACAC;YACAC,mBAAmBA,qBAAqBJ,MAAM2C,SAAS;YACvDC,iBAAiBb;YACjB1B,MAAM,GAAGA,QAAQ,KAAKL,MAAM6B,IAAI,CAAC,CAAC,EAAEd,EAAE,CAAC,CAAC;YACxCT;YACAuC,uBAAuB,EAAE;YACzBtC;YACAmB,KAAKJ,OAAOI,GAAG;YACflB;YACAC;YACAC;YACAC;YACAC;QACF;QAEAf,MAAM,CAACkC,eAAe,CAACe,IAAI,CAACxB;IAC9B;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/transform/write/blocks.ts"],"sourcesContent":["import type { FlattenedBlock, FlattenedBlocksField } from 'payload'\n\nimport { fieldShouldBeLocalized } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type {\n BlockRowToInsert,\n NumberToDelete,\n RelationshipToDelete,\n TextToDelete,\n} from './types.js'\n\nimport { resolveBlockTableName } from '../../utilities/validateExistingBlockIsIdentical.js'\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n baseTableName: string\n blocks: {\n [blockType: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n data: Record<string, unknown>[]\n field: FlattenedBlocksField\n locale?: string\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n parentIsLocalized: boolean\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToDelete: RelationshipToDelete[]\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\nexport const transformBlocks = ({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data,\n field,\n locale,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n}: Args) => {\n data.forEach((blockRow, i) => {\n if (typeof blockRow.blockType !== 'string') {\n return\n }\n\n const matchedBlock =\n adapter.payload.blocks[blockRow.blockType] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockRow.blockType,\n ) as FlattenedBlock | undefined)\n\n if (!matchedBlock) {\n return\n }\n const blockType = toSnakeCase(blockRow.blockType)\n\n const newRow: BlockRowToInsert = {\n arrays: {},\n arraysToPush: {},\n locales: {},\n row: {\n _order: i + 1,\n _path: `${path}${field.name}`,\n },\n }\n\n if (fieldShouldBeLocalized({ field, parentIsLocalized }) && locale) {\n newRow.row._locale = locale\n }\n if (withinArrayOrBlockLocale) {\n newRow.row._locale = withinArrayOrBlockLocale\n }\n\n const blockTableName = resolveBlockTableName(\n matchedBlock,\n adapter.tableNameMap.get(`${baseTableName}_blocks_${blockType}`),\n )\n\n if (!blocks[blockTableName]) {\n blocks[blockTableName] = []\n }\n\n const hasUUID = adapter.tables[blockTableName]._uuid\n\n // If we have declared a _uuid field on arrays,\n // that means the ID has to be unique,\n // and our ids within arrays are not unique.\n // So move the ID to a uuid field for storage\n // and allow the database to generate a serial id automatically\n if (hasUUID) {\n newRow.row._uuid = blockRow.id\n delete blockRow.id\n }\n\n traverseFields({\n adapter,\n arrays: newRow.arrays,\n arraysToPush: newRow.arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: '',\n data: blockRow,\n fieldPrefix: '',\n fields: matchedBlock.flattenedFields,\n insideArrayOrBlock: true,\n locales: newRow.locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName: blockTableName,\n path: `${path || ''}${field.name}.${i}.`,\n relationships,\n relationshipsToAppend: [],\n relationshipsToDelete,\n row: newRow.row,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n\n blocks[blockTableName].push(newRow)\n })\n}\n"],"names":["fieldShouldBeLocalized","toSnakeCase","resolveBlockTableName","traverseFields","transformBlocks","adapter","baseTableName","blocks","blocksToDelete","data","field","locale","numbers","numbersToDelete","parentIsLocalized","path","relationships","relationshipsToDelete","selects","texts","textsToDelete","withinArrayOrBlockLocale","forEach","blockRow","i","blockType","matchedBlock","payload","find","block","slug","newRow","arrays","arraysToPush","locales","row","_order","_path","name","_locale","blockTableName","tableNameMap","get","hasUUID","tables","_uuid","id","columnPrefix","fieldPrefix","fields","flattenedFields","insideArrayOrBlock","localized","parentTableName","relationshipsToAppend","push"],"mappings":"AAEA,SAASA,sBAAsB,QAAQ,iBAAgB;AACvD,OAAOC,iBAAiB,gBAAe;AAUvC,SAASC,qBAAqB,QAAQ,sDAAqD;AAC3F,SAASC,cAAc,QAAQ,sBAAqB;AA6BpD,OAAO,MAAMC,kBAAkB,CAAC,EAC9BC,OAAO,EACPC,aAAa,EACbC,MAAM,EACNC,cAAc,EACdC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,OAAO,EACPC,eAAe,EACfC,iBAAiB,EACjBC,IAAI,EACJC,aAAa,EACbC,qBAAqB,EACrBC,OAAO,EACPC,KAAK,EACLC,aAAa,EACbC,wBAAwB,EACnB;IACLZ,KAAKa,OAAO,CAAC,CAACC,UAAUC;QACtB,IAAI,OAAOD,SAASE,SAAS,KAAK,UAAU;YAC1C;QACF;QAEA,MAAMC,eACJrB,QAAQsB,OAAO,CAACpB,MAAM,CAACgB,SAASE,SAAS,CAAC,IACzCf,MAAMH,MAAM,CAACqB,IAAI,CAChB,CAACC,QAAU,OAAOA,UAAU,YAAYA,MAAMC,IAAI,KAAKP,SAASE,SAAS;QAG7E,IAAI,CAACC,cAAc;YACjB;QACF;QACA,MAAMD,YAAYxB,YAAYsB,SAASE,SAAS;QAEhD,MAAMM,SAA2B;YAC/BC,QAAQ,CAAC;YACTC,cAAc,CAAC;YACfC,SAAS,CAAC;YACVC,KAAK;gBACHC,QAAQZ,IAAI;gBACZa,OAAO,GAAGtB,OAAOL,MAAM4B,IAAI,EAAE;YAC/B;QACF;QAEA,IAAItC,uBAAuB;YAAEU;YAAOI;QAAkB,MAAMH,QAAQ;YAClEoB,OAAOI,GAAG,CAACI,OAAO,GAAG5B;QACvB;QACA,IAAIU,0BAA0B;YAC5BU,OAAOI,GAAG,CAACI,OAAO,GAAGlB;QACvB;QAEA,MAAMmB,iBAAiBtC,sBACrBwB,cACArB,QAAQoC,YAAY,CAACC,GAAG,CAAC,GAAGpC,cAAc,QAAQ,EAAEmB,WAAW;QAGjE,IAAI,CAAClB,MAAM,CAACiC,eAAe,EAAE;YAC3BjC,MAAM,CAACiC,eAAe,GAAG,EAAE;QAC7B;QAEA,MAAMG,UAAUtC,QAAQuC,MAAM,CAACJ,eAAe,CAACK,KAAK;QAEpD,+CAA+C;QAC/C,sCAAsC;QACtC,4CAA4C;QAC5C,6CAA6C;QAC7C,+DAA+D;QAC/D,IAAIF,SAAS;YACXZ,OAAOI,GAAG,CAACU,KAAK,GAAGtB,SAASuB,EAAE;YAC9B,OAAOvB,SAASuB,EAAE;QACpB;QAEA3C,eAAe;YACbE;YACA2B,QAAQD,OAAOC,MAAM;YACrBC,cAAcF,OAAOE,YAAY;YACjC3B;YACAC;YACAC;YACAuC,cAAc;YACdtC,MAAMc;YACNyB,aAAa;YACbC,QAAQvB,aAAawB,eAAe;YACpCC,oBAAoB;YACpBjB,SAASH,OAAOG,OAAO;YACvBtB;YACAC;YACAC,mBAAmBA,qBAAqBJ,MAAM0C,SAAS;YACvDC,iBAAiBb;YACjBzB,MAAM,GAAGA,QAAQ,KAAKL,MAAM4B,IAAI,CAAC,CAAC,EAAEd,EAAE,CAAC,CAAC;YACxCR;YACAsC,uBAAuB,EAAE;YACzBrC;YACAkB,KAAKJ,OAAOI,GAAG;YACfjB;YACAC;YACAC;YACAC;QACF;QAEAd,MAAM,CAACiC,eAAe,CAACe,IAAI,CAACxB;IAC9B;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/write/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,uFAQ3B,IAAI,KAAG,WAmDT,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transform/write/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,uFAQ3B,IAAI,KAAG,WAiDT,CAAA"}
@@ -14,7 +14,6 @@ export const transformForWrite = ({ adapter, data, enableAtomicWrites, fields, p
14
14
  relationshipsToDelete: [],
15
15
  row: {},
16
16
  selects: {},
17
- selectsToDelete: {},
18
17
  texts: [],
19
18
  textsToDelete: []
20
19
  };
@@ -43,7 +42,6 @@ export const transformForWrite = ({ adapter, data, enableAtomicWrites, fields, p
43
42
  relationshipsToDelete: rowToInsert.relationshipsToDelete,
44
43
  row: rowToInsert.row,
45
44
  selects: rowToInsert.selects,
46
- selectsToDelete: rowToInsert.selectsToDelete,
47
45
  texts: rowToInsert.texts,
48
46
  textsToDelete: rowToInsert.textsToDelete
49
47
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transform/write/index.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { RowToInsert } from './types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n data: Record<string, unknown>\n enableAtomicWrites?: boolean\n fields: FlattenedField[]\n parentIsLocalized?: boolean\n path?: string\n tableName: string\n}\n\nexport const transformForWrite = ({\n adapter,\n data,\n enableAtomicWrites,\n fields,\n parentIsLocalized,\n path = '',\n tableName,\n}: Args): RowToInsert => {\n // Split out the incoming data into rows to insert / delete\n const rowToInsert: RowToInsert = {\n arrays: {},\n arraysToPush: {},\n blocks: {},\n blocksToDelete: new Set(),\n locales: {},\n numbers: [],\n numbersToDelete: [],\n relationships: [],\n relationshipsToAppend: [],\n relationshipsToDelete: [],\n row: {},\n selects: {},\n selectsToDelete: {},\n texts: [],\n textsToDelete: [],\n }\n\n // This function is responsible for building up the\n // above rowToInsert\n traverseFields({\n adapter,\n arrays: rowToInsert.arrays,\n arraysToPush: rowToInsert.arraysToPush,\n baseTableName: tableName,\n blocks: rowToInsert.blocks,\n blocksToDelete: rowToInsert.blocksToDelete,\n columnPrefix: '',\n data,\n enableAtomicWrites,\n fieldPrefix: '',\n fields,\n locales: rowToInsert.locales,\n numbers: rowToInsert.numbers,\n numbersToDelete: rowToInsert.numbersToDelete,\n parentIsLocalized,\n parentTableName: tableName,\n path,\n relationships: rowToInsert.relationships,\n relationshipsToAppend: rowToInsert.relationshipsToAppend,\n relationshipsToDelete: rowToInsert.relationshipsToDelete,\n row: rowToInsert.row,\n selects: rowToInsert.selects,\n selectsToDelete: rowToInsert.selectsToDelete,\n texts: rowToInsert.texts,\n textsToDelete: rowToInsert.textsToDelete,\n })\n\n return rowToInsert\n}\n"],"names":["traverseFields","transformForWrite","adapter","data","enableAtomicWrites","fields","parentIsLocalized","path","tableName","rowToInsert","arrays","arraysToPush","blocks","blocksToDelete","Set","locales","numbers","numbersToDelete","relationships","relationshipsToAppend","relationshipsToDelete","row","selects","selectsToDelete","texts","textsToDelete","baseTableName","columnPrefix","fieldPrefix","parentTableName"],"mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAYpD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,IAAI,EACJC,kBAAkB,EAClBC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EAAE,EACTC,SAAS,EACJ;IACL,2DAA2D;IAC3D,MAAMC,cAA2B;QAC/BC,QAAQ,CAAC;QACTC,cAAc,CAAC;QACfC,QAAQ,CAAC;QACTC,gBAAgB,IAAIC;QACpBC,SAAS,CAAC;QACVC,SAAS,EAAE;QACXC,iBAAiB,EAAE;QACnBC,eAAe,EAAE;QACjBC,uBAAuB,EAAE;QACzBC,uBAAuB,EAAE;QACzBC,KAAK,CAAC;QACNC,SAAS,CAAC;QACVC,iBAAiB,CAAC;QAClBC,OAAO,EAAE;QACTC,eAAe,EAAE;IACnB;IAEA,mDAAmD;IACnD,oBAAoB;IACpBzB,eAAe;QACbE;QACAQ,QAAQD,YAAYC,MAAM;QAC1BC,cAAcF,YAAYE,YAAY;QACtCe,eAAelB;QACfI,QAAQH,YAAYG,MAAM;QAC1BC,gBAAgBJ,YAAYI,cAAc;QAC1Cc,cAAc;QACdxB;QACAC;QACAwB,aAAa;QACbvB;QACAU,SAASN,YAAYM,OAAO;QAC5BC,SAASP,YAAYO,OAAO;QAC5BC,iBAAiBR,YAAYQ,eAAe;QAC5CX;QACAuB,iBAAiBrB;QACjBD;QACAW,eAAeT,YAAYS,aAAa;QACxCC,uBAAuBV,YAAYU,qBAAqB;QACxDC,uBAAuBX,YAAYW,qBAAqB;QACxDC,KAAKZ,YAAYY,GAAG;QACpBC,SAASb,YAAYa,OAAO;QAC5BC,iBAAiBd,YAAYc,eAAe;QAC5CC,OAAOf,YAAYe,KAAK;QACxBC,eAAehB,YAAYgB,aAAa;IAC1C;IAEA,OAAOhB;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/transform/write/index.ts"],"sourcesContent":["import type { FlattenedField } from 'payload'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type { RowToInsert } from './types.js'\n\nimport { traverseFields } from './traverseFields.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n data: Record<string, unknown>\n enableAtomicWrites?: boolean\n fields: FlattenedField[]\n parentIsLocalized?: boolean\n path?: string\n tableName: string\n}\n\nexport const transformForWrite = ({\n adapter,\n data,\n enableAtomicWrites,\n fields,\n parentIsLocalized,\n path = '',\n tableName,\n}: Args): RowToInsert => {\n // Split out the incoming data into rows to insert / delete\n const rowToInsert: RowToInsert = {\n arrays: {},\n arraysToPush: {},\n blocks: {},\n blocksToDelete: new Set(),\n locales: {},\n numbers: [],\n numbersToDelete: [],\n relationships: [],\n relationshipsToAppend: [],\n relationshipsToDelete: [],\n row: {},\n selects: {},\n texts: [],\n textsToDelete: [],\n }\n\n // This function is responsible for building up the\n // above rowToInsert\n traverseFields({\n adapter,\n arrays: rowToInsert.arrays,\n arraysToPush: rowToInsert.arraysToPush,\n baseTableName: tableName,\n blocks: rowToInsert.blocks,\n blocksToDelete: rowToInsert.blocksToDelete,\n columnPrefix: '',\n data,\n enableAtomicWrites,\n fieldPrefix: '',\n fields,\n locales: rowToInsert.locales,\n numbers: rowToInsert.numbers,\n numbersToDelete: rowToInsert.numbersToDelete,\n parentIsLocalized,\n parentTableName: tableName,\n path,\n relationships: rowToInsert.relationships,\n relationshipsToAppend: rowToInsert.relationshipsToAppend,\n relationshipsToDelete: rowToInsert.relationshipsToDelete,\n row: rowToInsert.row,\n selects: rowToInsert.selects,\n texts: rowToInsert.texts,\n textsToDelete: rowToInsert.textsToDelete,\n })\n\n return rowToInsert\n}\n"],"names":["traverseFields","transformForWrite","adapter","data","enableAtomicWrites","fields","parentIsLocalized","path","tableName","rowToInsert","arrays","arraysToPush","blocks","blocksToDelete","Set","locales","numbers","numbersToDelete","relationships","relationshipsToAppend","relationshipsToDelete","row","selects","texts","textsToDelete","baseTableName","columnPrefix","fieldPrefix","parentTableName"],"mappings":"AAKA,SAASA,cAAc,QAAQ,sBAAqB;AAYpD,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,OAAO,EACPC,IAAI,EACJC,kBAAkB,EAClBC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EAAE,EACTC,SAAS,EACJ;IACL,2DAA2D;IAC3D,MAAMC,cAA2B;QAC/BC,QAAQ,CAAC;QACTC,cAAc,CAAC;QACfC,QAAQ,CAAC;QACTC,gBAAgB,IAAIC;QACpBC,SAAS,CAAC;QACVC,SAAS,EAAE;QACXC,iBAAiB,EAAE;QACnBC,eAAe,EAAE;QACjBC,uBAAuB,EAAE;QACzBC,uBAAuB,EAAE;QACzBC,KAAK,CAAC;QACNC,SAAS,CAAC;QACVC,OAAO,EAAE;QACTC,eAAe,EAAE;IACnB;IAEA,mDAAmD;IACnD,oBAAoB;IACpBxB,eAAe;QACbE;QACAQ,QAAQD,YAAYC,MAAM;QAC1BC,cAAcF,YAAYE,YAAY;QACtCc,eAAejB;QACfI,QAAQH,YAAYG,MAAM;QAC1BC,gBAAgBJ,YAAYI,cAAc;QAC1Ca,cAAc;QACdvB;QACAC;QACAuB,aAAa;QACbtB;QACAU,SAASN,YAAYM,OAAO;QAC5BC,SAASP,YAAYO,OAAO;QAC5BC,iBAAiBR,YAAYQ,eAAe;QAC5CX;QACAsB,iBAAiBpB;QACjBD;QACAW,eAAeT,YAAYS,aAAa;QACxCC,uBAAuBV,YAAYU,qBAAqB;QACxDC,uBAAuBX,YAAYW,qBAAqB;QACxDC,KAAKZ,YAAYY,GAAG;QACpBC,SAASb,YAAYa,OAAO;QAC5BC,OAAOd,YAAYc,KAAK;QACxBC,eAAef,YAAYe,aAAa;IAC1C;IAEA,OAAOf;AACT,EAAC"}
@@ -55,7 +55,6 @@ type Args = {
55
55
  selects: {
56
56
  [tableName: string]: Record<string, unknown>[];
57
57
  };
58
- selectsToDelete: RowToInsert['selectsToDelete'];
59
58
  texts: Record<string, unknown>[];
60
59
  textsToDelete: TextToDelete[];
61
60
  /**
@@ -64,6 +63,6 @@ type Args = {
64
63
  */
65
64
  withinArrayOrBlockLocale?: string;
66
65
  };
67
- export declare const traverseFields: ({ adapter, arrays, arraysToPush, baseTableName, blocks, blocksToDelete, columnPrefix, data, enableAtomicWrites, existingLocales, fieldPrefix, fields, forcedLocale, insideArrayOrBlock, locales, numbers, numbersToDelete, parentIsLocalized, parentTableName, path, relationships, relationshipsToAppend, relationshipsToDelete, row, selects, selectsToDelete, texts, textsToDelete, withinArrayOrBlockLocale, }: Args) => void;
66
+ export declare const traverseFields: ({ adapter, arrays, arraysToPush, baseTableName, blocks, blocksToDelete, columnPrefix, data, enableAtomicWrites, existingLocales, fieldPrefix, fields, forcedLocale, insideArrayOrBlock, locales, numbers, numbersToDelete, parentIsLocalized, parentTableName, path, relationships, relationshipsToAppend, relationshipsToDelete, row, selects, texts, textsToDelete, withinArrayOrBlockLocale, }: Args) => void;
68
67
  export {};
69
68
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAA;AAWnB,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B;;;OAGG;IACH,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IACzC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC3C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAA;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,uZA8BxB,IAAI,SAqwBN,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../../src/transform/write/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,SAAS,CAAA;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAA;AAWnB,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,cAAc,CAAA;IACvB;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B;;;OAGG;IACH,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;IACzC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC3C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,cAAc,sYA6BxB,IAAI,SAuuBN,CAAA"}
@@ -10,7 +10,7 @@ import { transformNumbers } from './numbers.js';
10
10
  import { transformRelationship } from './relationships.js';
11
11
  import { transformSelects } from './selects.js';
12
12
  import { transformTexts } from './texts.js';
13
- export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, blocks, blocksToDelete, columnPrefix, data, enableAtomicWrites, existingLocales, fieldPrefix, fields, forcedLocale, insideArrayOrBlock = false, locales, numbers, numbersToDelete, parentIsLocalized, parentTableName, path, relationships, relationshipsToAppend, relationshipsToDelete, row, selects, selectsToDelete, texts, textsToDelete, withinArrayOrBlockLocale })=>{
13
+ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, blocks, blocksToDelete, columnPrefix, data, enableAtomicWrites, existingLocales, fieldPrefix, fields, forcedLocale, insideArrayOrBlock = false, locales, numbers, numbersToDelete, parentIsLocalized, parentTableName, path, relationships, relationshipsToAppend, relationshipsToDelete, row, selects, texts, textsToDelete, withinArrayOrBlockLocale })=>{
14
14
  let fieldsMatched = false;
15
15
  if (row._uuid) {
16
16
  data._uuid = row._uuid;
@@ -34,9 +34,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
34
34
  parentIsLocalized
35
35
  });
36
36
  if (field.type === 'array') {
37
- if (fieldData === undefined) {
38
- return;
39
- }
40
37
  const arrayTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`);
41
38
  if (isLocalized) {
42
39
  const value = data[field.name];
@@ -70,7 +67,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
70
67
  relationships,
71
68
  relationshipsToDelete,
72
69
  selects,
73
- selectsToDelete,
74
70
  texts,
75
71
  textsToDelete,
76
72
  withinArrayOrBlockLocale: localeKey
@@ -113,7 +109,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
113
109
  relationships,
114
110
  relationshipsToDelete,
115
111
  selects,
116
- selectsToDelete,
117
112
  texts,
118
113
  textsToDelete,
119
114
  withinArrayOrBlockLocale
@@ -133,9 +128,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
133
128
  return;
134
129
  }
135
130
  if (field.type === 'blocks' && !adapter.blocksAsJSON) {
136
- if (fieldData === undefined) {
137
- return;
138
- }
139
131
  field.blocks.forEach((block)=>{
140
132
  const matchedBlock = typeof block === 'string' ? adapter.payload.config.blocks.find((each)=>each.slug === block) : block;
141
133
  blocksToDelete.add(resolveBlockTableName(matchedBlock, adapter.tableNameMap.get(`${baseTableName}_blocks_${toSnakeCase(matchedBlock.slug)}`)));
@@ -159,7 +151,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
159
151
  relationships,
160
152
  relationshipsToDelete,
161
153
  selects,
162
- selectsToDelete,
163
154
  texts,
164
155
  textsToDelete,
165
156
  withinArrayOrBlockLocale: localeKey
@@ -182,7 +173,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
182
173
  relationships,
183
174
  relationshipsToDelete,
184
175
  selects,
185
- selectsToDelete,
186
176
  texts,
187
177
  textsToDelete,
188
178
  withinArrayOrBlockLocale
@@ -222,7 +212,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
222
212
  relationshipsToDelete,
223
213
  row,
224
214
  selects,
225
- selectsToDelete,
226
215
  texts,
227
216
  textsToDelete,
228
217
  withinArrayOrBlockLocale: localeKey
@@ -258,7 +247,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
258
247
  relationshipsToDelete,
259
248
  row,
260
249
  selects,
261
- selectsToDelete,
262
250
  texts,
263
251
  textsToDelete,
264
252
  withinArrayOrBlockLocale
@@ -310,7 +298,7 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
310
298
  ];
311
299
  itemsToAppend.forEach((item)=>{
312
300
  const relationshipToAppend = {
313
- locale: withinArrayOrBlockLocale,
301
+ locale: isLocalized ? withinArrayOrBlockLocale : undefined,
314
302
  path: relationshipPath,
315
303
  value: item
316
304
  };
@@ -365,7 +353,7 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
365
353
  itemsToRemove.forEach((item)=>{
366
354
  const relationshipToDelete = {
367
355
  itemToRemove: item,
368
- locale: withinArrayOrBlockLocale,
356
+ locale: isLocalized ? withinArrayOrBlockLocale : undefined,
369
357
  path: relationshipPath
370
358
  };
371
359
  // Store relationTo for simple relationships
@@ -380,7 +368,7 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
380
368
  if (isLocalized && (Array.isArray(field.relationTo) || 'hasMany' in field && field.hasMany)) {
381
369
  if (typeof fieldData === 'object') {
382
370
  Object.entries(fieldData).forEach(([localeKey, localeData])=>{
383
- if (localeData === null || Array.isArray(localeData) && localeData.length === 0) {
371
+ if (localeData === null) {
384
372
  relationshipsToDelete.push({
385
373
  locale: localeKey,
386
374
  path: relationshipPath
@@ -402,7 +390,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
402
390
  } else if (Array.isArray(field.relationTo) || 'hasMany' in field && field.hasMany) {
403
391
  if (fieldData === null || Array.isArray(fieldData) && fieldData.length === 0) {
404
392
  relationshipsToDelete.push({
405
- locale: withinArrayOrBlockLocale,
406
393
  path: relationshipPath
407
394
  });
408
395
  return;
@@ -529,20 +516,12 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
529
516
  if (!selects[selectTableName]) {
530
517
  selects[selectTableName] = [];
531
518
  }
532
- if (!selectsToDelete[selectTableName]) {
533
- selectsToDelete[selectTableName] = [];
534
- }
535
- const selectParent = insideArrayOrBlock ? data._uuid ?? data.id : undefined;
536
519
  if (isLocalized) {
537
520
  if (typeof data[field.name] === 'object' && data[field.name] !== null) {
538
521
  Object.entries(data[field.name]).forEach(([localeKey, localeData])=>{
539
522
  if (Array.isArray(localeData)) {
540
- selectsToDelete[selectTableName].push({
541
- locale: localeKey,
542
- parent: selectParent
543
- });
544
523
  const newRows = transformSelects({
545
- id: selectParent,
524
+ id: insideArrayOrBlock ? data._uuid || data.id : undefined,
546
525
  data: localeData,
547
526
  locale: localeKey
548
527
  });
@@ -551,12 +530,8 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
551
530
  });
552
531
  }
553
532
  } else if (Array.isArray(data[field.name])) {
554
- selectsToDelete[selectTableName].push({
555
- locale: withinArrayOrBlockLocale,
556
- parent: selectParent
557
- });
558
533
  const newRows = transformSelects({
559
- id: selectParent,
534
+ id: insideArrayOrBlock ? data._uuid || data.id : undefined,
560
535
  data: data[field.name],
561
536
  locale: withinArrayOrBlockLocale
562
537
  });
@@ -667,7 +642,6 @@ export const traverseFields = ({ adapter, arrays, arraysToPush, baseTableName, b
667
642
  relationshipsToDelete,
668
643
  row,
669
644
  selects,
670
- selectsToDelete,
671
645
  texts,
672
646
  textsToDelete,
673
647
  withinArrayOrBlockLocale
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\nimport { APIError, type FlattenedField } from 'payload'\nimport { expandOwnDottedKey, fieldIsVirtual, fieldShouldBeLocalized } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type {\n NumberToDelete,\n RelationshipToAppend,\n RelationshipToDelete,\n RowToInsert,\n TextToDelete,\n} from './types.js'\n\nimport { isArrayOfRows } from '../../utilities/isArrayOfRows.js'\nimport { resolveBlockTableName } from '../../utilities/validateExistingBlockIsIdentical.js'\nimport { transformArray } from './array.js'\nimport { transformBlocks } from './blocks.js'\nimport { transformNumbers } from './numbers.js'\nimport { transformRelationship } from './relationships.js'\nimport { transformSelects } from './selects.js'\nimport { transformTexts } from './texts.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n /**\n * This will delete the array table and then re-insert all the new array rows.\n */\n arrays: RowToInsert['arrays']\n /**\n * Array rows to push to the existing array. This will simply create\n * a new row in the array table.\n */\n arraysToPush: RowToInsert['arraysToPush']\n /**\n * This is the name of the base table\n */\n baseTableName: string\n blocks: RowToInsert['blocks']\n blocksToDelete: Set<string>\n /**\n * A snake-case field prefix, representing prior fields\n * Ex: my_group_my_named_tab_\n */\n columnPrefix: string\n data: Record<string, unknown>\n enableAtomicWrites?: boolean\n existingLocales?: Record<string, unknown>[]\n /**\n * A prefix that will retain camel-case formatting, representing prior fields\n * Ex: myGroup_myNamedTab_\n */\n fieldPrefix: string\n fields: FlattenedField[]\n forcedLocale?: string\n /**\n * Tracks whether the current traversion context is from array or block.\n */\n insideArrayOrBlock?: boolean\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n parentIsLocalized: boolean\n /**\n * This is the name of the parent table\n */\n parentTableName: string\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToAppend: RelationshipToAppend[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n selectsToDelete: RowToInsert['selectsToDelete']\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\n\nexport const traverseFields = ({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n insideArrayOrBlock = false,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n parentTableName,\n path,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n}: Args) => {\n let fieldsMatched = false\n\n if (row._uuid) {\n data._uuid = row._uuid\n }\n\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\n if (fieldIsVirtual(field)) {\n return\n }\n\n // Mark that we found a matching field\n if (data[field.name] !== undefined) {\n fieldsMatched = true\n }\n\n columnName = `${columnPrefix || ''}${toSnakeCase(field.name)}`\n fieldName = `${fieldPrefix || ''}${field.name}`\n fieldData = data[field.name]\n\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n if (field.type === 'array') {\n if (fieldData === undefined) {\n return\n }\n\n const arrayTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n\n if (isLocalized) {\n const value = data[field.name]\n\n if (typeof value === 'object' && value !== null) {\n Object.entries(value).forEach(([localeKey, localeValue]) => {\n let localeData = localeValue\n let push = false\n\n if (localeValue && typeof localeValue === 'object' && '$push' in localeValue) {\n localeData = localeValue.$push\n push = true\n if (!Array.isArray(localeData)) {\n localeData = [localeData]\n }\n }\n\n if (Array.isArray(localeData)) {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n\n if (push) {\n if (!arraysToPush[arrayTableName]) {\n arraysToPush[arrayTableName] = []\n }\n arraysToPush[arrayTableName] = arraysToPush[arrayTableName].concat(newRows)\n } else {\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n }\n })\n }\n } else {\n let value = data[field.name]\n let push = false\n if (typeof value === 'object' && '$push' in value) {\n value = Array.isArray(value.$push) ? value.$push : [value.$push]\n push = true\n }\n\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: value,\n field,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n\n if (push) {\n if (!arraysToPush[arrayTableName]) {\n arraysToPush[arrayTableName] = []\n }\n arraysToPush[arrayTableName] = arraysToPush[arrayTableName].concat(newRows)\n } else {\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n }\n\n return\n }\n\n if (field.type === 'blocks' && !adapter.blocksAsJSON) {\n if (fieldData === undefined) {\n return\n }\n\n field.blocks.forEach((block) => {\n const matchedBlock =\n typeof block === 'string'\n ? adapter.payload.config.blocks.find((each) => each.slug === block)\n : block\n\n blocksToDelete.add(\n resolveBlockTableName(\n matchedBlock,\n adapter.tableNameMap.get(`${baseTableName}_blocks_${toSnakeCase(matchedBlock.slug)}`),\n ),\n )\n })\n\n if (isLocalized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n }\n })\n }\n } else if (isArrayOfRows(fieldData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: fieldData,\n field,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n\n return\n }\n\n if (field.type === 'group' || field.type === 'tab') {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n if (isLocalized) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: localeData as Record<string, unknown>,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.flattenedFields,\n forcedLocale: localeKey,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n // preserve array ID if there is\n const groupData = data[field.name] as Record<string, unknown>\n groupData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: groupData,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.flattenedFields,\n forcedLocale,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n }\n\n return\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n const relationshipPath = `${path || ''}${field.name}`\n\n // Handle $push operation for relationship fields\n if (\n fieldData &&\n typeof fieldData === 'object' &&\n 'hasMany' in field &&\n field.hasMany &&\n ('$push' in fieldData ||\n (field.localized &&\n Object.values(fieldData).some(\n (localeValue) =>\n localeValue &&\n typeof localeValue === 'object' &&\n '$push' in (localeValue as Record<string, unknown>),\n )))\n ) {\n let itemsToAppend: unknown[]\n\n if (field.localized) {\n let hasLocaleOperations = false\n Object.entries(fieldData).forEach(([localeKey, localeValue]) => {\n if (localeValue && typeof localeValue === 'object' && '$push' in localeValue) {\n hasLocaleOperations = true\n const push = localeValue.$push\n const localeItems = Array.isArray(push) ? push : [push]\n\n localeItems.forEach((item) => {\n const relationshipToAppend: RelationshipToAppend = {\n locale: localeKey,\n path: relationshipPath,\n value: item,\n }\n\n // Handle polymorphic relationships\n if (\n Array.isArray(field.relationTo) &&\n item &&\n typeof item === 'object' &&\n 'relationTo' in item\n ) {\n relationshipToAppend.relationTo = item.relationTo\n relationshipToAppend.value = item.value\n } else if (typeof field.relationTo === 'string') {\n // Simple relationship\n relationshipToAppend.relationTo = field.relationTo\n relationshipToAppend.value = item\n }\n\n relationshipsToAppend.push(relationshipToAppend)\n })\n }\n })\n\n if (hasLocaleOperations) {\n return\n }\n } else {\n // Handle non-localized fields: { field: { $push: data } }\n itemsToAppend = Array.isArray((fieldData as any).$push)\n ? (fieldData as any).$push\n : [(fieldData as any).$push]\n\n itemsToAppend.forEach((item) => {\n const relationshipToAppend: RelationshipToAppend = {\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n value: item,\n }\n\n // Handle polymorphic relationships\n if (\n Array.isArray(field.relationTo) &&\n item &&\n typeof item === 'object' &&\n 'relationTo' in item &&\n 'value' in item\n ) {\n relationshipToAppend.relationTo = item.relationTo as string\n relationshipToAppend.value = item.value as number | string\n } else if (typeof field.relationTo === 'string') {\n // Simple relationship\n relationshipToAppend.relationTo = field.relationTo\n relationshipToAppend.value = item\n }\n\n relationshipsToAppend.push(relationshipToAppend)\n })\n }\n return\n }\n\n // Handle $remove operation for relationship fields\n if (\n fieldData &&\n typeof fieldData === 'object' &&\n 'hasMany' in field &&\n field.hasMany &&\n ('$remove' in fieldData ||\n (field.localized &&\n Object.values(fieldData).some(\n (localeValue) =>\n localeValue &&\n typeof localeValue === 'object' &&\n '$remove' in (localeValue as Record<string, unknown>),\n )))\n ) {\n // Check for new locale-first syntax: { field: { locale: { $remove: data } } }\n if (field.localized) {\n let hasLocaleOperations = false\n Object.entries(fieldData).forEach(([localeKey, localeValue]) => {\n if (localeValue && typeof localeValue === 'object' && '$remove' in localeValue) {\n hasLocaleOperations = true\n const remove = localeValue.$remove\n const localeItems = Array.isArray(remove) ? remove : [remove]\n\n localeItems.forEach((item) => {\n const relationshipToDelete: RelationshipToDelete = {\n itemToRemove: item,\n locale: localeKey,\n path: relationshipPath,\n }\n\n // Store relationTo for simple relationships\n if (typeof field.relationTo === 'string') {\n relationshipToDelete.relationTo = field.relationTo\n }\n\n relationshipsToDelete.push(relationshipToDelete)\n })\n }\n })\n\n if (hasLocaleOperations) {\n return\n }\n } else {\n // Handle non-localized fields: { field: { $remove: data } }\n const itemsToRemove = Array.isArray((fieldData as any).$remove)\n ? (fieldData as any).$remove\n : [(fieldData as any).$remove]\n\n itemsToRemove.forEach((item) => {\n const relationshipToDelete: RelationshipToDelete = {\n itemToRemove: item,\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n }\n\n // Store relationTo for simple relationships\n if (typeof field.relationTo === 'string') {\n relationshipToDelete.relationTo = field.relationTo\n }\n\n relationshipsToDelete.push(relationshipToDelete)\n })\n }\n return\n }\n\n if (\n isLocalized &&\n (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany))\n ) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (localeData === null || (Array.isArray(localeData) && localeData.length === 0)) {\n relationshipsToDelete.push({\n locale: localeKey,\n path: relationshipPath,\n })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: localeKey,\n path: relationshipPath,\n },\n data: localeData,\n field,\n relationships,\n })\n })\n }\n return\n } else if (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany)) {\n if (fieldData === null || (Array.isArray(fieldData) && fieldData.length === 0)) {\n relationshipsToDelete.push({\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n },\n data: fieldData,\n field,\n relationships,\n })\n return\n } else {\n if (\n !isLocalized &&\n fieldData &&\n typeof fieldData === 'object' &&\n 'id' in fieldData &&\n fieldData?.id\n ) {\n fieldData = fieldData.id\n } else if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (typeof localeData === 'object') {\n if (localeData && 'id' in localeData && localeData?.id) {\n fieldData[localeKey] = localeData.id\n }\n } else {\n fieldData[localeKey] = localeData\n }\n })\n }\n }\n }\n }\n\n if (field.type === 'text' && field.hasMany) {\n const textPath = `${path || ''}${field.name}`\n\n if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n if (!localeData.length) {\n textsToDelete.push({ locale: localeKey, path: textPath })\n return\n }\n\n transformTexts({\n baseRow: {\n locale: localeKey,\n path: textPath,\n },\n data: localeData,\n texts,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n if (!fieldData.length) {\n textsToDelete.push({ locale: withinArrayOrBlockLocale, path: textPath })\n return\n }\n\n transformTexts({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: textPath,\n },\n data: fieldData,\n texts,\n })\n }\n\n return\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPath = `${path || ''}${field.name}`\n\n if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n if (!localeData.length) {\n numbersToDelete.push({ locale: localeKey, path: numberPath })\n return\n }\n\n transformNumbers({\n baseRow: {\n locale: localeKey,\n path: numberPath,\n },\n data: localeData,\n numbers,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n if (!fieldData.length) {\n numbersToDelete.push({ locale: withinArrayOrBlockLocale, path: numberPath })\n return\n }\n\n transformNumbers({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: numberPath,\n },\n data: fieldData,\n numbers,\n })\n }\n\n return\n }\n\n if (field.type === 'select' && field.hasMany) {\n if (fieldData === undefined) {\n return\n }\n\n const selectTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n if (!selects[selectTableName]) {\n selects[selectTableName] = []\n }\n if (!selectsToDelete[selectTableName]) {\n selectsToDelete[selectTableName] = []\n }\n\n const selectParent = insideArrayOrBlock ? (data._uuid ?? data.id) : undefined\n\n if (isLocalized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n selectsToDelete[selectTableName].push({ locale: localeKey, parent: selectParent })\n\n const newRows = transformSelects({\n id: selectParent,\n data: localeData,\n locale: localeKey,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n })\n }\n } else if (Array.isArray(data[field.name])) {\n selectsToDelete[selectTableName].push({\n locale: withinArrayOrBlockLocale,\n parent: selectParent,\n })\n\n const newRows = transformSelects({\n id: selectParent,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\n const valuesToTransform: { localeKey?: string; ref: unknown; value: unknown }[] = []\n\n if (isLocalized) {\n if (typeof fieldData === 'object' && fieldData !== null) {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (!locales[localeKey]) {\n locales[localeKey] = {}\n }\n\n valuesToTransform.push({\n localeKey,\n ref: locales,\n value: localeData,\n })\n })\n }\n } else {\n let ref = row\n\n if (forcedLocale) {\n if (!locales[forcedLocale]) {\n locales[forcedLocale] = {}\n }\n ref = locales[forcedLocale]\n }\n\n valuesToTransform.push({ ref, value: fieldData })\n }\n\n valuesToTransform.forEach(({ localeKey, ref, value }) => {\n let formattedValue = value\n\n if (field.type === 'date') {\n if (fieldName === 'updatedAt' && formattedValue === null) {\n // If updatedAt is explicitly set to null, skip it entirely - don't add to row\n // This prevents the timestamp from being updated for session-only operations\n return // Skip this iteration\n } else if (fieldName === 'updatedAt' && typeof formattedValue === 'undefined') {\n // If updatedAt is undefined, set it to current time (normal behavior)\n formattedValue = new Date().toISOString()\n } else {\n if (typeof value === 'number' && !Number.isNaN(value)) {\n formattedValue = new Date(value).toISOString()\n } else if (value instanceof Date) {\n formattedValue = value.toISOString()\n }\n }\n }\n\n if (typeof value !== 'undefined') {\n if (value && field.type === 'point' && adapter.name !== 'sqlite') {\n formattedValue = sql`ST_GeomFromGeoJSON(${JSON.stringify(value)})`\n }\n\n if (field.type === 'text' && value && typeof value !== 'string') {\n formattedValue = JSON.stringify(value)\n }\n\n if (\n field.type === 'number' &&\n value &&\n typeof value === 'object' &&\n '$inc' in value &&\n typeof value.$inc === 'number'\n ) {\n if (!enableAtomicWrites) {\n throw new APIError(\n 'The passed data must not contain any nested fields for atomic writes',\n )\n }\n\n formattedValue = sql.raw(`${columnName} + ${value.$inc}`)\n }\n }\n\n if (typeof formattedValue !== 'undefined') {\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n })\n\n // Handle dot-notation paths when no fields matched\n if (!fieldsMatched) {\n Object.keys(data).forEach((key) => {\n if (expandOwnDottedKey({ key, target: data })) {\n // Recursively process the newly created nested structure\n // The field traversal will naturally handle it if the field exists in the schema\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n parentTableName,\n path,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n selectsToDelete,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n })\n }\n}\n"],"names":["sql","APIError","expandOwnDottedKey","fieldIsVirtual","fieldShouldBeLocalized","toSnakeCase","isArrayOfRows","resolveBlockTableName","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","arraysToPush","baseTableName","blocks","blocksToDelete","columnPrefix","data","enableAtomicWrites","existingLocales","fieldPrefix","fields","forcedLocale","insideArrayOrBlock","locales","numbers","numbersToDelete","parentIsLocalized","parentTableName","path","relationships","relationshipsToAppend","relationshipsToDelete","row","selects","selectsToDelete","texts","textsToDelete","withinArrayOrBlockLocale","fieldsMatched","_uuid","forEach","field","columnName","fieldName","fieldData","name","undefined","isLocalized","type","arrayTableName","tableNameMap","get","value","Object","entries","localeKey","localeValue","localeData","push","$push","Array","isArray","newRows","locale","localized","concat","blocksAsJSON","block","matchedBlock","payload","config","find","each","slug","add","id","flattenedFields","groupData","relationshipPath","hasMany","values","some","itemsToAppend","hasLocaleOperations","localeItems","item","relationshipToAppend","relationTo","remove","$remove","relationshipToDelete","itemToRemove","itemsToRemove","length","baseRow","textPath","numberPath","selectTableName","selectParent","parent","valuesToTransform","ref","formattedValue","Date","toISOString","Number","isNaN","JSON","stringify","$inc","raw","keys","key","target"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/transform/write/traverseFields.ts"],"sourcesContent":["import { sql } from 'drizzle-orm'\nimport { APIError, type FlattenedField } from 'payload'\nimport { expandOwnDottedKey, fieldIsVirtual, fieldShouldBeLocalized } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { DrizzleAdapter } from '../../types.js'\nimport type {\n NumberToDelete,\n RelationshipToAppend,\n RelationshipToDelete,\n RowToInsert,\n TextToDelete,\n} from './types.js'\n\nimport { isArrayOfRows } from '../../utilities/isArrayOfRows.js'\nimport { resolveBlockTableName } from '../../utilities/validateExistingBlockIsIdentical.js'\nimport { transformArray } from './array.js'\nimport { transformBlocks } from './blocks.js'\nimport { transformNumbers } from './numbers.js'\nimport { transformRelationship } from './relationships.js'\nimport { transformSelects } from './selects.js'\nimport { transformTexts } from './texts.js'\n\ntype Args = {\n adapter: DrizzleAdapter\n /**\n * This will delete the array table and then re-insert all the new array rows.\n */\n arrays: RowToInsert['arrays']\n /**\n * Array rows to push to the existing array. This will simply create\n * a new row in the array table.\n */\n arraysToPush: RowToInsert['arraysToPush']\n /**\n * This is the name of the base table\n */\n baseTableName: string\n blocks: RowToInsert['blocks']\n blocksToDelete: Set<string>\n /**\n * A snake-case field prefix, representing prior fields\n * Ex: my_group_my_named_tab_\n */\n columnPrefix: string\n data: Record<string, unknown>\n enableAtomicWrites?: boolean\n existingLocales?: Record<string, unknown>[]\n /**\n * A prefix that will retain camel-case formatting, representing prior fields\n * Ex: myGroup_myNamedTab_\n */\n fieldPrefix: string\n fields: FlattenedField[]\n forcedLocale?: string\n /**\n * Tracks whether the current traversion context is from array or block.\n */\n insideArrayOrBlock?: boolean\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n parentIsLocalized: boolean\n /**\n * This is the name of the parent table\n */\n parentTableName: string\n path: string\n relationships: Record<string, unknown>[]\n relationshipsToAppend: RelationshipToAppend[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n /**\n * Set to a locale code if this set of fields is traversed within a\n * localized array or block field\n */\n withinArrayOrBlockLocale?: string\n}\n\nexport const traverseFields = ({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n insideArrayOrBlock = false,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n parentTableName,\n path,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n}: Args) => {\n let fieldsMatched = false\n\n if (row._uuid) {\n data._uuid = row._uuid\n }\n\n fields.forEach((field) => {\n let columnName = ''\n let fieldName = ''\n let fieldData: unknown\n\n if (fieldIsVirtual(field)) {\n return\n }\n\n // Mark that we found a matching field\n if (data[field.name] !== undefined) {\n fieldsMatched = true\n }\n\n columnName = `${columnPrefix || ''}${toSnakeCase(field.name)}`\n fieldName = `${fieldPrefix || ''}${field.name}`\n fieldData = data[field.name]\n\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n if (field.type === 'array') {\n const arrayTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n\n if (isLocalized) {\n const value = data[field.name]\n\n if (typeof value === 'object' && value !== null) {\n Object.entries(value).forEach(([localeKey, localeValue]) => {\n let localeData = localeValue\n let push = false\n\n if (localeValue && typeof localeValue === 'object' && '$push' in localeValue) {\n localeData = localeValue.$push\n push = true\n if (!Array.isArray(localeData)) {\n localeData = [localeData]\n }\n }\n\n if (Array.isArray(localeData)) {\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n\n if (push) {\n if (!arraysToPush[arrayTableName]) {\n arraysToPush[arrayTableName] = []\n }\n arraysToPush[arrayTableName] = arraysToPush[arrayTableName].concat(newRows)\n } else {\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n }\n })\n }\n } else {\n let value = data[field.name]\n let push = false\n if (typeof value === 'object' && '$push' in value) {\n value = Array.isArray(value.$push) ? value.$push : [value.$push]\n push = true\n }\n\n const newRows = transformArray({\n adapter,\n arrayTableName,\n baseTableName,\n blocks,\n blocksToDelete,\n data: value,\n field,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n\n if (push) {\n if (!arraysToPush[arrayTableName]) {\n arraysToPush[arrayTableName] = []\n }\n arraysToPush[arrayTableName] = arraysToPush[arrayTableName].concat(newRows)\n } else {\n if (!arrays[arrayTableName]) {\n arrays[arrayTableName] = []\n }\n arrays[arrayTableName] = arrays[arrayTableName].concat(newRows)\n }\n }\n\n return\n }\n\n if (field.type === 'blocks' && !adapter.blocksAsJSON) {\n field.blocks.forEach((block) => {\n const matchedBlock =\n typeof block === 'string'\n ? adapter.payload.config.blocks.find((each) => each.slug === block)\n : block\n\n blocksToDelete.add(\n resolveBlockTableName(\n matchedBlock,\n adapter.tableNameMap.get(`${baseTableName}_blocks_${toSnakeCase(matchedBlock.slug)}`),\n ),\n )\n })\n\n if (isLocalized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: localeData,\n field,\n locale: localeKey,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n }\n })\n }\n } else if (isArrayOfRows(fieldData)) {\n transformBlocks({\n adapter,\n baseTableName,\n blocks,\n blocksToDelete,\n data: fieldData,\n field,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n path,\n relationships,\n relationshipsToDelete,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n\n return\n }\n\n if (field.type === 'group' || field.type === 'tab') {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n if (isLocalized) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n // preserve array ID if there is\n localeData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: localeData as Record<string, unknown>,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.flattenedFields,\n forcedLocale: localeKey,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale: localeKey,\n })\n })\n } else {\n // preserve array ID if there is\n const groupData = data[field.name] as Record<string, unknown>\n groupData._uuid = data.id || data._uuid\n\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix: `${columnName}_`,\n data: groupData,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix: `${fieldName}_`,\n fields: field.flattenedFields,\n forcedLocale,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentTableName,\n path: `${path || ''}${field.name}.`,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n }\n\n return\n }\n\n if (field.type === 'relationship' || field.type === 'upload') {\n const relationshipPath = `${path || ''}${field.name}`\n\n // Handle $push operation for relationship fields\n if (\n fieldData &&\n typeof fieldData === 'object' &&\n 'hasMany' in field &&\n field.hasMany &&\n ('$push' in fieldData ||\n (field.localized &&\n Object.values(fieldData).some(\n (localeValue) =>\n localeValue &&\n typeof localeValue === 'object' &&\n '$push' in (localeValue as Record<string, unknown>),\n )))\n ) {\n let itemsToAppend: unknown[]\n\n if (field.localized) {\n let hasLocaleOperations = false\n Object.entries(fieldData).forEach(([localeKey, localeValue]) => {\n if (localeValue && typeof localeValue === 'object' && '$push' in localeValue) {\n hasLocaleOperations = true\n const push = localeValue.$push\n const localeItems = Array.isArray(push) ? push : [push]\n\n localeItems.forEach((item) => {\n const relationshipToAppend: RelationshipToAppend = {\n locale: localeKey,\n path: relationshipPath,\n value: item,\n }\n\n // Handle polymorphic relationships\n if (\n Array.isArray(field.relationTo) &&\n item &&\n typeof item === 'object' &&\n 'relationTo' in item\n ) {\n relationshipToAppend.relationTo = item.relationTo\n relationshipToAppend.value = item.value\n } else if (typeof field.relationTo === 'string') {\n // Simple relationship\n relationshipToAppend.relationTo = field.relationTo\n relationshipToAppend.value = item\n }\n\n relationshipsToAppend.push(relationshipToAppend)\n })\n }\n })\n\n if (hasLocaleOperations) {\n return\n }\n } else {\n // Handle non-localized fields: { field: { $push: data } }\n itemsToAppend = Array.isArray((fieldData as any).$push)\n ? (fieldData as any).$push\n : [(fieldData as any).$push]\n\n itemsToAppend.forEach((item) => {\n const relationshipToAppend: RelationshipToAppend = {\n locale: isLocalized ? withinArrayOrBlockLocale : undefined,\n path: relationshipPath,\n value: item,\n }\n\n // Handle polymorphic relationships\n if (\n Array.isArray(field.relationTo) &&\n item &&\n typeof item === 'object' &&\n 'relationTo' in item &&\n 'value' in item\n ) {\n relationshipToAppend.relationTo = item.relationTo as string\n relationshipToAppend.value = item.value as number | string\n } else if (typeof field.relationTo === 'string') {\n // Simple relationship\n relationshipToAppend.relationTo = field.relationTo\n relationshipToAppend.value = item\n }\n\n relationshipsToAppend.push(relationshipToAppend)\n })\n }\n return\n }\n\n // Handle $remove operation for relationship fields\n if (\n fieldData &&\n typeof fieldData === 'object' &&\n 'hasMany' in field &&\n field.hasMany &&\n ('$remove' in fieldData ||\n (field.localized &&\n Object.values(fieldData).some(\n (localeValue) =>\n localeValue &&\n typeof localeValue === 'object' &&\n '$remove' in (localeValue as Record<string, unknown>),\n )))\n ) {\n // Check for new locale-first syntax: { field: { locale: { $remove: data } } }\n if (field.localized) {\n let hasLocaleOperations = false\n Object.entries(fieldData).forEach(([localeKey, localeValue]) => {\n if (localeValue && typeof localeValue === 'object' && '$remove' in localeValue) {\n hasLocaleOperations = true\n const remove = localeValue.$remove\n const localeItems = Array.isArray(remove) ? remove : [remove]\n\n localeItems.forEach((item) => {\n const relationshipToDelete: RelationshipToDelete = {\n itemToRemove: item,\n locale: localeKey,\n path: relationshipPath,\n }\n\n // Store relationTo for simple relationships\n if (typeof field.relationTo === 'string') {\n relationshipToDelete.relationTo = field.relationTo\n }\n\n relationshipsToDelete.push(relationshipToDelete)\n })\n }\n })\n\n if (hasLocaleOperations) {\n return\n }\n } else {\n // Handle non-localized fields: { field: { $remove: data } }\n const itemsToRemove = Array.isArray((fieldData as any).$remove)\n ? (fieldData as any).$remove\n : [(fieldData as any).$remove]\n\n itemsToRemove.forEach((item) => {\n const relationshipToDelete: RelationshipToDelete = {\n itemToRemove: item,\n locale: isLocalized ? withinArrayOrBlockLocale : undefined,\n path: relationshipPath,\n }\n\n // Store relationTo for simple relationships\n if (typeof field.relationTo === 'string') {\n relationshipToDelete.relationTo = field.relationTo\n }\n\n relationshipsToDelete.push(relationshipToDelete)\n })\n }\n return\n }\n\n if (\n isLocalized &&\n (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany))\n ) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (localeData === null) {\n relationshipsToDelete.push({\n locale: localeKey,\n path: relationshipPath,\n })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: localeKey,\n path: relationshipPath,\n },\n data: localeData,\n field,\n relationships,\n })\n })\n }\n return\n } else if (Array.isArray(field.relationTo) || ('hasMany' in field && field.hasMany)) {\n if (fieldData === null || (Array.isArray(fieldData) && fieldData.length === 0)) {\n relationshipsToDelete.push({ path: relationshipPath })\n return\n }\n\n transformRelationship({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: relationshipPath,\n },\n data: fieldData,\n field,\n relationships,\n })\n return\n } else {\n if (\n !isLocalized &&\n fieldData &&\n typeof fieldData === 'object' &&\n 'id' in fieldData &&\n fieldData?.id\n ) {\n fieldData = fieldData.id\n } else if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (typeof localeData === 'object') {\n if (localeData && 'id' in localeData && localeData?.id) {\n fieldData[localeKey] = localeData.id\n }\n } else {\n fieldData[localeKey] = localeData\n }\n })\n }\n }\n }\n }\n\n if (field.type === 'text' && field.hasMany) {\n const textPath = `${path || ''}${field.name}`\n\n if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n if (!localeData.length) {\n textsToDelete.push({ locale: localeKey, path: textPath })\n return\n }\n\n transformTexts({\n baseRow: {\n locale: localeKey,\n path: textPath,\n },\n data: localeData,\n texts,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n if (!fieldData.length) {\n textsToDelete.push({ locale: withinArrayOrBlockLocale, path: textPath })\n return\n }\n\n transformTexts({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: textPath,\n },\n data: fieldData,\n texts,\n })\n }\n\n return\n }\n\n if (field.type === 'number' && field.hasMany) {\n const numberPath = `${path || ''}${field.name}`\n\n if (isLocalized) {\n if (typeof fieldData === 'object') {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n if (!localeData.length) {\n numbersToDelete.push({ locale: localeKey, path: numberPath })\n return\n }\n\n transformNumbers({\n baseRow: {\n locale: localeKey,\n path: numberPath,\n },\n data: localeData,\n numbers,\n })\n }\n })\n }\n } else if (Array.isArray(fieldData)) {\n if (!fieldData.length) {\n numbersToDelete.push({ locale: withinArrayOrBlockLocale, path: numberPath })\n return\n }\n\n transformNumbers({\n baseRow: {\n locale: withinArrayOrBlockLocale,\n path: numberPath,\n },\n data: fieldData,\n numbers,\n })\n }\n\n return\n }\n\n if (field.type === 'select' && field.hasMany) {\n if (fieldData === undefined) {\n return\n }\n\n const selectTableName = adapter.tableNameMap.get(`${parentTableName}_${columnName}`)\n if (!selects[selectTableName]) {\n selects[selectTableName] = []\n }\n\n if (isLocalized) {\n if (typeof data[field.name] === 'object' && data[field.name] !== null) {\n Object.entries(data[field.name]).forEach(([localeKey, localeData]) => {\n if (Array.isArray(localeData)) {\n const newRows = transformSelects({\n id: insideArrayOrBlock ? data._uuid || data.id : undefined,\n data: localeData,\n locale: localeKey,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n })\n }\n } else if (Array.isArray(data[field.name])) {\n const newRows = transformSelects({\n id: insideArrayOrBlock ? data._uuid || data.id : undefined,\n data: data[field.name],\n locale: withinArrayOrBlockLocale,\n })\n\n selects[selectTableName] = selects[selectTableName].concat(newRows)\n }\n\n return\n }\n\n const valuesToTransform: { localeKey?: string; ref: unknown; value: unknown }[] = []\n\n if (isLocalized) {\n if (typeof fieldData === 'object' && fieldData !== null) {\n Object.entries(fieldData).forEach(([localeKey, localeData]) => {\n if (!locales[localeKey]) {\n locales[localeKey] = {}\n }\n\n valuesToTransform.push({\n localeKey,\n ref: locales,\n value: localeData,\n })\n })\n }\n } else {\n let ref = row\n\n if (forcedLocale) {\n if (!locales[forcedLocale]) {\n locales[forcedLocale] = {}\n }\n ref = locales[forcedLocale]\n }\n\n valuesToTransform.push({ ref, value: fieldData })\n }\n\n valuesToTransform.forEach(({ localeKey, ref, value }) => {\n let formattedValue = value\n\n if (field.type === 'date') {\n if (fieldName === 'updatedAt' && formattedValue === null) {\n // If updatedAt is explicitly set to null, skip it entirely - don't add to row\n // This prevents the timestamp from being updated for session-only operations\n return // Skip this iteration\n } else if (fieldName === 'updatedAt' && typeof formattedValue === 'undefined') {\n // If updatedAt is undefined, set it to current time (normal behavior)\n formattedValue = new Date().toISOString()\n } else {\n if (typeof value === 'number' && !Number.isNaN(value)) {\n formattedValue = new Date(value).toISOString()\n } else if (value instanceof Date) {\n formattedValue = value.toISOString()\n }\n }\n }\n\n if (typeof value !== 'undefined') {\n if (value && field.type === 'point' && adapter.name !== 'sqlite') {\n formattedValue = sql`ST_GeomFromGeoJSON(${JSON.stringify(value)})`\n }\n\n if (field.type === 'text' && value && typeof value !== 'string') {\n formattedValue = JSON.stringify(value)\n }\n\n if (\n field.type === 'number' &&\n value &&\n typeof value === 'object' &&\n '$inc' in value &&\n typeof value.$inc === 'number'\n ) {\n if (!enableAtomicWrites) {\n throw new APIError(\n 'The passed data must not contain any nested fields for atomic writes',\n )\n }\n\n formattedValue = sql.raw(`${columnName} + ${value.$inc}`)\n }\n }\n\n if (typeof formattedValue !== 'undefined') {\n if (localeKey) {\n ref[localeKey][fieldName] = formattedValue\n } else {\n ref[fieldName] = formattedValue\n }\n }\n })\n })\n\n // Handle dot-notation paths when no fields matched\n if (!fieldsMatched) {\n Object.keys(data).forEach((key) => {\n if (expandOwnDottedKey({ key, target: data })) {\n // Recursively process the newly created nested structure\n // The field traversal will naturally handle it if the field exists in the schema\n traverseFields({\n adapter,\n arrays,\n arraysToPush,\n baseTableName,\n blocks,\n blocksToDelete,\n columnPrefix,\n data,\n enableAtomicWrites,\n existingLocales,\n fieldPrefix,\n fields,\n forcedLocale,\n insideArrayOrBlock,\n locales,\n numbers,\n numbersToDelete,\n parentIsLocalized,\n parentTableName,\n path,\n relationships,\n relationshipsToAppend,\n relationshipsToDelete,\n row,\n selects,\n texts,\n textsToDelete,\n withinArrayOrBlockLocale,\n })\n }\n })\n }\n}\n"],"names":["sql","APIError","expandOwnDottedKey","fieldIsVirtual","fieldShouldBeLocalized","toSnakeCase","isArrayOfRows","resolveBlockTableName","transformArray","transformBlocks","transformNumbers","transformRelationship","transformSelects","transformTexts","traverseFields","adapter","arrays","arraysToPush","baseTableName","blocks","blocksToDelete","columnPrefix","data","enableAtomicWrites","existingLocales","fieldPrefix","fields","forcedLocale","insideArrayOrBlock","locales","numbers","numbersToDelete","parentIsLocalized","parentTableName","path","relationships","relationshipsToAppend","relationshipsToDelete","row","selects","texts","textsToDelete","withinArrayOrBlockLocale","fieldsMatched","_uuid","forEach","field","columnName","fieldName","fieldData","name","undefined","isLocalized","type","arrayTableName","tableNameMap","get","value","Object","entries","localeKey","localeValue","localeData","push","$push","Array","isArray","newRows","locale","localized","concat","blocksAsJSON","block","matchedBlock","payload","config","find","each","slug","add","id","flattenedFields","groupData","relationshipPath","hasMany","values","some","itemsToAppend","hasLocaleOperations","localeItems","item","relationshipToAppend","relationTo","remove","$remove","relationshipToDelete","itemToRemove","itemsToRemove","baseRow","length","textPath","numberPath","selectTableName","valuesToTransform","ref","formattedValue","Date","toISOString","Number","isNaN","JSON","stringify","$inc","raw","keys","key","target"],"mappings":"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"}
@@ -42,10 +42,6 @@ export type NumberToDelete = {
42
42
  locale?: string;
43
43
  path: string;
44
44
  };
45
- export type SelectToDelete = {
46
- locale?: string;
47
- parent?: unknown;
48
- };
49
45
  export type RowToInsert = {
50
46
  arrays: {
51
47
  [tableName: string]: ArrayRowToInsert[];
@@ -69,9 +65,6 @@ export type RowToInsert = {
69
65
  selects: {
70
66
  [tableName: string]: Record<string, unknown>[];
71
67
  };
72
- selectsToDelete: {
73
- [tableName: string]: SelectToDelete[];
74
- };
75
68
  texts: Record<string, unknown>[];
76
69
  textsToDelete: TextToDelete[];
77
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transform/write/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/transform/write/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,GAAG,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,YAAY,EAAE;QACZ,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KACxC,CAAA;IACD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAC1C,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAClC,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACxC,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,qBAAqB,EAAE,oBAAoB,EAAE,CAAA;IAC7C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAC/C,CAAA;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAChC,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/transform/write/types.ts"],"sourcesContent":["export type ArrayRowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n locales: {\n [locale: string]: Record<string, unknown>\n }\n row: Record<string, unknown>\n}\n\nexport type BlockRowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n locales: {\n [locale: string]: Record<string, unknown>\n }\n row: Record<string, unknown>\n}\n\nexport type RelationshipToDelete = {\n itemToRemove?: any // For $remove operations - stores the item data to match\n locale?: string\n path: string\n relationTo?: string // For simple relationships - stores the relationTo field\n}\n\nexport type RelationshipToAppend = {\n locale?: string\n path: string\n relationTo?: string // For polymorphic relationships\n value: any\n}\n\nexport type TextToDelete = {\n locale?: string\n path: string\n}\n\nexport type NumberToDelete = {\n locale?: string\n path: string\n}\n\nexport type SelectToDelete = {\n locale?: string\n parent?: unknown\n}\n\nexport type RowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n blocks: {\n [tableName: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n relationships: Record<string, unknown>[]\n relationshipsToAppend: RelationshipToAppend[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n selectsToDelete: {\n [tableName: string]: SelectToDelete[]\n }\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n}\n"],"names":[],"mappings":"AAuDA,WA4BC"}
1
+ {"version":3,"sources":["../../../src/transform/write/types.ts"],"sourcesContent":["export type ArrayRowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n locales: {\n [locale: string]: Record<string, unknown>\n }\n row: Record<string, unknown>\n}\n\nexport type BlockRowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n locales: {\n [locale: string]: Record<string, unknown>\n }\n row: Record<string, unknown>\n}\n\nexport type RelationshipToDelete = {\n itemToRemove?: any // For $remove operations - stores the item data to match\n locale?: string\n path: string\n relationTo?: string // For simple relationships - stores the relationTo field\n}\n\nexport type RelationshipToAppend = {\n locale?: string\n path: string\n relationTo?: string // For polymorphic relationships\n value: any\n}\n\nexport type TextToDelete = {\n locale?: string\n path: string\n}\n\nexport type NumberToDelete = {\n locale?: string\n path: string\n}\n\nexport type RowToInsert = {\n arrays: {\n [tableName: string]: ArrayRowToInsert[]\n }\n arraysToPush: {\n [tableName: string]: ArrayRowToInsert[]\n }\n blocks: {\n [tableName: string]: BlockRowToInsert[]\n }\n blocksToDelete: Set<string>\n locales: {\n [locale: string]: Record<string, unknown>\n }\n numbers: Record<string, unknown>[]\n numbersToDelete: NumberToDelete[]\n relationships: Record<string, unknown>[]\n relationshipsToAppend: RelationshipToAppend[]\n relationshipsToDelete: RelationshipToDelete[]\n row: Record<string, unknown>\n selects: {\n [tableName: string]: Record<string, unknown>[]\n }\n texts: Record<string, unknown>[]\n textsToDelete: TextToDelete[]\n}\n"],"names":[],"mappings":"AAkDA,WAyBC"}
package/dist/types.d.ts CHANGED
@@ -63,7 +63,6 @@ export type Execute<T> = (args: {
63
63
  }>> | SQLiteRaw<ResultSet>;
64
64
  export type Insert = (args: {
65
65
  db: DrizzleTransaction | LibSQLDatabase | PostgresDB;
66
- onConflictDoNothing?: unknown;
67
66
  onConflictDoUpdate?: unknown;
68
67
  tableName: string;
69
68
  values: Record<string, unknown> | Record<string, unknown>[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}