payload 3.9.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/admin/RichText.d.ts +2 -1
  2. package/dist/admin/RichText.d.ts.map +1 -1
  3. package/dist/admin/RichText.js.map +1 -1
  4. package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
  5. package/dist/auth/operations/forgotPassword.js +1 -0
  6. package/dist/auth/operations/forgotPassword.js.map +1 -1
  7. package/dist/auth/operations/local/forgotPassword.d.ts +1 -1
  8. package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
  9. package/dist/auth/operations/local/forgotPassword.js.map +1 -1
  10. package/dist/auth/operations/local/login.d.ts +1 -1
  11. package/dist/auth/operations/local/login.d.ts.map +1 -1
  12. package/dist/auth/operations/local/login.js.map +1 -1
  13. package/dist/auth/operations/local/resetPassword.d.ts +1 -1
  14. package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
  15. package/dist/auth/operations/local/resetPassword.js.map +1 -1
  16. package/dist/auth/operations/local/unlock.d.ts +1 -1
  17. package/dist/auth/operations/local/unlock.d.ts.map +1 -1
  18. package/dist/auth/operations/local/unlock.js.map +1 -1
  19. package/dist/auth/operations/local/verifyEmail.d.ts +1 -1
  20. package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
  21. package/dist/auth/operations/local/verifyEmail.js.map +1 -1
  22. package/dist/bin/generateTypes.d.ts.map +1 -1
  23. package/dist/bin/generateTypes.js +7 -1
  24. package/dist/bin/generateTypes.js.map +1 -1
  25. package/dist/bin/index.d.ts.map +1 -1
  26. package/dist/bin/index.js +20 -1
  27. package/dist/bin/index.js.map +1 -1
  28. package/dist/collections/config/types.d.ts +1 -1
  29. package/dist/collections/config/types.js.map +1 -1
  30. package/dist/collections/operations/local/count.d.ts +1 -1
  31. package/dist/collections/operations/local/count.d.ts.map +1 -1
  32. package/dist/collections/operations/local/count.js.map +1 -1
  33. package/dist/collections/operations/local/countVersions.d.ts +1 -1
  34. package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
  35. package/dist/collections/operations/local/countVersions.js.map +1 -1
  36. package/dist/collections/operations/local/create.d.ts +1 -1
  37. package/dist/collections/operations/local/create.d.ts.map +1 -1
  38. package/dist/collections/operations/local/create.js.map +1 -1
  39. package/dist/collections/operations/local/delete.d.ts +1 -1
  40. package/dist/collections/operations/local/delete.d.ts.map +1 -1
  41. package/dist/collections/operations/local/delete.js.map +1 -1
  42. package/dist/collections/operations/local/duplicate.d.ts +1 -1
  43. package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
  44. package/dist/collections/operations/local/duplicate.js.map +1 -1
  45. package/dist/collections/operations/local/find.d.ts +1 -1
  46. package/dist/collections/operations/local/find.d.ts.map +1 -1
  47. package/dist/collections/operations/local/find.js.map +1 -1
  48. package/dist/collections/operations/local/findByID.d.ts +1 -1
  49. package/dist/collections/operations/local/findByID.d.ts.map +1 -1
  50. package/dist/collections/operations/local/findByID.js.map +1 -1
  51. package/dist/collections/operations/local/findVersionByID.d.ts +1 -1
  52. package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
  53. package/dist/collections/operations/local/findVersionByID.js.map +1 -1
  54. package/dist/collections/operations/local/findVersions.d.ts +1 -1
  55. package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
  56. package/dist/collections/operations/local/findVersions.js.map +1 -1
  57. package/dist/collections/operations/local/restoreVersion.d.ts +1 -1
  58. package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
  59. package/dist/collections/operations/local/restoreVersion.js.map +1 -1
  60. package/dist/collections/operations/local/update.d.ts +1 -1
  61. package/dist/collections/operations/local/update.d.ts.map +1 -1
  62. package/dist/collections/operations/local/update.js.map +1 -1
  63. package/dist/database/migrations/migrate.d.ts.map +1 -1
  64. package/dist/database/migrations/migrate.js +2 -3
  65. package/dist/database/migrations/migrate.js.map +1 -1
  66. package/dist/database/migrations/migrateDown.d.ts.map +1 -1
  67. package/dist/database/migrations/migrateDown.js +2 -3
  68. package/dist/database/migrations/migrateDown.js.map +1 -1
  69. package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
  70. package/dist/database/migrations/migrateRefresh.js +2 -3
  71. package/dist/database/migrations/migrateRefresh.js.map +1 -1
  72. package/dist/database/migrations/migrateReset.d.ts.map +1 -1
  73. package/dist/database/migrations/migrateReset.js +2 -3
  74. package/dist/database/migrations/migrateReset.js.map +1 -1
  75. package/dist/database/types.d.ts +26 -19
  76. package/dist/database/types.d.ts.map +1 -1
  77. package/dist/database/types.js.map +1 -1
  78. package/dist/fields/config/client.d.ts.map +1 -1
  79. package/dist/fields/config/client.js +8 -0
  80. package/dist/fields/config/client.js.map +1 -1
  81. package/dist/fields/config/sanitizeJoinField.d.ts +2 -2
  82. package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
  83. package/dist/fields/config/sanitizeJoinField.js +2 -3
  84. package/dist/fields/config/sanitizeJoinField.js.map +1 -1
  85. package/dist/fields/config/types.d.ts +10 -1
  86. package/dist/fields/config/types.d.ts.map +1 -1
  87. package/dist/fields/config/types.js.map +1 -1
  88. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  89. package/dist/fields/hooks/beforeValidate/promise.js +4 -0
  90. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
  91. package/dist/fields/validations.d.ts.map +1 -1
  92. package/dist/fields/validations.js +8 -4
  93. package/dist/fields/validations.js.map +1 -1
  94. package/dist/globals/operations/local/countGlobalVersions.d.ts +1 -1
  95. package/dist/globals/operations/local/countGlobalVersions.d.ts.map +1 -1
  96. package/dist/globals/operations/local/countGlobalVersions.js.map +1 -1
  97. package/dist/globals/operations/local/findOne.d.ts +1 -1
  98. package/dist/globals/operations/local/findOne.d.ts.map +1 -1
  99. package/dist/globals/operations/local/findOne.js.map +1 -1
  100. package/dist/globals/operations/local/findVersionByID.d.ts +1 -1
  101. package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
  102. package/dist/globals/operations/local/findVersionByID.js.map +1 -1
  103. package/dist/globals/operations/local/findVersions.d.ts +1 -1
  104. package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
  105. package/dist/globals/operations/local/findVersions.js.map +1 -1
  106. package/dist/globals/operations/local/restoreVersion.d.ts +1 -1
  107. package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
  108. package/dist/globals/operations/local/restoreVersion.js.map +1 -1
  109. package/dist/globals/operations/local/update.d.ts +1 -1
  110. package/dist/globals/operations/local/update.d.ts.map +1 -1
  111. package/dist/globals/operations/local/update.js.map +1 -1
  112. package/dist/index.d.ts +2 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js.map +1 -1
  115. package/dist/queues/config/generateJobsJSONSchemas.d.ts +2 -1
  116. package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
  117. package/dist/queues/config/generateJobsJSONSchemas.js +4 -4
  118. package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
  119. package/dist/types/index.d.ts +1 -0
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js.map +1 -1
  122. package/dist/utilities/commitTransaction.d.ts +2 -1
  123. package/dist/utilities/commitTransaction.d.ts.map +1 -1
  124. package/dist/utilities/commitTransaction.js.map +1 -1
  125. package/dist/utilities/configToJSONSchema.d.ts +4 -3
  126. package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
  127. package/dist/utilities/configToJSONSchema.js +77 -17
  128. package/dist/utilities/configToJSONSchema.js.map +1 -1
  129. package/dist/utilities/flattenAllFields.d.ts.map +1 -1
  130. package/dist/utilities/flattenAllFields.js +5 -0
  131. package/dist/utilities/flattenAllFields.js.map +1 -1
  132. package/dist/utilities/initTransaction.d.ts +2 -1
  133. package/dist/utilities/initTransaction.d.ts.map +1 -1
  134. package/dist/utilities/initTransaction.js.map +1 -1
  135. package/dist/utilities/killTransaction.d.ts +2 -1
  136. package/dist/utilities/killTransaction.d.ts.map +1 -1
  137. package/dist/utilities/killTransaction.js.map +1 -1
  138. package/dist/utilities/traverseFields.d.ts +34 -4
  139. package/dist/utilities/traverseFields.d.ts.map +1 -1
  140. package/dist/utilities/traverseFields.js +15 -6
  141. package/dist/utilities/traverseFields.js.map +1 -1
  142. package/package.json +3 -3
@@ -1,4 +1,5 @@
1
1
  import { commitTransaction } from '../../utilities/commitTransaction.js';
2
+ import { createLocalReq } from '../../utilities/createLocalReq.js';
2
3
  import { initTransaction } from '../../utilities/initTransaction.js';
3
4
  import { killTransaction } from '../../utilities/killTransaction.js';
4
5
  import { getMigrations } from './getMigrations.js';
@@ -13,9 +14,7 @@ import { readMigrationFiles } from './readMigrationFiles.js';
13
14
  const { existingMigrations } = await getMigrations({
14
15
  payload
15
16
  });
