@payloadcms/db-postgres 3.0.0-alpha.41 → 3.0.0-alpha.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. package/dist/connect.js +1 -1
  2. package/dist/connect.js.map +1 -0
  3. package/dist/create.js +1 -1
  4. package/dist/create.js.map +1 -0
  5. package/dist/createGlobal.js +1 -1
  6. package/dist/createGlobal.js.map +1 -0
  7. package/dist/createGlobalVersion.js +1 -1
  8. package/dist/createGlobalVersion.js.map +1 -0
  9. package/dist/createMigration.d.ts.map +1 -1
  10. package/dist/createMigration.js +4 -2
  11. package/dist/createMigration.js.map +1 -0
  12. package/dist/createVersion.js +1 -1
  13. package/dist/createVersion.js.map +1 -0
  14. package/dist/deleteMany.js +1 -1
  15. package/dist/deleteMany.js.map +1 -0
  16. package/dist/deleteOne.js +1 -1
  17. package/dist/deleteOne.js.map +1 -0
  18. package/dist/deleteVersions.js +1 -1
  19. package/dist/deleteVersions.js.map +1 -0
  20. package/dist/destroy.js +1 -1
  21. package/dist/destroy.js.map +1 -0
  22. package/dist/find/buildFindManyArgs.js +1 -1
  23. package/dist/find/buildFindManyArgs.js.map +1 -0
  24. package/dist/find/chainMethods.js +1 -1
  25. package/dist/find/chainMethods.js.map +1 -0
  26. package/dist/find/findMany.js +1 -1
  27. package/dist/find/findMany.js.map +1 -0
  28. package/dist/find/traverseFields.js +1 -1
  29. package/dist/find/traverseFields.js.map +1 -0
  30. package/dist/find.js +1 -1
  31. package/dist/find.js.map +1 -0
  32. package/dist/findGlobal.js +1 -1
  33. package/dist/findGlobal.js.map +1 -0
  34. package/dist/findGlobalVersions.js +1 -1
  35. package/dist/findGlobalVersions.js.map +1 -0
  36. package/dist/findOne.js +1 -1
  37. package/dist/findOne.js.map +1 -0
  38. package/dist/findVersions.js +1 -1
  39. package/dist/findVersions.js.map +1 -0
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +1 -0
  42. package/dist/init.js +1 -1
  43. package/dist/init.js.map +1 -0
  44. package/dist/migrate.d.ts.map +1 -1
  45. package/dist/migrate.js +5 -3
  46. package/dist/migrate.js.map +1 -0
  47. package/dist/migrateDown.js +1 -1
  48. package/dist/migrateDown.js.map +1 -0
  49. package/dist/migrateFresh.js +1 -1
  50. package/dist/migrateFresh.js.map +1 -0
  51. package/dist/migrateRefresh.js +1 -1
  52. package/dist/migrateRefresh.js.map +1 -0
  53. package/dist/migrateReset.js +1 -1
  54. package/dist/migrateReset.js.map +1 -0
  55. package/dist/migrateStatus.js +1 -1
  56. package/dist/migrateStatus.js.map +1 -0
  57. package/dist/queries/buildAndOrConditions.js +1 -1
  58. package/dist/queries/buildAndOrConditions.js.map +1 -0
  59. package/dist/queries/buildQuery.js +1 -1
  60. package/dist/queries/buildQuery.js.map +1 -0
  61. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +1 -1
  62. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js.map +1 -0
  63. package/dist/queries/createJSONQuery/formatJSONPathSegment.js +1 -1
  64. package/dist/queries/createJSONQuery/formatJSONPathSegment.js.map +1 -0
  65. package/dist/queries/createJSONQuery/index.js +1 -1
  66. package/dist/queries/createJSONQuery/index.js.map +1 -0
  67. package/dist/queries/getTableColumnFromPath.js +1 -1
  68. package/dist/queries/getTableColumnFromPath.js.map +1 -0
  69. package/dist/queries/operatorMap.js +1 -1
  70. package/dist/queries/operatorMap.js.map +1 -0
  71. package/dist/queries/parseParams.js +1 -1
  72. package/dist/queries/parseParams.js.map +1 -0
  73. package/dist/queries/sanitizeQueryValue.js +1 -1
  74. package/dist/queries/sanitizeQueryValue.js.map +1 -0
  75. package/dist/queryDrafts.js +1 -1
  76. package/dist/queryDrafts.js.map +1 -0
  77. package/dist/schema/build.js +1 -1
  78. package/dist/schema/build.js.map +1 -0
  79. package/dist/schema/createIndex.js +1 -1
  80. package/dist/schema/createIndex.js.map +1 -0
  81. package/dist/schema/idToUUID.js +1 -1
  82. package/dist/schema/idToUUID.js.map +1 -0
  83. package/dist/schema/parentIDColumnMap.js +1 -1
  84. package/dist/schema/parentIDColumnMap.js.map +1 -0
  85. package/dist/schema/setColumnID.js +1 -1
  86. package/dist/schema/setColumnID.js.map +1 -0
  87. package/dist/schema/traverseFields.js +1 -1
  88. package/dist/schema/traverseFields.js.map +1 -0
  89. package/dist/schema/validateExistingBlockIsIdentical.js +1 -1
  90. package/dist/schema/validateExistingBlockIsIdentical.js.map +1 -0
  91. package/dist/transactions/beginTransaction.js +1 -1
  92. package/dist/transactions/beginTransaction.js.map +1 -0
  93. package/dist/transactions/commitTransaction.js +1 -1
  94. package/dist/transactions/commitTransaction.js.map +1 -0
  95. package/dist/transactions/rollbackTransaction.js +1 -1
  96. package/dist/transactions/rollbackTransaction.js.map +1 -0
  97. package/dist/transform/read/hasManyNumber.js +1 -1
  98. package/dist/transform/read/hasManyNumber.js.map +1 -0
  99. package/dist/transform/read/hasManyText.js +1 -1
  100. package/dist/transform/read/hasManyText.js.map +1 -0
  101. package/dist/transform/read/index.js +1 -1
  102. package/dist/transform/read/index.js.map +1 -0
  103. package/dist/transform/read/relationship.js +1 -1
  104. package/dist/transform/read/relationship.js.map +1 -0
  105. package/dist/transform/read/traverseFields.js +1 -1
  106. package/dist/transform/read/traverseFields.js.map +1 -0
  107. package/dist/transform/write/array.js +1 -1
  108. package/dist/transform/write/array.js.map +1 -0
  109. package/dist/transform/write/blocks.js +1 -1
  110. package/dist/transform/write/blocks.js.map +1 -0
  111. package/dist/transform/write/index.js +1 -1
  112. package/dist/transform/write/index.js.map +1 -0
  113. package/dist/transform/write/numbers.js +1 -1
  114. package/dist/transform/write/numbers.js.map +1 -0
  115. package/dist/transform/write/relationships.js +1 -1
  116. package/dist/transform/write/relationships.js.map +1 -0
  117. package/dist/transform/write/selects.js +1 -1
  118. package/dist/transform/write/selects.js.map +1 -0
  119. package/dist/transform/write/texts.js +1 -1
  120. package/dist/transform/write/texts.js.map +1 -0
  121. package/dist/transform/write/traverseFields.js +1 -1
  122. package/dist/transform/write/traverseFields.js.map +1 -0
  123. package/dist/transform/write/types.js +1 -1
  124. package/dist/transform/write/types.js.map +1 -0
  125. package/dist/types.js +1 -1
  126. package/dist/types.js.map +1 -0
  127. package/dist/update.js +1 -1
  128. package/dist/update.js.map +1 -0
  129. package/dist/updateGlobal.js +1 -1
  130. package/dist/updateGlobal.js.map +1 -0
  131. package/dist/updateGlobalVersion.js +1 -1
  132. package/dist/updateGlobalVersion.js.map +1 -0
  133. package/dist/updateVersion.js +1 -1
  134. package/dist/updateVersion.js.map +1 -0
  135. package/dist/upsertRow/deleteExistingArrayRows.js +1 -1
  136. package/dist/upsertRow/deleteExistingArrayRows.js.map +1 -0
  137. package/dist/upsertRow/deleteExistingRowsByPath.js +1 -1
  138. package/dist/upsertRow/deleteExistingRowsByPath.js.map +1 -0
  139. package/dist/upsertRow/index.js +1 -1
  140. package/dist/upsertRow/index.js.map +1 -0
  141. package/dist/upsertRow/insertArrays.js +1 -1
  142. package/dist/upsertRow/insertArrays.js.map +1 -0
  143. package/dist/upsertRow/types.js +1 -1
  144. package/dist/upsertRow/types.js.map +1 -0
  145. package/dist/utilities/appendPrefixToKeys.js +1 -1
  146. package/dist/utilities/appendPrefixToKeys.js.map +1 -0
  147. package/dist/utilities/createBlocksMap.js +1 -1
  148. package/dist/utilities/createBlocksMap.js.map +1 -0
  149. package/dist/utilities/createMigrationTable.js +1 -1
  150. package/dist/utilities/createMigrationTable.js.map +1 -0
  151. package/dist/utilities/createRelationshipMap.js +1 -1
  152. package/dist/utilities/createRelationshipMap.js.map +1 -0
  153. package/dist/utilities/hasLocalesTable.js +1 -1
  154. package/dist/utilities/hasLocalesTable.js.map +1 -0
  155. package/dist/utilities/isArrayOfRows.js +1 -1
  156. package/dist/utilities/isArrayOfRows.js.map +1 -0
  157. package/dist/utilities/migrationTableExists.js +1 -1
  158. package/dist/utilities/migrationTableExists.js.map +1 -0
  159. package/dist/utilities/parseError.js +1 -1
  160. package/dist/utilities/parseError.js.map +1 -0
  161. package/dist/utilities/pushDevSchema.d.ts.map +1 -1
  162. package/dist/utilities/pushDevSchema.js +4 -2
  163. package/dist/utilities/pushDevSchema.js.map +1 -0
  164. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Payload } from 'payload'\nimport type { DatabaseAdapterObj } from 'payload/database'\n\nimport fs from 'fs'\nimport path from 'path'\nimport { createDatabaseAdapter } from 'payload/database'\n\nimport type { Args, PostgresAdapter } from './types.js'\n\nimport { connect } from './connect.js'\nimport { create } from './create.js'\nimport { createGlobal } from './createGlobal.js'\nimport { createGlobalVersion } from './createGlobalVersion.js'\nimport { createMigration } from './createMigration.js'\nimport { createVersion } from './createVersion.js'\nimport { deleteMany } from './deleteMany.js'\nimport { deleteOne } from './deleteOne.js'\nimport { deleteVersions } from './deleteVersions.js'\nimport { destroy } from './destroy.js'\nimport { find } from './find.js'\nimport { findGlobal } from './findGlobal.js'\nimport { findGlobalVersions } from './findGlobalVersions.js'\nimport { findOne } from './findOne.js'\nimport { findVersions } from './findVersions.js'\nimport { init } from './init.js'\nimport { migrate } from './migrate.js'\nimport { migrateDown } from './migrateDown.js'\nimport { migrateFresh } from './migrateFresh.js'\nimport { migrateRefresh } from './migrateRefresh.js'\nimport { migrateReset } from './migrateReset.js'\nimport { migrateStatus } from './migrateStatus.js'\nimport { queryDrafts } from './queryDrafts.js'\nimport { beginTransaction } from './transactions/beginTransaction.js'\nimport { commitTransaction } from './transactions/commitTransaction.js'\nimport { rollbackTransaction } from './transactions/rollbackTransaction.js'\nimport { updateOne } from './update.js'\nimport { updateGlobal } from './updateGlobal.js'\nimport { updateGlobalVersion } from './updateGlobalVersion.js'\nimport { updateVersion } from './updateVersion.js'\n\nexport type { MigrateDownArgs, MigrateUpArgs } from './types.js'\n\nexport function postgresAdapter(args: Args): DatabaseAdapterObj<PostgresAdapter> {\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n const idType = args.idType || 'serial'\n\n return createDatabaseAdapter<PostgresAdapter>({\n name: 'postgres',\n\n // Postgres-specific\n drizzle: undefined,\n enums: {},\n fieldConstraints: {},\n idType,\n logger: args.logger,\n pgSchema: undefined,\n pool: undefined,\n poolOptions: args.pool,\n push: args.push,\n relations: {},\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tables: {},\n\n // DatabaseAdapter\n beginTransaction,\n commitTransaction,\n connect,\n create,\n createGlobal,\n createGlobalVersion,\n createMigration,\n createVersion,\n /**\n * This represents how a default ID is treated in Payload as were a field type\n */\n defaultIDType: idType === 'serial' ? 'number' : 'text',\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n init,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n payload,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n })\n }\n\n return {\n defaultIDType: 'number',\n init: adapter,\n }\n}\n\n/**\n * Attempt to find migrations directory.\n *\n * Checks for the following directories in order:\n * - `migrationDir` argument from Payload config\n * - `src/migrations`\n * - `dist/migrations`\n * - `migrations`\n *\n * Defaults to `src/migrations`\n *\n * @param migrationDir\n * @returns\n */\nfunction findMigrationDir(migrationDir?: string): string {\n const cwd = process.cwd()\n const srcDir = path.resolve(cwd, 'src/migrations')\n const distDir = path.resolve(cwd, 'dist/migrations')\n const relativeMigrations = path.resolve(cwd, 'migrations')\n\n // Use arg if provided\n if (migrationDir) return migrationDir\n\n // Check other common locations\n if (fs.existsSync(srcDir)) {\n return srcDir\n }\n\n if (fs.existsSync(distDir)) {\n return distDir\n }\n\n if (fs.existsSync(relativeMigrations)) {\n return relativeMigrations\n }\n\n return srcDir\n}\n"],"names":["fs","path","createDatabaseAdapter","connect","create","createGlobal","createGlobalVersion","createMigration","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findGlobal","findGlobalVersions","findOne","findVersions","init","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","queryDrafts","beginTransaction","commitTransaction","rollbackTransaction","updateOne","updateGlobal","updateGlobalVersion","updateVersion","postgresAdapter","args","adapter","payload","migrationDir","findMigrationDir","idType","name","drizzle","undefined","enums","fieldConstraints","logger","pgSchema","pool","poolOptions","push","relations","schema","schemaName","sessions","tables","defaultIDType","cwd","process","srcDir","resolve","distDir","relativeMigrations","existsSync"],"mappings":"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"}
package/dist/init.js CHANGED
@@ -73,4 +73,4 @@ export const init = function init() {
73
73
  });
74
74
  };
75
75
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtLCBwZ1NjaGVtYSwgcGdUYWJsZSB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzLCBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMgfSBmcm9tICdwYXlsb2FkL3ZlcnNpb25zJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vc2NoZW1hL2J1aWxkLmpzJ1xuXG5leHBvcnQgY29uc3QgaW5pdDogSW5pdCA9IGZ1bmN0aW9uIGluaXQodGhpczogUG9zdGdyZXNBZGFwdGVyKSB7XG4gIGlmICh0aGlzLnNjaGVtYU5hbWUpIHtcbiAgICB0aGlzLnBnU2NoZW1hID0gcGdTY2hlbWEodGhpcy5zY2hlbWFOYW1lKVxuICB9IGVsc2Uge1xuICAgIHRoaXMucGdTY2hlbWEgPSB7IHRhYmxlOiBwZ1RhYmxlIH1cbiAgfVxuXG4gIGlmICh0aGlzLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgIHRoaXMuZW51bXMuZW51bV9fbG9jYWxlcyA9IHBnRW51bShcbiAgICAgICdfbG9jYWxlcycsXG4gICAgICB0aGlzLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVzLm1hcCgoeyBjb2RlIH0pID0+IGNvZGUpIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICApXG4gIH1cblxuICB0aGlzLnBheWxvYWQuY29uZmlnLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcpID0+IHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShjb2xsZWN0aW9uLnNsdWcpXG5cbiAgICBidWlsZFRhYmxlKHtcbiAgICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgICBidWlsZE51bWJlcnM6IHRydWUsXG4gICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICBidWlsZFRleHRzOiB0cnVlLFxuICAgICAgZGlzYWJsZU5vdE51bGw6ICEhY29sbGVjdGlvbj8udmVyc2lvbnM/LmRyYWZ0cyxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHRhYmxlTmFtZSxcbiAgICAgIHRpbWVzdGFtcHM6IGNvbGxlY3Rpb24udGltZXN0YW1wcyxcbiAgICB9KVxuXG4gICAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24pXG5cbiAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICBhZGFwdGVyOiB0aGlzLFxuICAgICAgICBidWlsZE51bWJlcnM6IHRydWUsXG4gICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgICAgYnVpbGRUZXh0czogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZU5vdE51bGw6ICEhY29sbGVjdGlvbi52ZXJzaW9ucz8uZHJhZnRzLFxuICAgICAgICBkaXNhYmxlVW5pcXVlOiB0cnVlLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICAgIHRhYmxlTmFtZTogdmVyc2lvbnNUYWJsZU5hbWUsXG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfSlcblxuICB0aGlzLnBheWxvYWQuY29uZmlnLmdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgY29uc3QgdGFibGVOYW1lID0gdG9TbmFrZUNhc2UoZ2xvYmFsLnNsdWcpXG5cbiAgICBidWlsZFRhYmxlKHtcbiAgICAgIGFkYXB0ZXI6IHRoaXMsXG4gICAgICBidWlsZE51bWJlcnM6IHRydWUsXG4gICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICBidWlsZFRleHRzOiB0cnVlLFxuICAgICAgZGlzYWJsZU5vdE51bGw6ICEhZ2xvYmFsPy52ZXJzaW9ucz8uZHJhZnRzLFxuICAgICAgZGlzYWJsZVVuaXF1ZTogZmFsc2UsXG4gICAgICBmaWVsZHM6IGdsb2JhbC5maWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgICB0aW1lc3RhbXBzOiBmYWxzZSxcbiAgICB9KVxuXG4gICAgaWYgKGdsb2JhbC52ZXJzaW9ucykge1xuICAgICAgY29uc3QgdmVyc2lvbnNUYWJsZU5hbWUgPSBgXyR7dGFibGVOYW1lfV92YFxuICAgICAgY29uc3QgdmVyc2lvbkZpZWxkcyA9IGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyhnbG9iYWwpXG5cbiAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICBhZGFwdGVyOiB0aGlzLFxuICAgICAgICBidWlsZE51bWJlcnM6IHRydWUsXG4gICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgICAgYnVpbGRUZXh0czogdHJ1ZSxcbiAgICAgICAgZGlzYWJsZU5vdE51bGw6ICEhZ2xvYmFsLnZlcnNpb25zPy5kcmFmdHMsXG4gICAgICAgIGRpc2FibGVVbmlxdWU6IHRydWUsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lOiB2ZXJzaW9uc1RhYmxlTmFtZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxufVxuIl0sIm5hbWVzIjpbInBnRW51bSIsInBnU2NoZW1hIiwicGdUYWJsZSIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMiLCJ0b1NuYWtlQ2FzZSIsImJ1aWxkVGFibGUiLCJpbml0Iiwic2NoZW1hTmFtZSIsInRhYmxlIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImVudW1zIiwiZW51bV9fbG9jYWxlcyIsImxvY2FsZXMiLCJtYXAiLCJjb2RlIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInRhYmxlTmFtZSIsInNsdWciLCJhZGFwdGVyIiwiYnVpbGROdW1iZXJzIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiYnVpbGRUZXh0cyIsImRpc2FibGVOb3ROdWxsIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRzIiwidGltZXN0YW1wcyIsInZlcnNpb25zVGFibGVOYW1lIiwidmVyc2lvbkZpZWxkcyIsImdsb2JhbHMiLCJnbG9iYWwiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQUlwQyxTQUFTQSxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsT0FBTyxRQUFRLHNCQUFxQjtBQUMvRCxTQUFTQyw0QkFBNEIsRUFBRUMsd0JBQXdCLFFBQVEsbUJBQWtCO0FBQ3pGLE9BQU9DLGlCQUFpQixnQkFBZTtBQUl2QyxTQUFTQyxVQUFVLFFBQVEsb0JBQW1CO0FBRTlDLE9BQU8sTUFBTUMsT0FBYSxTQUFTQTtJQUNqQyxJQUFJLElBQUksQ0FBQ0MsVUFBVSxFQUFFO1FBQ25CLElBQUksQ0FBQ1AsUUFBUSxHQUFHQSxTQUFTLElBQUksQ0FBQ08sVUFBVTtJQUMxQyxPQUFPO1FBQ0wsSUFBSSxDQUFDUCxRQUFRLEdBQUc7WUFBRVEsT0FBT1A7UUFBUTtJQUNuQztJQUVBLElBQUksSUFBSSxDQUFDUSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFO1FBQ3BDLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxhQUFhLEdBQUdkLE9BQ3pCLFlBQ0EsSUFBSSxDQUFDVSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDRyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVDLElBQUksRUFBRSxHQUFLQTtJQUUvRDtJQUVBLElBQUksQ0FBQ1AsT0FBTyxDQUFDQyxNQUFNLENBQUNPLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDLENBQUNDO1FBQ3ZDLE1BQU1DLFlBQVloQixZQUFZZSxXQUFXRSxJQUFJO1FBRTdDaEIsV0FBVztZQUNUaUIsU0FBUyxJQUFJO1lBQ2JDLGNBQWM7WUFDZEMsb0JBQW9CO1lBQ3BCQyxZQUFZO1lBQ1pDLGdCQUFnQixDQUFDLENBQUNQLFlBQVlRLFVBQVVDO1lBQ3hDQyxlQUFlO1lBQ2ZDLFFBQVFYLFdBQVdXLE1BQU07WUFDekJWO1lBQ0FXLFlBQVlaLFdBQVdZLFVBQVU7UUFDbkM7UUFFQSxJQUFJWixXQUFXUSxRQUFRLEVBQUU7WUFDdkIsTUFBTUssb0JBQW9CLENBQUMsQ0FBQyxFQUFFWixVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNYSxnQkFBZ0IvQiw2QkFBNkJpQjtZQUVuRGQsV0FBVztnQkFDVGlCLFNBQVMsSUFBSTtnQkFDYkMsY0FBYztnQkFDZEMsb0JBQW9CO2dCQUNwQkMsWUFBWTtnQkFDWkMsZ0JBQWdCLENBQUMsQ0FBQ1AsV0FBV1EsUUFBUSxFQUFFQztnQkFDdkNDLGVBQWU7Z0JBQ2ZDLFFBQVFHO2dCQUNSYixXQUFXWTtnQkFDWEQsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtJQUVBLElBQUksQ0FBQ3RCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDd0IsT0FBTyxDQUFDaEIsT0FBTyxDQUFDLENBQUNpQjtRQUNuQyxNQUFNZixZQUFZaEIsWUFBWStCLE9BQU9kLElBQUk7UUFFekNoQixXQUFXO1lBQ1RpQixTQUFTLElBQUk7WUFDYkMsY0FBYztZQUNkQyxvQkFBb0I7WUFDcEJDLFlBQVk7WUFDWkMsZ0JBQWdCLENBQUMsQ0FBQ1MsUUFBUVIsVUFBVUM7WUFDcENDLGVBQWU7WUFDZkMsUUFBUUssT0FBT0wsTUFBTTtZQUNyQlY7WUFDQVcsWUFBWTtRQUNkO1FBRUEsSUFBSUksT0FBT1IsUUFBUSxFQUFFO1lBQ25CLE1BQU1LLG9CQUFvQixDQUFDLENBQUMsRUFBRVosVUFBVSxFQUFFLENBQUM7WUFDM0MsTUFBTWEsZ0JBQWdCOUIseUJBQXlCZ0M7WUFFL0M5QixXQUFXO2dCQUNUaUIsU0FBUyxJQUFJO2dCQUNiQyxjQUFjO2dCQUNkQyxvQkFBb0I7Z0JBQ3BCQyxZQUFZO2dCQUNaQyxnQkFBZ0IsQ0FBQyxDQUFDUyxPQUFPUixRQUFRLEVBQUVDO2dCQUNuQ0MsZUFBZTtnQkFDZkMsUUFBUUc7Z0JBQ1JiLFdBQVdZO2dCQUNYRCxZQUFZO1lBQ2Q7UUFDRjtJQUNGO0FBQ0YsRUFBQyJ9
76
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/init.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Init } from 'payload/database'\nimport type { SanitizedCollectionConfig } from 'payload/types'\n\nimport { pgEnum, pgSchema, pgTable } from 'drizzle-orm/pg-core'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload/versions'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { buildTable } from './schema/build.js'\n\nexport const init: Init = function init(this: PostgresAdapter) {\n if (this.schemaName) {\n this.pgSchema = pgSchema(this.schemaName)\n } else {\n this.pgSchema = { table: pgTable }\n }\n\n if (this.payload.config.localization) {\n this.enums.enum__locales = pgEnum(\n '_locales',\n this.payload.config.localization.locales.map(({ code }) => code) as [string, ...string[]],\n )\n }\n\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n const tableName = toSnakeCase(collection.slug)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.fields,\n tableName,\n timestamps: collection.timestamps,\n })\n\n if (collection.versions) {\n const versionsTableName = `_${tableName}_v`\n const versionFields = buildVersionCollectionFields(collection)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!collection.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n })\n }\n })\n\n this.payload.config.globals.forEach((global) => {\n const tableName = toSnakeCase(global.slug)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!global?.versions?.drafts,\n disableUnique: false,\n fields: global.fields,\n tableName,\n timestamps: false,\n })\n\n if (global.versions) {\n const versionsTableName = `_${tableName}_v`\n const versionFields = buildVersionGlobalFields(global)\n\n buildTable({\n adapter: this,\n buildNumbers: true,\n buildRelationships: true,\n buildTexts: true,\n disableNotNull: !!global.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n tableName: versionsTableName,\n timestamps: true,\n })\n }\n })\n}\n"],"names":["pgEnum","pgSchema","pgTable","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","buildTable","init","schemaName","table","payload","config","localization","enums","enum__locales","locales","map","code","collections","forEach","collection","tableName","slug","adapter","buildNumbers","buildRelationships","buildTexts","disableNotNull","versions","drafts","disableUnique","fields","timestamps","versionsTableName","versionFields","globals","global"],"mappings":"AAAA,oCAAoC,GAIpC,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,sBAAqB;AAC/D,SAASC,4BAA4B,EAAEC,wBAAwB,QAAQ,mBAAkB;AACzF,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,UAAU,QAAQ,oBAAmB;AAE9C,OAAO,MAAMC,OAAa,SAASA;IACjC,IAAI,IAAI,CAACC,UAAU,EAAE;QACnB,IAAI,CAACP,QAAQ,GAAGA,SAAS,IAAI,CAACO,UAAU;IAC1C,OAAO;QACL,IAAI,CAACP,QAAQ,GAAG;YAAEQ,OAAOP;QAAQ;IACnC;IAEA,IAAI,IAAI,CAACQ,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAGd,OACzB,YACA,IAAI,CAACU,OAAO,CAACC,MAAM,CAACC,YAAY,CAACG,OAAO,CAACC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAE/D;IAEA,IAAI,CAACP,OAAO,CAACC,MAAM,CAACO,WAAW,CAACC,OAAO,CAAC,CAACC;QACvC,MAAMC,YAAYhB,YAAYe,WAAWE,IAAI;QAE7ChB,WAAW;YACTiB,SAAS,IAAI;YACbC,cAAc;YACdC,oBAAoB;YACpBC,YAAY;YACZC,gBAAgB,CAAC,CAACP,YAAYQ,UAAUC;YACxCC,eAAe;YACfC,QAAQX,WAAWW,MAAM;YACzBV;YACAW,YAAYZ,WAAWY,UAAU;QACnC;QAEA,IAAIZ,WAAWQ,QAAQ,EAAE;YACvB,MAAMK,oBAAoB,CAAC,CAAC,EAAEZ,UAAU,EAAE,CAAC;YAC3C,MAAMa,gBAAgB/B,6BAA6BiB;YAEnDd,WAAW;gBACTiB,SAAS,IAAI;gBACbC,cAAc;gBACdC,oBAAoB;gBACpBC,YAAY;gBACZC,gBAAgB,CAAC,CAACP,WAAWQ,QAAQ,EAAEC;gBACvCC,eAAe;gBACfC,QAAQG;gBACRb,WAAWY;gBACXD,YAAY;YACd;QACF;IACF;IAEA,IAAI,CAACtB,OAAO,CAACC,MAAM,CAACwB,OAAO,CAAChB,OAAO,CAAC,CAACiB;QACnC,MAAMf,YAAYhB,YAAY+B,OAAOd,IAAI;QAEzChB,WAAW;YACTiB,SAAS,IAAI;YACbC,cAAc;YACdC,oBAAoB;YACpBC,YAAY;YACZC,gBAAgB,CAAC,CAACS,QAAQR,UAAUC;YACpCC,eAAe;YACfC,QAAQK,OAAOL,MAAM;YACrBV;YACAW,YAAY;QACd;QAEA,IAAII,OAAOR,QAAQ,EAAE;YACnB,MAAMK,oBAAoB,CAAC,CAAC,EAAEZ,UAAU,EAAE,CAAC;YAC3C,MAAMa,gBAAgB9B,yBAAyBgC;YAE/C9B,WAAW;gBACTiB,SAAS,IAAI;gBACbC,cAAc;gBACdC,oBAAoB;gBACpBC,YAAY;gBACZC,gBAAgB,CAAC,CAACS,OAAOR,QAAQ,EAAEC;gBACnCC,eAAe;gBACfC,QAAQG;gBACRb,WAAWY;gBACXD,YAAY;YACd;QACF;IACF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMjD,wBAAsB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DlE"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQjD,wBAAsB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DlE"}
package/dist/migrate.js CHANGED
@@ -1,8 +1,10 @@
1
- /* eslint-disable no-restricted-syntax, no-await-in-loop */ import { commitTransaction, initTransaction, killTransaction, readMigrationFiles } from 'payload/database';
1
+ /* eslint-disable no-restricted-syntax, no-await-in-loop */ import { createRequire } from 'module';
2
+ import { commitTransaction, initTransaction, killTransaction, readMigrationFiles } from 'payload/database';
2
3
  import prompts from 'prompts';
3
4
  import { createMigrationTable } from './utilities/createMigrationTable.js';
4
5
  import { migrationTableExists } from './utilities/migrationTableExists.js';
5
6
  import { parseError } from './utilities/parseError.js';
7
+ const require = createRequire(import.meta.url);
6
8
  export async function migrate() {
7
9
  const { payload } = this;
8
10
  const migrationFiles = await readMigrationFiles({
@@ -56,7 +58,7 @@ export async function migrate() {
56
58
  }
57
59
  }
58
60
  async function runMigrationFile(payload, migration, batch) {
59
- const { generateDrizzleJson } = await import('drizzle-kit/payload');
61
+ const { generateDrizzleJson } = require('drizzle-kit/payload');
60
62
  const start = Date.now();
61
63
  const req = {
62
64
  payload
@@ -94,4 +96,4 @@ async function runMigrationFile(payload, migration, batch) {
94
96
  }
95
97
  }
96
98
 
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7XG4gIGNvbW1pdFRyYW5zYWN0aW9uLFxuICBpbml0VHJhbnNhY3Rpb24sXG4gIGtpbGxUcmFuc2FjdGlvbixcbiAgcmVhZE1pZ3JhdGlvbkZpbGVzLFxufSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHByb21wdHMgZnJvbSAncHJvbXB0cydcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBjcmVhdGVNaWdyYXRpb25UYWJsZSB9IGZyb20gJy4vdXRpbGl0aWVzL2NyZWF0ZU1pZ3JhdGlvblRhYmxlLmpzJ1xuaW1wb3J0IHsgbWlncmF0aW9uVGFibGVFeGlzdHMgfSBmcm9tICcuL3V0aWxpdGllcy9taWdyYXRpb25UYWJsZUV4aXN0cy5qcydcbmltcG9ydCB7IHBhcnNlRXJyb3IgfSBmcm9tICcuL3V0aWxpdGllcy9wYXJzZUVycm9yLmpzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZSh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIGlmICghbWlncmF0aW9uRmlsZXMubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIG1pZ3JhdGlvbnMgdG8gcnVuLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGxldCBsYXRlc3RCYXRjaCA9IDBcbiAgbGV0IG1pZ3JhdGlvbnNJbkRCID0gW11cblxuICBjb25zdCBoYXNNaWdyYXRpb25UYWJsZSA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcblxuICBpZiAoaGFzTWlncmF0aW9uVGFibGUpIHtcbiAgICA7KHsgZG9jczogbWlncmF0aW9uc0luREIgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgIGxpbWl0OiAwLFxuICAgICAgc29ydDogJy1uYW1lJyxcbiAgICB9KSlcbiAgICBpZiAoTnVtYmVyKG1pZ3JhdGlvbnNJbkRCPy5bMF0/LmJhdGNoKSA+IDApIHtcbiAgICAgIGxhdGVzdEJhdGNoID0gTnVtYmVyKG1pZ3JhdGlvbnNJbkRCWzBdPy5iYXRjaClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgY3JlYXRlTWlncmF0aW9uVGFibGUodGhpcylcbiAgfVxuXG4gIGlmIChtaWdyYXRpb25zSW5EQi5maW5kKChtKSA9PiBtLmJhdGNoID09PSAtMSkpIHtcbiAgICBjb25zdCB7IGNvbmZpcm06IHJ1bk1pZ3JhdGlvbnMgfSA9IGF3YWl0IHByb21wdHMoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgICBpbml0aWFsOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIkl0IGxvb2tzIGxpa2UgeW91J3ZlIHJ1biBQYXlsb2FkIGluIGRldiBtb2RlLCBtZWFuaW5nIHlvdSd2ZSBkeW5hbWljYWxseSBwdXNoZWQgY2hhbmdlcyB0byB5b3VyIGRhdGFiYXNlLlxcblxcblwiICtcbiAgICAgICAgICBcIklmIHlvdSdkIGxpa2UgdG8gcnVuIG1pZ3JhdGlvbnMsIGRhdGEgbG9zcyB3aWxsIG9jY3VyLiBXb3VsZCB5b3UgbGlrZSB0byBwcm9jZWVkP1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgaWYgKCFydW5NaWdyYXRpb25zKSB7XG4gICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICB9XG4gIH1cblxuICBjb25zdCBuZXdCYXRjaCA9IGxhdGVzdEJhdGNoICsgMVxuXG4gIC8vIEV4ZWN1dGUgJ3VwJyBmdW5jdGlvbiBmb3IgZWFjaCBtaWdyYXRpb24gc2VxdWVudGlhbGx5XG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgY29uc3QgYWxyZWFkeVJhbiA9IG1pZ3JhdGlvbnNJbkRCLmZpbmQoKGV4aXN0aW5nKSA9PiBleGlzdGluZy5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcblxuICAgIC8vIElmIGFscmVhZHkgcmFuLCBza2lwXG4gICAgaWYgKGFscmVhZHlSYW4pIHtcbiAgICAgIGNvbnRpbnVlIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udGludWVcbiAgICB9XG5cbiAgICBhd2FpdCBydW5NaWdyYXRpb25GaWxlKHBheWxvYWQsIG1pZ3JhdGlvbiwgbmV3QmF0Y2gpXG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcnVuTWlncmF0aW9uRmlsZShwYXlsb2FkOiBQYXlsb2FkLCBtaWdyYXRpb246IE1pZ3JhdGlvbiwgYmF0Y2g6IG51bWJlcikge1xuICBjb25zdCB7IGdlbmVyYXRlRHJpenpsZUpzb24gfSA9IGF3YWl0IGltcG9ydCgnZHJpenpsZS1raXQvcGF5bG9hZCcpXG5cbiAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG5cbiAgY29uc3QgcGdBZGFwdGVyID0gcGF5bG9hZC5kYiBhcyBQb3N0Z3Jlc0FkYXB0ZXJcbiAgY29uc3QgZHJpenpsZUpTT04gPSBnZW5lcmF0ZURyaXp6bGVKc29uKHBnQWRhcHRlci5zY2hlbWEpXG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQsIHJlcSB9KVxuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICBiYXRjaCxcbiAgICAgICAgc2NoZW1hOiBkcml6emxlSlNPTixcbiAgICAgIH0sXG4gICAgICByZXEsXG4gICAgfSlcbiAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgZXJyLFxuICAgICAgbXNnOiBwYXJzZUVycm9yKGVyciwgYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9YCksXG4gICAgfSlcbiAgfVxufVxuIl0sIm5hbWVzIjpbImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwicHJvbXB0cyIsImNyZWF0ZU1pZ3JhdGlvblRhYmxlIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJwYXJzZUVycm9yIiwibWlncmF0ZSIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJsYXRlc3RCYXRjaCIsIm1pZ3JhdGlvbnNJbkRCIiwiaGFzTWlncmF0aW9uVGFibGUiLCJkcml6emxlIiwiZG9jcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwibGltaXQiLCJzb3J0IiwiTnVtYmVyIiwiYmF0Y2giLCJtIiwiY29uZmlybSIsInJ1bk1pZ3JhdGlvbnMiLCJuYW1lIiwidHlwZSIsImluaXRpYWwiLCJtZXNzYWdlIiwib25DYW5jZWwiLCJwcm9jZXNzIiwiZXhpdCIsIm5ld0JhdGNoIiwibWlncmF0aW9uIiwiYWxyZWFkeVJhbiIsImV4aXN0aW5nIiwicnVuTWlncmF0aW9uRmlsZSIsImdlbmVyYXRlRHJpenpsZUpzb24iLCJzdGFydCIsIkRhdGUiLCJub3ciLCJyZXEiLCJwZ0FkYXB0ZXIiLCJkYiIsImRyaXp6bGVKU09OIiwic2NoZW1hIiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXJyIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RCxHQUt6RCxTQUNFQSxpQkFBaUIsRUFDakJDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxrQkFBa0IsUUFDYixtQkFBa0I7QUFDekIsT0FBT0MsYUFBYSxVQUFTO0FBSTdCLFNBQVNDLG9CQUFvQixRQUFRLHNDQUFxQztBQUMxRSxTQUFTQyxvQkFBb0IsUUFBUSxzQ0FBcUM7QUFDMUUsU0FBU0MsVUFBVSxRQUFRLDRCQUEyQjtBQUV0RCxPQUFPLGVBQWVDO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTVAsbUJBQW1CO1FBQUVNO0lBQVE7SUFFMUQsSUFBSSxDQUFDQyxlQUFlQyxNQUFNLEVBQUU7UUFDMUJGLFFBQVFHLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBd0I7UUFDbkQ7SUFDRjtJQUVBLElBQUlDLGNB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
99
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrate.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport type { Payload } from 'payload'\nimport type { Migration } from 'payload/database'\nimport type { PayloadRequest } from 'payload/types'\n\nimport { createRequire } from 'module'\nimport {\n commitTransaction,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload/database'\nimport prompts from 'prompts'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { createMigrationTable } from './utilities/createMigrationTable.js'\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\nimport { parseError } from './utilities/parseError.js'\n\nconst require = createRequire(import.meta.url)\n\nexport async function migrate(this: PostgresAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n if (!migrationFiles.length) {\n payload.logger.info({ msg: 'No migrations to run.' })\n return\n }\n\n let latestBatch = 0\n let migrationsInDB = []\n\n const hasMigrationTable = await migrationTableExists(this.drizzle)\n\n if (hasMigrationTable) {\n ;({ docs: migrationsInDB } = await payload.find({\n collection: 'payload-migrations',\n limit: 0,\n sort: '-name',\n }))\n if (Number(migrationsInDB?.[0]?.batch) > 0) {\n latestBatch = Number(migrationsInDB[0]?.batch)\n }\n } else {\n await createMigrationTable(this)\n }\n\n if (migrationsInDB.find((m) => m.batch === -1)) {\n const { confirm: runMigrations } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message:\n \"It looks like you've run Payload in dev mode, meaning you've dynamically pushed changes to your database.\\n\\n\" +\n \"If you'd like to run migrations, data loss will occur. Would you like to proceed?\",\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n if (!runMigrations) {\n process.exit(0)\n }\n }\n\n const newBatch = latestBatch + 1\n\n // Execute 'up' function for each migration sequentially\n for (const migration of migrationFiles) {\n const alreadyRan = migrationsInDB.find((existing) => existing.name === migration.name)\n\n // If already ran, skip\n if (alreadyRan) {\n continue // eslint-disable-line no-continue\n }\n\n await runMigrationFile(payload, migration, newBatch)\n }\n}\n\nasync function runMigrationFile(payload: Payload, migration: Migration, batch: number) {\n const { generateDrizzleJson } = require('drizzle-kit/payload')\n\n const start = Date.now()\n const req = { payload } as PayloadRequest\n\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n\n const pgAdapter = payload.db as PostgresAdapter\n const drizzleJSON = generateDrizzleJson(pgAdapter.schema)\n\n try {\n await initTransaction(req)\n await migration.up({ payload, req })\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n batch,\n schema: drizzleJSON,\n },\n req,\n })\n await commitTransaction(req)\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}`),\n })\n }\n}\n"],"names":["createRequire","commitTransaction","initTransaction","killTransaction","readMigrationFiles","prompts","createMigrationTable","migrationTableExists","parseError","require","url","migrate","payload","migrationFiles","length","logger","info","msg","latestBatch","migrationsInDB","hasMigrationTable","drizzle","docs","find","collection","limit","sort","Number","batch","m","confirm","runMigrations","name","type","initial","message","onCancel","process","exit","newBatch","migration","alreadyRan","existing","runMigrationFile","generateDrizzleJson","start","Date","now","req","pgAdapter","db","drizzleJSON","schema","up","create","data","err","error"],"mappings":"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"}
@@ -60,4 +60,4 @@ export async function migrateDown() {
60
60
  }
61
61
  }
62
62
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7XG4gIGNvbW1pdFRyYW5zYWN0aW9uLFxuICBnZXRNaWdyYXRpb25zLFxuICBpbml0VHJhbnNhY3Rpb24sXG4gIGtpbGxUcmFuc2FjdGlvbixcbiAgcmVhZE1pZ3JhdGlvbkZpbGVzLFxufSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMuanMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvci5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVEb3duKHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHtcbiAgICBwYXlsb2FkLFxuICB9KVxuXG4gIGlmICghZXhpc3RpbmdNaWdyYXRpb25zPy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyB0byByb2xsYmFjay4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBSb2xsaW5nIGJhY2sgYmF0Y2ggJHtsYXRlc3RCYXRjaH0gY29uc2lzdGluZyBvZiAke2V4aXN0aW5nTWlncmF0aW9ucy5sZW5ndGh9IG1pZ3JhdGlvbihzKS5gLFxuICB9KVxuXG4gIGNvbnN0IGxhdGVzdEJhdGNoTWlncmF0aW9ucyA9IGV4aXN0aW5nTWlncmF0aW9ucy5maWx0ZXIoKHsgYmF0Y2ggfSkgPT4gYmF0Y2ggPT09IGxhdGVzdEJhdGNoKVxuXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIGxhdGVzdEJhdGNoTWlncmF0aW9ucykge1xuICAgIGNvbnN0IG1pZ3JhdGlvbkZpbGUgPSBtaWdyYXRpb25GaWxlcy5maW5kKChtKSA9PiBtLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gbm90IGZvdW5kIGxvY2FsbHkuYClcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICBjb25zdCByZXEgPSB7IHBheWxvYWQgfSBhcyBQYXlsb2FkUmVxdWVzdFxuXG4gICAgdHJ5IHtcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb25GaWxlLm5hbWV9YCB9KVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgICAgIGlmICh0YWJsZUV4aXN0cykge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2c6IHBhcnNlRXJyb3IoZXJyLCBgRXJyb3IgbWlncmF0aW5nIGRvd24gJHttaWdyYXRpb25GaWxlLm5hbWV9LiBSb2xsaW5nIGJhY2suYCksXG4gICAgICB9KVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiY29tbWl0VHJhbnNhY3Rpb24iLCJnZXRNaWdyYXRpb25zIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJwYXJzZUVycm9yIiwibWlncmF0ZURvd24iLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJsYXRlc3RCYXRjaCIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJsYXRlc3RCYXRjaE1pZ3JhdGlvbnMiLCJmaWx0ZXIiLCJiYXRjaCIsIm1pZ3JhdGlvbiIsIm1pZ3JhdGlvbkZpbGUiLCJmaW5kIiwibSIsIm5hbWUiLCJFcnJvciIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInJlcSIsImRvd24iLCJ0YWJsZUV4aXN0cyIsImRyaXp6bGUiLCJkZWxldGUiLCJpZCIsImNvbGxlY3Rpb24iLCJl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
63
+ //# sourceMappingURL=migrateDown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateDown.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport type { PayloadRequest } from 'payload/types'\n\nimport {\n commitTransaction,\n getMigrations,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\nimport { parseError } from './utilities/parseError.js'\n\nexport async function migrateDown(this: PostgresAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations, latestBatch } = await getMigrations({\n payload,\n })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to rollback.' })\n return\n }\n\n payload.logger.info({\n msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`,\n })\n\n const latestBatchMigrations = existingMigrations.filter(({ batch }) => batch === latestBatch)\n\n for (const migration of latestBatchMigrations) {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n const start = Date.now()\n const req = { payload } as PayloadRequest\n\n try {\n payload.logger.info({ msg: `Migrating down: ${migrationFile.name}` })\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`,\n })\n\n const tableExists = await migrationTableExists(this.drizzle)\n if (tableExists) {\n await payload.delete({\n id: migration.id,\n collection: 'payload-migrations',\n req,\n })\n }\n\n await commitTransaction(req)\n } catch (err: unknown) {\n await killTransaction(req)\n\n payload.logger.error({\n err,\n msg: parseError(err, `Error migrating down ${migrationFile.name}. Rolling back.`),\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","getMigrations","initTransaction","killTransaction","readMigrationFiles","migrationTableExists","parseError","migrateDown","payload","migrationFiles","existingMigrations","latestBatch","length","logger","info","msg","latestBatchMigrations","filter","batch","migration","migrationFile","find","m","name","Error","start","Date","now","req","down","tableExists","drizzle","delete","id","collection","err","error","process","exit"],"mappings":"AAAA,yDAAyD,GAGzD,SACEA,iBAAiB,EACjBC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb,mBAAkB;AAIzB,SAASC,oBAAoB,QAAQ,sCAAqC;AAC1E,SAASC,UAAU,QAAQ,4BAA2B;AAEtD,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAML,mBAAmB;QAAEI;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMV,cAAc;QAC9DO;IACF;IAEA,IAAI,CAACE,oBAAoBE,QAAQ;QAC/BJ,QAAQK,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA6B;QACxD;IACF;IAEAP,QAAQK,MAAM,CAACC,IAAI,CAAC;QAClBC,KAAK,CAAC,mBAAmB,EAAEJ,YAAY,eAAe,EAAED,mBAAmBE,MAAM,CAAC,cAAc,CAAC;IACnG;IAEA,MAAMI,wBAAwBN,mBAAmBO,MAAM,CAAC,CAAC,EAAEC,KAAK,EAAE,GAAKA,UAAUP;IAEjF,KAAK,MAAMQ,aAAaH,sBAAuB;QAC7C,MAAMI,gBAAgBX,eAAeY,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAC1E,IAAI,CAACH,eAAe;YAClB,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEL,UAAUI,IAAI,CAAC,mBAAmB,CAAC;QAClE;QAEA,MAAME,QAAQC,KAAKC,GAAG;QACtB,MAAMC,MAAM;YAAEpB;QAAQ;QAEtB,IAAI;YACFA,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEK,cAAcG,IAAI,CAAC,CAAC;YAAC;YACnE,MAAMrB,gBAAgB0B;YACtB,MAAMR,cAAcS,IAAI,CAAC;gBAAErB;gBAASoB;YAAI;YACxCpB,QAAQK,MAAM,CAACC,IAAI,CAAC;gBAClBC,KAAK,CAAC,gBAAgB,EAAEK,cAAcG,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YACxE;YAEA,MAAMK,cAAc,MAAMzB,qBAAqB,IAAI,CAAC0B,OAAO;YAC3D,IAAID,aAAa;gBACf,MAAMtB,QAAQwB,MAAM,CAAC;oBACnBC,IAAId,UAAUc,EAAE;oBAChBC,YAAY;oBACZN;gBACF;YACF;YAEA,MAAM5B,kBAAkB4B;QAC1B,EAAE,OAAOO,KAAc;YACrB,MAAMhC,gBAAgByB;YAEtBpB,QAAQK,MAAM,CAACuB,KAAK,CAAC;gBACnBD;gBACApB,KAAKT,WAAW6B,KAAK,CAAC,qBAAqB,EAAEf,cAAcG,IAAI,CAAC,eAAe,CAAC;YAClF;YACAc,QAAQC,IAAI,CAAC;QACf;IACF;AACF"}
@@ -69,4 +69,4 @@ import { parseError } from './utilities/parseError.js';
69
69
  }