16
- const req = {
17
- payload
18
- };
17
+ const req = await createLocalReq({}, payload);
19
18
  if (existingMigrations?.length) {
20
19
  payload.logger.info({
21
20
  msg: `Rolling back all ${existingMigrations.length} migration(s).`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/database/migrations/migrateRefresh.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: BaseDatabaseAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations } = await getMigrations({\n payload,\n })\n\n const req = { payload } as PayloadRequest\n\n if (existingMigrations?.length) {\n payload.logger.info({\n msg: `Rolling back all ${existingMigrations.length} migration(s).`,\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 const session = payload.db.sessions?.[await req.transactionID]\n await migrationFile.down({ payload, req, session })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n } else {\n payload.logger.info({ msg: 'No migrations to rollback.' })\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 let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateRefresh","payload","migrationFiles","existingMigrations","req","length","logger","info","msg","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","session","db","sessions","transactionID","down","delete","collection","where","equals","err","message","error","process","exit","up","create","data","executed"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateRefresh.ts"],"sourcesContent":["import type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { createLocalReq } from '../../utilities/createLocalReq.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\n/**\n * Run all migration down functions before running up\n */\nexport async function migrateRefresh(this: BaseDatabaseAdapter) {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n\n const { existingMigrations } = await getMigrations({\n payload,\n })\n\n const req = await createLocalReq({}, payload)\n\n if (existingMigrations?.length) {\n payload.logger.info({\n msg: `Rolling back all ${existingMigrations.length} migration(s).`,\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 const session = payload.db.sessions?.[await req.transactionID]\n await migrationFile.down({ payload, req, session })\n payload.logger.info({\n msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`,\n })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n name: {\n equals: migration.name,\n },\n },\n })\n } catch (err: unknown) {\n await killTransaction(req)\n let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n } else {\n payload.logger.info({ msg: 'No migrations to rollback.' })\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 let msg = `Error running migration ${migration.name}. Rolling back.`\n if (err instanceof Error) {\n msg += ` ${err.message}`\n }\n payload.logger.error({\n err,\n msg,\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","createLocalReq","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateRefresh","payload","migrationFiles","existingMigrations","req","length","logger","info","msg","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","session","db","sessions","transactionID","down","delete","collection","where","equals","err","message","error","process","exit","up","create","data","executed"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrateReset.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateReset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAQtD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D3E"}
1
+ {"version":3,"file":"migrateReset.d.ts","sourceRoot":"","sources":["../../../src/database/migrations/migrateReset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAStD,wBAAsB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D3E"}
@@ -1,4 +1,5 @@
1
1
  import { commitTransaction } from '../../utilities/commitTransaction.js';
2
+ import { createLocalReq } from '../../utilities/createLocalReq.js';
2
3
  import { initTransaction } from '../../utilities/initTransaction.js';
3
4
  import { killTransaction } from '../../utilities/killTransaction.js';
4
5
  import { getMigrations } from './getMigrations.js';
@@ -17,9 +18,7 @@ export async function migrateReset() {
17
18
  });
18
19
  return;
19
20
  }
20
- const req = {
21
- payload
22
- };
21
+ const req = await createLocalReq({}, payload);
23
22
  // Rollback all migrations in order
24
23
  for (const migration of migrationFiles){
25
24
  // Create or update migration in database
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/database/migrations/migrateReset.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\nexport async function migrateReset(this: BaseDatabaseAdapter): 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 migrationFiles) {\n // Create or update migration in database\n const existingMigration = existingMigrations.find(\n (existing) => existing.name === migration.name,\n )\n if (existingMigration) {\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n const session = payload.db.sessions?.[await req.transactionID]\n await migration.down({ payload, req, session })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n id: {\n equals: existingMigration.id,\n },\n },\n })\n await commitTransaction(req)\n payload.logger.info({ msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({ err, msg: `Error running migration ${migration.name}` })\n throw err\n }\n }\n }\n\n // Delete dev migration\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({ err, msg: 'Error deleting dev migration' })\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateReset","payload","migrationFiles","existingMigrations","length","logger","info","msg","req","migration","existingMigration","find","existing","name","start","Date","now","session","db","sessions","transactionID","down","delete","collection","where","id","equals","err","error","batch"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMH,mBAAmB;QAAEE;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAE,GAAG,MAAML,cAAc;QAAEG;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,aAAaP,eAAgB;QACtC,yCAAyC;QACzC,MAAMQ,oBAAoBP,mBAAmBQ,IAAI,CAC/C,CAACC,WAAaA,SAASC,IAAI,KAAKJ,UAAUI,IAAI;QAEhD,IAAIH,mBAAmB;YACrBT,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEE,UAAUI,IAAI,EAAE;YAAC;YAC/D,IAAI;gBACF,MAAMC,QAAQC,KAAKC,GAAG;gBACtB,MAAMpB,gBAAgBY;gBACtB,MAAMS,UAAUhB,QAAQiB,EAAE,CAACC,QAAQ,EAAE,CAAC,MAAMX,IAAIY,aAAa,CAAC;gBAC9D,MAAMX,UAAUY,IAAI,CAAC;oBAAEpB;oBAASO;oBAAKS;gBAAQ;gBAC7C,MAAMhB,QAAQqB,MAAM,CAAC;oBACnBC,YAAY;oBACZf;oBACAgB,OAAO;wBACLC,IAAI;4BACFC,QAAQhB,kBAAkBe,EAAE;wBAC9B;oBACF;gBACF;gBACA,MAAM9B,kBAAkBa;gBACxBP,QAAQI,MAAM,CAACC,IAAI,CAAC;oBAAEC,KAAK,CAAC,gBAAgB,EAAEE,UAAUI,IAAI,CAAC,EAAE,EAAEE,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;gBAAC;YAC3F,EAAE,OAAOa,KAAc;gBACrB,MAAM9B,gBAAgBW;gBACtBP,QAAQI,MAAM,CAACuB,KAAK,CAAC;oBAAED;oBAAKpB,KAAK,CAAC,wBAAwB,EAAEE,UAAUI,IAAI,EAAE;gBAAC;gBAC7E,MAAMc;YACR;QACF;IACF;IAEA,uBAAuB;IACvB,IAAI;QACF,MAAM1B,QAAQqB,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLK,OAAO;oBACLH,QAAQ,CAAC;gBACX;YACF;QACF;IACF,EAAE,OAAOC,KAAc;QACrB1B,QAAQI,MAAM,CAACuB,KAAK,CAAC;YAAED;YAAKpB,KAAK;QAA+B;IAClE;AACF"}
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateReset.ts"],"sourcesContent":["import type { BaseDatabaseAdapter } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { createLocalReq } from '../../utilities/createLocalReq.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\nexport async function migrateReset(this: BaseDatabaseAdapter): 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 = await createLocalReq({}, payload)\n\n // Rollback all migrations in order\n for (const migration of migrationFiles) {\n // Create or update migration in database\n const existingMigration = existingMigrations.find(\n (existing) => existing.name === migration.name,\n )\n if (existingMigration) {\n payload.logger.info({ msg: `Migrating down: ${migration.name}` })\n try {\n const start = Date.now()\n await initTransaction(req)\n const session = payload.db.sessions?.[await req.transactionID]\n await migration.down({ payload, req, session })\n await payload.delete({\n collection: 'payload-migrations',\n req,\n where: {\n id: {\n equals: existingMigration.id,\n },\n },\n })\n await commitTransaction(req)\n payload.logger.info({ msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)` })\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({ err, msg: `Error running migration ${migration.name}` })\n throw err\n }\n }\n }\n\n // Delete dev migration\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({ err, msg: 'Error deleting dev migration' })\n }\n}\n"],"names":["commitTransaction","createLocalReq","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateReset","payload","migrationFiles","existingMigrations","length","logger","info","msg","req","migration","existingMigration","find","existing","name","start","Date","now","session","db","sessions","transactionID","down","delete","collection","where","id","equals","err","error","batch"],"mappings":"AAEA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,aAAa,QAAQ,qBAAoB;AAClD,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,OAAO,eAAeC;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI;IACxB,MAAMC,iBAAiB,MAAMH,mBAAmB;QAAEE;IAAQ;IAE1D,MAAM,EAAEE,kBAAkB,EAAE,GAAG,MAAML,cAAc;QAAEG;IAAQ;IAE7D,IAAI,CAACE,oBAAoBC,QAAQ;QAC/BH,QAAQI,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK;QAA0B;QACrD;IACF;IAEA,MAAMC,MAAM,MAAMb,eAAe,CAAC,GAAGM;IAErC,mCAAmC;IACnC,KAAK,MAAMQ,aAAaP,eAAgB;QACtC,yCAAyC;QACzC,MAAMQ,oBAAoBP,mBAAmBQ,IAAI,CAC/C,CAACC,WAAaA,SAASC,IAAI,KAAKJ,UAAUI,IAAI;QAEhD,IAAIH,mBAAmB;YACrBT,QAAQI,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,gBAAgB,EAAEE,UAAUI,IAAI,EAAE;YAAC;YAC/D,IAAI;gBACF,MAAMC,QAAQC,KAAKC,GAAG;gBACtB,MAAMpB,gBAAgBY;gBACtB,MAAMS,UAAUhB,QAAQiB,EAAE,CAACC,QAAQ,EAAE,CAAC,MAAMX,IAAIY,aAAa,CAAC;gBAC9D,MAAMX,UAAUY,IAAI,CAAC;oBAAEpB;oBAASO;oBAAKS;gBAAQ;gBAC7C,MAAMhB,QAAQqB,MAAM,CAAC;oBACnBC,YAAY;oBACZf;oBACAgB,OAAO;wBACLC,IAAI;4BACFC,QAAQhB,kBAAkBe,EAAE;wBAC9B;oBACF;gBACF;gBACA,MAAM/B,kBAAkBc;gBACxBP,QAAQI,MAAM,CAACC,IAAI,CAAC;oBAAEC,KAAK,CAAC,gBAAgB,EAAEE,UAAUI,IAAI,CAAC,EAAE,EAAEE,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;gBAAC;YAC3F,EAAE,OAAOa,KAAc;gBACrB,MAAM9B,gBAAgBW;gBACtBP,QAAQI,MAAM,CAACuB,KAAK,CAAC;oBAAED;oBAAKpB,KAAK,CAAC,wBAAwB,EAAEE,UAAUI,IAAI,EAAE;gBAAC;gBAC7E,MAAMc;YACR;QACF;IACF;IAEA,uBAAuB;IACvB,IAAI;QACF,MAAM1B,QAAQqB,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLK,OAAO;oBACLH,QAAQ,CAAC;gBACX;YACF;QACF;IACF,EAAE,OAAOC,KAAc;QACrB1B,QAAQI,MAAM,CAACuB,KAAK,CAAC;YAAED;YAAKpB,KAAK;QAA+B;IAClE;AACF"}
@@ -44,6 +44,7 @@ export interface BaseDatabaseAdapter {
44
44
  findGlobalVersions: FindGlobalVersions;
45
45
  findOne: FindOne;
46
46
  findVersions: FindVersions;
47
+ generateSchema?: GenerateSchema;
47
48
  /**
48
49
  * Perform startup tasks required to interact with the database such as building Schema and models
49
50
  */
@@ -142,7 +143,7 @@ export type QueryDraftsArgs = {
142
143
  locale?: string;
143
144
  page?: number;
144
145
  pagination?: boolean;
145
- req: PayloadRequest;
146
+ req?: Partial<PayloadRequest>;
146
147
  select?: SelectType;
147
148
  sort?: Sort;
148
149
  where?: Where;
@@ -152,7 +153,7 @@ export type FindOneArgs = {
152
153
  collection: CollectionSlug;
153
154
  joins?: JoinQuery;
154
155
  locale?: string;
155
- req: PayloadRequest;
156
+ req?: Partial<PayloadRequest>;
156
157
  select?: SelectType;
157
158
  where?: Where;
158
159
  };
@@ -166,7 +167,7 @@ export type FindArgs = {
166
167
  page?: number;
167
168
  pagination?: boolean;
168
169
  projection?: Record<string, unknown>;
169
- req: PayloadRequest;
170
+ req?: Partial<PayloadRequest>;
170
171
  select?: SelectType;
171
172
  skip?: number;
172
173
  sort?: Sort;
@@ -177,7 +178,7 @@ export type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>
177
178
  export type CountArgs = {
178
179
  collection: CollectionSlug;
179
180
  locale?: string;
180
- req: PayloadRequest;
181
+ req?: Partial<PayloadRequest>;
181
182
  where?: Where;
182
183
  };
183
184
  export type Count = (args: CountArgs) => Promise<{
@@ -189,7 +190,7 @@ export type CountVersions = (args: CountArgs) => Promise<{
189
190
  export type CountGlobalVersionArgs = {
190
191
  global: string;
191
192
  locale?: string;
192
- req: PayloadRequest;
193
+ req?: Partial<PayloadRequest>;
193
194
  where?: Where;
194
195
  };
195
196
  export type CountGlobalVersions = (args: CountGlobalVersionArgs) => Promise<{
@@ -200,7 +201,7 @@ type BaseVersionArgs = {
200
201
  locale?: string;
201
202
  page?: number;
202
203
  pagination?: boolean;
203
- req: PayloadRequest;
204
+ req?: Partial<PayloadRequest>;
204
205
  select?: SelectType;
205
206
  skip?: number;
206
207
  sort?: Sort;
@@ -216,7 +217,7 @@ export type FindGlobalVersionsArgs = {
216
217
  } & BaseVersionArgs;
217
218
  export type FindGlobalArgs = {
218
219
  locale?: string;
219
- req: PayloadRequest;
220
+ req?: Partial<PayloadRequest>;
220
221
  select?: SelectType;
221
222
  slug: string;
222
223
  where?: Where;
@@ -228,7 +229,7 @@ export type UpdateGlobalVersionArgs<T = TypeWithID> = {
228
229
  * Additional database adapter specific options to pass to the query
229
230
  */
230
231
  options?: Record<string, unknown>;
231
- req: PayloadRequest;
232
+ req?: Partial<PayloadRequest>;
232
233
  select?: SelectType;
233
234
  versionData: T;
234
235
  } & ({
@@ -242,7 +243,7 @@ export type UpdateGlobalVersion = <T extends TypeWithID = TypeWithID>(args: Upda
242
243
  export type FindGlobal = <T extends Record<string, unknown> = any>(args: FindGlobalArgs) => Promise<T>;
243
244
  export type CreateGlobalArgs<T extends Record<string, unknown> = any> = {
244
245
  data: T;
245
- req: PayloadRequest;
246
+ req?: Partial<PayloadRequest>;
246
247
  slug: string;
247
248
  };
248
249
  export type CreateGlobal = <T extends Record<string, unknown> = any>(args: CreateGlobalArgs<T>) => Promise<T>;
@@ -252,7 +253,7 @@ export type UpdateGlobalArgs<T extends Record<string, unknown> = any> = {
252
253
  * Additional database adapter specific options to pass to the query
253
254
  */
254
255
  options?: Record<string, unknown>;
255
- req: PayloadRequest;
256
+ req?: Partial<PayloadRequest>;
256
257
  select?: SelectType;
257
258
  slug: string;
258
259
  };
@@ -261,7 +262,7 @@ export type FindGlobalVersions = <T = TypeWithID>(args: FindGlobalVersionsArgs)
261
262
  export type DeleteVersionsArgs = {
262
263
  collection: CollectionSlug;
263
264
  locale?: string;
264
- req: PayloadRequest;
265
+ req?: Partial<PayloadRequest>;
265
266
  sort?: {
266
267
  [key: string]: string;
267
268
  };
@@ -274,7 +275,7 @@ export type CreateVersionArgs<T = TypeWithID> = {
274
275
  /** ID of the parent document for which the version should be created for */
275
276
  parent: number | string;
276
277
  publishedLocale?: string;
277
- req: PayloadRequest;
278
+ req?: Partial<PayloadRequest>;
278
279
  select?: SelectType;
279
280
  snapshot?: true;
280
281
  updatedAt: string;
@@ -288,7 +289,7 @@ export type CreateGlobalVersionArgs<T = TypeWithID> = {
288
289
  /** ID of the parent document for which the version should be created for */
289
290
  parent: number | string;
290
291
  publishedLocale?: string;
291
- req: PayloadRequest;
292
+ req?: Partial<PayloadRequest>;
292
293
  select?: SelectType;
293
294
  snapshot?: true;
294
295
  updatedAt: string;
@@ -303,7 +304,7 @@ export type UpdateVersionArgs<T = TypeWithID> = {
303
304
  * Additional database adapter specific options to pass to the query
304
305
  */
305
306
  options?: Record<string, unknown>;
306
- req: PayloadRequest;
307
+ req?: Partial<PayloadRequest>;
307
308
  select?: SelectType;
308
309
  versionData: T;
309
310
  } & ({
@@ -319,7 +320,7 @@ export type CreateArgs = {
319
320
  data: Record<string, unknown>;
320
321
  draft?: boolean;
321
322
  locale?: string;
322
- req: PayloadRequest;
323
+ req?: Partial<PayloadRequest>;
323
324
  select?: SelectType;
324
325
  };
325
326
  export type Create = (args: CreateArgs) => Promise<Document>;
@@ -333,7 +334,7 @@ export type UpdateOneArgs = {
333
334
  * Additional database adapter specific options to pass to the query
334
335
  */
335
336
  options?: Record<string, unknown>;
336
- req: PayloadRequest;
337
+ req?: Partial<PayloadRequest>;
337
338
  select?: SelectType;
338
339
  } & ({
339
340
  id: number | string;
@@ -348,7 +349,7 @@ export type UpsertArgs = {
348
349
  data: Record<string, unknown>;
349
350
  joins?: JoinQuery;
350
351
  locale?: string;
351
- req: PayloadRequest;
352
+ req?: Partial<PayloadRequest>;
352
353
  select?: SelectType;
353
354
  where: Where;
354
355
  };
@@ -356,7 +357,7 @@ export type Upsert = (args: UpsertArgs) => Promise<Document>;
356
357
  export type DeleteOneArgs = {
357
358
  collection: CollectionSlug;
358
359
  joins?: JoinQuery;
359
- req: PayloadRequest;
360
+ req?: Partial<PayloadRequest>;
360
361
  select?: SelectType;
361
362
  where: Where;
362
363
  };
@@ -364,7 +365,7 @@ export type DeleteOne = (args: DeleteOneArgs) => Promise<Document>;
364
365
  export type DeleteManyArgs = {
365
366
  collection: CollectionSlug;
366
367
  joins?: JoinQuery;
367
- req: PayloadRequest;
368
+ req?: Partial<PayloadRequest>;
368
369
  where: Where;
369
370
  };
370
371
  export type DeleteMany = (args: DeleteManyArgs) => Promise<void>;
@@ -405,4 +406,10 @@ export type MigrationTemplateArgs = {
405
406
  packageName?: string;
406
407
  upSQL?: string;
407
408
  };
409
+ export type GenerateSchemaArgs = {
410
+ log?: boolean;
411
+ outputFile?: string;
412
+ prettify?: boolean;
413
+ };
414
+ export type GenerateSchema = (args?: GenerateSchemaArgs) => Promise<void>;
408
415
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/database/types.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, GlobalSlug } from '../index.js'\nimport type {\n Document,\n JoinQuery,\n Payload,\n PayloadRequest,\n SelectType,\n Sort,\n Where,\n} from '../types/index.js'\nimport type { TypeWithVersion } from '../versions/types.js'\n\nexport type { TypeWithVersion }\n\nexport interface BaseDatabaseAdapter {\n /**\n * Start a transaction, requiring commitTransaction() to be called for any changes to be made.\n * @returns an identifier for the transaction or null if one cannot be established\n */\n beginTransaction: BeginTransaction\n /**\n * Persist the changes made since the start of the transaction.\n */\n commitTransaction: CommitTransaction\n\n /**\n * Open the connection to the database\n */\n connect?: Connect\n\n count: Count\n countGlobalVersions: CountGlobalVersions\n countVersions: CountVersions\n\n create: Create\n\n createGlobal: CreateGlobal\n\n createGlobalVersion: CreateGlobalVersion\n /**\n * Output a migration file\n */\n createMigration: CreateMigration\n\n createVersion: CreateVersion\n\n /**\n * Specify if the ID is a text or number field by default within this database adapter.\n */\n defaultIDType: 'number' | 'text'\n\n deleteMany: DeleteMany\n\n deleteOne: DeleteOne\n\n deleteVersions: DeleteVersions\n /**\n * Terminate the connection with the database\n */\n destroy?: Destroy\n\n find: Find\n\n findGlobal: FindGlobal\n\n findGlobalVersions: FindGlobalVersions\n\n findOne: FindOne\n\n findVersions: FindVersions\n\n /**\n * Perform startup tasks required to interact with the database such as building Schema and models\n */\n init?: Init\n\n /**\n * Run any migration up functions that have not yet been performed and update the status\n */\n migrate: (args?: { migrations?: Migration[] }) => Promise<void>\n\n /**\n * Run any migration down functions that have been performed\n */\n migrateDown: () => Promise<void>\n\n /**\n * Drop the current database and run all migrate up functions\n */\n migrateFresh: (args: { forceAcceptWarning?: boolean }) => Promise<void>\n\n /**\n * Run all migration down functions before running up\n */\n migrateRefresh: () => Promise<void>\n /**\n * Run all migrate down functions\n */\n migrateReset: () => Promise<void>\n\n /**\n * Read the current state of migrations and output the result to show which have been run\n */\n migrateStatus: () => Promise<void>\n /**\n * Path to read and write migration files from\n */\n migrationDir: string\n /**\n * The name of the database adapter\n */\n name: string\n /**\n * Full package name of the database adapter\n *\n * @example @payloadcms/db-postgres\n */\n packageName: string\n\n /**\n * reference to the instance of payload\n */\n payload: Payload\n\n queryDrafts: QueryDrafts\n /**\n * Abort any changes since the start of the transaction.\n */\n rollbackTransaction: RollbackTransaction\n /**\n * A key-value store of all sessions open (used for transactions)\n */\n sessions?: {\n [id: string]: {\n db: unknown\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n\n updateGlobal: UpdateGlobal\n\n updateGlobalVersion: UpdateGlobalVersion\n\n updateOne: UpdateOne\n\n updateVersion: UpdateVersion\n\n upsert: Upsert\n}\n\nexport type Init = () => Promise<void> | void\n\ntype ConnectArgs = {\n hotReload: boolean\n}\n\nexport type Connect = (args?: ConnectArgs) => Promise<void>\n\nexport type Destroy = () => Promise<void>\n\nexport type CreateMigration = (args: {\n file?: string\n forceAcceptWarning?: boolean\n migrationName?: string\n payload: Payload\n /**\n * Skips the prompt asking to create empty migrations\n */\n skipEmpty?: boolean\n}) => Promise<void> | void\n\nexport type Transaction = (\n callback: () => Promise<void>,\n options?: Record<string, unknown>,\n) => Promise<void>\n\nexport type BeginTransaction = (\n options?: Record<string, unknown>,\n) => Promise<null | number | string>\n\nexport type RollbackTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type CommitTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type QueryDraftsArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req: PayloadRequest\n select?: SelectType\n sort?: Sort\n where?: Where\n}\n\nexport type QueryDrafts = <T = TypeWithID>(args: QueryDraftsArgs) => Promise<PaginatedDocs<T>>\n\nexport type FindOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n locale?: string\n req: PayloadRequest\n select?: SelectType\n where?: Where\n}\n\nexport type FindOne = <T extends TypeWithID>(args: FindOneArgs) => Promise<null | T>\n\nexport type FindArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n /** Setting limit to 1 is equal to the previous Model.findOne(). Setting limit to 0 disables the limit */\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n projection?: Record<string, unknown>\n req: PayloadRequest\n select?: SelectType\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\nexport type CountArgs = {\n collection: CollectionSlug\n locale?: string\n req: PayloadRequest\n where?: Where\n}\n\nexport type Count = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountVersions = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountGlobalVersionArgs = {\n global: string\n locale?: string\n req: PayloadRequest\n where?: Where\n}\n\nexport type CountGlobalVersions = (args: CountGlobalVersionArgs) => Promise<{ totalDocs: number }>\n\ntype BaseVersionArgs = {\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req: PayloadRequest\n select?: SelectType\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type FindVersionsArgs = {\n collection: CollectionSlug\n} & BaseVersionArgs\n\nexport type FindVersions = <T = TypeWithID>(\n args: FindVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type FindGlobalVersionsArgs = {\n global: GlobalSlug\n} & BaseVersionArgs\n\nexport type FindGlobalArgs = {\n locale?: string\n req: PayloadRequest\n select?: SelectType\n slug: string\n where?: Where\n}\n\nexport type UpdateGlobalVersionArgs<T = TypeWithID> = {\n global: GlobalSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req: PayloadRequest\n select?: SelectType\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type FindGlobal = <T extends Record<string, unknown> = any>(\n args: FindGlobalArgs,\n) => Promise<T>\n\nexport type CreateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n req: PayloadRequest\n slug: string\n}\nexport type CreateGlobal = <T extends Record<string, unknown> = any>(\n args: CreateGlobalArgs<T>,\n) => Promise<T>\n\nexport type UpdateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req: PayloadRequest\n select?: SelectType\n slug: string\n}\nexport type UpdateGlobal = <T extends Record<string, unknown> = any>(\n args: UpdateGlobalArgs<T>,\n) => Promise<T>\n// export type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type FindGlobalVersions = <T = TypeWithID>(\n args: FindGlobalVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type DeleteVersionsArgs = {\n collection: CollectionSlug\n locale?: string\n req: PayloadRequest\n sort?: {\n [key: string]: string\n }\n where: Where\n}\n\nexport type CreateVersionArgs<T = TypeWithID> = {\n autosave: boolean\n collectionSlug: CollectionSlug\n createdAt: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req: PayloadRequest\n select?: SelectType\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateGlobalVersionArgs<T = TypeWithID> = {\n autosave: boolean\n createdAt: string\n globalSlug: GlobalSlug\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req: PayloadRequest\n select?: SelectType\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type DeleteVersions = (args: DeleteVersionsArgs) => Promise<void>\n\nexport type UpdateVersionArgs<T = TypeWithID> = {\n collection: CollectionSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req: PayloadRequest\n select?: SelectType\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req: PayloadRequest\n select?: SelectType\n}\n\nexport type Create = (args: CreateArgs) => Promise<Document>\n\nexport type UpdateOneArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req: PayloadRequest\n select?: SelectType\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type UpsertArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n joins?: JoinQuery\n locale?: string\n req: PayloadRequest\n select?: SelectType\n where: Where\n}\n\nexport type Upsert = (args: UpsertArgs) => Promise<Document>\n\nexport type DeleteOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req: PayloadRequest\n select?: SelectType\n where: Where\n}\n\nexport type DeleteOne = (args: DeleteOneArgs) => Promise<Document>\n\nexport type DeleteManyArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req: PayloadRequest\n where: Where\n}\n\nexport type DeleteMany = (args: DeleteManyArgs) => Promise<void>\n\nexport type Migration = {\n down: (args: unknown) => Promise<void>\n up: (args: unknown) => Promise<void>\n} & MigrationData\n\nexport type MigrationData = {\n batch?: number\n id?: string\n name: string\n}\n\nexport type PaginatedDocs<T = any> = {\n docs: T[]\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page?: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n}\n\nexport type DatabaseAdapterResult<T = BaseDatabaseAdapter> = {\n defaultIDType: 'number' | 'text'\n init: (args: { payload: Payload }) => T\n}\n\nexport type DBIdentifierName =\n | ((Args: {\n /** The name of the parent table when using relational DBs */\n tableName?: string\n }) => string)\n | string\n\nexport type MigrationTemplateArgs = {\n downSQL?: string\n imports?: string\n packageName?: string\n upSQL?: string\n}\n"],"names":[],"mappings":"AAqgBA,WAKC"}
1
+ {"version":3,"sources":["../../src/database/types.ts"],"sourcesContent":["import type { TypeWithID } from '../collections/config/types.js'\nimport type { CollectionSlug, GlobalSlug } from '../index.js'\nimport type {\n Document,\n JoinQuery,\n Payload,\n PayloadRequest,\n SelectType,\n Sort,\n Where,\n} from '../types/index.js'\nimport type { TypeWithVersion } from '../versions/types.js'\n\nexport type { TypeWithVersion }\n\nexport interface BaseDatabaseAdapter {\n /**\n * Start a transaction, requiring commitTransaction() to be called for any changes to be made.\n * @returns an identifier for the transaction or null if one cannot be established\n */\n beginTransaction: BeginTransaction\n /**\n * Persist the changes made since the start of the transaction.\n */\n commitTransaction: CommitTransaction\n\n /**\n * Open the connection to the database\n */\n connect?: Connect\n\n count: Count\n countGlobalVersions: CountGlobalVersions\n countVersions: CountVersions\n\n create: Create\n\n createGlobal: CreateGlobal\n\n createGlobalVersion: CreateGlobalVersion\n /**\n * Output a migration file\n */\n createMigration: CreateMigration\n\n createVersion: CreateVersion\n\n /**\n * Specify if the ID is a text or number field by default within this database adapter.\n */\n defaultIDType: 'number' | 'text'\n\n deleteMany: DeleteMany\n\n deleteOne: DeleteOne\n\n deleteVersions: DeleteVersions\n /**\n * Terminate the connection with the database\n */\n destroy?: Destroy\n\n find: Find\n\n findGlobal: FindGlobal\n\n findGlobalVersions: FindGlobalVersions\n\n findOne: FindOne\n\n findVersions: FindVersions\n\n generateSchema?: GenerateSchema\n\n /**\n * Perform startup tasks required to interact with the database such as building Schema and models\n */\n init?: Init\n\n /**\n * Run any migration up functions that have not yet been performed and update the status\n */\n migrate: (args?: { migrations?: Migration[] }) => Promise<void>\n\n /**\n * Run any migration down functions that have been performed\n */\n migrateDown: () => Promise<void>\n\n /**\n * Drop the current database and run all migrate up functions\n */\n migrateFresh: (args: { forceAcceptWarning?: boolean }) => Promise<void>\n /**\n * Run all migration down functions before running up\n */\n migrateRefresh: () => Promise<void>\n\n /**\n * Run all migrate down functions\n */\n migrateReset: () => Promise<void>\n /**\n * Read the current state of migrations and output the result to show which have been run\n */\n migrateStatus: () => Promise<void>\n /**\n * Path to read and write migration files from\n */\n migrationDir: string\n /**\n * The name of the database adapter\n */\n name: string\n\n /**\n * Full package name of the database adapter\n *\n * @example @payloadcms/db-postgres\n */\n packageName: string\n\n /**\n * reference to the instance of payload\n */\n payload: Payload\n queryDrafts: QueryDrafts\n /**\n * Abort any changes since the start of the transaction.\n */\n rollbackTransaction: RollbackTransaction\n\n /**\n * A key-value store of all sessions open (used for transactions)\n */\n sessions?: {\n [id: string]: {\n db: unknown\n reject: () => Promise<void>\n resolve: () => Promise<void>\n }\n }\n\n updateGlobal: UpdateGlobal\n\n updateGlobalVersion: UpdateGlobalVersion\n\n updateOne: UpdateOne\n\n updateVersion: UpdateVersion\n\n upsert: Upsert\n}\n\nexport type Init = () => Promise<void> | void\n\ntype ConnectArgs = {\n hotReload: boolean\n}\n\nexport type Connect = (args?: ConnectArgs) => Promise<void>\n\nexport type Destroy = () => Promise<void>\n\nexport type CreateMigration = (args: {\n file?: string\n forceAcceptWarning?: boolean\n migrationName?: string\n payload: Payload\n /**\n * Skips the prompt asking to create empty migrations\n */\n skipEmpty?: boolean\n}) => Promise<void> | void\n\nexport type Transaction = (\n callback: () => Promise<void>,\n options?: Record<string, unknown>,\n) => Promise<void>\n\nexport type BeginTransaction = (\n options?: Record<string, unknown>,\n) => Promise<null | number | string>\n\nexport type RollbackTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type CommitTransaction = (id: number | Promise<number | string> | string) => Promise<void>\n\nexport type QueryDraftsArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n sort?: Sort\n where?: Where\n}\n\nexport type QueryDrafts = <T = TypeWithID>(args: QueryDraftsArgs) => Promise<PaginatedDocs<T>>\n\nexport type FindOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n where?: Where\n}\n\nexport type FindOne = <T extends TypeWithID>(args: FindOneArgs) => Promise<null | T>\n\nexport type FindArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n /** Setting limit to 1 is equal to the previous Model.findOne(). Setting limit to 0 disables the limit */\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n projection?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type Find = <T = TypeWithID>(args: FindArgs) => Promise<PaginatedDocs<T>>\n\nexport type CountArgs = {\n collection: CollectionSlug\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type Count = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountVersions = (args: CountArgs) => Promise<{ totalDocs: number }>\n\nexport type CountGlobalVersionArgs = {\n global: string\n locale?: string\n req?: Partial<PayloadRequest>\n where?: Where\n}\n\nexport type CountGlobalVersions = (args: CountGlobalVersionArgs) => Promise<{ totalDocs: number }>\n\ntype BaseVersionArgs = {\n limit?: number\n locale?: string\n page?: number\n pagination?: boolean\n req?: Partial<PayloadRequest>\n select?: SelectType\n skip?: number\n sort?: Sort\n versions?: boolean\n where?: Where\n}\n\nexport type FindVersionsArgs = {\n collection: CollectionSlug\n} & BaseVersionArgs\n\nexport type FindVersions = <T = TypeWithID>(\n args: FindVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type FindGlobalVersionsArgs = {\n global: GlobalSlug\n} & BaseVersionArgs\n\nexport type FindGlobalArgs = {\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n slug: string\n where?: Where\n}\n\nexport type UpdateGlobalVersionArgs<T = TypeWithID> = {\n global: GlobalSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type FindGlobal = <T extends Record<string, unknown> = any>(\n args: FindGlobalArgs,\n) => Promise<T>\n\nexport type CreateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n req?: Partial<PayloadRequest>\n slug: string\n}\nexport type CreateGlobal = <T extends Record<string, unknown> = any>(\n args: CreateGlobalArgs<T>,\n) => Promise<T>\n\nexport type UpdateGlobalArgs<T extends Record<string, unknown> = any> = {\n data: T\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n slug: string\n}\nexport type UpdateGlobal = <T extends Record<string, unknown> = any>(\n args: UpdateGlobalArgs<T>,\n) => Promise<T>\n// export type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type FindGlobalVersions = <T = TypeWithID>(\n args: FindGlobalVersionsArgs,\n) => Promise<PaginatedDocs<TypeWithVersion<T>>>\n\nexport type DeleteVersionsArgs = {\n collection: CollectionSlug\n locale?: string\n req?: Partial<PayloadRequest>\n sort?: {\n [key: string]: string\n }\n where: Where\n}\n\nexport type CreateVersionArgs<T = TypeWithID> = {\n autosave: boolean\n collectionSlug: CollectionSlug\n createdAt: string\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateGlobalVersionArgs<T = TypeWithID> = {\n autosave: boolean\n createdAt: string\n globalSlug: GlobalSlug\n /** ID of the parent document for which the version should be created for */\n parent: number | string\n publishedLocale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n snapshot?: true\n updatedAt: string\n versionData: T\n}\n\nexport type CreateGlobalVersion = <T extends TypeWithID = TypeWithID>(\n args: CreateGlobalVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type DeleteVersions = (args: DeleteVersionsArgs) => Promise<void>\n\nexport type UpdateVersionArgs<T = TypeWithID> = {\n collection: CollectionSlug\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n versionData: T\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateVersion = <T extends TypeWithID = TypeWithID>(\n args: UpdateVersionArgs<T>,\n) => Promise<TypeWithVersion<T>>\n\nexport type CreateArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n}\n\nexport type Create = (args: CreateArgs) => Promise<Document>\n\nexport type UpdateOneArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n draft?: boolean\n joins?: JoinQuery\n locale?: string\n /**\n * Additional database adapter specific options to pass to the query\n */\n options?: Record<string, unknown>\n req?: Partial<PayloadRequest>\n select?: SelectType\n} & (\n | {\n id: number | string\n where?: never\n }\n | {\n id?: never\n where: Where\n }\n)\n\nexport type UpdateOne = (args: UpdateOneArgs) => Promise<Document>\n\nexport type UpsertArgs = {\n collection: CollectionSlug\n data: Record<string, unknown>\n joins?: JoinQuery\n locale?: string\n req?: Partial<PayloadRequest>\n select?: SelectType\n where: Where\n}\n\nexport type Upsert = (args: UpsertArgs) => Promise<Document>\n\nexport type DeleteOneArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n select?: SelectType\n where: Where\n}\n\nexport type DeleteOne = (args: DeleteOneArgs) => Promise<Document>\n\nexport type DeleteManyArgs = {\n collection: CollectionSlug\n joins?: JoinQuery\n req?: Partial<PayloadRequest>\n where: Where\n}\n\nexport type DeleteMany = (args: DeleteManyArgs) => Promise<void>\n\nexport type Migration = {\n down: (args: unknown) => Promise<void>\n up: (args: unknown) => Promise<void>\n} & MigrationData\n\nexport type MigrationData = {\n batch?: number\n id?: string\n name: string\n}\n\nexport type PaginatedDocs<T = any> = {\n docs: T[]\n hasNextPage: boolean\n hasPrevPage: boolean\n limit: number\n nextPage?: null | number | undefined\n page?: number\n pagingCounter: number\n prevPage?: null | number | undefined\n totalDocs: number\n totalPages: number\n}\n\nexport type DatabaseAdapterResult<T = BaseDatabaseAdapter> = {\n defaultIDType: 'number' | 'text'\n init: (args: { payload: Payload }) => T\n}\n\nexport type DBIdentifierName =\n | ((Args: {\n /** The name of the parent table when using relational DBs */\n tableName?: string\n }) => string)\n | string\n\nexport type MigrationTemplateArgs = {\n downSQL?: string\n imports?: string\n packageName?: string\n upSQL?: string\n}\n\nexport type GenerateSchemaArgs = {\n log?: boolean\n outputFile?: string\n prettify?: boolean\n}\n\nexport type GenerateSchema = (args?: GenerateSchemaArgs) => Promise<void>\n"],"names":[],"mappings":"AAohBA,WAAyE"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAKV,WAAW,EACX,KAAK,EACL,SAAS,EAMV,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAMtE,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,eAAe,GACf,SAAS,GACT,OAAO,GACP,kBAAkB,GAClB,UAAU,GACV,MAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,CAAA;AAEzE,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,SAAS,CAAC,OAAO,CAAC,EAClB,YAAY,GAAG,WAAW,CAC3B,CAAA;AA6BD,eAAO,MAAM,iBAAiB,8DAK3B;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,WAiOH,CAAA;AAED,eAAO,MAAM,kBAAkB,iEAM5B;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,WAAW,EAkCd,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/fields/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE1D,OAAO,KAAK,EAKV,WAAW,EACX,KAAK,EACL,SAAS,EAOV,MAAM,8BAA8B,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAKnD,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAMtE,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,MAAM,MAAM,yBAAyB,GACjC,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,eAAe,GACf,SAAS,GACT,OAAO,GACP,kBAAkB,GAClB,UAAU,GACV,MAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,CAAA;AAEzE,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,SAAS,CAAC,OAAO,CAAC,EAClB,YAAY,GAAG,WAAW,CAC3B,CAAA;AA6BD,eAAO,MAAM,iBAAiB,8DAK3B;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,WA2OH,CAAA;AAED,eAAO,MAAM,kBAAkB,iEAM5B;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAA;IACvD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,SAAS,CAAA;CACrB,KAAG,WAAW,EAkCd,CAAA"}
@@ -148,6 +148,14 @@ export const createClientField = ({ defaultIDType, field: incomingField, i18n, i
148
148
  }
149
149
  break;
150
150
  }
151
+ case 'join':
152
+ {
153
+ const field = clientField;
154
+ field.targetField = {
155
+ relationTo: field.targetField.relationTo
156
+ };
157
+ break;
158
+ }
151
159
  case 'radio':
152
160
  // falls through
153
161
  case 'select':
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport type {\n AdminClient,\n BlockJSX,\n BlocksFieldClient,\n ClientBlock,\n ClientField,\n Field,\n FieldBase,\n LabelsClient,\n RadioFieldClient,\n RowFieldClient,\n SelectFieldClient,\n TabsFieldClient,\n} from '../../fields/config/types.js'\nimport type { Payload } from '../../types/index.js'\n\nimport { getFromImportMap } from '../../bin/generateImportMap/getFromImportMap.js'\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport { flattenTopLevelFields, type ImportMap } from '../../index.js'\nimport { removeUndefined } from '../../utilities/removeUndefined.js'\n\n// Should not be used - ClientField should be used instead. This is why we don't export ClientField, we don't want people\n// to accidentally use it instead of ClientField and get confused\n\nexport { ClientField }\n\nexport type ServerOnlyFieldProperties =\n | 'dbName' // can be a function\n | 'editor' // This is a `richText` only property\n | 'enumName' // can be a function\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'graphQL'\n | 'label'\n | 'typescriptSchema'\n | 'validate'\n | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition'\n>\n\nconst serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n 'graphQL', // client does not need graphQL\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n]\nconst serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'condition',\n 'components',\n]\ntype FieldWithDescription = {\n admin: AdminClient\n} & ClientField\n\nexport const createClientField = ({\n defaultIDType,\n field: incomingField,\n i18n,\n importMap,\n}: {\n defaultIDType: Payload['config']['db']['defaultIDType']\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n}): ClientField => {\n const clientField: ClientField = {} as ClientField\n\n for (const key in incomingField) {\n if (serverOnlyFieldProperties.includes(key as any)) {\n continue\n }\n\n switch (key) {\n case 'admin':\n if (!incomingField.admin) {\n break\n }\n\n clientField.admin = {} as AdminClient\n\n for (const adminKey in incomingField.admin) {\n if (serverOnlyFieldAdminProperties.includes(adminKey as any)) {\n continue\n }\n\n switch (adminKey) {\n case 'description':\n if ('description' in incomingField.admin) {\n if (typeof incomingField.admin?.description !== 'function') {\n ;(clientField as FieldWithDescription).admin.description =\n incomingField.admin.description\n }\n }\n\n break\n\n default:\n clientField.admin[adminKey] = incomingField.admin[adminKey]\n }\n }\n\n break\n\n case 'blocks':\n case 'fields':\n case 'tabs':\n // Skip - we handle sub-fields in the switch below\n break\n\n case 'label':\n //@ts-expect-error - would need to type narrow\n if (typeof incomingField.label === 'function') {\n //@ts-expect-error - would need to type narrow\n clientField.label = incomingField.label({ t: i18n.t })\n } else {\n //@ts-expect-error - would need to type narrow\n clientField.label = incomingField.label\n }\n\n break\n\n default:\n clientField[key] = incomingField[key]\n }\n }\n\n switch (incomingField.type) {\n case 'array':\n case 'collapsible':\n case 'group':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n if (!field.fields) {\n field.fields = []\n }\n\n field.fields = createClientFields({\n defaultIDType,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n })\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlocksFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n\n // prevent $undefined from being passed through the rsc requests\n const clientBlock = removeUndefined<ClientBlock>({\n slug: block.slug,\n fields: field.blocks?.[i]?.fields || [],\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }) satisfies ClientBlock\n\n if (block.admin?.custom) {\n clientBlock.admin = {\n custom: block.admin.custom,\n }\n }\n\n if (block?.admin?.jsx) {\n const jsxResolved = getFromImportMap<BlockJSX>({\n importMap,\n PayloadComponent: block.admin.jsx,\n schemaPath: '',\n })\n clientBlock.jsx = jsxResolved\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n clientBlock.fields = createClientFields({\n defaultIDType,\n fields: block.fields,\n i18n,\n importMap,\n })\n\n if (!field.blocks) {\n field.blocks = []\n }\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'radio':\n // falls through\n case 'select': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n if (!field.options) {\n field.options = []\n }\n\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n case 'richText': {\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n field.tabs = []\n\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = {} as unknown as TabsFieldClient['tabs'][0]\n\n for (const key in tab) {\n if (serverOnlyFieldProperties.includes(key as any)) {\n continue\n }\n\n if (key === 'fields') {\n clientTab.fields = createClientFields({\n defaultIDType,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n })\n } else {\n clientTab[key] = tab[key]\n }\n }\n field.tabs[i] = clientTab\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n defaultIDType,\n disableAddingID,\n fields,\n i18n,\n importMap,\n}: {\n defaultIDType: Payload['config']['db']['defaultIDType']\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n}): ClientField[] => {\n const clientFields: ClientField[] = []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const clientField = createClientField({\n defaultIDType,\n field,\n i18n,\n importMap,\n })\n\n clientFields.push(clientField)\n }\n\n const hasID = flattenTopLevelFields(fields).some((f) => fieldAffectsData(f) && f.name === 'id')\n\n if (!disableAddingID && !hasID) {\n clientFields.push({\n name: 'id',\n type: defaultIDType,\n admin: {\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n disabled: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n })\n }\n\n return clientFields\n}\n"],"names":["getFromImportMap","MissingEditorProp","fieldAffectsData","flattenTopLevelFields","removeUndefined","serverOnlyFieldProperties","serverOnlyFieldAdminProperties","createClientField","defaultIDType","field","incomingField","i18n","importMap","clientField","key","includes","admin","adminKey","description","label","t","type","fields","createClientFields","disableAddingID","blocks","length","i","block","clientBlock","slug","imageAltText","imageURL","custom","jsx","jsxResolved","PayloadComponent","schemaPath","labels","singular","plural","options","option","value","editor","Error","tabs","tab","clientTab","clientFields","push","hasID","some","f","name","disableBulkEdit","disabled","hidden"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/config/client.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport type {\n AdminClient,\n BlockJSX,\n BlocksFieldClient,\n ClientBlock,\n ClientField,\n Field,\n FieldBase,\n JoinFieldClient,\n LabelsClient,\n RadioFieldClient,\n RowFieldClient,\n SelectFieldClient,\n TabsFieldClient,\n} from '../../fields/config/types.js'\nimport type { Payload } from '../../types/index.js'\n\nimport { getFromImportMap } from '../../bin/generateImportMap/getFromImportMap.js'\nimport { MissingEditorProp } from '../../errors/MissingEditorProp.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport { flattenTopLevelFields, type ImportMap } from '../../index.js'\nimport { removeUndefined } from '../../utilities/removeUndefined.js'\n\n// Should not be used - ClientField should be used instead. This is why we don't export ClientField, we don't want people\n// to accidentally use it instead of ClientField and get confused\n\nexport { ClientField }\n\nexport type ServerOnlyFieldProperties =\n | 'dbName' // can be a function\n | 'editor' // This is a `richText` only property\n | 'enumName' // can be a function\n | 'filterOptions' // This is a `relationship` and `upload` only property\n | 'graphQL'\n | 'label'\n | 'typescriptSchema'\n | 'validate'\n | keyof Pick<FieldBase, 'access' | 'custom' | 'defaultValue' | 'hooks'>\n\nexport type ServerOnlyFieldAdminProperties = keyof Pick<\n FieldBase['admin'],\n 'components' | 'condition'\n>\n\nconst serverOnlyFieldProperties: Partial<ServerOnlyFieldProperties>[] = [\n 'hooks',\n 'access',\n 'validate',\n 'defaultValue',\n 'filterOptions', // This is a `relationship` and `upload` only property\n 'editor', // This is a `richText` only property\n 'custom',\n 'typescriptSchema',\n 'dbName', // can be a function\n 'enumName', // can be a function\n 'graphQL', // client does not need graphQL\n // the following props are handled separately (see below):\n // `label`\n // `fields`\n // `blocks`\n // `tabs`\n // `admin`\n]\nconst serverOnlyFieldAdminProperties: Partial<ServerOnlyFieldAdminProperties>[] = [\n 'condition',\n 'components',\n]\ntype FieldWithDescription = {\n admin: AdminClient\n} & ClientField\n\nexport const createClientField = ({\n defaultIDType,\n field: incomingField,\n i18n,\n importMap,\n}: {\n defaultIDType: Payload['config']['db']['defaultIDType']\n field: Field\n i18n: I18nClient\n importMap: ImportMap\n}): ClientField => {\n const clientField: ClientField = {} as ClientField\n\n for (const key in incomingField) {\n if (serverOnlyFieldProperties.includes(key as any)) {\n continue\n }\n\n switch (key) {\n case 'admin':\n if (!incomingField.admin) {\n break\n }\n\n clientField.admin = {} as AdminClient\n\n for (const adminKey in incomingField.admin) {\n if (serverOnlyFieldAdminProperties.includes(adminKey as any)) {\n continue\n }\n\n switch (adminKey) {\n case 'description':\n if ('description' in incomingField.admin) {\n if (typeof incomingField.admin?.description !== 'function') {\n ;(clientField as FieldWithDescription).admin.description =\n incomingField.admin.description\n }\n }\n\n break\n\n default:\n clientField.admin[adminKey] = incomingField.admin[adminKey]\n }\n }\n\n break\n\n case 'blocks':\n case 'fields':\n case 'tabs':\n // Skip - we handle sub-fields in the switch below\n break\n\n case 'label':\n //@ts-expect-error - would need to type narrow\n if (typeof incomingField.label === 'function') {\n //@ts-expect-error - would need to type narrow\n clientField.label = incomingField.label({ t: i18n.t })\n } else {\n //@ts-expect-error - would need to type narrow\n clientField.label = incomingField.label\n }\n\n break\n\n default:\n clientField[key] = incomingField[key]\n }\n }\n\n switch (incomingField.type) {\n case 'array':\n case 'collapsible':\n case 'group':\n case 'row': {\n const field = clientField as unknown as RowFieldClient\n\n if (!field.fields) {\n field.fields = []\n }\n\n field.fields = createClientFields({\n defaultIDType,\n disableAddingID: incomingField.type !== 'array',\n fields: incomingField.fields,\n i18n,\n importMap,\n })\n\n break\n }\n\n case 'blocks': {\n const field = clientField as unknown as BlocksFieldClient\n\n if (incomingField.blocks?.length) {\n for (let i = 0; i < incomingField.blocks.length; i++) {\n const block = incomingField.blocks[i]\n\n // prevent $undefined from being passed through the rsc requests\n const clientBlock = removeUndefined<ClientBlock>({\n slug: block.slug,\n fields: field.blocks?.[i]?.fields || [],\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n }) satisfies ClientBlock\n\n if (block.admin?.custom) {\n clientBlock.admin = {\n custom: block.admin.custom,\n }\n }\n\n if (block?.admin?.jsx) {\n const jsxResolved = getFromImportMap<BlockJSX>({\n importMap,\n PayloadComponent: block.admin.jsx,\n schemaPath: '',\n })\n clientBlock.jsx = jsxResolved\n }\n\n if (block.labels) {\n clientBlock.labels = {} as unknown as LabelsClient\n\n if (block.labels.singular) {\n if (typeof block.labels.singular === 'function') {\n clientBlock.labels.singular = block.labels.singular({ t: i18n.t })\n } else {\n clientBlock.labels.singular = block.labels.singular\n }\n if (typeof block.labels.plural === 'function') {\n clientBlock.labels.plural = block.labels.plural({ t: i18n.t })\n } else {\n clientBlock.labels.plural = block.labels.plural\n }\n }\n }\n\n clientBlock.fields = createClientFields({\n defaultIDType,\n fields: block.fields,\n i18n,\n importMap,\n })\n\n if (!field.blocks) {\n field.blocks = []\n }\n\n field.blocks[i] = clientBlock\n }\n }\n\n break\n }\n\n case 'join': {\n const field = clientField as JoinFieldClient\n\n field.targetField = {\n relationTo: field.targetField.relationTo,\n }\n\n break\n }\n\n case 'radio':\n // falls through\n case 'select': {\n const field = clientField as RadioFieldClient | SelectFieldClient\n\n if (incomingField.options?.length) {\n for (let i = 0; i < incomingField.options.length; i++) {\n const option = incomingField.options[i]\n\n if (typeof option === 'object' && typeof option.label === 'function') {\n if (!field.options) {\n field.options = []\n }\n\n field.options[i] = {\n label: option.label({ t: i18n.t }),\n value: option.value,\n }\n }\n }\n }\n\n break\n }\n\n case 'richText': {\n if (!incomingField?.editor) {\n throw new MissingEditorProp(incomingField) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof incomingField?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n break\n }\n\n case 'tabs': {\n const field = clientField as unknown as TabsFieldClient\n\n if (incomingField.tabs?.length) {\n field.tabs = []\n\n for (let i = 0; i < incomingField.tabs.length; i++) {\n const tab = incomingField.tabs[i]\n const clientTab = {} as unknown as TabsFieldClient['tabs'][0]\n\n for (const key in tab) {\n if (serverOnlyFieldProperties.includes(key as any)) {\n continue\n }\n\n if (key === 'fields') {\n clientTab.fields = createClientFields({\n defaultIDType,\n disableAddingID: true,\n fields: tab.fields,\n i18n,\n importMap,\n })\n } else {\n clientTab[key] = tab[key]\n }\n }\n field.tabs[i] = clientTab\n }\n }\n\n break\n }\n\n default:\n break\n }\n\n return clientField\n}\n\nexport const createClientFields = ({\n defaultIDType,\n disableAddingID,\n fields,\n i18n,\n importMap,\n}: {\n defaultIDType: Payload['config']['db']['defaultIDType']\n disableAddingID?: boolean\n fields: Field[]\n i18n: I18nClient\n importMap: ImportMap\n}): ClientField[] => {\n const clientFields: ClientField[] = []\n\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i]\n\n const clientField = createClientField({\n defaultIDType,\n field,\n i18n,\n importMap,\n })\n\n clientFields.push(clientField)\n }\n\n const hasID = flattenTopLevelFields(fields).some((f) => fieldAffectsData(f) && f.name === 'id')\n\n if (!disableAddingID && !hasID) {\n clientFields.push({\n name: 'id',\n type: defaultIDType,\n admin: {\n description: 'The unique identifier for this document',\n disableBulkEdit: true,\n disabled: true,\n hidden: true,\n },\n hidden: true,\n label: 'ID',\n })\n }\n\n return clientFields\n}\n"],"names":["getFromImportMap","MissingEditorProp","fieldAffectsData","flattenTopLevelFields","removeUndefined","serverOnlyFieldProperties","serverOnlyFieldAdminProperties","createClientField","defaultIDType","field","incomingField","i18n","importMap","clientField","key","includes","admin","adminKey","description","label","t","type","fields","createClientFields","disableAddingID","blocks","length","i","block","clientBlock","slug","imageAltText","imageURL","custom","jsx","jsxResolved","PayloadComponent","schemaPath","labels","singular","plural","targetField","relationTo","options","option","value","editor","Error","tabs","tab","clientTab","clientFields","push","hasID","some","f","name","disableBulkEdit","disabled","hidden"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import type { SanitizedJoins } from '../../collections/config/types.js';
2
2
  import type { Config } from '../../config/types.js';
3
- import type { JoinField } from './types.js';
3
+ import type { FlattenedJoinField, JoinField } from './types.js';
4
4
  export declare const sanitizeJoinField: ({ config, field, joinPath, joins, }: {
5
5
  config: Config;
6
- field: JoinField;
6
+ field: FlattenedJoinField | JoinField;
7
7
  joinPath?: string;
8
8
  joins?: SanitizedJoins;
9
9
  }) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeJoinField.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitizeJoinField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAkC,MAAM,YAAY,CAAA;AAK3E,eAAO,MAAM,iBAAiB,wCAK3B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB,SA2EA,CAAA"}
1
+ {"version":3,"file":"sanitizeJoinField.d.ts","sourceRoot":"","sources":["../../../src/fields/config/sanitizeJoinField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAkC,MAAM,YAAY,CAAA;AAK/F,eAAO,MAAM,iBAAiB,wCAK3B;IACD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB,SA2EA,CAAA"}
@@ -52,14 +52,13 @@ export const sanitizeJoinField = ({ config, field, joinPath, joins })=>{
52
52
  if (!joinRelationship) {
53
53
  throw new InvalidFieldJoin(join.field);
54
54
  }
55
- if (Array.isArray(joinRelationship.relationTo)) {
56
- throw new APIError('Join fields cannot be used with polymorphic relationships.');
57
- }
58
55
  join.targetField = joinRelationship;
59
56
  // override the join field localized property to use whatever the relationship field has
60
57
  field.localized = joinRelationship.localized;
61
58
  // override the join field hasMany property to use whatever the relationship field has
62
59
  field.hasMany = joinRelationship.hasMany;
60
+ // @ts-expect-error converting JoinField to FlattenedJoinField to track targetField
61
+ field.targetField = join.targetField;
63
62
  if (!joins[field.collection]) {
64
63
  joins[field.collection] = [
65
64
  join
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/config/sanitizeJoinField.ts"],"sourcesContent":["import type { SanitizedJoin, SanitizedJoins } from '../../collections/config/types.js'\nimport type { Config } from '../../config/types.js'\nimport type { JoinField, RelationshipField, UploadField } from './types.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { InvalidFieldJoin } from '../../errors/InvalidFieldJoin.js'\nimport { traverseFields } from '../../utilities/traverseFields.js'\nexport const sanitizeJoinField = ({\n config,\n field,\n joinPath,\n joins,\n}: {\n config: Config\n field: JoinField\n joinPath?: string\n joins?: SanitizedJoins\n}) => {\n // the `joins` arg is not passed for globals or when recursing on fields that do not allow a join field\n if (typeof joins === 'undefined') {\n throw new APIError('Join fields cannot be added to arrays, blocks or globals.')\n }\n if (!field.maxDepth) {\n field.maxDepth = 1\n }\n const join: SanitizedJoin = {\n field,\n joinPath: `${joinPath ? joinPath + '.' : ''}${field.name}`,\n targetField: undefined,\n }\n const joinCollection = config.collections.find(\n (collection) => collection.slug === field.collection,\n )\n if (!joinCollection) {\n throw new InvalidFieldJoin(field)\n }\n let joinRelationship: RelationshipField | UploadField\n\n const pathSegments = field.on.split('.') // Split the schema path into segments\n let currentSegmentIndex = 0\n\n // Traverse fields and match based on the schema path\n traverseFields({\n callback: ({ field, next }) => {\n if (!('name' in field) || !field.name) {\n return\n }\n const currentSegment = pathSegments[currentSegmentIndex]\n // match field on path segments\n if ('name' in field && field.name === currentSegment) {\n // Check if this is the last segment in the path\n if (\n (currentSegmentIndex === pathSegments.length - 1 &&\n 'type' in field &&\n field.type === 'relationship') ||\n field.type === 'upload'\n ) {\n joinRelationship = field // Return the matched field\n next()\n return true\n } else {\n // Move to the next path segment and continue traversal\n currentSegmentIndex++\n }\n } else {\n // skip fields in non-matching path segments\n next()\n return\n }\n },\n fields: joinCollection.fields,\n })\n\n if (!joinRelationship) {\n throw new InvalidFieldJoin(join.field)\n }\n if (Array.isArray(joinRelationship.relationTo)) {\n throw new APIError('Join fields cannot be used with polymorphic relationships.')\n }\n\n join.targetField = joinRelationship\n\n // override the join field localized property to use whatever the relationship field has\n field.localized = joinRelationship.localized\n // override the join field hasMany property to use whatever the relationship field has\n field.hasMany = joinRelationship.hasMany\n\n if (!joins[field.collection]) {\n joins[field.collection] = [join]\n } else {\n joins[field.collection].push(join)\n }\n}\n"],"names":["APIError","InvalidFieldJoin","traverseFields","sanitizeJoinField","config","field","joinPath","joins","maxDepth","join","name","targetField","undefined","joinCollection","collections","find","collection","slug","joinRelationship","pathSegments","on","split","currentSegmentIndex","callback","next","currentSegment","length","type","fields","Array","isArray","relationTo","localized","hasMany","push"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,gBAAgB,QAAQ,mCAAkC;AACnE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,KAAK,EAMN;IACC,uGAAuG;IACvG,IAAI,OAAOA,UAAU,aAAa;QAChC,MAAM,IAAIP,SAAS;IACrB;IACA,IAAI,CAACK,MAAMG,QAAQ,EAAE;QACnBH,MAAMG,QAAQ,GAAG;IACnB;IACA,MAAMC,OAAsB;QAC1BJ;QACAC,UAAU,GAAGA,WAAWA,WAAW,MAAM,KAAKD,MAAMK,IAAI,EAAE;QAC1DC,aAAaC;IACf;IACA,MAAMC,iBAAiBT,OAAOU,WAAW,CAACC,IAAI,CAC5C,CAACC,aAAeA,WAAWC,IAAI,KAAKZ,MAAMW,UAAU;IAEtD,IAAI,CAACH,gBAAgB;QACnB,MAAM,IAAIZ,iBAAiBI;IAC7B;IACA,IAAIa;IAEJ,MAAMC,eAAed,MAAMe,EAAE,CAACC,KAAK,CAAC,KAAK,sCAAsC;;IAC/E,IAAIC,sBAAsB;IAE1B,qDAAqD;IACrDpB,eAAe;QACbqB,UAAU,CAAC,EAAElB,KAAK,EAAEmB,IAAI,EAAE;YACxB,IAAI,CAAE,CAAA,UAAUnB,KAAI,KAAM,CAACA,MAAMK,IAAI,EAAE;gBACrC;YACF;YACA,MAAMe,iBAAiBN,YAAY,CAACG,oBAAoB;YACxD,+BAA+B;YAC/B,IAAI,UAAUjB,SAASA,MAAMK,IAAI,KAAKe,gBAAgB;gBACpD,gDAAgD;gBAChD,IACE,AAACH,wBAAwBH,aAAaO,MAAM,GAAG,KAC7C,UAAUrB,SACVA,MAAMsB,IAAI,KAAK,kBACjBtB,MAAMsB,IAAI,KAAK,UACf;oBACAT,mBAAmBb,MAAM,2BAA2B;;oBACpDmB;oBACA,OAAO;gBACT,OAAO;oBACL,uDAAuD;oBACvDF;gBACF;YACF,OAAO;gBACL,4CAA4C;gBAC5CE;gBACA;YACF;QACF;QACAI,QAAQf,eAAee,MAAM;IAC/B;IAEA,IAAI,CAACV,kBAAkB;QACrB,MAAM,IAAIjB,iBAAiBQ,KAAKJ,KAAK;IACvC;IACA,IAAIwB,MAAMC,OAAO,CAACZ,iBAAiBa,UAAU,GAAG;QAC9C,MAAM,IAAI/B,SAAS;IACrB;IAEAS,KAAKE,WAAW,GAAGO;IAEnB,wFAAwF;IACxFb,MAAM2B,SAAS,GAAGd,iBAAiBc,SAAS;IAC5C,sFAAsF;IACtF3B,MAAM4B,OAAO,GAAGf,iBAAiBe,OAAO;IAExC,IAAI,CAAC1B,KAAK,CAACF,MAAMW,UAAU,CAAC,EAAE;QAC5BT,KAAK,CAACF,MAAMW,UAAU,CAAC,GAAG;YAACP;SAAK;IAClC,OAAO;QACLF,KAAK,CAACF,MAAMW,UAAU,CAAC,CAACkB,IAAI,CAACzB;IAC/B;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/fields/config/sanitizeJoinField.ts"],"sourcesContent":["import type { SanitizedJoin, SanitizedJoins } from '../../collections/config/types.js'\nimport type { Config } from '../../config/types.js'\nimport type { FlattenedJoinField, JoinField, RelationshipField, UploadField } from './types.js'\n\nimport { APIError } from '../../errors/index.js'\nimport { InvalidFieldJoin } from '../../errors/InvalidFieldJoin.js'\nimport { traverseFields } from '../../utilities/traverseFields.js'\nexport const sanitizeJoinField = ({\n config,\n field,\n joinPath,\n joins,\n}: {\n config: Config\n field: FlattenedJoinField | JoinField\n joinPath?: string\n joins?: SanitizedJoins\n}) => {\n // the `joins` arg is not passed for globals or when recursing on fields that do not allow a join field\n if (typeof joins === 'undefined') {\n throw new APIError('Join fields cannot be added to arrays, blocks or globals.')\n }\n if (!field.maxDepth) {\n field.maxDepth = 1\n }\n const join: SanitizedJoin = {\n field,\n joinPath: `${joinPath ? joinPath + '.' : ''}${field.name}`,\n targetField: undefined,\n }\n const joinCollection = config.collections.find(\n (collection) => collection.slug === field.collection,\n )\n if (!joinCollection) {\n throw new InvalidFieldJoin(field)\n }\n let joinRelationship: RelationshipField | UploadField\n\n const pathSegments = field.on.split('.') // Split the schema path into segments\n let currentSegmentIndex = 0\n\n // Traverse fields and match based on the schema path\n traverseFields({\n callback: ({ field, next }) => {\n if (!('name' in field) || !field.name) {\n return\n }\n const currentSegment = pathSegments[currentSegmentIndex]\n // match field on path segments\n if ('name' in field && field.name === currentSegment) {\n // Check if this is the last segment in the path\n if (\n (currentSegmentIndex === pathSegments.length - 1 &&\n 'type' in field &&\n field.type === 'relationship') ||\n field.type === 'upload'\n ) {\n joinRelationship = field // Return the matched field\n next()\n return true\n } else {\n // Move to the next path segment and continue traversal\n currentSegmentIndex++\n }\n } else {\n // skip fields in non-matching path segments\n next()\n return\n }\n },\n fields: joinCollection.fields,\n })\n\n if (!joinRelationship) {\n throw new InvalidFieldJoin(join.field)\n }\n\n join.targetField = joinRelationship\n\n // override the join field localized property to use whatever the relationship field has\n field.localized = joinRelationship.localized\n // override the join field hasMany property to use whatever the relationship field has\n field.hasMany = joinRelationship.hasMany\n\n // @ts-expect-error converting JoinField to FlattenedJoinField to track targetField\n field.targetField = join.targetField\n\n if (!joins[field.collection]) {\n joins[field.collection] = [join]\n } else {\n joins[field.collection].push(join)\n }\n}\n"],"names":["APIError","InvalidFieldJoin","traverseFields","sanitizeJoinField","config","field","joinPath","joins","maxDepth","join","name","targetField","undefined","joinCollection","collections","find","collection","slug","joinRelationship","pathSegments","on","split","currentSegmentIndex","callback","next","currentSegment","length","type","fields","localized","hasMany","push"],"mappings":"AAIA,SAASA,QAAQ,QAAQ,wBAAuB;AAChD,SAASC,gBAAgB,QAAQ,mCAAkC;AACnE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,MAAMC,oBAAoB,CAAC,EAChCC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,KAAK,EAMN;IACC,uGAAuG;IACvG,IAAI,OAAOA,UAAU,aAAa;QAChC,MAAM,IAAIP,SAAS;IACrB;IACA,IAAI,CAACK,MAAMG,QAAQ,EAAE;QACnBH,MAAMG,QAAQ,GAAG;IACnB;IACA,MAAMC,OAAsB;QAC1BJ;QACAC,UAAU,GAAGA,WAAWA,WAAW,MAAM,KAAKD,MAAMK,IAAI,EAAE;QAC1DC,aAAaC;IACf;IACA,MAAMC,iBAAiBT,OAAOU,WAAW,CAACC,IAAI,CAC5C,CAACC,aAAeA,WAAWC,IAAI,KAAKZ,MAAMW,UAAU;IAEtD,IAAI,CAACH,gBAAgB;QACnB,MAAM,IAAIZ,iBAAiBI;IAC7B;IACA,IAAIa;IAEJ,MAAMC,eAAed,MAAMe,EAAE,CAACC,KAAK,CAAC,KAAK,sCAAsC;;IAC/E,IAAIC,sBAAsB;IAE1B,qDAAqD;IACrDpB,eAAe;QACbqB,UAAU,CAAC,EAAElB,KAAK,EAAEmB,IAAI,EAAE;YACxB,IAAI,CAAE,CAAA,UAAUnB,KAAI,KAAM,CAACA,MAAMK,IAAI,EAAE;gBACrC;YACF;YACA,MAAMe,iBAAiBN,YAAY,CAACG,oBAAoB;YACxD,+BAA+B;YAC/B,IAAI,UAAUjB,SAASA,MAAMK,IAAI,KAAKe,gBAAgB;gBACpD,gDAAgD;gBAChD,IACE,AAACH,wBAAwBH,aAAaO,MAAM,GAAG,KAC7C,UAAUrB,SACVA,MAAMsB,IAAI,KAAK,kBACjBtB,MAAMsB,IAAI,KAAK,UACf;oBACAT,mBAAmBb,MAAM,2BAA2B;;oBACpDmB;oBACA,OAAO;gBACT,OAAO;oBACL,uDAAuD;oBACvDF;gBACF;YACF,OAAO;gBACL,4CAA4C;gBAC5CE;gBACA;YACF;QACF;QACAI,QAAQf,eAAee,MAAM;IAC/B;IAEA,IAAI,CAACV,kBAAkB;QACrB,MAAM,IAAIjB,iBAAiBQ,KAAKJ,KAAK;IACvC;IAEAI,KAAKE,WAAW,GAAGO;IAEnB,wFAAwF;IACxFb,MAAMwB,SAAS,GAAGX,iBAAiBW,SAAS;IAC5C,sFAAsF;IACtFxB,MAAMyB,OAAO,GAAGZ,iBAAiBY,OAAO;IAExC,mFAAmF;IACnFzB,MAAMM,WAAW,GAAGF,KAAKE,WAAW;IAEpC,IAAI,CAACJ,KAAK,CAACF,MAAMW,UAAU,CAAC,EAAE;QAC5BT,KAAK,CAACF,MAAMW,UAAU,CAAC,GAAG;YAACP;SAAK;IAClC,OAAO;QACLF,KAAK,CAACF,MAAMW,UAAU,CAAC,CAACe,IAAI,CAACtB;IAC/B;AACF,EAAC"}