70
70
  }
71
71
 
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHtcbiAgY29tbWl0VHJhbnNhY3Rpb24sXG4gIGluaXRUcmFuc2FjdGlvbixcbiAga2lsbFRyYW5zYWN0aW9uLFxuICByZWFkTWlncmF0aW9uRmlsZXMsXG59IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgcHJvbXB0cyBmcm9tICdwcm9tcHRzJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCB7IHBhcnNlRXJyb3IgfSBmcm9tICcuL3V0aWxpdGllcy9wYXJzZUVycm9yLmpzJ1xuXG4vKipcbiAqIERyb3AgdGhlIGN1cnJlbnQgZGF0YWJhc2UgYW5kIHJ1biBhbGwgbWlncmF0ZSB1cCBmdW5jdGlvbnNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVGcmVzaChcbiAgdGhpczogUG9zdGdyZXNBZGFwdGVyLFxuICB7IGZvcmNlQWNjZXB0V2FybmluZyA9IGZhbHNlIH0sXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG5cbiAgaWYgKGZvcmNlQWNjZXB0V2FybmluZyA9PT0gZmFsc2UpIHtcbiAgICBjb25zdCB7IGNvbmZpcm06IGFjY2VwdFdhcm5pbmcgfSA9IGF3YWl0IHByb21wdHMoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgICBpbml0aWFsOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZTogYFdBUk5JTkc6IFRoaXMgd2lsbCBkcm9wIHlvdXIgZGF0YWJhc2UgYW5kIHJ1biBhbGwgbWlncmF0aW9ucy4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/YCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9uQ2FuY2VsOiAoKSA9PiB7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIClcblxuICAgIGlmICghYWNjZXB0V2FybmluZykge1xuICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgfVxuICB9XG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgbXNnOiBgRHJvcHBpbmcgZGF0YWJhc2UuYCxcbiAgfSlcblxuICBhd2FpdCB0aGlzLmRyaXp6bGUuZXhlY3V0ZShcbiAgICBzcWwucmF3KGBkcm9wIHNjaGVtYSAke3RoaXMuc2NoZW1hTmFtZSB8fCAncHVibGljJ30gY2FzY2FkZTtcbiAgY3JlYXRlIHNjaGVtYSAke3RoaXMuc2NoZW1hTmFtZSB8fCAncHVibGljJ307YCksXG4gIClcblxuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcbiAgcGF5bG9hZC5sb2dnZXIuZGVidWcoe1xuICAgIG1zZzogYEZvdW5kICR7bWlncmF0aW9uRmlsZXMubGVuZ3RofSBtaWdyYXRpb24gZmlsZXMuYCxcbiAgfSlcblxuICBjb25zdCByZXEgPSB7IHBheWxvYWQgfSBhcyBQYXlsb2FkUmVxdWVzdFxuICAvLyBSdW4gYWxsIG1pZ3JhdGUgdXBcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uLnVwKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgYmF0Y2g6IDEsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICBlcnIsXG4gICAgICAgIG1zZzogcGFyc2VFcnJvcihlcnIsIGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrYCksXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInNxbCIsImNvbW1pdFRyYW5zYWN0aW9uIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwicHJvbXB0cyIsInBhcnNlRXJyb3IiLCJtaWdyYXRlRnJlc2giLCJmb3JjZUFjY2VwdFdhcm5pbmciLCJwYXlsb2FkIiwiY29uZmlybSIsImFjY2VwdFdhcm5pbmciLCJuYW1lIiwidHlwZSIsImluaXRpYWwiLCJtZXNzYWdlIiwib25DYW5jZWwiLCJwcm9jZXNzIiwiZXhpdCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJkcml6emxlIiwiZXhlY3V0ZSIsInJhdyIsInNjaGVtYU5hbWUiLCJtaWdyYXRpb25GaWxlcyIsImRlYnVnIiwibGVuZ3RoIiwicmVxIiwibWlncmF0aW9uIiwic3RhcnQiLCJEYXRlIiwibm93IiwidXAiLCJjcmVhdGUiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImJhdGNoIiwiZXJyIiwiZXJyb3IiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLEdBQUcsUUFBUSxjQUFhO0FBQ2pDLFNBQ0VDLGlCQUFpQixFQUNqQkMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLGtCQUFrQixRQUNiLG1CQUFrQjtBQUN6QixPQUFPQyxhQUFhLFVBQVM7QUFJN0IsU0FBU0MsVUFBVSxRQUFRLDRCQUEyQjtBQUV0RDs7Q0FFQyxHQUNELE9BQU8sZUFBZUMsYUFFcEIsRUFBRUMscUJBQXFCLEtBQUssRUFBRTtJQUU5QixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFFeEIsSUFBSUQsdUJBQXVCLE9BQU87UUFDaEMsTUFBTSxFQUFFRSxTQUFTQyxhQUFhLEVBQUUsR0FBRyxNQUFNTixRQUN2QztZQUNFTyxNQUFNO1lBQ05DLE1BQU07WUFDTkMsU0FBUztZQUNUQyxTQUFTLENBQUMsK0ZBQStGLENBQUM7UUFDNUcsR0FDQTtZQUNFQyxVQUFVO2dCQUNSQyxRQUFRQyxJQUFJLENBQUM7WUFDZjtRQUNGO1FBR0YsSUFBSSxDQUFDUCxlQUFlO1lBQ2xCTSxRQUFRQyxJQUFJLENBQUM7UUFDZjtJQUNGO0lBRUFULFFBQVFVLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQ2xCQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7SUFDM0I7SUFFQSxNQUFNLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPLENBQ3hCdkIsSUFBSXdCLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUNDLFVBQVUsSUFBSSxTQUFTO2dCQUN2QyxFQUFFLElBQUksQ0FBQ0EsVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBRzlDLE1BQU1DLGlCQUFpQixNQUFNdEIsbUJBQW1CO1FBQUVLO0lBQVE7SUFDMURBLFFBQVFVLE1BQU0sQ0FBQ1EsS0FBSyxDQUFDO1FBQ25CTixLQUFLLENBQUMsTUFBTSxFQUFFSyxlQUFlRSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDeEQ7SUFFQSxNQUFNQyxNQUFNO1FBQUVwQjtJQUFRO0lBQ3RCLHFCQUFxQjtJQUNyQixLQUFLLE1BQU1xQixhQUFhSixlQUFnQjtRQUN0Q2pCLFFBQVFVLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVTLFVBQVVsQixJQUFJLENBQUMsQ0FBQztRQUFDO1FBQzFELElBQUk7WUFDRixNQUFNbUIsUUFBUUMsS0FBS0MsR0FBRztZQUN0QixNQUFNL0IsZ0JBQWdCMkI7WUFDdEIsTUFBTUMsVUFBVUksRUFBRSxDQUFDO2dCQUFFekI7Z0JBQVNvQjtZQUFJO1lBQ2xDLE1BQU1wQixRQUFRMEIsTUFBTSxDQUFDO2dCQUNuQkMsWUFBWTtnQkFDWkMsTUFBTTtvQkFDSnpCLE1BQU1rQixVQUFVbEIsSUFBSTtvQkFDcEIwQixPQUFPO2dCQUNUO2dCQUNBVDtZQUNGO1lBQ0EsTUFBTTVCLGtCQUFrQjRCO1lBRXhCcEIsUUFBUVUsTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVTLFVBQVVsQixJQUFJLENBQUMsRUFBRSxFQUFFb0IsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUFDO1FBQ3RGLEVBQUUsT0FBT1EsS0FBYztZQUNyQixNQUFNcEMsZ0JBQWdCMEI7WUFDdEJwQixRQUFRVSxNQUFNLENBQUNxQixLQUFLLENBQUM7Z0JBQ25CRDtnQkFDQWxCLEtBQUtmLFdBQVdpQyxLQUFLLENBQUMsd0JBQXdCLEVBQUVULFVBQVVsQixJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2hGO1FBQ0Y7SUFDRjtBQUNGIn0=
72
+ //# sourceMappingURL=migrateFresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateFresh.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload/types'\n\nimport { sql } from 'drizzle-orm'\nimport {\n commitTransaction,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload/database'\nimport prompts from 'prompts'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { parseError } from './utilities/parseError.js'\n\n/**\n * Drop the current database and run all migrate up functions\n */\nexport async function migrateFresh(\n this: PostgresAdapter,\n { forceAcceptWarning = false },\n): Promise<void> {\n const { payload } = this\n\n if (forceAcceptWarning === false) {\n const { confirm: acceptWarning } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message: `WARNING: This will drop your database and run all migrations. Are you sure you want to proceed?`,\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n if (!acceptWarning) {\n process.exit(0)\n }\n }\n\n payload.logger.info({\n msg: `Dropping database.`,\n })\n\n await this.drizzle.execute(\n sql.raw(`drop schema ${this.schemaName || 'public'} cascade;\n create schema ${this.schemaName || 'public'};`),\n )\n\n const migrationFiles = await readMigrationFiles({ payload })\n payload.logger.debug({\n msg: `Found ${migrationFiles.length} migration files.`,\n })\n\n const req = { payload } as PayloadRequest\n // Run all migrate up\n for (const migration of migrationFiles) {\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n await migration.up({ payload, req })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n batch: 1,\n },\n req,\n })\n await commitTransaction(req)\n\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}. Rolling back`),\n })\n }\n }\n}\n"],"names":["sql","commitTransaction","initTransaction","killTransaction","readMigrationFiles","prompts","parseError","migrateFresh","forceAcceptWarning","payload","confirm","acceptWarning","name","type","initial","message","onCancel","process","exit","logger","info","msg","drizzle","execute","raw","schemaName","migrationFiles","debug","length","req","migration","start","Date","now","up","create","collection","data","batch","err","error"],"mappings":"AAEA,SAASA,GAAG,QAAQ,cAAa;AACjC,SACEC,iBAAiB,EACjBC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb,mBAAkB;AACzB,OAAOC,aAAa,UAAS;AAI7B,SAASC,UAAU,QAAQ,4BAA2B;AAEtD;;CAEC,GACD,OAAO,eAAeC,aAEpB,EAAEC,qBAAqB,KAAK,EAAE;IAE9B,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IAExB,IAAID,uBAAuB,OAAO;QAChC,MAAM,EAAEE,SAASC,aAAa,EAAE,GAAG,MAAMN,QACvC;YACEO,MAAM;YACNC,MAAM;YACNC,SAAS;YACTC,SAAS,CAAC,+FAA+F,CAAC;QAC5G,GACA;YACEC,UAAU;gBACRC,QAAQC,IAAI,CAAC;YACf;QACF;QAGF,IAAI,CAACP,eAAe;YAClBM,QAAQC,IAAI,CAAC;QACf;IACF;IAEAT,QAAQU,MAAM,CAACC,IAAI,CAAC;QAClBC,KAAK,CAAC,kBAAkB,CAAC;IAC3B;IAEA,MAAM,IAAI,CAACC,OAAO,CAACC,OAAO,CACxBvB,IAAIwB,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,CAACC,UAAU,IAAI,SAAS;gBACvC,EAAE,IAAI,CAACA,UAAU,IAAI,SAAS,CAAC,CAAC;IAG9C,MAAMC,iBAAiB,MAAMtB,mBAAmB;QAAEK;IAAQ;IAC1DA,QAAQU,MAAM,CAACQ,KAAK,CAAC;QACnBN,KAAK,CAAC,MAAM,EAAEK,eAAeE,MAAM,CAAC,iBAAiB,CAAC;IACxD;IAEA,MAAMC,MAAM;QAAEpB;IAAQ;IACtB,qBAAqB;IACrB,KAAK,MAAMqB,aAAaJ,eAAgB;QACtCjB,QAAQU,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK,CAAC,WAAW,EAAES,UAAUlB,IAAI,CAAC,CAAC;QAAC;QAC1D,IAAI;YACF,MAAMmB,QAAQC,KAAKC,GAAG;YACtB,MAAM/B,gBAAgB2B;YACtB,MAAMC,UAAUI,EAAE,CAAC;gBAAEzB;gBAASoB;YAAI;YAClC,MAAMpB,QAAQ0B,MAAM,CAAC;gBACnBC,YAAY;gBACZC,MAAM;oBACJzB,MAAMkB,UAAUlB,IAAI;oBACpB0B,OAAO;gBACT;gBACAT;YACF;YACA,MAAM5B,kBAAkB4B;YAExBpB,QAAQU,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,WAAW,EAAES,UAAUlB,IAAI,CAAC,EAAE,EAAEoB,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YAAC;QACtF,EAAE,OAAOQ,KAAc;YACrB,MAAMpC,gBAAgB0B;YACtBpB,QAAQU,MAAM,CAACqB,KAAK,CAAC;gBACnBD;gBACAlB,KAAKf,WAAWiC,KAAK,CAAC,wBAAwB,EAAET,UAAUlB,IAAI,CAAC,cAAc,CAAC;YAChF;QACF;IACF;AACF"}
@@ -99,4 +99,4 @@ import { parseError } from './utilities/parseError.js';
99
99
  }
100
100
  }
101
101
 
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVmcmVzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7XG4gIGNvbW1pdFRyYW5zYWN0aW9uLFxuICBnZXRNaWdyYXRpb25zLFxuICBpbml0VHJhbnNhY3Rpb24sXG4gIGtpbGxUcmFuc2FjdGlvbixcbiAgcmVhZE1pZ3JhdGlvbkZpbGVzLFxufSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMuanMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMuanMnXG5pbXBvcnQgeyBwYXJzZUVycm9yIH0gZnJvbSAnLi91dGlsaXRpZXMvcGFyc2VFcnJvci5qcydcblxuLyoqXG4gKiBSdW4gYWxsIG1pZ3JhdGlvbiBkb3duIGZ1bmN0aW9ucyBiZWZvcmUgcnVubmluZyB1cFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlZnJlc2godGhpczogUG9zdGdyZXNBZGFwdGVyKSB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoe1xuICAgIHBheWxvYWQsXG4gIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJvbGxiYWNrLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYFJvbGxpbmcgYmFjayBiYXRjaCAke2xhdGVzdEJhdGNofSBjb25zaXN0aW5nIG9mICR7ZXhpc3RpbmdNaWdyYXRpb25zLmxlbmd0aH0gbWlncmF0aW9uKHMpLmAsXG4gIH0pXG5cbiAgY29uc3QgcmVxID0geyBwYXlsb2FkIH0gYXMgUGF5bG9hZFJlcXVlc3RcblxuICAvLyBSZXZlcnNlIG9yZGVyIG9mIG1pZ3JhdGlvbnMgdG8gcm9sbGJhY2tcbiAgZXhpc3RpbmdNaWdyYXRpb25zLnJldmVyc2UoKVxuXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIGV4aXN0aW5nTWlncmF0aW9ucykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uRmlsZS5kb3duKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICAgICAgbXNnOiBgTWlncmF0ZWQgZG93bjogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgdGFibGVFeGlzdHMgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzLmRyaXp6bGUpXG4gICAgICBpZiAodGFibGVFeGlzdHMpIHtcbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgICBlcXVhbHM6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2c6IHBhcnNlRXJyb3IoZXJyLCBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0uIFJvbGxpbmcgYmFjay5gKSxcbiAgICAgIH0pXG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICB9XG4gIH1cblxuICAvLyBSdW4gYWxsIG1pZ3JhdGUgdXBcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uLnVwKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgZXhlY3V0ZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICBlcnIsXG4gICAgICAgIG1zZzogcGFyc2VFcnJvcihlcnIsIGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrLmApLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjb21taXRUcmFuc2FjdGlvbiIsImdldE1pZ3JhdGlvbnMiLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJtaWdyYXRpb25UYWJsZUV4aXN0cyIsInBhcnNlRXJyb3IiLCJtaWdyYXRlUmVmcmVzaCIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsImV4aXN0aW5nTWlncmF0aW9ucyIsImxhdGVzdEJhdGNoIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsInJlcSIsInJldmVyc2UiLCJtaWdyYXRpb24iLCJtaWdyYXRpb25GaWxlIiwiZmluZCIsIm0iLCJuYW1lIiwiRXJyb3IiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJkb3duIiwidGFibGVFeGlzdHMiLCJkcml6emxlIiwiZGVsZXRlIiwiY29sbGVjdGlvbiIsIndoZXJlIiwiZXF1YWxzIiwiZXJyIiwiZXJy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
102
+ //# sourceMappingURL=migrateRefresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateRefresh.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport type { PayloadRequest } from 'payload/types'\n\nimport {\n commitTransaction,\n getMigrations,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\nimport { parseError } from './utilities/parseError.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: PostgresAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations, latestBatch } = await getMigrations({\n payload,\n })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to rollback.' })\n return\n }\n\n payload.logger.info({\n msg: `Rolling back batch ${latestBatch} consisting of ${existingMigrations.length} migration(s).`,\n })\n\n const req = { payload } as PayloadRequest\n\n // Reverse order of migrations to rollback\n existingMigrations.reverse()\n\n for (const migration of existingMigrations) {\n try {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n const start = Date.now()\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n\n const tableExists = await migrationTableExists(this.drizzle)\n if (tableExists) {\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n }\n await commitTransaction(req)\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`),\n })\n process.exit(1)\n }\n }\n\n // Run all migrate up\n for (const migration of migrationFiles) {\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n await migration.up({ payload, req })\n await payload.create({\n collection: 'payload-migrations',\n data: {\n name: migration.name,\n executed: true,\n },\n req,\n })\n await commitTransaction(req)\n\n payload.logger.info({ msg: `Migrated: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: parseError(err, `Error running migration ${migration.name}. Rolling back.`),\n })\n }\n }\n}\n"],"names":["commitTransaction","getMigrations","initTransaction","killTransaction","readMigrationFiles","migrationTableExists","parseError","migrateRefresh","payload","migrationFiles","existingMigrations","latestBatch","length","logger","info","msg","req","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","down","tableExists","drizzle","delete","collection","where","equals","err","error","process","exit","up","create","data","executed"],"mappings":"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"}
@@ -79,4 +79,4 @@ import { migrationTableExists } from './utilities/migrationTableExists.js';
79
79
  }
80
80
  }
81
81
 
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVzZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQge1xuICBjb21taXRUcmFuc2FjdGlvbixcbiAgZ2V0TWlncmF0aW9ucyxcbiAgaW5pdFRyYW5zYWN0aW9uLFxuICBraWxsVHJhbnNhY3Rpb24sXG4gIHJlYWRNaWdyYXRpb25GaWxlcyxcbn0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzLmpzJ1xuXG4vKipcbiAqIFJ1biBhbGwgbWlncmF0ZSBkb3duIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlc2V0KHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJlc2V0LicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUm9sbGJhY2sgYWxsIG1pZ3JhdGlvbnMgaW4gb3JkZXJcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgZXhpc3RpbmdNaWdyYXRpb25zKSB7XG4gICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG4gICAgdHJ5IHtcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb25GaWxlLm5hbWV9YCB9KVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgICAgIGlmICh0YWJsZUV4aXN0cykge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgICByZXEsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGxldCBtc2cgPSBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb25GaWxlLm5hbWV9LmBcblxuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSBtc2cgKz0gYCAke2Vyci5tZXNzYWdlfWBcblxuICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2csXG4gICAgICB9KVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICB9XG5cbiAgLy8gRGVsZXRlIGRldiBtaWdyYXRpb25cblxuICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgaWYgKHRhYmxlRXhpc3RzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgYmF0Y2g6IHtcbiAgICAgICAgICAgIGVxdWFsczogLTEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnIsIG1zZzogJ0Vycm9yIGRlbGV0aW5nIGRldiBtaWdyYXRpb24nIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiY29tbWl0VHJhbnNhY3Rpb24iLCJnZXRNaWdyYXRpb25zIiwiaW5pdFRyYW5zYWN0aW9uIiwia2lsbFRyYW5zYWN0aW9uIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJtaWdyYXRlUmVzZXQiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJsZW5ndGgiLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwicmVxIiwibWlncmF0aW9uIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZG93biIsInRhYmxlRXhpc3RzIiwiZHJpenpsZSIsImRlbGV0ZSIsImlkIiwiY29sbGVjdGlvbiIsImVyciIsIm1lc3NhZ2UiLCJlcnJvciIsInByb2Nlc3MiLCJleGl0Iiwid2hlcmUiLCJiYXRjaCIsImVxdWFscyJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlELEdBR3pELFNBQ0VBLGlCQUFpQixFQUNqQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsa0JBQWtCLFFBQ2IsbUJBQWtCO0FBSXpCLFNBQVNDLG9CQUFvQixRQUFRLHNDQUFxQztBQUUxRTs7Q0FFQyxHQUNELE9BQU8sZUFBZUM7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNSixtQkFBbUI7UUFBRUc7SUFBUTtJQUUxRCxNQUFNLEVBQUVFLGtCQUFrQixFQUFFLEdBQUcsTUFBTVIsY0FBYztRQUFFTTtJQUFRO0lBRTdELElBQUksQ0FBQ0Usb0JBQW9CQyxRQUFRO1FBQy9CSCxRQUFRSSxNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLO1FBQTBCO1FBQ3JEO0lBQ0Y7SUFFQSxNQUFNQyxNQUFNO1FBQUVQO0lBQVE7SUFFdEIsbUNBQW1DO0lBQ25DLEtBQUssTUFBTVEsYUFBYU4sbUJBQW9CO1FBQzFDLE1BQU1PLGdCQUFnQlIsZUFBZVMsSUFBSSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0osVUFBVUksSUFBSTtRQUMxRSxJQUFJO1lBQ0YsSUFBSSxDQUFDSCxlQUFlO2dCQUNsQixNQUFNLElBQUlJLE1BQU0sQ0FBQyxVQUFVLEVBQUVMLFVBQVVJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRTtZQUVBLE1BQU1FLFFBQVFDLEtBQUtDLEdBQUc7WUFDdEJoQixRQUFRSSxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFRyxjQUFjRyxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQ25FLE1BQU1qQixnQkFBZ0JZO1lBQ3RCLE1BQU1FLGNBQWNRLElBQUksQ0FBQztnQkFBRWpCO2dCQUFTTztZQUFJO1lBQ3hDUCxRQUFRSSxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFDbEJDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUcsY0FBY0csSUFBSSxDQUFDLEVBQUUsRUFBRUcsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUN4RTtZQUVBLE1BQU1JLGNBQWMsTUFBTXBCLHFCQUFxQixJQUFJLENBQUNxQixPQUFPO1lBQzNELElBQUlELGFBQWE7Z0JBQ2YsTUFBTWxCLFFBQVFvQixNQUFNLENBQUM7b0JBQ25CQyxJQUFJYixVQUFVYSxFQUFFO29CQUNoQkMsWUFBWTtvQkFDWmY7Z0JBQ0Y7WUFDRjtZQUVBLE1BQU1kLGtCQUFrQmM7UUFDMUIsRUFBRSxPQUFPZ0IsS0FBYztZQUNyQixJQUFJakIsTUFBTSxDQUFDLHdCQUF3QixFQUFFRyxjQUFjRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRTFELElBQUlXLGVBQWVWLE9BQU9QLE9BQU8sQ0FBQyxDQUFDLEVBQUVpQixJQUFJQyxPQUFPLENBQUMsQ0FBQztZQUVsRCxNQUFNNUIsZ0JBQWdCVztZQUN0QlAsUUFBUUksTUFBTSxDQUFDcUIsS0FBSyxDQUFDO2dCQUNuQkY7Z0JBQ0FqQjtZQUNGO1lBQ0FvQixRQUFRQyxJQUFJLENBQUM7UUFDZjtJQUNGO0lBRUEsdUJBQXVCO0lBRXZCLE1BQU1ULGNBQWMsTUFBTXBCLHFCQUFxQixJQUFJLENBQUNxQixPQUFPO0lBQzNELElBQUlELGFBQWE7UUFDZixJQUFJO1lBQ0YsTUFBTWxCLFFBQVFvQixNQUFNLENBQUM7Z0JBQ25CRSxZQUFZO2dCQUNaTSxPQUFPO29CQUNMQyxPQUFPO3dCQUNMQyxRQUFRLENBQUM7b0JBQ1g7Z0JBQ0Y7WUFDRjtRQUNGLEVBQUUsT0FBT1AsS0FBYztZQUNyQnZCLFFBQVFJLE1BQU0sQ0FBQ3FCLEtBQUssQ0FBQztnQkFBRUEsT0FBT0Y7Z0JBQUtqQixLQUFLO1lBQStCO1FBQ3pFO0lBQ0Y7QUFDRiJ9
82
+ //# sourceMappingURL=migrateReset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateReset.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport type { PayloadRequest } from 'payload/types'\n\nimport {\n commitTransaction,\n getMigrations,\n initTransaction,\n killTransaction,\n readMigrationFiles,\n} from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\n\n/**\n * Run all migrate down functions\n */\nexport async function migrateReset(this: PostgresAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations } = await getMigrations({ payload })\n\n if (!existingMigrations?.length) {\n payload.logger.info({ msg: 'No migrations to reset.' })\n return\n }\n\n const req = { payload } as PayloadRequest\n\n // Rollback all migrations in order\n for (const migration of existingMigrations) {\n const migrationFile = migrationFiles.find((m) => m.name === migration.name)\n try {\n if (!migrationFile) {\n throw new Error(`Migration ${migration.name} not found locally.`)\n }\n\n const start = Date.now()\n payload.logger.info({ msg: `Migrating down: ${migrationFile.name}` })\n await initTransaction(req)\n await migrationFile.down({ payload, req })\n payload.logger.info({\n msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`,\n })\n\n const tableExists = await migrationTableExists(this.drizzle)\n if (tableExists) {\n await payload.delete({\n id: migration.id,\n collection: 'payload-migrations',\n req,\n })\n }\n\n await commitTransaction(req)\n } catch (err: unknown) {\n let msg = `Error running migration ${migrationFile.name}.`\n\n if (err instanceof Error) msg += ` ${err.message}`\n\n await killTransaction(req)\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n\n // Delete dev migration\n\n const tableExists = await migrationTableExists(this.drizzle)\n if (tableExists) {\n try {\n await payload.delete({\n collection: 'payload-migrations',\n where: {\n batch: {\n equals: -1,\n },\n },\n })\n } catch (err: unknown) {\n payload.logger.error({ error: err, msg: 'Error deleting dev migration' })\n }\n }\n}\n"],"names":["commitTransaction","getMigrations","initTransaction","killTransaction","readMigrationFiles","migrationTableExists","migrateReset","payload","migrationFiles","existingMigrations","length","logger","info","msg","req","migration","migrationFile","find","m","name","Error","start","Date","now","down","tableExists","drizzle","delete","id","collection","err","message","error","process","exit","where","batch","equals"],"mappings":"AAAA,yDAAyD,GAGzD,SACEA,iBAAiB,EACjBC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,kBAAkB,QACb,mBAAkB;AAIzB,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E;;CAEC,GACD,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMJ,mBAAmB;QAAEG;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAE,GAAG,MAAMR,cAAc;QAAEM;IAAQ;IAE7D,IAAI,CAACE,oBAAoBC,QAAQ;QAC/BH,QAAQI,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA0B;QACrD;IACF;IAEA,MAAMC,MAAM;QAAEP;IAAQ;IAEtB,mCAAmC;IACnC,KAAK,MAAMQ,aAAaN,mBAAoB;QAC1C,MAAMO,gBAAgBR,eAAeS,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAC1E,IAAI;YACF,IAAI,CAACH,eAAe;gBAClB,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEL,UAAUI,IAAI,CAAC,mBAAmB,CAAC;YAClE;YAEA,MAAME,QAAQC,KAAKC,GAAG;YACtBhB,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEG,cAAcG,IAAI,CAAC,CAAC;YAAC;YACnE,MAAMjB,gBAAgBY;YACtB,MAAME,cAAcQ,IAAI,CAAC;gBAAEjB;gBAASO;YAAI;YACxCP,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAClBC,KAAK,CAAC,gBAAgB,EAAEG,cAAcG,IAAI,CAAC,EAAE,EAAEG,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YACxE;YAEA,MAAMI,cAAc,MAAMpB,qBAAqB,IAAI,CAACqB,OAAO;YAC3D,IAAID,aAAa;gBACf,MAAMlB,QAAQoB,MAAM,CAAC;oBACnBC,IAAIb,UAAUa,EAAE;oBAChBC,YAAY;oBACZf;gBACF;YACF;YAEA,MAAMd,kBAAkBc;QAC1B,EAAE,OAAOgB,KAAc;YACrB,IAAIjB,MAAM,CAAC,wBAAwB,EAAEG,cAAcG,IAAI,CAAC,CAAC,CAAC;YAE1D,IAAIW,eAAeV,OAAOP,OAAO,CAAC,CAAC,EAAEiB,IAAIC,OAAO,CAAC,CAAC;YAElD,MAAM5B,gBAAgBW;YACtBP,QAAQI,MAAM,CAACqB,KAAK,CAAC;gBACnBF;gBACAjB;YACF;YACAoB,QAAQC,IAAI,CAAC;QACf;IACF;IAEA,uBAAuB;IAEvB,MAAMT,cAAc,MAAMpB,qBAAqB,IAAI,CAACqB,OAAO;IAC3D,IAAID,aAAa;QACf,IAAI;YACF,MAAMlB,QAAQoB,MAAM,CAAC;gBACnBE,YAAY;gBACZM,OAAO;oBACLC,OAAO;wBACLC,QAAQ,CAAC;oBACX;gBACF;YACF;QACF,EAAE,OAAOP,KAAc;YACrBvB,QAAQI,MAAM,CAACqB,KAAK,CAAC;gBAAEA,OAAOF;gBAAKjB,KAAK;YAA+B;QACzE;IACF;AACF"}
@@ -41,4 +41,4 @@ export async function migrateStatus() {
41
41
  p.printTable();
42
42
  }
43
43
 
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlU3RhdHVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhYmxlIH0gZnJvbSAnY29uc29sZS10YWJsZS1wcmludGVyJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucywgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UYWJsZUV4aXN0cyB9IGZyb20gJy4vdXRpbGl0aWVzL21pZ3JhdGlvblRhYmxlRXhpc3RzLmpzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVN0YXR1cyh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIHBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgICBtc2c6IGBGb3VuZCAke21pZ3JhdGlvbkZpbGVzLmxlbmd0aH0gbWlncmF0aW9uIGZpbGVzLmAsXG4gIH0pXG5cbiAgbGV0IGV4aXN0aW5nTWlncmF0aW9ucyA9IFtdXG4gIGNvbnN0IGhhc01pZ3JhdGlvblRhYmxlID0gYXdhaXQgbWlncmF0aW9uVGFibGVFeGlzdHModGhpcy5kcml6emxlKVxuXG4gIGlmIChoYXNNaWdyYXRpb25UYWJsZSkge1xuICAgIDsoeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pKVxuICB9XG5cbiAgaWYgKCFtaWdyYXRpb25GaWxlcy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyBmb3VuZC4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBDb21wYXJlIG1pZ3JhdGlvbiBmaWxlcyB0byBleGlzdGluZyBtaWdyYXRpb25zXG4gIGNvbnN0IHN0YXR1c2VzID0gbWlncmF0aW9uRmlsZXMubWFwKChtaWdyYXRpb24pID0+IHtcbiAgICBjb25zdCBleGlzdGluZ01pZ3JhdGlvbiA9IGV4aXN0aW5nTWlncmF0aW9ucy5maW5kKChtKSA9PiBtLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuICAgIHJldHVybiB7XG4gICAgICBOYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwZXJmZWN0aW9uaXN0L3NvcnQtb2JqZWN0c1xuICAgICAgQmF0Y2g6IGV4aXN0aW5nTWlncmF0aW9uPy5iYXRjaCxcbiAgICAgIFJhbjogZXhpc3RpbmdNaWdyYXRpb24gPyAnWWVzJyA6ICdObycsXG4gICAgfVxuICB9KVxuXG4gIGNvbnN0IHAgPSBuZXcgVGFibGUoKVxuXG4gIHN0YXR1c2VzLmZvckVhY2goKHMpID0+IHtcbiAgICBwLmFkZFJvdyhzLCB7XG4gICAgICBjb2xvcjogcy5SYW4gPT09ICdZZXMnID8gJ2dyZWVuJyA6ICdyZWQnLFxuICAgIH0pXG4gIH0pXG4gIHAucHJpbnRUYWJsZSgpXG59XG4iXSwibmFtZXMiOlsiVGFibGUiLCJnZXRNaWdyYXRpb25zIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibWlncmF0aW9uVGFibGVFeGlzdHMiLCJtaWdyYXRlU3RhdHVzIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwibG9nZ2VyIiwiZGVidWciLCJtc2ciLCJsZW5ndGgiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJoYXNNaWdyYXRpb25UYWJsZSIsImRyaXp6bGUiLCJpbmZvIiwic3RhdHVzZXMiLCJtYXAiLCJtaWdyYXRpb24iLCJleGlzdGluZ01pZ3JhdGlvbiIsImZpbmQiLCJtIiwibmFtZSIsIk5hbWUiLCJCYXRjaCIsImJhdGNoIiwiUmFuIiwicCIsImZvckVhY2giLCJzIiwiYWRkUm93IiwiY29sb3IiLCJwcmludFRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxLQUFLLFFBQVEsd0JBQXVCO0FBQzdDLFNBQVNDLGFBQWEsRUFBRUMsa0JBQWtCLFFBQVEsbUJBQWtCO0FBSXBFLFNBQVNDLG9CQUFvQixRQUFRLHNDQUFxQztBQUUxRSxPQUFPLGVBQWVDO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTUosbUJBQW1CO1FBQUVHO0lBQVE7SUFFMURBLFFBQVFFLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO1FBQ25CQyxLQUFLLENBQUMsTUFBTSxFQUFFSCxlQUFlSSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDeEQ7SUFFQSxJQUFJQyxxQkFBcUIsRUFBRTtJQUMzQixNQUFNQyxvQkFBb0IsTUFBTVQscUJBQXFCLElBQUksQ0FBQ1UsT0FBTztJQUVqRSxJQUFJRCxtQkFBbUI7UUFDbkIsQ0FBQSxFQUFFRCxrQkFBa0IsRUFBRSxHQUFHLE1BQU1WLGNBQWM7WUFBRUk7UUFBUSxFQUFDO0lBQzVEO0lBRUEsSUFBSSxDQUFDQyxlQUFlSSxNQUFNLEVBQUU7UUFDMUJMLFFBQVFFLE1BQU0sQ0FBQ08sSUFBSSxDQUFDO1lBQUVMLEtBQUs7UUFBdUI7UUFDbEQ7SUFDRjtJQUVBLGlEQUFpRDtJQUNqRCxNQUFNTSxXQUFXVCxlQUFlVSxHQUFHLENBQUMsQ0FBQ0M7UUFDbkMsTUFBTUMsb0JBQW9CUCxtQkFBbUJRLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFDbEYsT0FBTztZQUNMQyxNQUFNTCxVQUFVSSxJQUFJO1lBQ3BCLHNEQUFzRDtZQUN0REUsT0FBT0wsbUJBQW1CTTtZQUMxQkMsS0FBS1Asb0JBQW9CLFFBQVE7UUFDbkM7SUFDRjtJQUVBLE1BQU1RLElBQUksSUFBSTFCO0lBRWRlLFNBQVNZLE9BQU8sQ0FBQyxDQUFDQztRQUNoQkYsRUFBRUcsTUFBTSxDQUFDRCxHQUFHO1lBQ1ZFLE9BQU9GLEVBQUVILEdBQUcsS0FBSyxRQUFRLFVBQVU7UUFDckM7SUFDRjtJQUNBQyxFQUFFSyxVQUFVO0FBQ2QifQ==
44
+ //# sourceMappingURL=migrateStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/migrateStatus.ts"],"sourcesContent":["import { Table } from 'console-table-printer'\nimport { getMigrations, readMigrationFiles } from 'payload/database'\n\nimport type { PostgresAdapter } from './types.js'\n\nimport { migrationTableExists } from './utilities/migrationTableExists.js'\n\nexport async function migrateStatus(this: PostgresAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n payload.logger.debug({\n msg: `Found ${migrationFiles.length} migration files.`,\n })\n\n let existingMigrations = []\n const hasMigrationTable = await migrationTableExists(this.drizzle)\n\n if (hasMigrationTable) {\n ;({ existingMigrations } = await getMigrations({ payload }))\n }\n\n if (!migrationFiles.length) {\n payload.logger.info({ msg: 'No migrations found.' })\n return\n }\n\n // Compare migration files to existing migrations\n const statuses = migrationFiles.map((migration) => {\n const existingMigration = existingMigrations.find((m) => m.name === migration.name)\n return {\n Name: migration.name,\n // eslint-disable-next-line perfectionist/sort-objects\n Batch: existingMigration?.batch,\n Ran: existingMigration ? 'Yes' : 'No',\n }\n })\n\n const p = new Table()\n\n statuses.forEach((s) => {\n p.addRow(s, {\n color: s.Ran === 'Yes' ? 'green' : 'red',\n })\n })\n p.printTable()\n}\n"],"names":["Table","getMigrations","readMigrationFiles","migrationTableExists","migrateStatus","payload","migrationFiles","logger","debug","msg","length","existingMigrations","hasMigrationTable","drizzle","info","statuses","map","migration","existingMigration","find","m","name","Name","Batch","batch","Ran","p","forEach","s","addRow","color","printTable"],"mappings":"AAAA,SAASA,KAAK,QAAQ,wBAAuB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,mBAAkB;AAIpE,SAASC,oBAAoB,QAAQ,sCAAqC;AAE1E,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMJ,mBAAmB;QAAEG;IAAQ;IAE1DA,QAAQE,MAAM,CAACC,KAAK,CAAC;QACnBC,KAAK,CAAC,MAAM,EAAEH,eAAeI,MAAM,CAAC,iBAAiB,CAAC;IACxD;IAEA,IAAIC,qBAAqB,EAAE;IAC3B,MAAMC,oBAAoB,MAAMT,qBAAqB,IAAI,CAACU,OAAO;IAEjE,IAAID,mBAAmB;QACnB,CAAA,EAAED,kBAAkB,EAAE,GAAG,MAAMV,cAAc;YAAEI;QAAQ,EAAC;IAC5D;IAEA,IAAI,CAACC,eAAeI,MAAM,EAAE;QAC1BL,QAAQE,MAAM,CAACO,IAAI,CAAC;YAAEL,KAAK;QAAuB;QAClD;IACF;IAEA,iDAAiD;IACjD,MAAMM,WAAWT,eAAeU,GAAG,CAAC,CAACC;QACnC,MAAMC,oBAAoBP,mBAAmBQ,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKJ,UAAUI,IAAI;QAClF,OAAO;YACLC,MAAML,UAAUI,IAAI;YACpB,sDAAsD;YACtDE,OAAOL,mBAAmBM;YAC1BC,KAAKP,oBAAoB,QAAQ;QACnC;IACF;IAEA,MAAMQ,IAAI,IAAI1B;IAEde,SAASY,OAAO,CAAC,CAACC;QAChBF,EAAEG,MAAM,CAACD,GAAG;YACVE,OAAOF,EAAEH,GAAG,KAAK,QAAQ,UAAU;QACrC;IACF;IACAC,EAAEK,UAAU;AACd"}
@@ -26,4 +26,4 @@ export async function buildAndOrConditions({ adapter, fields, joinAliases, joins
26
26
  return completedConditions;
27
27
  }
28
28
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkQW5kT3JDb25kaXRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEJ1aWxkUXVlcnlKb2luQWxpYXNlcywgQnVpbGRRdWVyeUpvaW5zIH0gZnJvbSAnLi9idWlsZFF1ZXJ5LmpzJ1xuXG5pbXBvcnQgeyBwYXJzZVBhcmFtcyB9IGZyb20gJy4vcGFyc2VQYXJhbXMuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZEFuZE9yQ29uZGl0aW9ucyh7XG4gIGFkYXB0ZXIsXG4gIGZpZWxkcyxcbiAgam9pbkFsaWFzZXMsXG4gIGpvaW5zLFxuICBsb2NhbGUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB3aGVyZSxcbn06IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGNvbGxlY3Rpb25TbHVnPzogc3RyaW5nXG4gIGZpZWxkczogRmllbGRbXVxuICBnbG9iYWxTbHVnPzogc3RyaW5nXG4gIGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXNcbiAgam9pbnM6IEJ1aWxkUXVlcnlKb2luc1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgc2VsZWN0RmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBHZW5lcmljQ29sdW1uPlxuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB3aGVyZTogV2hlcmVbXVxufSk6IFByb21pc2U8U1FMW10+IHtcbiAgY29uc3QgY29tcGxldGVkQ29uZGl0aW9ucyA9IFtdXG4gIC8vIExvb3Agb3ZlciBhbGwgQU5EIC8gT1Igb3BlcmF0aW9ucyBhbmQgYWRkIHRoZW0gdG8gdGhlIEFORCAvIE9SIHF1ZXJ5IHBhcmFtXG4gIC8vIE9wZXJhdGlvbnMgc2hvdWxkIGNvbWUgdGhyb3VnaCBhcyBhbiBhcnJheVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBjb25kaXRpb24gb2Ygd2hlcmUpIHtcbiAgICAvLyBJZiB0aGUgb3BlcmF0aW9uIGlzIHByb3Blcmx5IGZvcm1hdHRlZCBhcyBhbiBvYmplY3RcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXJzZVBhcmFtcyh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgIGpvaW5zLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICB3aGVyZTogY29uZGl0aW9uLFxuICAgICAgfSlcbiAgICAgIGlmIChyZXN1bHQgJiYgT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbXBsZXRlZENvbmRpdGlvbnMucHVzaChyZXN1bHQpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBjb21wbGV0ZWRDb25kaXRpb25zXG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJhbXMiLCJidWlsZEFuZE9yQ29uZGl0aW9ucyIsImFkYXB0ZXIiLCJmaWVsZHMiLCJqb2luQWxpYXNlcyIsImpvaW5zIiwibG9jYWxlIiwic2VsZWN0RmllbGRzIiwidGFibGVOYW1lIiwid2hlcmUiLCJjb21wbGV0ZWRDb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsInB1c2giXSwibWFwcGluZ3MiOiJBQU1BLFNBQVNBLFdBQVcsUUFBUSxtQkFBa0I7QUFFOUMsT0FBTyxlQUFlQyxxQkFBcUIsRUFDekNDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxXQUFXLEVBQ1hDLEtBQUssRUFDTEMsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLFNBQVMsRUFDVEMsS0FBSyxFQVlOO0lBQ0MsTUFBTUMsc0JBQXNCLEVBQUU7SUFDOUIsNkVBQTZFO0lBQzdFLDZDQUE2QztJQUM3QyxnREFBZ0Q7SUFDaEQsS0FBSyxNQUFNQyxhQUFhRixNQUFPO1FBQzdCLHNEQUFzRDtRQUN0RCxJQUFJLE9BQU9FLGNBQWMsVUFBVTtZQUNqQyw0Q0FBNEM7WUFDNUMsTUFBTUMsU0FBUyxNQUFNWixZQUFZO2dCQUMvQkU7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLE9BQU9FO1lBQ1Q7WUFDQSxJQUFJQyxVQUFVQyxPQUFPQyxJQUFJLENBQUNGLFFBQVFHLE1BQU0sR0FBRyxHQUFHO2dCQUM1Q0wsb0JBQW9CTSxJQUFJLENBQUNKO1lBQzNCO1FBQ0Y7SUFDRjtJQUNBLE9BQU9GO0FBQ1QifQ==
29
+ //# sourceMappingURL=buildAndOrConditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/buildAndOrConditions.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { Field, Where } from 'payload/types'\n\nimport type { GenericColumn, PostgresAdapter } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryJoins } from './buildQuery.js'\n\nimport { parseParams } from './parseParams.js'\n\nexport async function buildAndOrConditions({\n adapter,\n fields,\n joinAliases,\n joins,\n locale,\n selectFields,\n tableName,\n where,\n}: {\n adapter: PostgresAdapter\n collectionSlug?: string\n fields: Field[]\n globalSlug?: string\n joinAliases: BuildQueryJoinAliases\n joins: BuildQueryJoins\n locale?: string\n selectFields: Record<string, GenericColumn>\n tableName: string\n where: Where[]\n}): Promise<SQL[]> {\n const completedConditions = []\n // Loop over all AND / OR operations and add them to the AND / OR query param\n // Operations should come through as an array\n // eslint-disable-next-line no-restricted-syntax\n for (const condition of where) {\n // If the operation is properly formatted as an object\n if (typeof condition === 'object') {\n // eslint-disable-next-line no-await-in-loop\n const result = await parseParams({\n adapter,\n fields,\n joinAliases,\n joins,\n locale,\n selectFields,\n tableName,\n where: condition,\n })\n if (result && Object.keys(result).length > 0) {\n completedConditions.push(result)\n }\n }\n }\n return completedConditions\n}\n"],"names":["parseParams","buildAndOrConditions","adapter","fields","joinAliases","joins","locale","selectFields","tableName","where","completedConditions","condition","result","Object","keys","length","push"],"mappings":"AAMA,SAASA,WAAW,QAAQ,mBAAkB;AAE9C,OAAO,eAAeC,qBAAqB,EACzCC,OAAO,EACPC,MAAM,EACNC,WAAW,EACXC,KAAK,EACLC,MAAM,EACNC,YAAY,EACZC,SAAS,EACTC,KAAK,EAYN;IACC,MAAMC,sBAAsB,EAAE;IAC9B,6EAA6E;IAC7E,6CAA6C;IAC7C,gDAAgD;IAChD,KAAK,MAAMC,aAAaF,MAAO;QAC7B,sDAAsD;QACtD,IAAI,OAAOE,cAAc,UAAU;YACjC,4CAA4C;YAC5C,MAAMC,SAAS,MAAMZ,YAAY;gBAC/BE;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC;gBACAC,OAAOE;YACT;YACA,IAAIC,UAAUC,OAAOC,IAAI,CAACF,QAAQG,MAAM,GAAG,GAAG;gBAC5CL,oBAAoBM,IAAI,CAACJ;YAC3B;QACF;IACF;IACA,OAAOF;AACT"}
@@ -73,4 +73,4 @@ const buildQuery = async function buildQuery({ adapter, fields, locale, sort, ta
73
73
  };
74
74
  export default buildQuery;
75
75
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkUXVlcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTUUwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgUGdUYWJsZVdpdGhDb2x1bW5zIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFdoZXJlIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgYXNjLCBkZXNjIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbiwgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCB9IGZyb20gJy4vZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aC5qcydcbmltcG9ydCB7IHBhcnNlUGFyYW1zIH0gZnJvbSAnLi9wYXJzZVBhcmFtcy5qcydcblxuZXhwb3J0IHR5cGUgQnVpbGRRdWVyeUpvaW5zID0gUmVjb3JkPHN0cmluZywgU1FMPlxuXG5leHBvcnQgdHlwZSBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMgPSB7XG4gIGNvbmRpdGlvbjogU1FMXG4gIHRhYmxlOiBHZW5lcmljVGFibGUgfCBQZ1RhYmxlV2l0aENvbHVtbnM8YW55PlxufVtdXG5cbnR5cGUgQnVpbGRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBmaWVsZHM6IEZpZWxkW11cbiAgbG9jYWxlPzogc3RyaW5nXG4gIHNvcnQ/OiBzdHJpbmdcbiAgdGFibGVOYW1lOiBzdHJpbmdcbiAgd2hlcmU6IFdoZXJlXG59XG5cbnR5cGUgUmVzdWx0ID0ge1xuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgb3JkZXJCeToge1xuICAgIGNvbHVtbjogR2VuZXJpY0NvbHVtblxuICAgIG9yZGVyOiB0eXBlb2YgYXNjIHwgdHlwZW9mIGRlc2NcbiAgfVxuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHdoZXJlOiBTUUxcbn1cbmNvbnN0IGJ1aWxkUXVlcnkgPSBhc3luYyBmdW5jdGlvbiBidWlsZFF1ZXJ5KHtcbiAgYWRhcHRlcixcbiAgZmllbGRzLFxuICBsb2NhbGUsXG4gIHNvcnQsXG4gIHRhYmxlTmFtZSxcbiAgd2hlcmU6IGluY29taW5nV2hlcmUsXG59OiBCdWlsZFF1ZXJ5QXJncyk6IFByb21pc2U8UmVzdWx0PiB7XG4gIGNvbnN0IHNlbGVjdEZpZWxkczogUmVjb3JkPHN0cmluZywgR2VuZXJpY0NvbHVtbj4gPSB7XG4gICAgaWQ6IGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gIH1cbiAgY29uc3Qgam9pbnM6IEJ1aWxkUXVlcnlKb2lucyA9IHt9XG4gIGNvbnN0IGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMgPSBbXVxuXG4gIGNvbnN0IG9yZGVyQnk6IFJlc3VsdFsnb3JkZXJCeSddID0ge1xuICAgIGNvbHVtbjogbnVsbCxcbiAgICBvcmRlcjogbnVsbCxcbiAgfVxuXG4gIGlmIChzb3J0KSB7XG4gICAgbGV0IHNvcnRQYXRoXG5cbiAgICBpZiAoc29ydFswXSA9PT0gJy0nKSB7XG4gICAgICBzb3J0UGF0aCA9IHNvcnQuc3Vic3RyaW5nKDEpXG4gICAgICBvcmRlckJ5Lm9yZGVyID0gZGVzY1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3J0UGF0aCA9IHNvcnRcbiAgICAgIG9yZGVyQnkub3JkZXIgPSBhc2NcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBjb2x1bW5OYW1lOiBzb3J0VGFibGVDb2x1bW5OYW1lLCB0YWJsZTogc29ydFRhYmxlIH0gPSBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgY29sbGVjdGlvblBhdGg6IHNvcnRQYXRoLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICBqb2lucyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICBwYXRoU2VnbWVudHM6IHNvcnRQYXRoLnJlcGxhY2UoL19fL2csICcuJykuc3BsaXQoJy4nKSxcbiAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgIHZhbHVlOiBzb3J0UGF0aCxcbiAgICAgIH0pXG4gICAgICBvcmRlckJ5LmNvbHVtbiA9IHNvcnRUYWJsZT8uW3NvcnRUYWJsZUNvbHVtbk5hbWVdXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBjb250aW51ZVxuICAgIH1cbiAgfVxuXG4gIGlmICghb3JkZXJCeT8uY29sdW1uKSB7XG4gICAgb3JkZXJCeS5vcmRlciA9IGRlc2NcbiAgICBjb25zdCBjcmVhdGVkQXQgPSBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdPy5jcmVhdGVkQXRcblxuICAgIGlmIChjcmVhdGVkQXQpIHtcbiAgICAgIG9yZGVyQnkuY29sdW1uID0gY3JlYXRlZEF0XG4gICAgfSBlbHNlIHtcbiAgICAgIG9yZGVyQnkuY29sdW1uID0gYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZFxuICAgIH1cbiAgfVxuXG4gIGlmIChvcmRlckJ5LmNvbHVtbikge1xuICAgIHNlbGVjdEZpZWxkcy5zb3J0ID0gb3JkZXJCeS5jb2x1bW5cbiAgfVxuXG4gIGxldCB3aGVyZTogU1FMXG5cbiAgaWYgKGluY29taW5nV2hlcmUgJiYgT2JqZWN0LmtleXMoaW5jb21pbmdXaGVyZSkubGVuZ3RoID4gMCkge1xuICAgIHdoZXJlID0gYXdhaXQgcGFyc2VQYXJhbXMoe1xuICAgICAgYWRhcHRlcixcbiAgICAgIGZpZWxkcyxcbiAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgam9pbnMsXG4gICAgICBsb2NhbGUsXG4gICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgICB3aGVyZTogaW5jb21pbmdXaGVyZSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBqb2luQWxpYXNlcyxcbiAgICBqb2lucyxcbiAgICBvcmRlckJ5LFxuICAgIHNlbGVjdEZpZWxkcyxcbiAgICB3aGVyZSxcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZFF1ZXJ5XG4iXSwibmFtZXMiOlsiYXNjIiwiZGVzYyIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJwYXJzZVBhcmFtcyIsImJ1aWxkUXVlcnkiLCJhZGFwdGVyIiwiZmllbGRzIiwibG9jYWxlIiwic29ydCIsInRhYmxlTmFtZSIsIndoZXJlIiwiaW5jb21pbmdXaGVyZSIsInNlbGVjdEZpZWxkcyIsImlkIiwidGFibGVzIiwiam9pbnMiLCJqb2luQWxpYXNlcyIsIm9yZGVyQnkiLCJjb2x1bW4iLCJvcmRlciIsInNvcnRQYXRoIiwic3Vic3RyaW5nIiwiY29sdW1uTmFtZSIsInNvcnRUYWJsZUNvbHVtbk5hbWUiLCJ0YWJsZSIsInNvcnRUYWJsZSIsImNvbGxlY3Rpb25QYXRoIiwicGF0aFNlZ21lbnRzIiwicmVwbGFjZSIsInNwbGl0IiwidmFsdWUiLCJlcnIiLCJjcmVhdGVkQXQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFhO0FBSXZDLFNBQVNDLHNCQUFzQixRQUFRLDhCQUE2QjtBQUNwRSxTQUFTQyxXQUFXLFFBQVEsbUJBQWtCO0FBNEI5QyxNQUFNQyxhQUFhLGVBQWVBLFdBQVcsRUFDM0NDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLElBQUksRUFDSkMsU0FBUyxFQUNUQyxPQUFPQyxhQUFhLEVBQ0w7SUFDZixNQUFNQyxlQUE4QztRQUNsREMsSUFBSVIsUUFBUVMsTUFBTSxDQUFDTCxVQUFVLENBQUNJLEVBQUU7SUFDbEM7SUFDQSxNQUFNRSxRQUF5QixDQUFDO0lBQ2hDLE1BQU1DLGNBQXFDLEVBQUU7SUFFN0MsTUFBTUMsVUFBNkI7UUFDakNDLFFBQVE7UUFDUkMsT0FBTztJQUNUO0lBRUEsSUFBSVgsTUFBTTtRQUNSLElBQUlZO1FBRUosSUFBSVosSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLO1lBQ25CWSxXQUFXWixLQUFLYSxTQUFTLENBQUM7WUFDMUJKLFFBQVFFLEtBQUssR0FBR2xCO1FBQ2xCLE9BQU87WUFDTG1CLFdBQVdaO1lBQ1hTLFFBQVFFLEtBQUssR0FBR25CO1FBQ2xCO1FBRUEsSUFBSTtZQUNGLE1BQU0sRUFBRXNCLFlBQVlDLG1CQUFtQixFQUFFQyxPQUFPQyxTQUFTLEVBQUUsR0FBR3ZCLHVCQUF1QjtnQkFDbkZHO2dCQUNBcUIsZ0JBQWdCTjtnQkFDaEJkO2dCQUNBVTtnQkFDQUQ7Z0JBQ0FSO2dCQUNBb0IsY0FBY1AsU0FBU1EsT0FBTyxDQUFDLE9BQU8sS0FBS0MsS0FBSyxDQUFDO2dCQUNqRGpCO2dCQUNBSDtnQkFDQXFCLE9BQU9WO1lBQ1Q7WUFDQUgsUUFBUUMsTUFBTSxHQUFHTyxXQUFXLENBQUNGLG9CQUFvQjtRQUNuRCxFQUFFLE9BQU9RLEtBQUs7UUFDWixXQUFXO1FBQ2I7SUFDRjtJQUVBLElBQUksQ0FBQ2QsU0FBU0MsUUFBUTtRQUNwQkQsUUFBUUUsS0FBSyxHQUFHbEI7UUFDaEIsTUFBTStCLFlBQVkzQixRQUFRUyxNQUFNLENBQUNMLFVBQVUsRUFBRXVCO1FBRTdDLElBQUlBLFdBQVc7WUFDYmYsUUFBUUMsTUFBTSxHQUFHYztRQUNuQixPQUFPO1lBQ0xmLFFBQVFDLE1BQU0sR0FBR2IsUUFBUVMsTUFBTSxDQUFDTCxVQUFVLENBQUNJLEVBQUU7UUFDL0M7SUFDRjtJQUVBLElBQUlJLFFBQVFDLE1BQU0sRUFBRTtRQUNsQk4sYUFBYUosSUFBSSxHQUFHUyxRQUFRQyxNQUFNO0lBQ3BDO0lBRUEsSUFBSVI7SUFFSixJQUFJQyxpQkFBaUJzQixPQUFPQyxJQUFJLENBQUN2QixlQUFld0IsTUFBTSxHQUFHLEdBQUc7UUFDMUR6QixRQUFRLE1BQU1QLFlBQVk7WUFDeEJFO1lBQ0FDO1lBQ0FVO1lBQ0FEO1lBQ0FSO1lBQ0FLO1lBQ0FIO1lBQ0FDLE9BQU9DO1FBQ1Q7SUFDRjtJQUVBLE9BQU87UUFDTEs7UUFDQUQ7UUFDQUU7UUFDQUw7UUFDQUY7SUFDRjtBQUNGO0FBRUEsZUFBZU4sV0FBVSJ9
76
+ //# sourceMappingURL=buildQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/buildQuery.ts"],"sourcesContent":["import type { SQL } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { Field, Where } from 'payload/types'\n\nimport { asc, desc } from 'drizzle-orm'\n\nimport type { GenericColumn, GenericTable, PostgresAdapter } from '../types.js'\n\nimport { getTableColumnFromPath } from './getTableColumnFromPath.js'\nimport { parseParams } from './parseParams.js'\n\nexport type BuildQueryJoins = Record<string, SQL>\n\nexport type BuildQueryJoinAliases = {\n condition: SQL\n table: GenericTable | PgTableWithColumns<any>\n}[]\n\ntype BuildQueryArgs = {\n adapter: PostgresAdapter\n fields: Field[]\n locale?: string\n sort?: string\n tableName: string\n where: Where\n}\n\ntype Result = {\n joinAliases: BuildQueryJoinAliases\n joins: BuildQueryJoins\n orderBy: {\n column: GenericColumn\n order: typeof asc | typeof desc\n }\n selectFields: Record<string, GenericColumn>\n where: SQL\n}\nconst buildQuery = async function buildQuery({\n adapter,\n fields,\n locale,\n sort,\n tableName,\n where: incomingWhere,\n}: BuildQueryArgs): Promise<Result> {\n const selectFields: Record<string, GenericColumn> = {\n id: adapter.tables[tableName].id,\n }\n const joins: BuildQueryJoins = {}\n const joinAliases: BuildQueryJoinAliases = []\n\n const orderBy: Result['orderBy'] = {\n column: null,\n order: null,\n }\n\n if (sort) {\n let sortPath\n\n if (sort[0] === '-') {\n sortPath = sort.substring(1)\n orderBy.order = desc\n } else {\n sortPath = sort\n orderBy.order = asc\n }\n\n try {\n const { columnName: sortTableColumnName, table: sortTable } = getTableColumnFromPath({\n adapter,\n collectionPath: sortPath,\n fields,\n joinAliases,\n joins,\n locale,\n pathSegments: sortPath.replace(/__/g, '.').split('.'),\n selectFields,\n tableName,\n value: sortPath,\n })\n orderBy.column = sortTable?.[sortTableColumnName]\n } catch (err) {\n // continue\n }\n }\n\n if (!orderBy?.column) {\n orderBy.order = desc\n const createdAt = adapter.tables[tableName]?.createdAt\n\n if (createdAt) {\n orderBy.column = createdAt\n } else {\n orderBy.column = adapter.tables[tableName].id\n }\n }\n\n if (orderBy.column) {\n selectFields.sort = orderBy.column\n }\n\n let where: SQL\n\n if (incomingWhere && Object.keys(incomingWhere).length > 0) {\n where = await parseParams({\n adapter,\n fields,\n joinAliases,\n joins,\n locale,\n selectFields,\n tableName,\n where: incomingWhere,\n })\n }\n\n return {\n joinAliases,\n joins,\n orderBy,\n selectFields,\n where,\n }\n}\n\nexport default buildQuery\n"],"names":["asc","desc","getTableColumnFromPath","parseParams","buildQuery","adapter","fields","locale","sort","tableName","where","incomingWhere","selectFields","id","tables","joins","joinAliases","orderBy","column","order","sortPath","substring","columnName","sortTableColumnName","table","sortTable","collectionPath","pathSegments","replace","split","value","err","createdAt","Object","keys","length"],"mappings":"AAIA,SAASA,GAAG,EAAEC,IAAI,QAAQ,cAAa;AAIvC,SAASC,sBAAsB,QAAQ,8BAA6B;AACpE,SAASC,WAAW,QAAQ,mBAAkB;AA4B9C,MAAMC,aAAa,eAAeA,WAAW,EAC3CC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,OAAOC,aAAa,EACL;IACf,MAAMC,eAA8C;QAClDC,IAAIR,QAAQS,MAAM,CAACL,UAAU,CAACI,EAAE;IAClC;IACA,MAAME,QAAyB,CAAC;IAChC,MAAMC,cAAqC,EAAE;IAE7C,MAAMC,UAA6B;QACjCC,QAAQ;QACRC,OAAO;IACT;IAEA,IAAIX,MAAM;QACR,IAAIY;QAEJ,IAAIZ,IAAI,CAAC,EAAE,KAAK,KAAK;YACnBY,WAAWZ,KAAKa,SAAS,CAAC;YAC1BJ,QAAQE,KAAK,GAAGlB;QAClB,OAAO;YACLmB,WAAWZ;YACXS,QAAQE,KAAK,GAAGnB;QAClB;QAEA,IAAI;YACF,MAAM,EAAEsB,YAAYC,mBAAmB,EAAEC,OAAOC,SAAS,EAAE,GAAGvB,uBAAuB;gBACnFG;gBACAqB,gBAAgBN;gBAChBd;gBACAU;gBACAD;gBACAR;gBACAoB,cAAcP,SAASQ,OAAO,CAAC,OAAO,KAAKC,KAAK,CAAC;gBACjDjB;gBACAH;gBACAqB,OAAOV;YACT;YACAH,QAAQC,MAAM,GAAGO,WAAW,CAACF,oBAAoB;QACnD,EAAE,OAAOQ,KAAK;QACZ,WAAW;QACb;IACF;IAEA,IAAI,CAACd,SAASC,QAAQ;QACpBD,QAAQE,KAAK,GAAGlB;QAChB,MAAM+B,YAAY3B,QAAQS,MAAM,CAACL,UAAU,EAAEuB;QAE7C,IAAIA,WAAW;YACbf,QAAQC,MAAM,GAAGc;QACnB,OAAO;YACLf,QAAQC,MAAM,GAAGb,QAAQS,MAAM,CAACL,UAAU,CAACI,EAAE;QAC/C;IACF;IAEA,IAAII,QAAQC,MAAM,EAAE;QAClBN,aAAaJ,IAAI,GAAGS,QAAQC,MAAM;IACpC;IAEA,IAAIR;IAEJ,IAAIC,iBAAiBsB,OAAOC,IAAI,CAACvB,eAAewB,MAAM,GAAG,GAAG;QAC1DzB,QAAQ,MAAMP,YAAY;YACxBE;YACAC;YACAU;YACAD;YACAR;YACAK;YACAH;YACAC,OAAOC;QACT;IACF;IAEA,OAAO;QACLK;QACAD;QACAE;QACAL;QACAF;IACF;AACF;AAEA,eAAeN,WAAU"}
@@ -11,4 +11,4 @@ export const convertPathToJSONTraversal = (incomingSegments)=>{
11
11
  }, '');
12
12
  };
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9jb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXRKU09OUGF0aFNlZ21lbnQgfSBmcm9tICcuL2Zvcm1hdEpTT05QYXRoU2VnbWVudC5qcydcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsID0gKGluY29taW5nU2VnbWVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IHNlZ21lbnRzID0gWy4uLmluY29taW5nU2VnbWVudHNdXG4gIHNlZ21lbnRzLnNoaWZ0KClcblxuICByZXR1cm4gc2VnbWVudHMucmVkdWNlKChyZXMsIHNlZ21lbnQsIGkpID0+IHtcbiAgICBjb25zdCBmb3JtYXR0ZWRTZWdtZW50ID0gZm9ybWF0SlNPTlBhdGhTZWdtZW50KHNlZ21lbnQpXG5cbiAgICBpZiAoaSArIDEgPT09IHNlZ21lbnRzLmxlbmd0aCkgcmV0dXJuIGAke3Jlc30tPj4ke2Zvcm1hdHRlZFNlZ21lbnR9YFxuICAgIHJldHVybiBgJHtyZXN9LT4ke2Zvcm1hdHRlZFNlZ21lbnR9YFxuICB9LCAnJylcbn1cbiJdLCJuYW1lcyI6WyJmb3JtYXRKU09OUGF0aFNlZ21lbnQiLCJjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCIsImluY29taW5nU2VnbWVudHMiLCJzZWdtZW50cyIsInNoaWZ0IiwicmVkdWNlIiwicmVzIiwic2VnbWVudCIsImkiLCJmb3JtYXR0ZWRTZWdtZW50IiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxxQkFBcUIsUUFBUSw2QkFBNEI7QUFFbEUsT0FBTyxNQUFNQyw2QkFBNkIsQ0FBQ0M7SUFDekMsTUFBTUMsV0FBVztXQUFJRDtLQUFpQjtJQUN0Q0MsU0FBU0MsS0FBSztJQUVkLE9BQU9ELFNBQVNFLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQyxTQUFTQztRQUNwQyxNQUFNQyxtQkFBbUJULHNCQUFzQk87UUFFL0MsSUFBSUMsSUFBSSxNQUFNTCxTQUFTTyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUVKLElBQUksR0FBRyxFQUFFRyxpQkFBaUIsQ0FBQztRQUNwRSxPQUFPLENBQUMsRUFBRUgsSUFBSSxFQUFFLEVBQUVHLGlCQUFpQixDQUFDO0lBQ3RDLEdBQUc7QUFDTCxFQUFDIn0=
14
+ //# sourceMappingURL=convertPathToJSONTraversal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/queries/createJSONQuery/convertPathToJSONTraversal.ts"],"sourcesContent":["import { formatJSONPathSegment } from './formatJSONPathSegment.js'\n\nexport const convertPathToJSONTraversal = (incomingSegments: string[]) => {\n const segments = [...incomingSegments]\n segments.shift()\n\n return segments.reduce((res, segment, i) => {\n const formattedSegment = formatJSONPathSegment(segment)\n\n if (i + 1 === segments.length) return `${res}->>${formattedSegment}`\n return `${res}->${formattedSegment}`\n }, '')\n}\n"],"names":["formatJSONPathSegment","convertPathToJSONTraversal","incomingSegments","segments","shift","reduce","res","segment","i","formattedSegment","length"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,6BAA4B;AAElE,OAAO,MAAMC,6BAA6B,CAACC;IACzC,MAAMC,WAAW;WAAID;KAAiB;IACtCC,SAASC,KAAK;IAEd,OAAOD,SAASE,MAAM,CAAC,CAACC,KAAKC,SAASC;QACpC,MAAMC,mBAAmBT,sBAAsBO;QAE/C,IAAIC,IAAI,MAAML,SAASO,MAAM,EAAE,OAAO,CAAC,EAAEJ,IAAI,GAAG,EAAEG,iBAAiB,CAAC;QACpE,OAAO,CAAC,EAAEH,IAAI,EAAE,EAAEG,iBAAiB,CAAC;IACtC,GAAG;AACL,EAAC"}
@@ -2,4 +2,4 @@ export const formatJSONPathSegment = (segment)=>{
2
2
  return Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment;
3
3
  };
4
4
 
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9mb3JtYXRKU09OUGF0aFNlZ21lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZvcm1hdEpTT05QYXRoU2VnbWVudCA9IChzZWdtZW50OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZUludChzZWdtZW50KSkgPyBgJyR7c2VnbWVudH0nYCA6IHNlZ21lbnRcbn1cbiJdLCJuYW1lcyI6WyJmb3JtYXRKU09OUGF0aFNlZ21lbnQiLCJzZWdtZW50IiwiTnVtYmVyIiwiaXNOYU4iLCJwYXJzZUludCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSx3QkFBd0IsQ0FBQ0M7SUFDcEMsT0FBT0MsT0FBT0MsS0FBSyxDQUFDQyxTQUFTSCxZQUFZLENBQUMsQ0FBQyxFQUFFQSxRQUFRLENBQUMsQ0FBQyxHQUFHQTtBQUM1RCxFQUFDIn0=
5
+ //# sourceMappingURL=formatJSONPathSegment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/queries/createJSONQuery/formatJSONPathSegment.ts"],"sourcesContent":["export const formatJSONPathSegment = (segment: string) => {\n return Number.isNaN(parseInt(segment)) ? `'${segment}'` : segment\n}\n"],"names":["formatJSONPathSegment","segment","Number","isNaN","parseInt"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB,CAACC;IACpC,OAAOC,OAAOC,KAAK,CAACC,SAASH,YAAY,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,GAAGA;AAC5D,EAAC"}
@@ -51,4 +51,4 @@ export const createJSONQuery = ({ operator, pathSegments, treatAsArray, treatRoo
51
51
  });
52
52
  };
53
53
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVyaWVzL2NyZWF0ZUpTT05RdWVyeS9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCB9IGZyb20gJy4vY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwuanMnXG5pbXBvcnQgeyBmb3JtYXRKU09OUGF0aFNlZ21lbnQgfSBmcm9tICcuL2Zvcm1hdEpTT05QYXRoU2VnbWVudC5qcydcblxuY29uc3Qgb3BlcmF0b3JNYXAgPSB7XG4gIGNvbnRhaW5zOiAnfionLFxuICBlcXVhbHM6ICc9JyxcbiAgbGlrZTogJ34qJyxcbn1cblxudHlwZSBGcm9tQXJyYXlBcmdzID0ge1xuICBpc1Jvb3Q/OiB0cnVlXG4gIG9wZXJhdG9yOiBzdHJpbmdcbiAgcGF0aFNlZ21lbnRzOiBzdHJpbmdbXVxuICB0cmVhdEFzQXJyYXk/OiBzdHJpbmdbXVxuICB2YWx1ZTogdW5rbm93blxufVxuXG5jb25zdCBmcm9tQXJyYXkgPSAoeyBpc1Jvb3QsIG9wZXJhdG9yLCBwYXRoU2VnbWVudHMsIHRyZWF0QXNBcnJheSwgdmFsdWUgfTogRnJvbUFycmF5QXJncykgPT4ge1xuICBjb25zdCBuZXdQYXRoU2VnbWVudHMgPSBwYXRoU2VnbWVudHMuc2xpY2UoaXNSb290ID8gMSA6IDIpXG4gIGNvbnN0IGFsaWFzID0gYCR7cGF0aFNlZ21lbnRzW2lzUm9vdCA/IDAgOiAxXX1fYWxpYXNfJHtuZXdQYXRoU2VnbWVudHMubGVuZ3RofWBcblxuICBuZXdQYXRoU2VnbWVudHMudW5zaGlmdChhbGlhcylcblxuICBjb25zdCBhcnJheUVsZW1lbnRzID0gaXNSb290XG4gICAgPyBwYXRoU2VnbWVudHNbMF1cbiAgICA6IGAke3BhdGhTZWdtZW50c1swXX0gLT4gJHtmb3JtYXRKU09OUGF0aFNlZ21lbnQocGF0aFNlZ21lbnRzWzFdKX1gXG5cbiAgcmV0dXJuIGBFWElTVFMgKFxuICAgIFNFTEVDVCAxXG4gICAgRlJPTSBqc29uYl9hcnJheV9lbGVtZW50cygke2FycmF5RWxlbWVudHN9KSBBUyAke2FsaWFzfVxuICAgIFdIRVJFICR7Y3JlYXRlSlNPTlF1ZXJ5KHtcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgcGF0aFNlZ21lbnRzOiBuZXdQYXRoU2VnbWVudHMsXG4gICAgICB0cmVhdEFzQXJyYXksXG4gICAgICB2YWx1ZSxcbiAgICB9KX1cbiAgKWBcbn1cblxudHlwZSBDcmVhdGVDb25zdHJhaW50QXJncyA9IHtcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXRoU2VnbWVudHM6IHN0cmluZ1tdXG4gIHRyZWF0QXNBcnJheT86IHN0cmluZ1tdXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmNvbnN0IGNyZWF0ZUNvbnN0cmFpbnQgPSAoeyBvcGVyYXRvciwgcGF0aFNlZ21lbnRzLCB2YWx1ZSB9OiBDcmVhdGVDb25zdHJhaW50QXJncyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGpzb25RdWVyeSA9IGNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsKHBhdGhTZWdtZW50cylcbiAgcmV0dXJuIGAke3BhdGhTZWdtZW50c1swXX0ke2pzb25RdWVyeX0gJHtvcGVyYXRvck1hcFtvcGVyYXRvcl19ICcke3ZhbHVlfSdgXG59XG5cbnR5cGUgQXJncyA9IHtcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICBwYXRoU2VnbWVudHM6IHN0cmluZ1tdXG4gIHRyZWF0QXNBcnJheT86IHN0cmluZ1tdXG4gIHRyZWF0Um9vdEFzQXJyYXk/OiBib29sZWFuXG4gIHZhbHVlOiB1bmtub3duXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVKU09OUXVlcnkgPSAoe1xuICBvcGVyYXRvcixcbiAgcGF0aFNlZ21lbnRzLFxuICB0cmVhdEFzQXJyYXksXG4gIHRyZWF0Um9vdEFzQXJyYXksXG4gIHZhbHVlLFxufTogQXJncyk6IHN0cmluZyA9PiB7XG4gIGlmICh0cmVhdFJvb3RBc0FycmF5KSB7XG4gICAgcmV0dXJuIGZyb21BcnJheSh7XG4gICAgICBpc1Jvb3Q6IHRydWUsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgIHRyZWF0QXNBcnJheSxcbiAgICAgIHZhbHVlLFxuICAgIH0pXG4gIH1cblxuICBpZiAodHJlYXRBc0FycmF5LmluY2x1ZGVzKHBhdGhTZWdtZW50c1sxXSkpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5KHtcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgcGF0aFNlZ21lbnRzLFxuICAgICAgdHJlYXRBc0FycmF5LFxuICAgICAgdmFsdWUsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVDb25zdHJhaW50KHsgb3BlcmF0b3IsIHBhdGhTZWdtZW50cywgdHJlYXRBc0FycmF5LCB2YWx1ZSB9KVxufVxuIl0sIm5hbWVzIjpbImNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsIiwiZm9ybWF0SlNPTlBhdGhTZWdtZW50Iiwib3BlcmF0b3JNYXAiLCJjb250YWlucyIsImVxdWFscyIsImxpa2UiLCJmcm9tQXJyYXkiLCJpc1Jvb3QiLCJvcGVyYXRvciIsInBhdGhTZWdtZW50cyIsInRyZWF0QXNBcnJheSIsInZhbHVlIiwibmV3UGF0aFNlZ21lbnRzIiwic2xpY2UiLCJhbGlhcyIsImxlbmd0aCIsInVuc2hpZnQiLCJhcnJheUVsZW1lbnRzIiwiY3JlYXRlSlNPTlF1ZXJ5IiwiY3JlYXRlQ29uc3RyYWludCIsImpzb25RdWVyeSIsInRyZWF0Um9vdEFzQXJyYXkiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsMEJBQTBCLFFBQVEsa0NBQWlDO0FBQzVFLFNBQVNDLHFCQUFxQixRQUFRLDZCQUE0QjtBQUVsRSxNQUFNQyxjQUFjO0lBQ2xCQyxVQUFVO0lBQ1ZDLFFBQVE7SUFDUkMsTUFBTTtBQUNSO0FBVUEsTUFBTUMsWUFBWSxDQUFDLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRUMsS0FBSyxFQUFpQjtJQUN2RixNQUFNQyxrQkFBa0JILGFBQWFJLEtBQUssQ0FBQ04sU0FBUyxJQUFJO0lBQ3hELE1BQU1PLFFBQVEsQ0FBQyxFQUFFTCxZQUFZLENBQUNGLFNBQVMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFSyxnQkFBZ0JHLE1BQU0sQ0FBQyxDQUFDO0lBRS9FSCxnQkFBZ0JJLE9BQU8sQ0FBQ0Y7SUFFeEIsTUFBTUcsZ0JBQWdCVixTQUNsQkUsWUFBWSxDQUFDLEVBQUUsR0FDZixDQUFDLEVBQUVBLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFUixzQkFBc0JRLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUVyRSxPQUFPLENBQUM7OzhCQUVvQixFQUFFUSxjQUFjLEtBQUssRUFBRUgsTUFBTTtVQUNqRCxFQUFFSSxnQkFBZ0I7UUFDdEJWO1FBQ0FDLGNBQWNHO1FBQ2RGO1FBQ0FDO0lBQ0YsR0FBRztHQUNKLENBQUM7QUFDSjtBQVNBLE1BQU1RLG1CQUFtQixDQUFDLEVBQUVYLFFBQVEsRUFBRUMsWUFBWSxFQUFFRSxLQUFLLEVBQXdCO0lBQy9FLE1BQU1TLFlBQVlwQiwyQkFBMkJTO0lBQzdDLE9BQU8sQ0FBQyxFQUFFQSxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUVXLFVBQVUsQ0FBQyxFQUFFbEIsV0FBVyxDQUFDTSxTQUFTLENBQUMsRUFBRSxFQUFFRyxNQUFNLENBQUMsQ0FBQztBQUM3RTtBQVVBLE9BQU8sTUFBTU8sa0JBQWtCLENBQUMsRUFDOUJWLFFBQVEsRUFDUkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pXLGdCQUFnQixFQUNoQlYsS0FBSyxFQUNBO0lBQ0wsSUFBSVUsa0JBQWtCO1FBQ3BCLE9BQU9mLFVBQVU7WUFDZkMsUUFBUTtZQUNSQztZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBQ0Y7SUFFQSxJQUFJRCxhQUFhWSxRQUFRLENBQUNiLFlBQVksQ0FBQyxFQUFFLEdBQUc7UUFDMUMsT0FBT0gsVUFBVTtZQUNmRTtZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBQ0Y7SUFFQSxPQUFPUSxpQkFBaUI7UUFBRVg7UUFBVUM7UUFBY0M7UUFBY0M7SUFBTTtBQUN4RSxFQUFDIn0=
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/queries/createJSONQuery/index.ts"],"sourcesContent":["import { convertPathToJSONTraversal } from './convertPathToJSONTraversal.js'\nimport { formatJSONPathSegment } from './formatJSONPathSegment.js'\n\nconst operatorMap = {\n contains: '~*',\n equals: '=',\n like: '~*',\n}\n\ntype FromArrayArgs = {\n isRoot?: true\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst fromArray = ({ isRoot, operator, pathSegments, treatAsArray, value }: FromArrayArgs) => {\n const newPathSegments = pathSegments.slice(isRoot ? 1 : 2)\n const alias = `${pathSegments[isRoot ? 0 : 1]}_alias_${newPathSegments.length}`\n\n newPathSegments.unshift(alias)\n\n const arrayElements = isRoot\n ? pathSegments[0]\n : `${pathSegments[0]} -> ${formatJSONPathSegment(pathSegments[1])}`\n\n return `EXISTS (\n SELECT 1\n FROM jsonb_array_elements(${arrayElements}) AS ${alias}\n WHERE ${createJSONQuery({\n operator,\n pathSegments: newPathSegments,\n treatAsArray,\n value,\n })}\n )`\n}\n\ntype CreateConstraintArgs = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n value: unknown\n}\n\nconst createConstraint = ({ operator, pathSegments, value }: CreateConstraintArgs): string => {\n const jsonQuery = convertPathToJSONTraversal(pathSegments)\n return `${pathSegments[0]}${jsonQuery} ${operatorMap[operator]} '${value}'`\n}\n\ntype Args = {\n operator: string\n pathSegments: string[]\n treatAsArray?: string[]\n treatRootAsArray?: boolean\n value: unknown\n}\n\nexport const createJSONQuery = ({\n operator,\n pathSegments,\n treatAsArray,\n treatRootAsArray,\n value,\n}: Args): string => {\n if (treatRootAsArray) {\n return fromArray({\n isRoot: true,\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n if (treatAsArray.includes(pathSegments[1])) {\n return fromArray({\n operator,\n pathSegments,\n treatAsArray,\n value,\n })\n }\n\n return createConstraint({ operator, pathSegments, treatAsArray, value })\n}\n"],"names":["convertPathToJSONTraversal","formatJSONPathSegment","operatorMap","contains","equals","like","fromArray","isRoot","operator","pathSegments","treatAsArray","value","newPathSegments","slice","alias","length","unshift","arrayElements","createJSONQuery","createConstraint","jsonQuery","treatRootAsArray","includes"],"mappings":"AAAA,SAASA,0BAA0B,QAAQ,kCAAiC;AAC5E,SAASC,qBAAqB,QAAQ,6BAA4B;AAElE,MAAMC,cAAc;IAClBC,UAAU;IACVC,QAAQ;IACRC,MAAM;AACR;AAUA,MAAMC,YAAY,CAAC,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,YAAY,EAAEC,KAAK,EAAiB;IACvF,MAAMC,kBAAkBH,aAAaI,KAAK,CAACN,SAAS,IAAI;IACxD,MAAMO,QAAQ,CAAC,EAAEL,YAAY,CAACF,SAAS,IAAI,EAAE,CAAC,OAAO,EAAEK,gBAAgBG,MAAM,CAAC,CAAC;IAE/EH,gBAAgBI,OAAO,CAACF;IAExB,MAAMG,gBAAgBV,SAClBE,YAAY,CAAC,EAAE,GACf,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,IAAI,EAAER,sBAAsBQ,YAAY,CAAC,EAAE,EAAE,CAAC;IAErE,OAAO,CAAC;;8BAEoB,EAAEQ,cAAc,KAAK,EAAEH,MAAM;UACjD,EAAEI,gBAAgB;QACtBV;QACAC,cAAcG;QACdF;QACAC;IACF,GAAG;GACJ,CAAC;AACJ;AASA,MAAMQ,mBAAmB,CAAC,EAAEX,QAAQ,EAAEC,YAAY,EAAEE,KAAK,EAAwB;IAC/E,MAAMS,YAAYpB,2BAA2BS;IAC7C,OAAO,CAAC,EAAEA,YAAY,CAAC,EAAE,CAAC,EAAEW,UAAU,CAAC,EAAElB,WAAW,CAACM,SAAS,CAAC,EAAE,EAAEG,MAAM,CAAC,CAAC;AAC7E;AAUA,OAAO,MAAMO,kBAAkB,CAAC,EAC9BV,QAAQ,EACRC,YAAY,EACZC,YAAY,EACZW,gBAAgB,EAChBV,KAAK,EACA;IACL,IAAIU,kBAAkB;QACpB,OAAOf,UAAU;YACfC,QAAQ;YACRC;YACAC;YACAC;YACAC;QACF;IACF;IAEA,IAAID,aAAaY,QAAQ,CAACb,YAAY,CAAC,EAAE,GAAG;QAC1C,OAAOH,UAAU;YACfE;YACAC;YACAC;YACAC;QACF;IACF;IAEA,OAAOQ,iBAAiB;QAAEX;QAAUC;QAAcC;QAAcC;IAAM;AACxE,EAAC"}
@@ -365,4 +365,4 @@ import { v4 as uuid } from 'uuid';
365
365
  throw new APIError(`Cannot find field for path at ${fieldPath}`);
366
366
  };
367
367
 
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IFBnVGFibGVXaXRoQ29sdW1ucyB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE51bWJlckZpZWxkLCBUYWJBc0ZpZWxkLCBUZXh0RmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGVxLCBsaWtlLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGFsaWFzIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5Ub3BMZXZlbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBHZW5lcmljVGFibGUsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXMsIEJ1aWxkUXVlcnlKb2lucyB9IGZyb20gJy4vYnVpbGRRdWVyeS5qcydcblxudHlwZSBDb25zdHJhaW50ID0ge1xuICBjb2x1bW5OYW1lOiBzdHJpbmdcbiAgdGFibGU6IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIHZhbHVlOiB1bmtub3duXG59XG5cbnR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGNvbHVtbk5hbWU/OiBzdHJpbmdcbiAgY29uc3RyYWludHM6IENvbnN0cmFpbnRbXVxuICBmaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhXG4gIGdldE5vdE51bGxDb2x1bW5CeVZhbHVlPzogKHZhbDogdW5rbm93bikgPT4gc3RyaW5nXG4gIHBhdGhTZWdtZW50cz86IHN0cmluZ1tdXG4gIHJhd0NvbHVtbj86IFNRTFxuICB0YWJsZTogR2VuZXJpY1RhYmxlIHwgUGdUYWJsZVdpdGhDb2x1bW5zPGFueT5cbn1cblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgYWxpYXNUYWJsZT86IEdlbmVyaWNUYWJsZSB8IFBnVGFibGVXaXRoQ29sdW1uczxhbnk+XG4gIGNvbGxlY3Rpb25QYXRoOiBzdHJpbmdcbiAgY29sdW1uUHJlZml4Pzogc3RyaW5nXG4gIGNvbnN0cmFpbnRQYXRoPzogc3RyaW5nXG4gIGNvbnN0cmFpbnRzPzogQ29uc3RyYWludFtdXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBqb2luQWxpYXNlczogQnVpbGRRdWVyeUpvaW5BbGlhc2VzXG4gIGpvaW5zOiBCdWlsZFF1ZXJ5Sm9pbnNcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBhdGhTZWdtZW50czogc3RyaW5nW11cbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiBjcmVhdGluZyBhIG5ldyB0YWJsZSBuYW1lIGZvciBhcnJheXMgYW5kIGJsb2NrcywgdGhpcyBzdWZmaXggc2hvdWxkIGJlIGFwcGVuZGVkIHRvIHRoZSB0YWJsZSBuYW1lXG4gICAqL1xuICB0YWJsZU5hbWVTdWZmaXg/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSByYXcgdmFsdWUgb2YgdGhlIHF1ZXJ5IGJlZm9yZSBzYW5pdGl6YXRpb25cbiAgICovXG4gIHZhbHVlOiB1bmtub3duXG59XG4vKipcbiAqIFRyYW5zZm9ybXMgcGF0aCB0byB0YWJsZSBhbmQgY29sdW1uIG5hbWVcbiAqIEFkZHMgdGFibGVzIHRvIGBqb2luYFxuICogQHJldHVybnMgVGFibGVDb2x1bW5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggPSAoe1xuICBhZGFwdGVyLFxuICBhbGlhc1RhYmxlLFxuICBjb2xsZWN0aW9uUGF0aCxcbiAgY29sdW1uUHJlZml4ID0gJycsXG4gIGNvbnN0cmFpbnRQYXRoOiBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoLFxuICBjb25zdHJhaW50cyA9IFtdLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlOiBpbmNvbWluZ0xvY2FsZSxcbiAgcGF0aFNlZ21lbnRzOiBpbmNvbWluZ1NlZ21lbnRzLFxuICByb290VGFibGVOYW1lOiBpbmNvbWluZ1Jvb3RUYWJsZU5hbWUsXG4gIHNlbGVjdEZpZWxkcyxcbiAgdGFibGVOYW1lLFxuICB0YWJsZU5hbWVTdWZmaXggPSAnJyxcbiAgdmFsdWUsXG59OiBBcmdzKTogVGFibGVDb2x1bW4gPT4ge1xuICBjb25zdCBmaWVsZFBhdGggPSBpbmNvbWluZ1NlZ21lbnRzWzBdXG4gIGxldCBsb2NhbGUgPSBpbmNvbWluZ0xvY2FsZVxuICBjb25zdCByb290VGFibGVOYW1lID0gaW5jb21pbmdSb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZVxuICBsZXQgY29uc3RyYWludFBhdGggPSBpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIHx8ICcnXG5cbiAgY29uc3QgZmllbGQgPSBmbGF0dGVuVG9wTGV2ZWxGaWVsZHMoZmllbGRzIGFzIEZpZWxkW10pLmZpbmQoXG4gICAgKGZpZWxkVG9GaW5kKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkVG9GaW5kKSAmJiBmaWVsZFRvRmluZC5uYW1lID09PSBmaWVsZFBhdGgsXG4gICkgYXMgRmllbGQgfCBUYWJBc0ZpZWxkXG4gIGxldCBuZXdUYWJsZU5hbWUgPSB0YWJsZU5hbWVcblxuICBpZiAoIWZpZWxkICYmIGZpZWxkUGF0aCA9PT0gJ2lkJykge1xuICAgIHNlbGVjdEZpZWxkcy5pZCA9IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uaWRcbiAgICByZXR1cm4ge1xuICAgICAgY29sdW1uTmFtZTogJ2lkJyxcbiAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgZmllbGQ6IHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogYWRhcHRlci5pZFR5cGUgPT09ICd1dWlkJyA/ICd0ZXh0JyA6ICdudW1iZXInLFxuICAgICAgfSBhcyBUZXh0RmllbGQgfCBOdW1iZXJGaWVsZCxcbiAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLFxuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZCkge1xuICAgIGNvbnN0IHBhdGhTZWdtZW50cyA9IFsuLi5pbmNvbWluZ1NlZ21lbnRzXVxuXG4gICAgLy8gSWYgbmV4dCBzZWdtZW50IGlzIGEgbG9jYWxlLFxuICAgIC8vIHdlIG5lZWQgdG8gdGFrZSBpdCBvdXQgYW5kIHVzZSBpdCBhcyB0aGUgbG9jYWxlIGZyb20gdGhpcyBwb2ludCBvblxuICAgIGlmICgnbG9jYWxpemVkJyBpbiBmaWVsZCAmJiBmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRMb2NhbGUgPSBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5maW5kKFxuICAgICAgICAobG9jYWxlKSA9PiBsb2NhbGUgPT09IHBhdGhTZWdtZW50c1sxXSxcbiAgICAgIClcblxuICAgICAgaWYgKG1hdGNoZWRMb2NhbGUpIHtcbiAgICAgICAgbG9jYWxlID0gbWF0Y2hlZExvY2FsZVxuICAgICAgICBwYXRoU2VnbWVudHMuc3BsaWNlKDEsIDEpXG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICd0YWJzJzoge1xuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7XG4gICAgICAgICAgICAuLi50YWIsXG4gICAgICAgICAgICB0eXBlOiAndGFiJyxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RhYic6IHtcbiAgICAgICAgaWYgKHRhYkhhc05hbWUoZmllbGQpKSB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgIGFsaWFzVGFibGUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRQYXRoOiBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LmAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgICBqb2lucyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgdGFibGVOYW1lU3VmZml4OiBgJHt0YWJsZU5hbWVTdWZmaXh9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1fYCxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYWxpYXNUYWJsZSxcbiAgICAgICAgICBjb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHRhYmxlTmFtZVN1ZmZpeCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmIChsb2NhbGUgJiYgZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9sb2NhbGVzYFxuXG4gICAgICAgICAgam9pbnNbdGFibGVOYW1lXSA9IGVxKFxuICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElELFxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgY29uc3RyYWludHMucHVzaCh7XG4gICAgICAgICAgICAgIGNvbHVtbk5hbWU6ICdfbG9jYWxlJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uUHJlZml4fSR7ZmllbGQubmFtZX1fYCxcbiAgICAgICAgICBjb25zdHJhaW50UGF0aDogYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfS5gLFxuICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGpvaW5BbGlhc2VzLFxuICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICBwYXRoU2VnbWVudHM6IHBhdGhTZWdtZW50cy5zbGljZSgxKSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWVTdWZmaXg6IGAke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfV9gLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgbmV3VGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV8ke3RhYmxlTmFtZVN1ZmZpeH0ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgY29uc3RyYWludFBhdGggPSBgJHtjb25zdHJhaW50UGF0aH0ke2ZpZWxkLm5hbWV9LiUuYFxuICAgICAgICBpZiAobG9jYWxlICYmIGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCksXG4gICAgICAgICAgICBlcShhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9sb2NhbGUsIGxvY2FsZSksXG4gICAgICAgICAgKVxuICAgICAgICAgIGlmIChsb2NhbGUgIT09ICdhbGwnKSB7XG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19sb2NhbGUnLFxuICAgICAgICAgICAgICB0YWJsZTogYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsXG4gICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFRhYmxlQ29sdW1uRnJvbVBhdGgoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgY29sbGVjdGlvblBhdGgsXG4gICAgICAgICAgY29uc3RyYWludFBhdGgsXG4gICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgam9pbkFsaWFzZXMsXG4gICAgICAgICAgam9pbnMsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICAgIGxldCBibG9ja1RhYmxlQ29sdW1uOiBUYWJsZUNvbHVtblxuICAgICAgICBsZXQgbmV3VGFibGVOYW1lOiBzdHJpbmdcblxuICAgICAgICAvLyBoYW5kbGUgYmxvY2tUeXBlIHF1ZXJpZXNcbiAgICAgICAgaWYgKHBhdGhTZWdtZW50c1sxXSA9PT0gJ2Jsb2NrVHlwZScpIHtcbiAgICAgICAgICAvLyBmaW5kIHRoZSBibG9jayBjb25maWcgdXNpbmcgdGhlIHZhbHVlXG4gICAgICAgICAgY29uc3QgYmxvY2tUeXBlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG4gICAgICAgICAgYmxvY2tUeXBlcy5mb3JFYWNoKChibG9ja1R5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2NrID0gZmllbGQuYmxvY2tzLmZpbmQoKGJsb2NrKSA9PiBibG9jay5zbHVnID09PSBibG9ja1R5cGUpXG4gICAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWBcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBlcShcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCxcbiAgICAgICAgICAgICAgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fcGFyZW50SUQsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgY29sdW1uTmFtZTogJ19wYXRoJyxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgIHZhbHVlOiBwYXRoU2VnbWVudHNbMF0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKCkgPT4gJ2lkJyxcbiAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc0Jsb2NrRmllbGQgPSBmaWVsZC5ibG9ja3Muc29tZSgoYmxvY2spID0+IHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2Jsb2Nrc18ke3RvU25ha2VDYXNlKGJsb2NrLnNsdWcpfWBcbiAgICAgICAgICBjb25zdHJhaW50UGF0aCA9IGAke2NvbnN0cmFpbnRQYXRofSR7ZmllbGQubmFtZX0uJS5gXG4gICAgICAgICAgbGV0IHJlc3VsdFxuICAgICAgICAgIGNvbnN0IGJsb2NrQ29uc3RyYWludHMgPSBbXVxuICAgICAgICAgIGNvbnN0IGJsb2NrU2VsZWN0RmllbGRzID0ge31cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25QYXRoLFxuICAgICAgICAgICAgICBjb25zdHJhaW50UGF0aCxcbiAgICAgICAgICAgICAgY29uc3RyYWludHM6IGJsb2NrQ29uc3RyYWludHMsXG4gICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgICAgam9pbnMsXG4gICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHNlbGVjdEZpZWxkczogYmxvY2tTZWxlY3RGaWVsZHMsXG4gICAgICAgICAgICAgIHRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgZmluZSwgbm90IGV2ZXJ5IGJsb2NrIHdpbGwgaGF2ZSB0aGUgZmllbGRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgIH1cbiAgICAgICAgICBibG9ja1RhYmxlQ29sdW1uID0gcmVzdWx0XG4gICAgICAgICAgY29uc3RyYWludHMgPSBjb25zdHJhaW50cy5jb25jYXQoYmxvY2tDb25zdHJhaW50cylcbiAgICAgICAgICBzZWxlY3RGaWVsZHMgPSB7IC4uLnNlbGVjdEZpZWxkcywgLi4uYmxvY2tTZWxlY3RGaWVsZHMgfVxuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgIGpvaW5zW25ld1RhYmxlTmFtZV0gPSBhbmQoXG4gICAgICAgICAgICAgIGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0uX3BhcmVudElEKSxcbiAgICAgICAgICAgICAgZXEoYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXS5fbG9jYWxlLCBsb2NhbGUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGhhc0Jsb2NrRmllbGQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29sdW1uTmFtZTogYmxvY2tUYWJsZUNvbHVtbi5jb2x1bW5OYW1lLFxuICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICBmaWVsZDogYmxvY2tUYWJsZUNvbHVtbi5maWVsZCxcbiAgICAgICAgICAgIHBhdGhTZWdtZW50czogcGF0aFNlZ21lbnRzLnNsaWNlKDEpLFxuICAgICAgICAgICAgcmF3Q29sdW1uOiBibG9ja1RhYmxlQ29sdW1uLnJhd0NvbHVtbixcbiAgICAgICAgICAgIHRhYmxlOiBibG9ja1RhYmxlQ29sdW1uLnRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICBsZXQgcmVsYXRpb25zaGlwRmllbGRzXG4gICAgICAgIGNvbnN0IHJlbGF0aW9uVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fcmVsc2BcbiAgICAgICAgY29uc3QgbmV3Q29sbGVjdGlvblBhdGggPSBwYXRoU2VnbWVudHMuc2xpY2UoMSkuam9pbignLicpXG4gICAgICAgIGNvbnN0IGFsaWFzUmVsYXRpb25zaGlwVGFibGVOYW1lID0gdXVpZCgpXG4gICAgICAgIGNvbnN0IGFsaWFzUmVsYXRpb25zaGlwVGFibGUgPSBhbGlhcyhcbiAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tyZWxhdGlvblRhYmxlTmFtZV0sXG4gICAgICAgICAgYWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWUsXG4gICAgICAgIClcblxuICAgICAgICAvLyBKb2luIGluIHRoZSByZWxhdGlvbnNoaXBzIHRhYmxlXG4gICAgICAgIGpvaW5BbGlhc2VzLnB1c2goe1xuICAgICAgICAgIGNvbmRpdGlvbjogYW5kKFxuICAgICAgICAgICAgZXEoKGFsaWFzVGFibGUgfHwgYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0pLmlkLCBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhcmVudCksXG4gICAgICAgICAgICBsaWtlKGFsaWFzUmVsYXRpb25zaGlwVGFibGUucGF0aCwgYCR7Y29uc3RyYWludFBhdGh9JHtmaWVsZC5uYW1lfWApLFxuICAgICAgICAgICksXG4gICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2VsZWN0RmllbGRzW2Ake3JlbGF0aW9uVGFibGVOYW1lfS5wYXRoYF0gPSBhbGlhc1JlbGF0aW9uc2hpcFRhYmxlLnBhdGhcblxuICAgICAgICBsZXQgbmV3QWxpYXNUYWJsZVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmllbGQucmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBuZXdUYWJsZU5hbWUgPSBgJHt0b1NuYWtlQ2FzZShmaWVsZC5yZWxhdGlvblRvKX1gXG4gICAgICAgICAgLy8gcGFyZW50IHRvIHJlbGF0aW9uc2hpcCBqb2luIHRhYmxlXG4gICAgICAgICAgcmVsYXRpb25zaGlwRmllbGRzID0gYWRhcHRlci5wYXlsb2FkLmNvbGxlY3Rpb25zW2ZpZWxkLnJlbGF0aW9uVG9dLmNvbmZpZy5maWVsZHNcblxuICAgICAgICAgIG5ld0FsaWFzVGFibGUgPSBhbGlhcyhhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLCB0b1NuYWtlQ2FzZSh1dWlkKCkpKVxuXG4gICAgICAgICAgam9pbkFsaWFzZXMucHVzaCh7XG4gICAgICAgICAgICBjb25kaXRpb246IGVxKG5ld0FsaWFzVGFibGUuaWQsIGFsaWFzUmVsYXRpb25zaGlwVGFibGVbYCR7ZmllbGQucmVsYXRpb25Ub31JRGBdKSxcbiAgICAgICAgICAgIHRhYmxlOiBuZXdBbGlhc1RhYmxlLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAobmV3Q29sbGVjdGlvblBhdGggPT09ICcnIHx8IG5ld0NvbGxlY3Rpb25QYXRoID09PSAnaWQnKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjb2x1bW5OYW1lOiBgJHtmaWVsZC5yZWxhdGlvblRvfUlEYCxcbiAgICAgICAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobmV3Q29sbGVjdGlvblBhdGggPT09ICd2YWx1ZScpIHtcbiAgICAgICAgICBjb25zdCB0YWJsZUNvbHVtbnNOYW1lcyA9IGZpZWxkLnJlbGF0aW9uVG8ubWFwKFxuICAgICAgICAgICAgKHJlbGF0aW9uVG8pID0+IGBcIiR7YWxpYXNSZWxhdGlvbnNoaXBUYWJsZU5hbWV9XCIuXCIke3RvU25ha2VDYXNlKHJlbGF0aW9uVG8pfV9pZFwiYCxcbiAgICAgICAgICApXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICByYXdDb2x1bW46IHNxbC5yYXcoYENPQUxFU0NFKCR7dGFibGVDb2x1bW5zTmFtZXMuam9pbignLCAnKX0pYCksXG4gICAgICAgICAgICB0YWJsZTogYWxpYXNSZWxhdGlvbnNoaXBUYWJsZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAobmV3Q29sbGVjdGlvblBhdGggPT09ICdyZWxhdGlvblRvJykge1xuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uVG8gPSBBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pID8gZmllbGQucmVsYXRpb25UbyA6IFtmaWVsZC5yZWxhdGlvblRvXVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZTogKHZhbCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaGVkUmVsYXRpb24gPSByZWxhdGlvblRvLmZpbmQoKHJlbGF0aW9uKSA9PiByZWxhdGlvbiA9PT0gdmFsKVxuICAgICAgICAgICAgICBpZiAobWF0Y2hlZFJlbGF0aW9uKSByZXR1cm4gYCR7bWF0Y2hlZFJlbGF0aW9ufUlEYFxuICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGFibGU6IGFsaWFzUmVsYXRpb25zaGlwVGFibGUsXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcignTm90IHN1cHBvcnRlZCcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ2V0VGFibGVDb2x1bW5Gcm9tUGF0aCh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBhbGlhc1RhYmxlOiBuZXdBbGlhc1RhYmxlLFxuICAgICAgICAgIGNvbGxlY3Rpb25QYXRoOiBuZXdDb2xsZWN0aW9uUGF0aCxcbiAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICBmaWVsZHM6IHJlbGF0aW9uc2hpcEZpZWxkcyxcbiAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICBqb2lucyxcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGF0aFNlZ21lbnRzOiBwYXRoU2VnbWVudHMuc2xpY2UoMSksXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZTogbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHNlbGVjdEZpZWxkcyxcbiAgICAgICAgICB0YWJsZU5hbWU6IG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgICAvLyBJZiBsb2NhbGl6ZWQsIHdlIGdvIHRvIGxvY2FsaXplZCB0YWJsZSBhbmQgc2V0IGFsaWFzVGFibGUgdG8gdW5kZWZpbmVkXG4gICAgICAgICAgICAvLyBzbyBpdCBpcyBub3QgcGlja2VkIHVwIGJlbG93IHRvIGJlIHVzZWQgYXMgdGFyZ2V0VGFibGVcbiAgICAgICAgICAgIG5ld1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fbG9jYWxlc2BcblxuICAgICAgICAgICAgY29uc3QgcGFyZW50VGFibGUgPSBhbGlhc1RhYmxlIHx8IGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV1cblxuICAgICAgICAgICAgam9pbnNbbmV3VGFibGVOYW1lXSA9IGVxKHBhcmVudFRhYmxlLmlkLCBhZGFwdGVyLnRhYmxlc1tuZXdUYWJsZU5hbWVdLl9wYXJlbnRJRClcblxuICAgICAgICAgICAgYWxpYXNUYWJsZSA9IHVuZGVmaW5lZFxuXG4gICAgICAgICAgICBpZiAobG9jYWxlICE9PSAnYWxsJykge1xuICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb2x1bW5OYW1lOiAnX2xvY2FsZScsXG4gICAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW25ld1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsZSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB0YXJnZXRUYWJsZSA9IGFsaWFzVGFibGUgfHwgYWRhcHRlci50YWJsZXNbbmV3VGFibGVOYW1lXVxuXG4gICAgICAgICAgc2VsZWN0RmllbGRzW2Ake25ld1RhYmxlTmFtZX0uJHtjb2x1bW5QcmVmaXh9JHtmaWVsZC5uYW1lfWBdID1cbiAgICAgICAgICAgIHRhcmdldFRhYmxlW2Ake2NvbHVtblByZWZpeH0ke2ZpZWxkLm5hbWV9YF1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb2x1bW5OYW1lOiBgJHtjb2x1bW5QcmVmaXh9JHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgICBjb25zdHJhaW50cyxcbiAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgcGF0aFNlZ21lbnRzLFxuICAgICAgICAgICAgdGFibGU6IHRhcmdldFRhYmxlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcihgQ2Fubm90IGZpbmQgZmllbGQgZm9yIHBhdGggYXQgJHtmaWVsZFBhdGh9YClcbn1cbiJdLCJuYW1lcyI6WyJhbmQiLCJlcSIsImxpa2UiLCJzcWwiLCJhbGlhcyIsIkFQSUVycm9yIiwiZmllbGRBZmZlY3RzRGF0YSIsInRhYkhhc05hbWUiLCJmbGF0dGVuVG9wTGV2ZWxGaWVsZHMiLCJ0b1NuYWtlQ2FzZSIsInY0IiwidXVpZCIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJhZGFwdGVyIiwiYWxpYXNUYWJsZSIsImNvbGxlY3Rpb25QYXRoIiwiY29sdW1uUHJlZml4IiwiY29uc3RyYWludFBhdGgiLCJpbmNvbWluZ0NvbnN0cmFpbnRQYXRoIiwiY29uc3RyYWludHMiLCJmaWVsZHMiLCJqb2luQWxpYXNlcyIsImpvaW5zIiwibG9jYWxlIiwiaW5jb21pbmdMb2NhbGUiLCJwYXRoU2VnbWVudHMiLCJpbmNvbWluZ1NlZ21lbnRzIiwicm9vdFRhYmxlTmFtZSIsImluY29taW5nUm9vdFRhYmxlTmFtZSIsInNlbGVjdEZpZWxkcyIsInRhYmxlTmFtZSIsInRhYmxlTmFtZVN1ZmZpeCIsInZhbHVlIiwiZmllbGRQYXRoIiwiZmllbGQiLCJmaW5kIiwiZmllbGRUb0ZpbmQiLCJuYW1lIiwibmV3VGFibGVOYW1lIiwiaWQiLCJ0YWJsZXMiLCJjb2x1bW5OYW1lIiwidHlwZSIsImlkVHlwZSIsInRhYmxlIiwibG9jYWxpemVkIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsIm1hdGNoZWRMb2NhbGUiLCJsb2NhbGVDb2RlcyIsInNwbGljZSIsInRhYnMiLCJtYXAiLCJ0YWIiLCJzbGljZSIsIl9wYXJlbnRJRCIsInB1c2giLCJfbG9jYWxlIiwiYmxvY2tUYWJsZUNvbHVtbiIsImJsb2NrVHlwZXMiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwiYmxvY2tUeXBlIiwiYmxvY2siLCJibG9ja3MiLCJzbHVnIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJoYXNCbG9ja0ZpZWxkIiwic29tZSIsInJlc3VsdCIsImJsb2NrQ29uc3RyYWludHMiLCJibG9ja1NlbGVjdEZpZWxkcyIsImVycm9yIiwiY29uY2F0IiwicmF3Q29sdW1uIiwicmVsYXRpb25zaGlwRmllbGRzIiwicmVsYXRpb25UYWJsZU5hbWUiLCJuZXdDb2xsZWN0aW9uUGF0aCIsImpvaW4iLCJhbGlhc1JlbGF0aW9uc2hpcFRhYmxlTmFtZSIsImFsaWFzUmVsYXRpb25zaGlwVGFibGUiLCJjb25kaXRpb24iLCJwYXJlbnQiLCJwYXRoIiwibmV3QWxpYXNUYWJsZSIsInJlbGF0aW9uVG8iLCJjb2xsZWN0aW9ucyIsInRhYmxlQ29sdW1uc05hbWVzIiwicmF3IiwidmFsIiwibWF0Y2hlZFJlbGF0aW9uIiwicmVsYXRpb24iLCJ1bmRlZmluZWQiLCJwYXJlbnRUYWJsZSIsInRhcmdldFRhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0MsR0FLcEMsU0FBU0EsR0FBRyxFQUFFQyxFQUFFLEVBQUVDLElBQUksRUFBRUMsR0FBRyxRQUFRLGNBQWE7QUFDaEQsU0FBU0MsS0FBSyxRQUFRLHNCQUFxQjtBQUMzQyxTQUFTQyxRQUFRLFFBQVEsaUJBQWdCO0FBQ3pDLFNBQVNDLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsZ0JBQWU7QUFDNUQsU0FBU0MscUJBQXFCLFFBQVEsb0JBQW1CO0FBQ3pELE9BQU9DLGlCQUFpQixnQkFBZTtBQUN2QyxTQUFTQyxNQUFNQyxJQUFJLFFBQVEsT0FBTTtBQTZDakM7Ozs7Q0FJ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
368
+ //# sourceMappingURL=getTableColumnFromPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/getTableColumnFromPath.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { SQL } from 'drizzle-orm'\nimport type { PgTableWithColumns } from 'drizzle-orm/pg-core'\nimport type { Field, FieldAffectingData, NumberField, TabAsField, TextField } from 'payload/types'\n\nimport { and, eq, like, sql } from 'drizzle-orm'\nimport { alias } from 'drizzle-orm/pg-core'\nimport { APIError } from 'payload/errors'\nimport { fieldAffectsData, tabHasName } from 'payload/types'\nimport { flattenTopLevelFields } from 'payload/utilities'\nimport toSnakeCase from 'to-snake-case'\nimport { v4 as uuid } from 'uuid'\n\nimport type { GenericColumn, GenericTable, PostgresAdapter } from '../types.js'\nimport type { BuildQueryJoinAliases, BuildQueryJoins } from './buildQuery.js'\n\ntype Constraint = {\n columnName: string\n table: GenericTable | PgTableWithColumns<any>\n value: unknown\n}\n\ntype TableColumn = {\n columnName?: string\n constraints: Constraint[]\n field: FieldAffectingData\n getNotNullColumnByValue?: (val: unknown) => string\n pathSegments?: string[]\n rawColumn?: SQL\n table: GenericTable | PgTableWithColumns<any>\n}\n\ntype Args = {\n adapter: PostgresAdapter\n aliasTable?: GenericTable | PgTableWithColumns<any>\n collectionPath: string\n columnPrefix?: string\n constraintPath?: string\n constraints?: Constraint[]\n fields: (Field | TabAsField)[]\n joinAliases: BuildQueryJoinAliases\n joins: BuildQueryJoins\n locale?: string\n pathSegments: string[]\n rootTableName?: string\n selectFields: Record<string, GenericColumn>\n tableName: string\n /**\n * If creating a new table name for arrays and blocks, this suffix should be appended to the table name\n */\n tableNameSuffix?: string\n /**\n * The raw value of the query before sanitization\n */\n value: unknown\n}\n/**\n * Transforms path to table and column name\n * Adds tables to `join`\n * @returns TableColumn\n */\nexport const getTableColumnFromPath = ({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix = '',\n constraintPath: incomingConstraintPath,\n constraints = [],\n fields,\n joinAliases,\n joins,\n locale: incomingLocale,\n pathSegments: incomingSegments,\n rootTableName: incomingRootTableName,\n selectFields,\n tableName,\n tableNameSuffix = '',\n value,\n}: Args): TableColumn => {\n const fieldPath = incomingSegments[0]\n let locale = incomingLocale\n const rootTableName = incomingRootTableName || tableName\n let constraintPath = incomingConstraintPath || ''\n\n const field = flattenTopLevelFields(fields as Field[]).find(\n (fieldToFind) => fieldAffectsData(fieldToFind) && fieldToFind.name === fieldPath,\n ) as Field | TabAsField\n let newTableName = tableName\n\n if (!field && fieldPath === 'id') {\n selectFields.id = adapter.tables[newTableName].id\n return {\n columnName: 'id',\n constraints,\n field: {\n name: 'id',\n type: adapter.idType === 'uuid' ? 'text' : 'number',\n } as TextField | NumberField,\n table: adapter.tables[newTableName],\n }\n }\n\n if (field) {\n const pathSegments = [...incomingSegments]\n\n // If next segment is a locale,\n // we need to take it out and use it as the locale from this point on\n if ('localized' in field && field.localized && adapter.payload.config.localization) {\n const matchedLocale = adapter.payload.config.localization.localeCodes.find(\n (locale) => locale === pathSegments[1],\n )\n\n if (matchedLocale) {\n locale = matchedLocale\n pathSegments.splice(1, 1)\n }\n }\n\n switch (field.type) {\n case 'tabs': {\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix,\n constraintPath,\n constraints,\n fields: field.tabs.map((tab) => ({\n ...tab,\n type: 'tab',\n })),\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n tableName: newTableName,\n tableNameSuffix,\n value,\n })\n }\n case 'tab': {\n if (tabHasName(field)) {\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.fields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix,\n constraintPath,\n constraints,\n fields: field.fields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n tableName: newTableName,\n tableNameSuffix,\n value,\n })\n }\n\n case 'group': {\n if (locale && field.localized && adapter.payload.config.localization) {\n newTableName = `${tableName}_locales`\n\n joins[tableName] = eq(\n adapter.tables[tableName].id,\n adapter.tables[newTableName]._parentID,\n )\n if (locale !== 'all') {\n constraints.push({\n columnName: '_locale',\n table: adapter.tables[newTableName],\n value: locale,\n })\n }\n }\n return getTableColumnFromPath({\n adapter,\n aliasTable,\n collectionPath,\n columnPrefix: `${columnPrefix}${field.name}_`,\n constraintPath: `${constraintPath}${field.name}.`,\n constraints,\n fields: field.fields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n tableName: newTableName,\n tableNameSuffix: `${tableNameSuffix}${toSnakeCase(field.name)}_`,\n value,\n })\n }\n\n case 'array': {\n newTableName = `${tableName}_${tableNameSuffix}${toSnakeCase(field.name)}`\n constraintPath = `${constraintPath}${field.name}.%.`\n if (locale && field.localized && adapter.payload.config.localization) {\n joins[newTableName] = and(\n eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID),\n eq(adapter.tables[newTableName]._locale, locale),\n )\n if (locale !== 'all') {\n constraints.push({\n columnName: '_locale',\n table: adapter.tables[newTableName],\n value: locale,\n })\n }\n } else {\n joins[newTableName] = eq(\n adapter.tables[tableName].id,\n adapter.tables[newTableName]._parentID,\n )\n }\n return getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints,\n fields: field.fields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields,\n tableName: newTableName,\n value,\n })\n }\n\n case 'blocks': {\n let blockTableColumn: TableColumn\n let newTableName: string\n\n // handle blockType queries\n if (pathSegments[1] === 'blockType') {\n // find the block config using the value\n const blockTypes = Array.isArray(value) ? value : [value]\n blockTypes.forEach((blockType) => {\n const block = field.blocks.find((block) => block.slug === blockType)\n newTableName = `${tableName}_blocks_${toSnakeCase(block.slug)}`\n joins[newTableName] = eq(\n adapter.tables[tableName].id,\n adapter.tables[newTableName]._parentID,\n )\n constraints.push({\n columnName: '_path',\n table: adapter.tables[newTableName],\n value: pathSegments[0],\n })\n })\n return {\n constraints,\n field,\n getNotNullColumnByValue: () => 'id',\n table: adapter.tables[tableName],\n }\n }\n\n const hasBlockField = field.blocks.some((block) => {\n newTableName = `${tableName}_blocks_${toSnakeCase(block.slug)}`\n constraintPath = `${constraintPath}${field.name}.%.`\n let result\n const blockConstraints = []\n const blockSelectFields = {}\n try {\n result = getTableColumnFromPath({\n adapter,\n collectionPath,\n constraintPath,\n constraints: blockConstraints,\n fields: block.fields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName,\n selectFields: blockSelectFields,\n tableName: newTableName,\n value,\n })\n } catch (error) {\n // this is fine, not every block will have the field\n }\n if (!result) {\n return\n }\n blockTableColumn = result\n constraints = constraints.concat(blockConstraints)\n selectFields = { ...selectFields, ...blockSelectFields }\n if (field.localized && adapter.payload.config.localization) {\n joins[newTableName] = and(\n eq(adapter.tables[tableName].id, adapter.tables[newTableName]._parentID),\n eq(adapter.tables[newTableName]._locale, locale),\n )\n if (locale) {\n constraints.push({\n columnName: '_locale',\n table: adapter.tables[newTableName],\n value: locale,\n })\n }\n } else {\n joins[newTableName] = eq(\n adapter.tables[tableName].id,\n adapter.tables[newTableName]._parentID,\n )\n }\n return true\n })\n if (hasBlockField) {\n return {\n columnName: blockTableColumn.columnName,\n constraints,\n field: blockTableColumn.field,\n pathSegments: pathSegments.slice(1),\n rawColumn: blockTableColumn.rawColumn,\n table: blockTableColumn.table,\n }\n }\n break\n }\n\n case 'relationship':\n case 'upload': {\n let relationshipFields\n const relationTableName = `${rootTableName}_rels`\n const newCollectionPath = pathSegments.slice(1).join('.')\n const aliasRelationshipTableName = uuid()\n const aliasRelationshipTable = alias(\n adapter.tables[relationTableName],\n aliasRelationshipTableName,\n )\n\n // Join in the relationships table\n joinAliases.push({\n condition: and(\n eq((aliasTable || adapter.tables[rootTableName]).id, aliasRelationshipTable.parent),\n like(aliasRelationshipTable.path, `${constraintPath}${field.name}`),\n ),\n table: aliasRelationshipTable,\n })\n\n selectFields[`${relationTableName}.path`] = aliasRelationshipTable.path\n\n let newAliasTable\n\n if (typeof field.relationTo === 'string') {\n newTableName = `${toSnakeCase(field.relationTo)}`\n // parent to relationship join table\n relationshipFields = adapter.payload.collections[field.relationTo].config.fields\n\n newAliasTable = alias(adapter.tables[newTableName], toSnakeCase(uuid()))\n\n joinAliases.push({\n condition: eq(newAliasTable.id, aliasRelationshipTable[`${field.relationTo}ID`]),\n table: newAliasTable,\n })\n\n if (newCollectionPath === '' || newCollectionPath === 'id') {\n return {\n columnName: `${field.relationTo}ID`,\n constraints,\n field,\n table: aliasRelationshipTable,\n }\n }\n } else if (newCollectionPath === 'value') {\n const tableColumnsNames = field.relationTo.map(\n (relationTo) => `\"${aliasRelationshipTableName}\".\"${toSnakeCase(relationTo)}_id\"`,\n )\n return {\n constraints,\n field,\n rawColumn: sql.raw(`COALESCE(${tableColumnsNames.join(', ')})`),\n table: aliasRelationshipTable,\n }\n } else if (newCollectionPath === 'relationTo') {\n const relationTo = Array.isArray(field.relationTo) ? field.relationTo : [field.relationTo]\n\n return {\n constraints,\n field,\n getNotNullColumnByValue: (val) => {\n const matchedRelation = relationTo.find((relation) => relation === val)\n if (matchedRelation) return `${matchedRelation}ID`\n return undefined\n },\n table: aliasRelationshipTable,\n }\n } else {\n throw new APIError('Not supported')\n }\n\n return getTableColumnFromPath({\n adapter,\n aliasTable: newAliasTable,\n collectionPath: newCollectionPath,\n constraints,\n fields: relationshipFields,\n joinAliases,\n joins,\n locale,\n pathSegments: pathSegments.slice(1),\n rootTableName: newTableName,\n selectFields,\n tableName: newTableName,\n value,\n })\n }\n\n default: {\n if (fieldAffectsData(field)) {\n if (field.localized && adapter.payload.config.localization) {\n // If localized, we go to localized table and set aliasTable to undefined\n // so it is not picked up below to be used as targetTable\n newTableName = `${tableName}_locales`\n\n const parentTable = aliasTable || adapter.tables[tableName]\n\n joins[newTableName] = eq(parentTable.id, adapter.tables[newTableName]._parentID)\n\n aliasTable = undefined\n\n if (locale !== 'all') {\n constraints.push({\n columnName: '_locale',\n table: adapter.tables[newTableName],\n value: locale,\n })\n }\n }\n\n const targetTable = aliasTable || adapter.tables[newTableName]\n\n selectFields[`${newTableName}.${columnPrefix}${field.name}`] =\n targetTable[`${columnPrefix}${field.name}`]\n\n return {\n columnName: `${columnPrefix}${field.name}`,\n constraints,\n field,\n pathSegments,\n table: targetTable,\n }\n }\n }\n }\n }\n\n throw new APIError(`Cannot find field for path at ${fieldPath}`)\n}\n"],"names":["and","eq","like","sql","alias","APIError","fieldAffectsData","tabHasName","flattenTopLevelFields","toSnakeCase","v4","uuid","getTableColumnFromPath","adapter","aliasTable","collectionPath","columnPrefix","constraintPath","incomingConstraintPath","constraints","fields","joinAliases","joins","locale","incomingLocale","pathSegments","incomingSegments","rootTableName","incomingRootTableName","selectFields","tableName","tableNameSuffix","value","fieldPath","field","find","fieldToFind","name","newTableName","id","tables","columnName","type","idType","table","localized","payload","config","localization","matchedLocale","localeCodes","splice","tabs","map","tab","slice","_parentID","push","_locale","blockTableColumn","blockTypes","Array","isArray","forEach","blockType","block","blocks","slug","getNotNullColumnByValue","hasBlockField","some","result","blockConstraints","blockSelectFields","error","concat","rawColumn","relationshipFields","relationTableName","newCollectionPath","join","aliasRelationshipTableName","aliasRelationshipTable","condition","parent","path","newAliasTable","relationTo","collections","tableColumnsNames","raw","val","matchedRelation","relation","undefined","parentTable","targetTable"],"mappings":"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"}
@@ -21,4 +21,4 @@ export const operatorMap = {
21
21
  or
22
22
  };
23
23
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL29wZXJhdG9yTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuZCxcbiAgZXEsXG4gIGd0LFxuICBndGUsXG4gIGlsaWtlLFxuICBpbkFycmF5LFxuICBpc05vdE51bGwsXG4gIGlzTnVsbCxcbiAgbHQsXG4gIGx0ZSxcbiAgbmUsXG4gIG5vdEluQXJyYXksXG4gIG9yLFxufSBmcm9tICdkcml6emxlLW9ybSdcblxuZXhwb3J0IGNvbnN0IG9wZXJhdG9yTWFwID0ge1xuICAvLyBpbnRlcnNlY3RzOiBpbnRlcnNlY3RzLFxuICBhbmQsXG4gIGNvbnRhaW5zOiBpbGlrZSxcbiAgZXF1YWxzOiBlcSxcbiAgZXhpc3RzOiBpc05vdE51bGwsXG4gIGdyZWF0ZXJfdGhhbjogZ3QsXG4gIGdyZWF0ZXJfdGhhbl9lcXVhbDogZ3RlLFxuICBpbjogaW5BcnJheSxcbiAgaXNOdWxsLCAvLyBoYW5kbGVzIGV4aXN0czogZmFsc2VcbiAgbGVzc190aGFuOiBsdCxcbiAgbGVzc190aGFuX2VxdWFsOiBsdGUsXG4gIGxpa2U6IGlsaWtlLFxuICBub3RfZXF1YWxzOiBuZSxcbiAgLy8gVE9ETzogZ2VvanNvbiBxdWVyaWVzXG4gIC8vIG5lYXI6IG5lYXIsXG4gIC8vIHdpdGhpbjogd2l0aGluLFxuICAvLyBhbGw6IGFsbCxcbiAgbm90X2luOiBub3RJbkFycmF5LFxuICBvcixcbn1cbiJdLCJuYW1lcyI6WyJhbmQiLCJlcSIsImd0IiwiZ3RlIiwiaWxpa2UiLCJpbkFycmF5IiwiaXNOb3ROdWxsIiwiaXNOdWxsIiwibHQiLCJsdGUiLCJuZSIsIm5vdEluQXJyYXkiLCJvciIsIm9wZXJhdG9yTWFwIiwiY29udGFpbnMiLCJlcXVhbHMiLCJleGlzdHMiLCJncmVhdGVyX3RoYW4iLCJncmVhdGVyX3RoYW5fZXF1YWwiLCJpbiIsImxlc3NfdGhhbiIsImxlc3NfdGhhbl9lcXVhbCIsImxpa2UiLCJub3RfZXF1YWxzIiwibm90X2luIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxHQUFHLEVBQ0hDLEVBQUUsRUFDRkMsRUFBRSxFQUNGQyxHQUFHLEVBQ0hDLEtBQUssRUFDTEMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsRUFBRSxFQUNGQyxHQUFHLEVBQ0hDLEVBQUUsRUFDRkMsVUFBVSxFQUNWQyxFQUFFLFFBQ0csY0FBYTtBQUVwQixPQUFPLE1BQU1DLGNBQWM7SUFDekIsMEJBQTBCO0lBQzFCYjtJQUNBYyxVQUFVVjtJQUNWVyxRQUFRZDtJQUNSZSxRQUFRVjtJQUNSVyxjQUFjZjtJQUNkZ0Isb0JBQW9CZjtJQUNwQmdCLElBQUlkO0lBQ0pFO0lBQ0FhLFdBQVdaO0lBQ1hhLGlCQUFpQlo7SUFDakJhLE1BQU1sQjtJQUNObUIsWUFBWWI7SUFDWix3QkFBd0I7SUFDeEIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1pjLFFBQVFiO0lBQ1JDO0FBQ0YsRUFBQyJ9
24
+ //# sourceMappingURL=operatorMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/queries/operatorMap.ts"],"sourcesContent":["import {\n and,\n eq,\n gt,\n gte,\n ilike,\n inArray,\n isNotNull,\n isNull,\n lt,\n lte,\n ne,\n notInArray,\n or,\n} from 'drizzle-orm'\n\nexport const operatorMap = {\n // intersects: intersects,\n and,\n contains: ilike,\n equals: eq,\n exists: isNotNull,\n greater_than: gt,\n greater_than_equal: gte,\n in: inArray,\n isNull, // handles exists: false\n less_than: lt,\n less_than_equal: lte,\n like: ilike,\n not_equals: ne,\n // TODO: geojson queries\n // near: near,\n // within: within,\n // all: all,\n not_in: notInArray,\n or,\n}\n"],"names":["and","eq","gt","gte","ilike","inArray","isNotNull","isNull","lt","lte","ne","notInArray","or","operatorMap","contains","equals","exists","greater_than","greater_than_equal","in","less_than","less_than_equal","like","not_equals","not_in"],"mappings":"AAAA,SACEA,GAAG,EACHC,EAAE,EACFC,EAAE,EACFC,GAAG,EACHC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,MAAM,EACNC,EAAE,EACFC,GAAG,EACHC,EAAE,EACFC,UAAU,EACVC,EAAE,QACG,cAAa;AAEpB,OAAO,MAAMC,cAAc;IACzB,0BAA0B;IAC1Bb;IACAc,UAAUV;IACVW,QAAQd;IACRe,QAAQV;IACRW,cAAcf;IACdgB,oBAAoBf;IACpBgB,IAAId;IACJE;IACAa,WAAWZ;IACXa,iBAAiBZ;IACjBa,MAAMlB;IACNmB,YAAYb;IACZ,wBAAwB;IACxB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZc,QAAQb;IACRC;AACF,EAAC"}