payload 3.0.0-alpha.40 → 3.0.0-alpha.42

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 (599) hide show
  1. package/auth.js +1 -1
  2. package/config.js +1 -1
  3. package/database.js +1 -1
  4. package/dist/admin/RichText.js +1 -1
  5. package/dist/admin/RichText.js.map +1 -0
  6. package/dist/admin/elements/Cell.js +1 -1
  7. package/dist/admin/elements/Cell.js.map +1 -0
  8. package/dist/admin/elements/DatePicker.js +1 -1
  9. package/dist/admin/elements/DatePicker.js.map +1 -0
  10. package/dist/admin/elements/PreviewButton.js +1 -1
  11. package/dist/admin/elements/PreviewButton.js.map +1 -0
  12. package/dist/admin/elements/PublishButton.js +1 -1
  13. package/dist/admin/elements/PublishButton.js.map +1 -0
  14. package/dist/admin/elements/SaveButton.js +1 -1
  15. package/dist/admin/elements/SaveButton.js.map +1 -0
  16. package/dist/admin/elements/SaveDraftButton.js +1 -1
  17. package/dist/admin/elements/SaveDraftButton.js.map +1 -0
  18. package/dist/admin/elements/Tab.js +1 -1
  19. package/dist/admin/elements/Tab.js.map +1 -0
  20. package/dist/admin/forms/Error.js +1 -1
  21. package/dist/admin/forms/Error.js.map +1 -0
  22. package/dist/admin/forms/FieldDescription.js +1 -1
  23. package/dist/admin/forms/FieldDescription.js.map +1 -0
  24. package/dist/admin/forms/FieldTypes.js +1 -1
  25. package/dist/admin/forms/FieldTypes.js.map +1 -0
  26. package/dist/admin/forms/Form.js +1 -1
  27. package/dist/admin/forms/Form.js.map +1 -0
  28. package/dist/admin/forms/Label.js +1 -1
  29. package/dist/admin/forms/Label.js.map +1 -0
  30. package/dist/admin/forms/RowLabel.js +1 -1
  31. package/dist/admin/forms/RowLabel.js.map +1 -0
  32. package/dist/admin/types.js +1 -1
  33. package/dist/admin/types.js.map +1 -0
  34. package/dist/admin/views/types.js +1 -1
  35. package/dist/admin/views/types.js.map +1 -0
  36. package/dist/assets/assets.d.js +1 -1
  37. package/dist/assets/assets.d.js.map +1 -0
  38. package/dist/auth/baseFields/accountLock.js +1 -1
  39. package/dist/auth/baseFields/accountLock.js.map +1 -0
  40. package/dist/auth/baseFields/apiKey.js +1 -1
  41. package/dist/auth/baseFields/apiKey.js.map +1 -0
  42. package/dist/auth/baseFields/auth.js +1 -1
  43. package/dist/auth/baseFields/auth.js.map +1 -0
  44. package/dist/auth/baseFields/verification.js +1 -1
  45. package/dist/auth/baseFields/verification.js.map +1 -0
  46. package/dist/auth/cookies.js +1 -1
  47. package/dist/auth/cookies.js.map +1 -0
  48. package/dist/auth/crypto.js +1 -1
  49. package/dist/auth/crypto.js.map +1 -0
  50. package/dist/auth/defaultAccess.js +1 -1
  51. package/dist/auth/defaultAccess.js.map +1 -0
  52. package/dist/auth/defaultUser.js +1 -1
  53. package/dist/auth/defaultUser.js.map +1 -0
  54. package/dist/auth/executeAccess.js +1 -1
  55. package/dist/auth/executeAccess.js.map +1 -0
  56. package/dist/auth/extractJWT.js +1 -1
  57. package/dist/auth/extractJWT.js.map +1 -0
  58. package/dist/auth/getAccessResults.js +1 -1
  59. package/dist/auth/getAccessResults.js.map +1 -0
  60. package/dist/auth/getAuthenticatedUser.js +1 -1
  61. package/dist/auth/getAuthenticatedUser.js.map +1 -0
  62. package/dist/auth/getFieldsToSign.js +1 -1
  63. package/dist/auth/getFieldsToSign.js.map +1 -0
  64. package/dist/auth/index.js +1 -1
  65. package/dist/auth/index.js.map +1 -0
  66. package/dist/auth/isLocked.js +1 -1
  67. package/dist/auth/isLocked.js.map +1 -0
  68. package/dist/auth/operations/access.js +1 -1
  69. package/dist/auth/operations/access.js.map +1 -0
  70. package/dist/auth/operations/forgotPassword.js +1 -1
  71. package/dist/auth/operations/forgotPassword.js.map +1 -0
  72. package/dist/auth/operations/init.js +1 -1
  73. package/dist/auth/operations/init.js.map +1 -0
  74. package/dist/auth/operations/local/forgotPassword.js +1 -1
  75. package/dist/auth/operations/local/forgotPassword.js.map +1 -0
  76. package/dist/auth/operations/local/index.js +1 -1
  77. package/dist/auth/operations/local/index.js.map +1 -0
  78. package/dist/auth/operations/local/login.js +1 -1
  79. package/dist/auth/operations/local/login.js.map +1 -0
  80. package/dist/auth/operations/local/resetPassword.js +1 -1
  81. package/dist/auth/operations/local/resetPassword.js.map +1 -0
  82. package/dist/auth/operations/local/unlock.js +1 -1
  83. package/dist/auth/operations/local/unlock.js.map +1 -0
  84. package/dist/auth/operations/local/verifyEmail.js +1 -1
  85. package/dist/auth/operations/local/verifyEmail.js.map +1 -0
  86. package/dist/auth/operations/login.js +1 -1
  87. package/dist/auth/operations/login.js.map +1 -0
  88. package/dist/auth/operations/logout.js +1 -1
  89. package/dist/auth/operations/logout.js.map +1 -0
  90. package/dist/auth/operations/me.js +1 -1
  91. package/dist/auth/operations/me.js.map +1 -0
  92. package/dist/auth/operations/refresh.js +1 -1
  93. package/dist/auth/operations/refresh.js.map +1 -0
  94. package/dist/auth/operations/registerFirstUser.js +1 -1
  95. package/dist/auth/operations/registerFirstUser.js.map +1 -0
  96. package/dist/auth/operations/resetPassword.js +1 -1
  97. package/dist/auth/operations/resetPassword.js.map +1 -0
  98. package/dist/auth/operations/unlock.js +1 -1
  99. package/dist/auth/operations/unlock.js.map +1 -0
  100. package/dist/auth/operations/verifyEmail.js +1 -1
  101. package/dist/auth/operations/verifyEmail.js.map +1 -0
  102. package/dist/auth/sendVerificationEmail.js +1 -1
  103. package/dist/auth/sendVerificationEmail.js.map +1 -0
  104. package/dist/auth/strategies/apiKey.js +1 -1
  105. package/dist/auth/strategies/apiKey.js.map +1 -0
  106. package/dist/auth/strategies/jwt.js +1 -1
  107. package/dist/auth/strategies/jwt.js.map +1 -0
  108. package/dist/auth/strategies/local/authenticate.js +1 -1
  109. package/dist/auth/strategies/local/authenticate.js.map +1 -0
  110. package/dist/auth/strategies/local/generatePasswordSaltHash.js +1 -1
  111. package/dist/auth/strategies/local/generatePasswordSaltHash.js.map +1 -0
  112. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  113. package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -0
  114. package/dist/auth/strategies/local/register.js +1 -1
  115. package/dist/auth/strategies/local/register.js.map +1 -0
  116. package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
  117. package/dist/auth/strategies/local/resetLoginAttempts.js.map +1 -0
  118. package/dist/auth/types.js +1 -1
  119. package/dist/auth/types.js.map +1 -0
  120. package/dist/bin/generateTypes.js +1 -1
  121. package/dist/bin/generateTypes.js.map +1 -0
  122. package/dist/bin/index.js +1 -1
  123. package/dist/bin/index.js.map +1 -0
  124. package/dist/bin/loadEnv.js +1 -1
  125. package/dist/bin/loadEnv.js.map +1 -0
  126. package/dist/bin/migrate.js +1 -1
  127. package/dist/bin/migrate.js.map +1 -0
  128. package/dist/bin/register/clientExtensions.js +1 -1
  129. package/dist/bin/register/clientExtensions.js.map +1 -0
  130. package/dist/bin/register/index.js +1 -1
  131. package/dist/bin/register/index.js.map +1 -0
  132. package/dist/bin/register/read-default-tsconfig.js +1 -1
  133. package/dist/bin/register/read-default-tsconfig.js.map +1 -0
  134. package/dist/bin/register/register.js +1 -1
  135. package/dist/bin/register/register.js.map +1 -0
  136. package/dist/collections/config/build.js +1 -1
  137. package/dist/collections/config/build.js.map +1 -0
  138. package/dist/collections/config/defaults.js +1 -1
  139. package/dist/collections/config/defaults.js.map +1 -0
  140. package/dist/collections/config/sanitize.js +1 -1
  141. package/dist/collections/config/sanitize.js.map +1 -0
  142. package/dist/collections/config/schema.js +1 -1
  143. package/dist/collections/config/schema.js.map +1 -0
  144. package/dist/collections/config/types.js +1 -1
  145. package/dist/collections/config/types.js.map +1 -0
  146. package/dist/collections/dataloader.js +1 -1
  147. package/dist/collections/dataloader.js.map +1 -0
  148. package/dist/collections/operations/create.js +1 -1
  149. package/dist/collections/operations/create.js.map +1 -0
  150. package/dist/collections/operations/delete.js +1 -1
  151. package/dist/collections/operations/delete.js.map +1 -0
  152. package/dist/collections/operations/deleteByID.js +1 -1
  153. package/dist/collections/operations/deleteByID.js.map +1 -0
  154. package/dist/collections/operations/docAccess.js +1 -1
  155. package/dist/collections/operations/docAccess.js.map +1 -0
  156. package/dist/collections/operations/find.js +1 -1
  157. package/dist/collections/operations/find.js.map +1 -0
  158. package/dist/collections/operations/findByID.js +1 -1
  159. package/dist/collections/operations/findByID.js.map +1 -0
  160. package/dist/collections/operations/findVersionByID.js +1 -1
  161. package/dist/collections/operations/findVersionByID.js.map +1 -0
  162. package/dist/collections/operations/findVersions.js +1 -1
  163. package/dist/collections/operations/findVersions.js.map +1 -0
  164. package/dist/collections/operations/local/create.js +1 -1
  165. package/dist/collections/operations/local/create.js.map +1 -0
  166. package/dist/collections/operations/local/delete.js +1 -1
  167. package/dist/collections/operations/local/delete.js.map +1 -0
  168. package/dist/collections/operations/local/find.js +1 -1
  169. package/dist/collections/operations/local/find.js.map +1 -0
  170. package/dist/collections/operations/local/findByID.js +1 -1
  171. package/dist/collections/operations/local/findByID.js.map +1 -0
  172. package/dist/collections/operations/local/findVersionByID.js +1 -1
  173. package/dist/collections/operations/local/findVersionByID.js.map +1 -0
  174. package/dist/collections/operations/local/findVersions.js +1 -1
  175. package/dist/collections/operations/local/findVersions.js.map +1 -0
  176. package/dist/collections/operations/local/index.js +1 -1
  177. package/dist/collections/operations/local/index.js.map +1 -0
  178. package/dist/collections/operations/local/restoreVersion.js +1 -1
  179. package/dist/collections/operations/local/restoreVersion.js.map +1 -0
  180. package/dist/collections/operations/local/update.js +1 -1
  181. package/dist/collections/operations/local/update.js.map +1 -0
  182. package/dist/collections/operations/restoreVersion.js +1 -1
  183. package/dist/collections/operations/restoreVersion.js.map +1 -0
  184. package/dist/collections/operations/update.js +1 -1
  185. package/dist/collections/operations/update.js.map +1 -0
  186. package/dist/collections/operations/updateByID.js +1 -1
  187. package/dist/collections/operations/updateByID.js.map +1 -0
  188. package/dist/collections/operations/utils.js +1 -1
  189. package/dist/collections/operations/utils.js.map +1 -0
  190. package/dist/config/build.js +1 -1
  191. package/dist/config/build.js.map +1 -0
  192. package/dist/config/createClientConfig.js +1 -1
  193. package/dist/config/createClientConfig.js.map +1 -0
  194. package/dist/config/defaults.js +1 -1
  195. package/dist/config/defaults.js.map +1 -0
  196. package/dist/config/find.js +1 -1
  197. package/dist/config/find.js.map +1 -0
  198. package/dist/config/load.js +1 -1
  199. package/dist/config/load.js.map +1 -0
  200. package/dist/config/sanitize.js +1 -1
  201. package/dist/config/sanitize.js.map +1 -0
  202. package/dist/config/schema.js +1 -1
  203. package/dist/config/schema.js.map +1 -0
  204. package/dist/config/shared/adminViewSchema.js +1 -1
  205. package/dist/config/shared/adminViewSchema.js.map +1 -0
  206. package/dist/config/shared/componentSchema.js +1 -1
  207. package/dist/config/shared/componentSchema.js.map +1 -0
  208. package/dist/config/types.js +1 -1
  209. package/dist/config/types.js.map +1 -0
  210. package/dist/config/validate.js +1 -1
  211. package/dist/config/validate.js.map +1 -0
  212. package/dist/database/combineQueries.js +1 -1
  213. package/dist/database/combineQueries.js.map +1 -0
  214. package/dist/database/createDatabaseAdapter.js +1 -1
  215. package/dist/database/createDatabaseAdapter.js.map +1 -0
  216. package/dist/database/flattenWhereToOperators.js +1 -1
  217. package/dist/database/flattenWhereToOperators.js.map +1 -0
  218. package/dist/database/getLocalizedPaths.js +1 -1
  219. package/dist/database/getLocalizedPaths.js.map +1 -0
  220. package/dist/database/migrations/createMigration.js +1 -1
  221. package/dist/database/migrations/createMigration.js.map +1 -0
  222. package/dist/database/migrations/getMigrations.js +1 -1
  223. package/dist/database/migrations/getMigrations.js.map +1 -0
  224. package/dist/database/migrations/migrate.js +1 -1
  225. package/dist/database/migrations/migrate.js.map +1 -0
  226. package/dist/database/migrations/migrateDown.js +1 -1
  227. package/dist/database/migrations/migrateDown.js.map +1 -0
  228. package/dist/database/migrations/migrateRefresh.js +1 -1
  229. package/dist/database/migrations/migrateRefresh.js.map +1 -0
  230. package/dist/database/migrations/migrateReset.js +1 -1
  231. package/dist/database/migrations/migrateReset.js.map +1 -0
  232. package/dist/database/migrations/migrateStatus.js +1 -1
  233. package/dist/database/migrations/migrateStatus.js.map +1 -0
  234. package/dist/database/migrations/migrationTemplate.js +1 -1
  235. package/dist/database/migrations/migrationTemplate.js.map +1 -0
  236. package/dist/database/migrations/migrationsCollection.js +1 -1
  237. package/dist/database/migrations/migrationsCollection.js.map +1 -0
  238. package/dist/database/migrations/readMigrationFiles.js +1 -1
  239. package/dist/database/migrations/readMigrationFiles.js.map +1 -0
  240. package/dist/database/queryValidation/types.js +1 -1
  241. package/dist/database/queryValidation/types.js.map +1 -0
  242. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  243. package/dist/database/queryValidation/validateQueryPaths.js.map +1 -0
  244. package/dist/database/queryValidation/validateSearchParams.js +1 -1
  245. package/dist/database/queryValidation/validateSearchParams.js.map +1 -0
  246. package/dist/database/types.js +1 -1
  247. package/dist/database/types.js.map +1 -0
  248. package/dist/email/build.js +1 -1
  249. package/dist/email/build.js.map +1 -0
  250. package/dist/email/defaults.js +1 -1
  251. package/dist/email/defaults.js.map +1 -0
  252. package/dist/email/mockHandler.js +1 -1
  253. package/dist/email/mockHandler.js.map +1 -0
  254. package/dist/email/sendEmail.js +1 -1
  255. package/dist/email/sendEmail.js.map +1 -0
  256. package/dist/email/types.js +1 -1
  257. package/dist/email/types.js.map +1 -0
  258. package/dist/errors/APIError.js +1 -1
  259. package/dist/errors/APIError.js.map +1 -0
  260. package/dist/errors/AuthenticationError.js +1 -1
  261. package/dist/errors/AuthenticationError.js.map +1 -0
  262. package/dist/errors/DuplicateCollection.js +1 -1
  263. package/dist/errors/DuplicateCollection.js.map +1 -0
  264. package/dist/errors/DuplicateFieldName.js +1 -1
  265. package/dist/errors/DuplicateFieldName.js.map +1 -0
  266. package/dist/errors/DuplicateGlobal.js +1 -1
  267. package/dist/errors/DuplicateGlobal.js.map +1 -0
  268. package/dist/errors/ErrorDeletingFile.js +1 -1
  269. package/dist/errors/ErrorDeletingFile.js.map +1 -0
  270. package/dist/errors/FileUploadError.js +1 -1
  271. package/dist/errors/FileUploadError.js.map +1 -0
  272. package/dist/errors/Forbidden.js +1 -1
  273. package/dist/errors/Forbidden.js.map +1 -0
  274. package/dist/errors/InvalidConfiguration.js +1 -1
  275. package/dist/errors/InvalidConfiguration.js.map +1 -0
  276. package/dist/errors/InvalidFieldName.js +1 -1
  277. package/dist/errors/InvalidFieldName.js.map +1 -0
  278. package/dist/errors/InvalidFieldRelationship.js +1 -1
  279. package/dist/errors/InvalidFieldRelationship.js.map +1 -0
  280. package/dist/errors/InvalidSchema.js +1 -1
  281. package/dist/errors/InvalidSchema.js.map +1 -0
  282. package/dist/errors/LockedAuth.js +1 -1
  283. package/dist/errors/LockedAuth.js.map +1 -0
  284. package/dist/errors/MissingCollectionLabel.js +1 -1
  285. package/dist/errors/MissingCollectionLabel.js.map +1 -0
  286. package/dist/errors/MissingFieldInputOptions.js +1 -1
  287. package/dist/errors/MissingFieldInputOptions.js.map +1 -0
  288. package/dist/errors/MissingFieldType.js +1 -1
  289. package/dist/errors/MissingFieldType.js.map +1 -0
  290. package/dist/errors/MissingFile.js +1 -1
  291. package/dist/errors/MissingFile.js.map +1 -0
  292. package/dist/errors/NotFound.js +1 -1
  293. package/dist/errors/NotFound.js.map +1 -0
  294. package/dist/errors/QueryError.js +1 -1
  295. package/dist/errors/QueryError.js.map +1 -0
  296. package/dist/errors/TimestampsRequired.js +1 -1
  297. package/dist/errors/TimestampsRequired.js.map +1 -0
  298. package/dist/errors/UnathorizedError.js +1 -1
  299. package/dist/errors/UnathorizedError.js.map +1 -0
  300. package/dist/errors/ValidationError.js +1 -1
  301. package/dist/errors/ValidationError.js.map +1 -0
  302. package/dist/errors/index.js +1 -1
  303. package/dist/errors/index.js.map +1 -0
  304. package/dist/errors/types.js +1 -1
  305. package/dist/errors/types.js.map +1 -0
  306. package/dist/exports/auth.js +1 -1
  307. package/dist/exports/auth.js.map +1 -0
  308. package/dist/exports/components/utilities.js +1 -1
  309. package/dist/exports/components/utilities.js.map +1 -0
  310. package/dist/exports/config.js +1 -1
  311. package/dist/exports/config.js.map +1 -0
  312. package/dist/exports/database.js +1 -1
  313. package/dist/exports/database.js.map +1 -0
  314. package/dist/exports/errors.js +1 -1
  315. package/dist/exports/errors.js.map +1 -0
  316. package/dist/exports/fields/index.js +1 -1
  317. package/dist/exports/fields/index.js.map +1 -0
  318. package/dist/exports/fields/validations.js +1 -1
  319. package/dist/exports/fields/validations.js.map +1 -0
  320. package/dist/exports/operations.js +1 -1
  321. package/dist/exports/operations.js.map +1 -0
  322. package/dist/exports/types.js +1 -1
  323. package/dist/exports/types.js.map +1 -0
  324. package/dist/exports/utilities.js +1 -1
  325. package/dist/exports/utilities.js.map +1 -0
  326. package/dist/exports/versions.js +1 -1
  327. package/dist/exports/versions.js.map +1 -0
  328. package/dist/fields/baseFields/baseBlockFields.js +1 -1
  329. package/dist/fields/baseFields/baseBlockFields.js.map +1 -0
  330. package/dist/fields/baseFields/baseIDField.js +1 -1
  331. package/dist/fields/baseFields/baseIDField.js.map +1 -0
  332. package/dist/fields/config/sanitize.js +1 -1
  333. package/dist/fields/config/sanitize.js.map +1 -0
  334. package/dist/fields/config/sanitize.spec.js +1 -1
  335. package/dist/fields/config/sanitize.spec.js.map +1 -0
  336. package/dist/fields/config/schema.js +1 -1
  337. package/dist/fields/config/schema.js.map +1 -0
  338. package/dist/fields/config/types.js +1 -1
  339. package/dist/fields/config/types.js.map +1 -0
  340. package/dist/fields/getDefaultValue.js +1 -1
  341. package/dist/fields/getDefaultValue.js.map +1 -0
  342. package/dist/fields/hooks/afterChange/index.js +1 -1
  343. package/dist/fields/hooks/afterChange/index.js.map +1 -0
  344. package/dist/fields/hooks/afterChange/promise.js +1 -1
  345. package/dist/fields/hooks/afterChange/promise.js.map +1 -0
  346. package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
  347. package/dist/fields/hooks/afterChange/traverseFields.js.map +1 -0
  348. package/dist/fields/hooks/afterRead/index.js +1 -1
  349. package/dist/fields/hooks/afterRead/index.js.map +1 -0
  350. package/dist/fields/hooks/afterRead/promise.js +1 -1
  351. package/dist/fields/hooks/afterRead/promise.js.map +1 -0
  352. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
  353. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js.map +1 -0
  354. package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
  355. package/dist/fields/hooks/afterRead/traverseFields.js.map +1 -0
  356. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +1 -1
  357. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js.map +1 -0
  358. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +1 -1
  359. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js.map +1 -0
  360. package/dist/fields/hooks/beforeChange/index.js +1 -1
  361. package/dist/fields/hooks/beforeChange/index.js.map +1 -0
  362. package/dist/fields/hooks/beforeChange/promise.js +1 -1
  363. package/dist/fields/hooks/beforeChange/promise.js.map +1 -0
  364. package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
  365. package/dist/fields/hooks/beforeChange/traverseFields.js.map +1 -0
  366. package/dist/fields/hooks/beforeValidate/index.js +1 -1
  367. package/dist/fields/hooks/beforeValidate/index.js.map +1 -0
  368. package/dist/fields/hooks/beforeValidate/promise.js +1 -1
  369. package/dist/fields/hooks/beforeValidate/promise.js.map +1 -0
  370. package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
  371. package/dist/fields/hooks/beforeValidate/traverseFields.js.map +1 -0
  372. package/dist/fields/mergeBaseFields.js +1 -1
  373. package/dist/fields/mergeBaseFields.js.map +1 -0
  374. package/dist/fields/sortableFieldTypes.js +1 -1
  375. package/dist/fields/sortableFieldTypes.js.map +1 -0
  376. package/dist/fields/validations.js +1 -1
  377. package/dist/fields/validations.js.map +1 -0
  378. package/dist/fields/validations.spec.js +1 -1
  379. package/dist/fields/validations.spec.js.map +1 -0
  380. package/dist/globals/config/sanitize.js +1 -1
  381. package/dist/globals/config/sanitize.js.map +1 -0
  382. package/dist/globals/config/schema.js +1 -1
  383. package/dist/globals/config/schema.js.map +1 -0
  384. package/dist/globals/config/types.js +1 -1
  385. package/dist/globals/config/types.js.map +1 -0
  386. package/dist/globals/operations/docAccess.js +1 -1
  387. package/dist/globals/operations/docAccess.js.map +1 -0
  388. package/dist/globals/operations/findOne.js +1 -1
  389. package/dist/globals/operations/findOne.js.map +1 -0
  390. package/dist/globals/operations/findVersionByID.js +1 -1
  391. package/dist/globals/operations/findVersionByID.js.map +1 -0
  392. package/dist/globals/operations/findVersions.js +1 -1
  393. package/dist/globals/operations/findVersions.js.map +1 -0
  394. package/dist/globals/operations/local/findOne.js +1 -1
  395. package/dist/globals/operations/local/findOne.js.map +1 -0
  396. package/dist/globals/operations/local/findVersionByID.js +1 -1
  397. package/dist/globals/operations/local/findVersionByID.js.map +1 -0
  398. package/dist/globals/operations/local/findVersions.js +1 -1
  399. package/dist/globals/operations/local/findVersions.js.map +1 -0
  400. package/dist/globals/operations/local/index.js +1 -1
  401. package/dist/globals/operations/local/index.js.map +1 -0
  402. package/dist/globals/operations/local/restoreVersion.js +1 -1
  403. package/dist/globals/operations/local/restoreVersion.js.map +1 -0
  404. package/dist/globals/operations/local/update.js +1 -1
  405. package/dist/globals/operations/local/update.js.map +1 -0
  406. package/dist/globals/operations/restoreVersion.js +1 -1
  407. package/dist/globals/operations/restoreVersion.js.map +1 -0
  408. package/dist/globals/operations/update.js +1 -1
  409. package/dist/globals/operations/update.js.map +1 -0
  410. package/dist/index.d.ts +1 -1
  411. package/dist/index.d.ts.map +1 -1
  412. package/dist/index.js +8 -3
  413. package/dist/index.js.map +1 -0
  414. package/dist/localization/middleware.js +1 -1
  415. package/dist/localization/middleware.js.map +1 -0
  416. package/dist/localization/sanitizeFallbackLocale.js +1 -1
  417. package/dist/localization/sanitizeFallbackLocale.js.map +1 -0
  418. package/dist/preferences/deleteUserPreferences.js +1 -1
  419. package/dist/preferences/deleteUserPreferences.js.map +1 -0
  420. package/dist/preferences/operations/delete.d.ts.map +1 -1
  421. package/dist/preferences/operations/delete.js +1 -2
  422. package/dist/preferences/operations/delete.js.map +1 -0
  423. package/dist/preferences/operations/findOne.js +1 -1
  424. package/dist/preferences/operations/findOne.js.map +1 -0
  425. package/dist/preferences/operations/update.js +1 -1
  426. package/dist/preferences/operations/update.js.map +1 -0
  427. package/dist/preferences/preferencesCollection.js +1 -1
  428. package/dist/preferences/preferencesCollection.js.map +1 -0
  429. package/dist/preferences/requestHandlers/delete.js +1 -1
  430. package/dist/preferences/requestHandlers/delete.js.map +1 -0
  431. package/dist/preferences/requestHandlers/findOne.js +1 -1
  432. package/dist/preferences/requestHandlers/findOne.js.map +1 -0
  433. package/dist/preferences/requestHandlers/update.js +1 -1
  434. package/dist/preferences/requestHandlers/update.js.map +1 -0
  435. package/dist/preferences/types.js +1 -1
  436. package/dist/preferences/types.js.map +1 -0
  437. package/dist/translations/extractTranslations.js +1 -1
  438. package/dist/translations/extractTranslations.js.map +1 -0
  439. package/dist/translations/getLocalI18n.js +1 -1
  440. package/dist/translations/getLocalI18n.js.map +1 -0
  441. package/dist/types/constants.js +1 -1
  442. package/dist/types/constants.js.map +1 -0
  443. package/dist/types/index.js +1 -1
  444. package/dist/types/index.js.map +1 -0
  445. package/dist/uploads/canResizeImage.js +1 -1
  446. package/dist/uploads/canResizeImage.js.map +1 -0
  447. package/dist/uploads/cropImage.js +1 -1
  448. package/dist/uploads/cropImage.js.map +1 -0
  449. package/dist/uploads/deleteAssociatedFiles.js +1 -1
  450. package/dist/uploads/deleteAssociatedFiles.js.map +1 -0
  451. package/dist/uploads/docWithFilenameExists.js +1 -1
  452. package/dist/uploads/docWithFilenameExists.js.map +1 -0
  453. package/dist/uploads/fileExists.js +1 -1
  454. package/dist/uploads/fileExists.js.map +1 -0
  455. package/dist/uploads/formatFilesize.js +1 -1
  456. package/dist/uploads/formatFilesize.js.map +1 -0
  457. package/dist/uploads/generateFileData.js +1 -1
  458. package/dist/uploads/generateFileData.js.map +1 -0
  459. package/dist/uploads/getBaseFields.js +1 -1
  460. package/dist/uploads/getBaseFields.js.map +1 -0
  461. package/dist/uploads/getExternalFile.js +1 -1
  462. package/dist/uploads/getExternalFile.js.map +1 -0
  463. package/dist/uploads/getFileByPath.js +1 -1
  464. package/dist/uploads/getFileByPath.js.map +1 -0
  465. package/dist/uploads/getImageSize.js +1 -1
  466. package/dist/uploads/getImageSize.js.map +1 -0
  467. package/dist/uploads/getSafeFilename.js +1 -1
  468. package/dist/uploads/getSafeFilename.js.map +1 -0
  469. package/dist/uploads/imageResizer.js +1 -1
  470. package/dist/uploads/imageResizer.js.map +1 -0
  471. package/dist/uploads/isImage.d.ts.map +1 -1
  472. package/dist/uploads/isImage.js +3 -2
  473. package/dist/uploads/isImage.js.map +1 -0
  474. package/dist/uploads/mimeTypeValidator.js +1 -1
  475. package/dist/uploads/mimeTypeValidator.js.map +1 -0
  476. package/dist/uploads/mimeTypeValidator.spec.js +1 -1
  477. package/dist/uploads/mimeTypeValidator.spec.js.map +1 -0
  478. package/dist/uploads/saveBufferToFile.js +1 -1
  479. package/dist/uploads/saveBufferToFile.js.map +1 -0
  480. package/dist/uploads/types.js +1 -1
  481. package/dist/uploads/types.js.map +1 -0
  482. package/dist/uploads/unlinkTempFiles.js +1 -1
  483. package/dist/uploads/unlinkTempFiles.js.map +1 -0
  484. package/dist/uploads/uploadFiles.js +1 -1
  485. package/dist/uploads/uploadFiles.js.map +1 -0
  486. package/dist/utilities/checkDuplicateCollections.js +1 -1
  487. package/dist/utilities/checkDuplicateCollections.js.map +1 -0
  488. package/dist/utilities/combineMerge.js +1 -1
  489. package/dist/utilities/combineMerge.js.map +1 -0
  490. package/dist/utilities/commitTransaction.js +1 -1
  491. package/dist/utilities/commitTransaction.js.map +1 -0
  492. package/dist/utilities/configToJSONSchema.js +1 -1
  493. package/dist/utilities/configToJSONSchema.js.map +1 -0
  494. package/dist/utilities/configToJSONSchema.spec.js +1 -1
  495. package/dist/utilities/configToJSONSchema.spec.js.map +1 -0
  496. package/dist/utilities/convertData.js +1 -1
  497. package/dist/utilities/convertData.js.map +1 -0
  498. package/dist/utilities/createArrayFromCommaDelineated.js +1 -1
  499. package/dist/utilities/createArrayFromCommaDelineated.js.map +1 -0
  500. package/dist/utilities/createLocalReq.js +1 -1
  501. package/dist/utilities/createLocalReq.js.map +1 -0
  502. package/dist/utilities/deepCopyObject.js +1 -1
  503. package/dist/utilities/deepCopyObject.js.map +1 -0
  504. package/dist/utilities/deepMerge.js +1 -1
  505. package/dist/utilities/deepMerge.js.map +1 -0
  506. package/dist/utilities/fieldSchemaToJSON.js +1 -1
  507. package/dist/utilities/fieldSchemaToJSON.js.map +1 -0
  508. package/dist/utilities/flattenTopLevelFields.js +1 -1
  509. package/dist/utilities/flattenTopLevelFields.js.map +1 -0
  510. package/dist/utilities/formatLabels.js +1 -1
  511. package/dist/utilities/formatLabels.js.map +1 -0
  512. package/dist/utilities/formatLabels.spec.js +1 -1
  513. package/dist/utilities/formatLabels.spec.js.map +1 -0
  514. package/dist/utilities/getCSSVariable.js +1 -1
  515. package/dist/utilities/getCSSVariable.js.map +1 -0
  516. package/dist/utilities/getCollectionIDFieldTypes.js +1 -1
  517. package/dist/utilities/getCollectionIDFieldTypes.js.map +1 -0
  518. package/dist/utilities/getEntityPolicies.js +1 -1
  519. package/dist/utilities/getEntityPolicies.js.map +1 -0
  520. package/dist/utilities/getIDType.js +1 -1
  521. package/dist/utilities/getIDType.js.map +1 -0
  522. package/dist/utilities/getObjectDotNotation.js +1 -1
  523. package/dist/utilities/getObjectDotNotation.js.map +1 -0
  524. package/dist/utilities/getUniqueListBy.js +1 -1
  525. package/dist/utilities/getUniqueListBy.js.map +1 -0
  526. package/dist/utilities/initTransaction.js +1 -1
  527. package/dist/utilities/initTransaction.js.map +1 -0
  528. package/dist/utilities/isEntityHidden.js +1 -1
  529. package/dist/utilities/isEntityHidden.js.map +1 -0
  530. package/dist/utilities/isNumber.js +1 -1
  531. package/dist/utilities/isNumber.js.map +1 -0
  532. package/dist/utilities/isPlainObject.js +1 -1
  533. package/dist/utilities/isPlainObject.js.map +1 -0
  534. package/dist/utilities/isValidID.js +1 -1
  535. package/dist/utilities/isValidID.js.map +1 -0
  536. package/dist/utilities/isolateObjectProperty.js +1 -1
  537. package/dist/utilities/isolateObjectProperty.js.map +1 -0
  538. package/dist/utilities/killTransaction.js +1 -1
  539. package/dist/utilities/killTransaction.js.map +1 -0
  540. package/dist/utilities/logger.js +1 -1
  541. package/dist/utilities/logger.js.map +1 -0
  542. package/dist/utilities/mapAsync.js +1 -1
  543. package/dist/utilities/mapAsync.js.map +1 -0
  544. package/dist/utilities/overwriteMerge.js +1 -1
  545. package/dist/utilities/overwriteMerge.js.map +1 -0
  546. package/dist/utilities/parseCookies.js +1 -1
  547. package/dist/utilities/parseCookies.js.map +1 -0
  548. package/dist/utilities/sanitizeInternalFields.js +1 -1
  549. package/dist/utilities/sanitizeInternalFields.js.map +1 -0
  550. package/dist/utilities/setsAreEqual.js +1 -1
  551. package/dist/utilities/setsAreEqual.js.map +1 -0
  552. package/dist/utilities/telemetry/events/adminInit.js +1 -1
  553. package/dist/utilities/telemetry/events/adminInit.js.map +1 -0
  554. package/dist/utilities/telemetry/events/serverInit.js +1 -1
  555. package/dist/utilities/telemetry/events/serverInit.js.map +1 -0
  556. package/dist/utilities/telemetry/index.js +1 -1
  557. package/dist/utilities/telemetry/index.js.map +1 -0
  558. package/dist/utilities/telemetry/oneWayHash.js +1 -1
  559. package/dist/utilities/telemetry/oneWayHash.js.map +1 -0
  560. package/dist/utilities/timestamp.js +1 -1
  561. package/dist/utilities/timestamp.js.map +1 -0
  562. package/dist/utilities/toKebabCase.js +1 -1
  563. package/dist/utilities/toKebabCase.js.map +1 -0
  564. package/dist/utilities/wait.js +1 -1
  565. package/dist/utilities/wait.js.map +1 -0
  566. package/dist/utilities/wordBoundariesRegex.js +1 -1
  567. package/dist/utilities/wordBoundariesRegex.js.map +1 -0
  568. package/dist/versions/baseFields.js +1 -1
  569. package/dist/versions/baseFields.js.map +1 -0
  570. package/dist/versions/buildCollectionFields.js +1 -1
  571. package/dist/versions/buildCollectionFields.js.map +1 -0
  572. package/dist/versions/buildGlobalFields.js +1 -1
  573. package/dist/versions/buildGlobalFields.js.map +1 -0
  574. package/dist/versions/deleteCollectionVersions.js +1 -1
  575. package/dist/versions/deleteCollectionVersions.js.map +1 -0
  576. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
  577. package/dist/versions/drafts/appendVersionToQueryKey.js.map +1 -0
  578. package/dist/versions/drafts/getQueryDraftsSort.js +1 -1
  579. package/dist/versions/drafts/getQueryDraftsSort.js.map +1 -0
  580. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
  581. package/dist/versions/drafts/replaceWithDraftIfAvailable.js.map +1 -0
  582. package/dist/versions/enforceMaxVersions.js +1 -1
  583. package/dist/versions/enforceMaxVersions.js.map +1 -0
  584. package/dist/versions/getLatestCollectionVersion.js +1 -1
  585. package/dist/versions/getLatestCollectionVersion.js.map +1 -0
  586. package/dist/versions/getLatestGlobalVersion.js +1 -1
  587. package/dist/versions/getLatestGlobalVersion.js.map +1 -0
  588. package/dist/versions/getVersionsModelName.js +1 -1
  589. package/dist/versions/getVersionsModelName.js.map +1 -0
  590. package/dist/versions/saveVersion.js +1 -1
  591. package/dist/versions/saveVersion.js.map +1 -0
  592. package/dist/versions/types.js +1 -1
  593. package/dist/versions/types.js.map +1 -0
  594. package/errors.js +1 -1
  595. package/operations.js +1 -1
  596. package/package.json +2 -2
  597. package/types.js +1 -1
  598. package/utilities.js +1 -1
  599. package/versions.js +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/config/schema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { adminViewSchema } from './shared/adminViewSchema.js'\nimport { componentSchema, livePreviewSchema } from './shared/componentSchema.js'\n\nconst component = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const endpointsSchema = joi.alternatives().try(\n joi.array().items(\n joi.object({\n custom: joi.object().pattern(joi.string(), joi.any()),\n handler: joi.alternatives().try(joi.array().items(joi.func()), joi.func()),\n method: joi\n .string()\n .valid('get', 'head', 'post', 'put', 'patch', 'delete', 'connect', 'options'),\n path: joi.string(),\n root: joi.bool(),\n }),\n ),\n joi.boolean(),\n)\n\nexport default joi.object({\n admin: joi.object({\n autoLogin: joi.alternatives().try(\n joi.object().keys({\n email: joi.string(),\n password: joi.string(),\n prefillOnly: joi.boolean(),\n }),\n joi.boolean(),\n ),\n avatar: joi.alternatives().try(joi.string(), component),\n buildPath: joi.string(),\n components: joi.object().keys({\n Nav: component,\n actions: joi.array().items(component),\n afterDashboard: joi.array().items(component),\n afterLogin: joi.array().items(component),\n afterNavLinks: joi.array().items(component),\n beforeDashboard: joi.array().items(component),\n beforeLogin: joi.array().items(component),\n beforeNavLinks: joi.array().items(component),\n graphics: joi.object({\n Icon: component,\n Logo: component,\n }),\n logout: joi.object({\n Button: component,\n }),\n providers: joi.array().items(component),\n views: joi.alternatives().try(\n joi.object({\n Account: joi.alternatives().try(component, adminViewSchema),\n Dashboard: joi.alternatives().try(component, adminViewSchema),\n }),\n joi.object().pattern(joi.string(), component),\n ),\n }),\n dateFormat: joi.string(),\n disable: joi.bool(),\n inactivityRoute: joi.string(),\n livePreview: joi.object({\n ...livePreviewSchema,\n collections: joi.array().items(joi.string()),\n globals: joi.array().items(joi.string()),\n }),\n logoutRoute: joi.string(),\n meta: joi.object().keys({\n favicon: joi.string(),\n ogImage: joi.string(),\n titleSuffix: joi.string(),\n }),\n user: joi.string(),\n }),\n bin: joi.array().items(\n joi.object().keys({\n key: joi.string(),\n scriptPath: joi.string(),\n }),\n ),\n collections: joi.array(),\n cookiePrefix: joi.string(),\n cors: [joi.string().valid('*'), joi.array().items(joi.string())],\n csrf: joi.array().items(joi.string().allow('')).sparse(),\n custom: joi.object().pattern(joi.string(), joi.any()),\n db: joi.any(),\n debug: joi.boolean(),\n defaultDepth: joi.number().min(0).max(30),\n defaultMaxTextLength: joi.number(),\n editor: joi\n .object()\n .required()\n .keys({\n CellComponent: componentSchema.optional(),\n FieldComponent: componentSchema.optional(),\n LazyCellComponent: joi.func().optional(),\n LazyFieldComponent: joi.func().optional(),\n afterReadPromise: joi.func().optional(),\n outputSchema: joi.func().optional(),\n populationPromise: joi.func().optional(),\n validate: joi.func().required(),\n })\n .unknown(),\n email: joi.object(),\n endpoints: endpointsSchema,\n globals: joi.array(),\n graphQL: joi.object().keys({\n disable: joi.boolean(),\n disablePlaygroundInProduction: joi.boolean(),\n maxComplexity: joi.number(),\n mutations: joi.function(),\n queries: joi.function(),\n schemaOutputFile: joi.string(),\n }),\n hooks: joi.object().keys({\n afterError: joi.func(),\n }),\n i18n: joi.object(),\n indexSortableFields: joi.boolean(),\n local: joi.boolean(),\n localization: joi.alternatives().try(\n joi.object().keys({\n defaultLocale: joi.string(),\n fallback: joi.boolean(),\n localeCodes: joi.array().items(joi.string()),\n locales: joi.alternatives().try(\n joi.array().items(\n joi.object().keys({\n code: joi.string(),\n fallbackLocale: joi.string(),\n label: joi\n .alternatives()\n .try(\n joi.object().pattern(joi.string(), [joi.string()]),\n joi.string(),\n joi.valid(false),\n ),\n rtl: joi.boolean(),\n toString: joi.func(),\n }),\n ),\n joi.array().items(joi.string()),\n ),\n }),\n joi.boolean(),\n ),\n maxDepth: joi.number().min(0).max(100),\n onInit: joi.func(),\n plugins: joi.array().items(joi.func()),\n routes: joi.object({\n admin: joi.string(),\n api: joi.string(),\n graphQL: joi.string(),\n graphQLPlayground: joi.string(),\n }),\n secret: joi.string(),\n serverURL: joi\n .string()\n .uri()\n .allow('')\n .custom((value, helper) => {\n const urlWithoutProtocol = value.split('//')[1]\n\n if (!urlWithoutProtocol) {\n return helper.message({\n custom: 'You need to include either \"https://\" or \"http://\" in your serverURL.',\n })\n }\n\n if (urlWithoutProtocol.indexOf('/') > -1) {\n return helper.message({\n custom:\n 'Your serverURL cannot have a path. It can only contain a protocol, a domain, and an optional port.',\n })\n }\n\n return value\n }),\n sharp: joi.any(),\n telemetry: joi.boolean(),\n typescript: joi.object({\n declare: joi.boolean(),\n outputFile: joi.string(),\n }),\n upload: joi.object(),\n})\n"],"names":["joi","adminViewSchema","componentSchema","livePreviewSchema","component","alternatives","try","object","unknown","func","endpointsSchema","array","items","custom","pattern","string","any","handler","method","valid","path","root","bool","boolean","admin","autoLogin","keys","email","password","prefillOnly","avatar","buildPath","components","Nav","actions","afterDashboard","afterLogin","afterNavLinks","beforeDashboard","beforeLogin","beforeNavLinks","graphics","Icon","Logo","logout","Button","providers","views","Account","Dashboard","dateFormat","disable","inactivityRoute","livePreview","collections","globals","logoutRoute","meta","favicon","ogImage","titleSuffix","user","bin","key","scriptPath","cookiePrefix","cors","csrf","allow","sparse","db","debug","defaultDepth","number","min","max","defaultMaxTextLength","editor","required","CellComponent","optional","FieldComponent","LazyCellComponent","LazyFieldComponent","afterReadPromise","outputSchema","populationPromise","validate","endpoints","graphQL","disablePlaygroundInProduction","maxComplexity","mutations","function","queries","schemaOutputFile","hooks","afterError","i18n","indexSortableFields","local","localization","defaultLocale","fallback","localeCodes","locales","code","fallbackLocale","label","rtl","toString","maxDepth","onInit","plugins","routes","api","graphQLPlayground","secret","serverURL","uri","value","helper","urlWithoutProtocol","split","message","indexOf","sharp","telemetry","typescript","declare","outputFile","upload"],"mappings":"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"}
@@ -8,4 +8,4 @@ export const adminViewSchema = joi.array().items(joi.object().keys({
8
8
  strict: joi.bool()
9
9
  }));
10
10
 
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvc2hhcmVkL2FkbWluVmlld1NjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuaW1wb3J0IHsgY29tcG9uZW50U2NoZW1hIH0gZnJvbSAnLi9jb21wb25lbnRTY2hlbWEuanMnXG5cbmV4cG9ydCBjb25zdCBhZG1pblZpZXdTY2hlbWEgPSBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgam9pLm9iamVjdCgpLmtleXMoe1xuICAgIENvbXBvbmVudDogY29tcG9uZW50U2NoZW1hLFxuICAgIGV4YWN0OiBqb2kuYm9vbCgpLFxuICAgIHBhdGg6IGpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgIHNlbnNpdGl2ZTogam9pLmJvb2woKSxcbiAgICBzdHJpY3Q6IGpvaS5ib29sKCksXG4gIH0pLFxuKVxuIl0sIm5hbWVzIjpbImpvaSIsImNvbXBvbmVudFNjaGVtYSIsImFkbWluVmlld1NjaGVtYSIsImFycmF5IiwiaXRlbXMiLCJvYmplY3QiLCJrZXlzIiwiQ29tcG9uZW50IiwiZXhhY3QiLCJib29sIiwicGF0aCIsInN0cmluZyIsInJlcXVpcmVkIiwic2Vuc2l0aXZlIiwic3RyaWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxTQUFTLE1BQUs7QUFFckIsU0FBU0MsZUFBZSxRQUFRLHVCQUFzQjtBQUV0RCxPQUFPLE1BQU1DLGtCQUFrQkYsSUFBSUcsS0FBSyxHQUFHQyxLQUFLLENBQzlDSixJQUFJSyxNQUFNLEdBQUdDLElBQUksQ0FBQztJQUNoQkMsV0FBV047SUFDWE8sT0FBT1IsSUFBSVMsSUFBSTtJQUNmQyxNQUFNVixJQUFJVyxNQUFNLEdBQUdDLFFBQVE7SUFDM0JDLFdBQVdiLElBQUlTLElBQUk7SUFDbkJLLFFBQVFkLElBQUlTLElBQUk7QUFDbEIsSUFDRCJ9
11
+ //# sourceMappingURL=adminViewSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/shared/adminViewSchema.ts"],"sourcesContent":["import joi from 'joi'\n\nimport { componentSchema } from './componentSchema.js'\n\nexport const adminViewSchema = joi.array().items(\n joi.object().keys({\n Component: componentSchema,\n exact: joi.bool(),\n path: joi.string().required(),\n sensitive: joi.bool(),\n strict: joi.bool(),\n }),\n)\n"],"names":["joi","componentSchema","adminViewSchema","array","items","object","keys","Component","exact","bool","path","string","required","sensitive","strict"],"mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,SAASC,eAAe,QAAQ,uBAAsB;AAEtD,OAAO,MAAMC,kBAAkBF,IAAIG,KAAK,GAAGC,KAAK,CAC9CJ,IAAIK,MAAM,GAAGC,IAAI,CAAC;IAChBC,WAAWN;IACXO,OAAOR,IAAIS,IAAI;IACfC,MAAMV,IAAIW,MAAM,GAAGC,QAAQ;IAC3BC,WAAWb,IAAIS,IAAI;IACnBK,QAAQd,IAAIS,IAAI;AAClB,IACD"}
@@ -24,4 +24,4 @@ export const livePreviewSchema = {
24
24
  url: joi.alternatives().try(joi.string(), joi.func())
25
25
  };
26
26
 
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvc2hhcmVkL2NvbXBvbmVudFNjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgam9pIGZyb20gJ2pvaSdcblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudFNjaGVtYSA9IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm9iamVjdCgpLnVua25vd24oKSwgam9pLmZ1bmMoKSlcblxuZXhwb3J0IGNvbnN0IGRvY3VtZW50VGFiU2NoZW1hID0ge1xuICBjb25kaXRpb246IGpvaS5mdW5jKCksXG4gIGhyZWY6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKS5yZXF1aXJlZCgpLFxuICBpc0FjdGl2ZTogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuZnVuYygpLCBqb2kuYm9vbGVhbigpKSxcbiAgbGFiZWw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKS5yZXF1aXJlZCgpLFxuICBuZXdUYWI6IGpvaS5ib29sZWFuKCksXG4gIHBpbGxMYWJlbDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kuc3RyaW5nKCksIGpvaS5mdW5jKCkpLFxufVxuXG5leHBvcnQgY29uc3QgY3VzdG9tVmlld1NjaGVtYSA9IGpvaS5vYmplY3Qoe1xuICBDb21wb25lbnQ6IGNvbXBvbmVudFNjaGVtYSxcbiAgVGFiOiBqb2kuYWx0ZXJuYXRpdmVzKCkudHJ5KGRvY3VtZW50VGFiU2NoZW1hLCBjb21wb25lbnRTY2hlbWEpLFxuICBhY3Rpb25zOiBqb2kuYXJyYXkoKS5pdGVtcyhjb21wb25lbnRTY2hlbWEpLFxuICBwYXRoOiBqb2kuc3RyaW5nKCksXG59KVxuXG5leHBvcnQgY29uc3QgbGl2ZVByZXZpZXdTY2hlbWEgPSB7XG4gIGJyZWFrcG9pbnRzOiBqb2kuYXJyYXkoKS5pdGVtcyhcbiAgICBqb2kub2JqZWN0KHtcbiAgICAgIG5hbWU6IGpvaS5zdHJpbmcoKSxcbiAgICAgIGhlaWdodDogam9pLmFsdGVybmF0aXZlcygpLnRyeShqb2kubnVtYmVyKCksIGpvaS5zdHJpbmcoKSksXG4gICAgICBsYWJlbDogam9pLnN0cmluZygpLFxuICAgICAgd2lkdGg6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLm51bWJlcigpLCBqb2kuc3RyaW5nKCkpLFxuICAgIH0pLFxuICApLFxuICB1cmw6IGpvaS5hbHRlcm5hdGl2ZXMoKS50cnkoam9pLnN0cmluZygpLCBqb2kuZnVuYygpKSxcbn1cbiJdLCJuYW1lcyI6WyJqb2kiLCJjb21wb25lbnRTY2hlbWEiLCJhbHRlcm5hdGl2ZXMiLCJ0cnkiLCJvYmplY3QiLCJ1bmtub3duIiwiZnVuYyIsImRvY3VtZW50VGFiU2NoZW1hIiwiY29uZGl0aW9uIiwiaHJlZiIsInN0cmluZyIsInJlcXVpcmVkIiwiaXNBY3RpdmUiLCJib29sZWFuIiwibGFiZWwiLCJuZXdUYWIiLCJwaWxsTGFiZWwiLCJjdXN0b21WaWV3U2NoZW1hIiwiQ29tcG9uZW50IiwiVGFiIiwiYWN0aW9ucyIsImFycmF5IiwiaXRlbXMiLCJwYXRoIiwibGl2ZVByZXZpZXdTY2hlbWEiLCJicmVha3BvaW50cyIsIm5hbWUiLCJoZWlnaHQiLCJudW1iZXIiLCJ3aWR0aCIsInVybCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsU0FBUyxNQUFLO0FBRXJCLE9BQU8sTUFBTUMsa0JBQWtCRCxJQUFJRSxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0gsSUFBSUksTUFBTSxHQUFHQyxPQUFPLElBQUlMLElBQUlNLElBQUksSUFBRztBQUV6RixPQUFPLE1BQU1DLG9CQUFvQjtJQUMvQkMsV0FBV1IsSUFBSU0sSUFBSTtJQUNuQkcsTUFBTVQsSUFBSUUsWUFBWSxHQUFHQyxHQUFHLENBQUNILElBQUlVLE1BQU0sSUFBSVYsSUFBSU0sSUFBSSxJQUFJSyxRQUFRO0lBQy9EQyxVQUFVWixJQUFJRSxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0gsSUFBSU0sSUFBSSxJQUFJTixJQUFJYSxPQUFPO0lBQ3hEQyxPQUFPZCxJQUFJRSxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0gsSUFBSVUsTUFBTSxJQUFJVixJQUFJTSxJQUFJLElBQUlLLFFBQVE7SUFDaEVJLFFBQVFmLElBQUlhLE9BQU87SUFDbkJHLFdBQVdoQixJQUFJRSxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0gsSUFBSVUsTUFBTSxJQUFJVixJQUFJTSxJQUFJO0FBQzFELEVBQUM7QUFFRCxPQUFPLE1BQU1XLG1CQUFtQmpCLElBQUlJLE1BQU0sQ0FBQztJQUN6Q2MsV0FBV2pCO0lBQ1hrQixLQUFLbkIsSUFBSUUsWUFBWSxHQUFHQyxHQUFHLENBQUNJLG1CQUFtQk47SUFDL0NtQixTQUFTcEIsSUFBSXFCLEtBQUssR0FBR0MsS0FBSyxDQUFDckI7SUFDM0JzQixNQUFNdkIsSUFBSVUsTUFBTTtBQUNsQixHQUFFO0FBRUYsT0FBTyxNQUFNYyxvQkFBb0I7SUFDL0JDLGFBQWF6QixJQUFJcUIsS0FBSyxHQUFHQyxLQUFLLENBQzVCdEIsSUFBSUksTUFBTSxDQUFDO1FBQ1RzQixNQUFNMUIsSUFBSVUsTUFBTTtRQUNoQmlCLFFBQVEzQixJQUFJRSxZQUFZLEdBQUdDLEdBQUcsQ0FBQ0gsSUFBSTRCLE1BQU0sSUFBSTVCLElBQUlVLE1BQU07UUFDdkRJLE9BQU9kLElBQUlVLE1BQU07UUFDakJtQixPQUFPN0IsSUFBSUUsWUFBWSxHQUFHQyxHQUFHLENBQUNILElBQUk0QixNQUFNLElBQUk1QixJQUFJVSxNQUFNO0lBQ3hEO0lBRUZvQixLQUFLOUIsSUFBSUUsWUFBWSxHQUFHQyxHQUFHLENBQUNILElBQUlVLE1BQU0sSUFBSVYsSUFBSU0sSUFBSTtBQUNwRCxFQUFDIn0=
27
+ //# sourceMappingURL=componentSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/config/shared/componentSchema.ts"],"sourcesContent":["import joi from 'joi'\n\nexport const componentSchema = joi.alternatives().try(joi.object().unknown(), joi.func())\n\nexport const documentTabSchema = {\n condition: joi.func(),\n href: joi.alternatives().try(joi.string(), joi.func()).required(),\n isActive: joi.alternatives().try(joi.func(), joi.boolean()),\n label: joi.alternatives().try(joi.string(), joi.func()).required(),\n newTab: joi.boolean(),\n pillLabel: joi.alternatives().try(joi.string(), joi.func()),\n}\n\nexport const customViewSchema = joi.object({\n Component: componentSchema,\n Tab: joi.alternatives().try(documentTabSchema, componentSchema),\n actions: joi.array().items(componentSchema),\n path: joi.string(),\n})\n\nexport const livePreviewSchema = {\n breakpoints: joi.array().items(\n joi.object({\n name: joi.string(),\n height: joi.alternatives().try(joi.number(), joi.string()),\n label: joi.string(),\n width: joi.alternatives().try(joi.number(), joi.string()),\n }),\n ),\n url: joi.alternatives().try(joi.string(), joi.func()),\n}\n"],"names":["joi","componentSchema","alternatives","try","object","unknown","func","documentTabSchema","condition","href","string","required","isActive","boolean","label","newTab","pillLabel","customViewSchema","Component","Tab","actions","array","items","path","livePreviewSchema","breakpoints","name","height","number","width","url"],"mappings":"AAAA,OAAOA,SAAS,MAAK;AAErB,OAAO,MAAMC,kBAAkBD,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAII,MAAM,GAAGC,OAAO,IAAIL,IAAIM,IAAI,IAAG;AAEzF,OAAO,MAAMC,oBAAoB;IAC/BC,WAAWR,IAAIM,IAAI;IACnBG,MAAMT,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAIU,MAAM,IAAIV,IAAIM,IAAI,IAAIK,QAAQ;IAC/DC,UAAUZ,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAIM,IAAI,IAAIN,IAAIa,OAAO;IACxDC,OAAOd,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAIU,MAAM,IAAIV,IAAIM,IAAI,IAAIK,QAAQ;IAChEI,QAAQf,IAAIa,OAAO;IACnBG,WAAWhB,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAIU,MAAM,IAAIV,IAAIM,IAAI;AAC1D,EAAC;AAED,OAAO,MAAMW,mBAAmBjB,IAAII,MAAM,CAAC;IACzCc,WAAWjB;IACXkB,KAAKnB,IAAIE,YAAY,GAAGC,GAAG,CAACI,mBAAmBN;IAC/CmB,SAASpB,IAAIqB,KAAK,GAAGC,KAAK,CAACrB;IAC3BsB,MAAMvB,IAAIU,MAAM;AAClB,GAAE;AAEF,OAAO,MAAMc,oBAAoB;IAC/BC,aAAazB,IAAIqB,KAAK,GAAGC,KAAK,CAC5BtB,IAAII,MAAM,CAAC;QACTsB,MAAM1B,IAAIU,MAAM;QAChBiB,QAAQ3B,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAI4B,MAAM,IAAI5B,IAAIU,MAAM;QACvDI,OAAOd,IAAIU,MAAM;QACjBmB,OAAO7B,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAI4B,MAAM,IAAI5B,IAAIU,MAAM;IACxD;IAEFoB,KAAK9B,IAAIE,YAAY,GAAGC,GAAG,CAACH,IAAIU,MAAM,IAAIV,IAAIM,IAAI;AACpD,EAAC"}
@@ -11,4 +11,4 @@
11
11
  return emailConfig.transportOptions !== undefined;
12
12
  }
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJMThuT3B0aW9ucyB9IGZyb20gJ0BwYXlsb2FkY21zL3RyYW5zbGF0aW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBFeHByZXNzRmlsZVVwbG9hZE9wdGlvbnMgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSBHcmFwaFFMIGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgdHlwZSB7IFRyYW5zcG9ydGVyIH0gZnJvbSAnbm9kZW1haWxlcidcbmltcG9ydCB0eXBlIFNNVFBDb25uZWN0aW9uIGZyb20gJ25vZGVtYWlsZXIvbGliL3NtdHAtY29ubmVjdGlvbidcbmltcG9ydCB0eXBlIHsgRGVzdGluYXRpb25TdHJlYW0sIExvZ2dlck9wdGlvbnMgfSBmcm9tICdwaW5vJ1xuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgc2hhcnAgfSBmcm9tICdzaGFycCdcbmltcG9ydCB0eXBlIHsgRGVlcFJlcXVpcmVkIH0gZnJvbSAndHMtZXNzZW50aWFscydcblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudFRhYiwgUmljaFRleHRBZGFwdGVyIH0gZnJvbSAnLi4vYWRtaW4vdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEFkbWluVmlldywgU2VydmVyU2lkZUVkaXRWaWV3UHJvcHMgfSBmcm9tICcuLi9hZG1pbi92aWV3cy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gJy4uL2F1dGgvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7XG4gIEFmdGVyRXJyb3JIb29rLFxuICBDb2xsZWN0aW9uLFxuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxufSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IERhdGFiYXNlQWRhcHRlclJlc3VsdCB9IGZyb20gJy4uL2RhdGFiYXNlL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBDbGllbnRDb25maWdGaWVsZCB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEdsb2JhbENvbmZpZywgR2xvYmFscywgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vZ2xvYmFscy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFdoZXJlIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRMb2dnZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvbG9nZ2VyLmpzJ1xuXG5leHBvcnQgdHlwZSBCaW5TY3JpcHRDb25maWcgPSB7XG4gIGtleTogc3RyaW5nXG4gIHNjcmlwdFBhdGg6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBCaW5TY3JpcHQgPSAoY29uZmlnOiBTYW5pdGl6ZWRDb25maWcpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG5cbnR5cGUgUHJldHRpZnk8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdXG59ICYgTm9uTnVsbGFibGU8dW5rbm93bj5cblxudHlwZSBFbWFpbCA9IHtcbiAgZnJvbUFkZHJlc3M6IHN0cmluZ1xuICBmcm9tTmFtZTogc3RyaW5nXG4gIGxvZ01vY2tDcmVkZW50aWFscz86IGJvb2xlYW5cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5leHBvcnQgdHlwZSBQbHVnaW4gPSAoY29uZmlnOiBDb25maWcpID0+IENvbmZpZyB8IFByb21pc2U8Q29uZmlnPlxuXG5leHBvcnQgdHlwZSBMaXZlUHJldmlld0NvbmZpZyA9IHtcbiAgLyoqXG4gICBEZXZpY2UgYnJlYWtwb2ludHMgdG8gdXNlIGZvciB0aGUgYGlmcmFtZWAgb2YgdGhlIExpdmUgUHJldmlldyB3aW5kb3cuXG4gICBPcHRpb25zIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIExpdmUgUHJldmlldyB0b29sYmFyLlxuICAgVGhlIGByZXNwb25zaXZlYCBicmVha3BvaW50IGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBicmVha3BvaW50cz86IHtcbiAgICBoZWlnaHQ6IG51bWJlciB8IHN0cmluZ1xuICAgIGxhYmVsOiBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgICB3aWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIH1bXVxuICAvKipcbiAgIFRoZSBVUkwgb2YgdGhlIGZyb250ZW5kIGFwcGxpY2F0aW9uLiBUaGlzIHdpbGwgYmUgcmVuZGVyZWQgd2l0aGluIGFuIGBpZnJhbWVgIGFzIGl0cyBgc3JjYC5cbiAgIFBheWxvYWQgd2lsbCBzZW5kIGEgYHdpbmRvdy5wb3N0TWVzc2FnZSgpYCB0byB0aGlzIFVSTCB3aXRoIHRoZSBkb2N1bWVudCBkYXRhIGluIHJlYWwtdGltZS5cbiAgIFRoZSBmcm9udGVuZCBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgcmVjZWl2aW5nIHRoZSBtZXNzYWdlIGFuZCB1cGRhdGluZyB0aGUgVUkgYWNjb3JkaW5nbHkuXG4gICBVc2UgdGhlIGB1c2VMaXZlUHJldmlld2AgaG9vayB0byBnZXQgc3RhcnRlZCBpbiBSZWFjdCBhcHBsaWNhdGlvbnMuXG4gICAqL1xuICB1cmw/OlxuICAgIHwgKChhcmdzOiB7XG4gICAgICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICAgICAgZG9jdW1lbnRJbmZvOiBhbnkgLy8gVE9ETzogcmVtb3ZlIG9yIHBvcHVsYXRlIHRoaXNcbiAgICAgICAgbG9jYWxlOiBMb2NhbGVcbiAgICAgIH0pID0+IFByb21pc2U8c3RyaW5nPiB8IHN0cmluZylcbiAgICB8IHN0cmluZ1xufVxuXG50eXBlIEdlbmVyYXRlUHJldmlld1VSTE9wdGlvbnMgPSB7XG4gIGxvY2FsZTogc3RyaW5nXG4gIHRva2VuOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVQcmV2aWV3VVJMID0gKFxuICBkb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBvcHRpb25zOiBHZW5lcmF0ZVByZXZpZXdVUkxPcHRpb25zLFxuKSA9PiBQcm9taXNlPG51bGwgfCBzdHJpbmc+IHwgbnVsbCB8IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBFbWFpbFRyYW5zcG9ydCA9IEVtYWlsICYge1xuICB0cmFuc3BvcnQ6IFRyYW5zcG9ydGVyXG4gIHRyYW5zcG9ydE9wdGlvbnM/OiBTTVRQQ29ubmVjdGlvbi5PcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIEVtYWlsVHJhbnNwb3J0T3B0aW9ucyA9IEVtYWlsICYge1xuICB0cmFuc3BvcnQ/OiBUcmFuc3BvcnRlclxuICB0cmFuc3BvcnRPcHRpb25zOiBTTVRQQ29ubmVjdGlvbi5PcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIEVtYWlsT3B0aW9ucyA9IEVtYWlsIHwgRW1haWxUcmFuc3BvcnQgfCBFbWFpbFRyYW5zcG9ydE9wdGlvbnNcblxuLyoqXG4gKiB0eXBlIGd1YXJkIGZvciBFbWFpbE9wdGlvbnNcbiAqIEBwYXJhbSBlbWFpbENvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzVHJhbnNwb3J0KGVtYWlsQ29uZmlnOiBFbWFpbE9wdGlvbnMpOiBlbWFpbENvbmZpZyBpcyBFbWFpbFRyYW5zcG9ydCB7XG4gIHJldHVybiAoZW1haWxDb25maWcgYXMgRW1haWxUcmFuc3BvcnQpLnRyYW5zcG9ydCAhPT0gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogdHlwZSBndWFyZCBmb3IgRW1haWxPcHRpb25zXG4gKiBAcGFyYW0gZW1haWxDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1RyYW5zcG9ydE9wdGlvbnMoXG4gIGVtYWlsQ29uZmlnOiBFbWFpbE9wdGlvbnMsXG4pOiBlbWFpbENvbmZpZyBpcyBFbWFpbFRyYW5zcG9ydE9wdGlvbnMge1xuICByZXR1cm4gKGVtYWlsQ29uZmlnIGFzIEVtYWlsVHJhbnNwb3J0T3B0aW9ucykudHJhbnNwb3J0T3B0aW9ucyAhPT0gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCB0eXBlIEdyYXBoUUxJbmZvID0ge1xuICBNdXRhdGlvbjoge1xuICAgIGZpZWxkczogUmVjb3JkPHN0cmluZywgYW55PlxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG4gIFF1ZXJ5OiB7XG4gICAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogQ29sbGVjdGlvblxuICB9XG4gIGdsb2JhbHM6IEdsb2JhbHNcbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxUeXBlPlxuICAgIGJsb2NrSW5wdXRUeXBlczogUmVjb3JkPHN0cmluZywgR3JhcGhRTC5HcmFwaFFMSW5wdXRPYmplY3RUeXBlPlxuICAgIGJsb2NrVHlwZXM6IFJlY29yZDxzdHJpbmcsIEdyYXBoUUwuR3JhcGhRTE9iamVjdFR5cGU+XG4gICAgZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGU/OiBHcmFwaFFMLkdyYXBoUUxFbnVtVHlwZSB8IEdyYXBoUUwuR3JhcGhRTFNjYWxhclR5cGVcbiAgICBncm91cFR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxPYmplY3RUeXBlPlxuICAgIGxvY2FsZUlucHV0VHlwZT86IEdyYXBoUUwuR3JhcGhRTEVudW1UeXBlIHwgR3JhcGhRTC5HcmFwaFFMU2NhbGFyVHlwZVxuICAgIHRhYlR5cGVzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaFFMLkdyYXBoUUxPYmplY3RUeXBlPlxuICB9XG59XG5leHBvcnQgdHlwZSBHcmFwaFFMRXh0ZW5zaW9uID0gKFxuICBncmFwaFFMOiB0eXBlb2YgR3JhcGhRTCxcbiAgY29udGV4dDoge1xuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIH0gJiBHcmFwaFFMSW5mbyxcbikgPT4gUmVjb3JkPHN0cmluZywgdW5rbm93bj5cblxuZXhwb3J0IHR5cGUgSW5pdE9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBTb21ldGltZXMsIHdpdGggdGhlIGxvY2FsIEFQSSwgeW91IG1pZ2h0IG5lZWQgdG8gcGFzcyBhIGNvbmZpZyBmaWxlIGRpcmVjdGx5LCBmb3IgZXhhbXBsZSwgc2VydmVybGVzcyBvbiBWZXJjZWxcbiAgICogVGhlIHBhc3NlZCBjb25maWcgc2hvdWxkIG1hdGNoIHRoZSBjb25maWcgZmlsZSwgYW5kIGlmIGl0IGRvZXNuJ3QsIHRoZXJlIGNvdWxkIGJlIG1pc21hdGNoZXMgYmV0d2VlbiB0aGUgYWRtaW4gVUlcbiAgICogYW5kIHRoZSBiYWNrZW5kIGZ1bmN0aW9uYWxpdHlcbiAgICovXG4gIGNvbmZpZzogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+IHwgU2FuaXRpemVkQ29uZmlnXG4gIC8qKlxuICAgKiBEaXNhYmxlIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlIG9uIGluaXRcbiAgICovXG4gIGRpc2FibGVEQkNvbm5lY3Q/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIERpc2FibGUgcnVubmluZyBvZiB0aGUgYG9uSW5pdGAgZnVuY3Rpb25cbiAgICovXG4gIGRpc2FibGVPbkluaXQ/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIFBheWxvYWQncyBlbWFpbCBmdW5jdGlvbmFsaXR5XG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2VtYWlsL292ZXJ2aWV3XG4gICAqL1xuICBlbWFpbD86IEVtYWlsT3B0aW9uc1xuXG4gIC8qKlxuICAgKiBBIHByZXZpb3VzbHkgaW5zdGFudGlhdGVkIGxvZ2dlciBpbnN0YW5jZS4gTXVzdCBjb25mb3JtIHRvIHRoZSBQYXlsb2FkTG9nZ2VyIGludGVyZmFjZSB3aGljaCB1c2VzIFBpbm9cbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIGJyaW5nIHlvdXIgb3duIGxvZ2dlciBpbnN0YW5jZSBhbmQgbGV0IHBheWxvYWQgdXNlIGl0XG4gICAqL1xuICBsb2dnZXI/OiBQYXlsb2FkTG9nZ2VyXG5cbiAgbG9nZ2VyRGVzdGluYXRpb24/OiBEZXN0aW5hdGlvblN0cmVhbVxuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IG9wdGlvbnMgZm9yIHRoZSBidWlsdC1pbiBQaW5vIGxvZ2dlciB0aGF0IFBheWxvYWQgdXNlcyBmb3IgaW50ZXJuYWwgbG9nZ2luZy5cbiAgICpcbiAgICogU2VlIFBpbm8gRG9jcyBmb3Igb3B0aW9uczogaHR0cHM6Ly9nZXRwaW5vLmlvLyMvZG9jcy9hcGk/aWQ9b3B0aW9uc1xuICAgKi9cbiAgbG9nZ2VyT3B0aW9ucz86IExvZ2dlck9wdGlvbnNcbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHN0YXJ0dXAgdGhhdCByZWNlaXZlcyB0aGUgUGF5bG9hZCBpbnN0YW5jZSBhcyBpdCdzIG9ubHkgYXJndW1lbnQuXG4gICAqL1xuICBvbkluaXQ/OiAocGF5bG9hZDogUGF5bG9hZCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWRcbn1cblxuLyoqXG4gKiBUaGlzIHJlc3VsdCBpcyBjYWxjdWxhdGVkIG9uIHRoZSBzZXJ2ZXJcbiAqIGFuZCB0aGVuIHNlbnQgdG8gdGhlIGNsaWVudCBhbGxvd2luZyB0aGUgZGFzaGJvYXJkIHRvIHNob3cgYWNjZXNzaWJsZSBkYXRhIGFuZCBhY3Rpb25zLlxuICpcbiAqIElmIHRoZSByZXN1bHQgaXMgYHRydWVgLCB0aGUgdXNlciBoYXMgYWNjZXNzLlxuICogSWYgdGhlIHJlc3VsdCBpcyBhbiBvYmplY3QsIGl0IGlzIGludGVycHJldGVkIGFzIGEgTW9uZ29EQiBxdWVyeS5cbiAqXG4gKiBAZXhhbXBsZSBgeyBjcmVhdGVkQnk6IHsgZXF1YWxzOiBpZCB9IH1gXG4gKlxuICogQGV4YW1wbGUgYHsgdGVuYW50OiB7IGluOiB0ZW5hbnRJZHMgfSB9YFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FjY2Vzcy1jb250cm9sL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIEFjY2Vzc1Jlc3VsdCA9IFdoZXJlIHwgYm9vbGVhblxuXG5leHBvcnQgdHlwZSBBY2Nlc3NBcmdzPFQgPSBhbnksIFUgPSBhbnk+ID0ge1xuICAvKipcbiAgICogVGhlIHJlbGV2YW50IHJlc291cmNlIHRoYXQgaXMgYmVpbmcgYWNjZXNzZWQuXG4gICAqXG4gICAqIGBkYXRhYCBpcyBudWxsIHdoZW4gYSBsaXN0IGlzIHJlcXVlc3RlZFxuICAgKi9cbiAgZGF0YT86IFRcbiAgLyoqIElEIG9mIHRoZSByZXNvdXJjZSBiZWluZyBhY2Nlc3NlZCAqL1xuICBpZD86IG51bWJlciB8IHN0cmluZ1xuICAvKiogSWYgdHJ1ZSwgdGhlIHJlcXVlc3QgaXMgZm9yIGEgc3RhdGljIGZpbGUgKi9cbiAgaXNSZWFkaW5nU3RhdGljRmlsZT86IGJvb2xlYW5cbiAgLyoqIFRoZSBvcmlnaW5hbCByZXF1ZXN0IHRoYXQgcmVxdWlyZXMgYW4gYWNjZXNzIGNoZWNrICovXG4gIHJlcTogUGF5bG9hZFJlcXVlc3Q8VT5cbn1cblxuLyoqXG4gKiBBY2Nlc3MgZnVuY3Rpb24gcnVucyBvbiB0aGUgc2VydmVyXG4gKiBhbmQgaXMgc2VudCB0byB0aGUgY2xpZW50IGFsbG93aW5nIHRoZSBkYXNoYm9hcmQgdG8gc2hvdyBhY2Nlc3NpYmxlIGRhdGEgYW5kIGFjdGlvbnMuXG4gKlxuICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvYWNjZXNzLWNvbnRyb2wvb3ZlcnZpZXdcbiAqL1xuZXhwb3J0IHR5cGUgQWNjZXNzPFQgPSBhbnksIFUgPSBhbnk+ID0gKFxuICBhcmdzOiBBY2Nlc3NBcmdzPFQsIFU+LFxuKSA9PiBBY2Nlc3NSZXN1bHQgfCBQcm9taXNlPEFjY2Vzc1Jlc3VsdD5cblxuLyoqIFdlYiBSZXF1ZXN0L1Jlc3BvbnNlIG1vZGVsLCBidXQgdGhlIHRoZSByZXEgaGFzIG1vcmUgcGF5bG9hZCBzcGVjaWZpYyBwcm9wZXJ0aWVzIGFkZGVkIHRvIGl0LiAqL1xuZXhwb3J0IHR5cGUgUGF5bG9hZEhhbmRsZXIgPSAocmVxOiBQYXlsb2FkUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXNwb25zZT4gfCBSZXNwb25zZVxuXG4vKipcbiAqIERvY3M6IGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9yZXN0LWFwaS9vdmVydmlldyNjdXN0b20tZW5kcG9pbnRzXG4gKi9cbmV4cG9ydCB0eXBlIEVuZHBvaW50PFUgPSBVc2VyPiA9IHtcbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuXG4gIC8qKlxuICAgKiBNaWRkbGV3YXJlIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgcGF0aC9tZXRob2QgbWF0Y2hlc1xuICAgKlxuICAgKiBDb21wYXRpYmxlIHdpdGggV2ViIFJlcXVlc3QvUmVzcG9uc2UgTW9kZWxcbiAgICovXG4gIGhhbmRsZXI6IFBheWxvYWRIYW5kbGVyXG4gIC8qKiBIVFRQIG1ldGhvZCAob3IgXCJhbGxcIikgKi9cbiAgbWV0aG9kOiAnY29ubmVjdCcgfCAnZGVsZXRlJyB8ICdnZXQnIHwgJ2hlYWQnIHwgJ29wdGlvbnMnIHwgJ3BhdGNoJyB8ICdwb3N0JyB8ICdwdXQnXG4gIC8qKlxuICAgKiBQYXR0ZXJuIHRoYXQgc2hvdWxkIG1hdGNoIHRoZSBwYXRoIG9mIHRoZSBpbmNvbWluZyByZXF1ZXN0XG4gICAqXG4gICAqIENvbXBhdGlibGUgd2l0aCB0aGUgRXhwcmVzcyByb3V0ZXJcbiAgICovXG4gIHBhdGg6IHN0cmluZ1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgaW4gMy4wXG4gICAqXG4gICAqIFBsZWFzZSBhZGQgXCJyb290XCIgcm91dGVzIHVuZGVyIHRoZSAvYXBpIGZvbGRlciBpbiB0aGUgUGF5bG9hZCBQcm9qZWN0LlxuICAgKiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9maWxlLWNvbnZlbnRpb25zL3JvdXRlXG4gICAqL1xuICByb290PzogbmV2ZXJcbn1cblxuZXhwb3J0IHR5cGUgRWRpdFZpZXdDb21wb25lbnQgPSBSZWFjdC5Db21wb25lbnRUeXBlPFNlcnZlclNpZGVFZGl0Vmlld1Byb3BzPlxuXG5leHBvcnQgdHlwZSBFZGl0Vmlld0NvbmZpZyA9XG4gIHwge1xuICAgICAgLyoqXG4gICAgICAgKiBBZGQgYSBuZXcgRWRpdCB2aWV3IHRvIHRoZSBhZG1pbiBwYW5lbFxuICAgICAgICogaS5lLiB5b3UgY2FuIHJlbmRlciBhIGN1c3RvbSB2aWV3IHRoYXQgaGFzIG5vIHRhYiwgaWYgZGVzaXJlZFxuICAgICAgICogT3Igb3ZlcnJpZGUgYSBzcGVjaWZpYyBwcm9wZXJ0aWVzIG9mIGFuIGV4aXN0aW5nIG9uZVxuICAgICAgICogaS5lLiB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgYERlZmF1bHRgIHZpZXcgdGFiIGxhYmVsLCBpZiBkZXNpcmVkXG4gICAgICAgKi9cbiAgICAgIFRhYj86IERvY3VtZW50VGFiXG4gICAgICBwYXRoPzogc3RyaW5nXG4gICAgfVxuICB8IHtcbiAgICAgIENvbXBvbmVudDogRWRpdFZpZXdDb21wb25lbnRcbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgIH1cbiAgfCB7XG4gICAgICBhY3Rpb25zPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICB9XG5cbi8qKlxuICogT3ZlcnJpZGUgZXhpc3Rpbmcgdmlld3NcbiAqIGkuZS4gRGFzaGJvYXJkLCBBY2NvdW50LCBBUEksIExpdmVQcmV2aWV3LCBldGMuXG4gKiBQYXRoIGlzIG5vdCBhdmFpbGFibGUgaGVyZVxuICogQWxsIFRhYiBwcm9wZXJ0aWVzIGJlY29tZSBvcHRpb25hbFxuICogaS5lLiB5b3UgY2FuIGNoYW5nZSBqdXN0IHRoZSBsYWJlbCwgaWYgZGVzaXJlZFxuICovXG5leHBvcnQgdHlwZSBFZGl0VmlldyA9IEVkaXRWaWV3Q29tcG9uZW50IHwgRWRpdFZpZXdDb25maWdcblxuZXhwb3J0IHR5cGUgTG9jYWxlID0ge1xuICAvKipcbiAgICogdmFsdWUgb2Ygc3VwcG9ydGVkIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBcImVuXCJcbiAgICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKipcbiAgICogQ29kZSBvZiBhbm90aGVyIGxvY2FsZSB0byB1c2Ugd2hlbiByZWFkaW5nIGRvY3VtZW50cyB3aXRoIGZhbGxiYWNrLCBpZiBub3Qgc3BlY2lmaWVkIGRlZmF1bHRMb2NhbGUgaXMgdXNlZFxuICAgKi9cbiAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIGxhYmVsIG9mIHN1cHBvcnRlZCBsb2NhbGVcbiAgICogQGV4YW1wbGUgXCJFbmdsaXNoXCJcbiAgICovXG4gIGxhYmVsOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgc3RyaW5nXG4gIC8qKlxuICAgKiBpZiB0cnVlLCBkZWZhdWx0cyB0ZXh0QWxpZ21uZW50IG9uIHRleHQgZmllbGRzIHRvIFJUTFxuICAgKi9cbiAgcnRsPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBCYXNlTG9jYWxpemF0aW9uQ29uZmlnID0ge1xuICAvKipcbiAgICogTG9jYWxlIGZvciB1c2VycyB0aGF0IGhhdmUgbm90IGV4cHJlc3NlZCB0aGVpciBwcmVmZXJlbmNlIGZvciBhIHNwZWNpZmljIGxvY2FsZVxuICAgKiBAZXhhbXBsZSBgXCJlblwiYFxuICAgKi9cbiAgZGVmYXVsdExvY2FsZTogc3RyaW5nXG4gIC8qKiBTZXQgdG8gYHRydWVgIHRvIGxldCBtaXNzaW5nIHZhbHVlcyBpbiBsb2NhbGlzZWQgZmllbGRzIGZhbGwgYmFjayB0byB0aGUgdmFsdWVzIGluIGBkZWZhdWx0TG9jYWxlYCAqL1xuICBmYWxsYmFjaz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgTG9jYWxpemF0aW9uQ29uZmlnV2l0aE5vTGFiZWxzID0gUHJldHRpZnk8XG4gIEJhc2VMb2NhbGl6YXRpb25Db25maWcgJiB7XG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBzdXBwb3J0ZWQgbG9jYWxlc1xuICAgICAqIEBleGFtcGxlIGBbXCJlblwiLCBcImVzXCIsIFwiZnJcIiwgXCJubFwiLCBcImRlXCIsIFwianBcIl1gXG4gICAgICovXG4gICAgbG9jYWxlczogc3RyaW5nW11cbiAgfVxuPlxuXG5leHBvcnQgdHlwZSBMb2NhbGl6YXRpb25Db25maWdXaXRoTGFiZWxzID0gUHJldHRpZnk8XG4gIEJhc2VMb2NhbGl6YXRpb25Db25maWcgJiB7XG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBzdXBwb3J0ZWQgbG9jYWxlcyB3aXRoIGxhYmVsc1xuICAgICAqIEBleGFtcGxlIHtcbiAgICAgKiAgbGFiZWw6ICdFbmdsaXNoJyxcbiAgICAgKiAgdmFsdWU6ICdlbicsXG4gICAgICogIHJ0bDogZmFsc2VcbiAgICAgKiB9XG4gICAgICovXG4gICAgbG9jYWxlczogTG9jYWxlW11cbiAgfVxuPlxuXG5leHBvcnQgdHlwZSBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgPSBQcmV0dGlmeTxcbiAgTG9jYWxpemF0aW9uQ29uZmlnV2l0aExhYmVscyAmIHtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIHN1cHBvcnRlZCBsb2NhbGVzXG4gICAgICogQGV4YW1wbGUgYFtcImVuXCIsIFwiZXNcIiwgXCJmclwiLCBcIm5sXCIsIFwiZGVcIiwgXCJqcFwiXWBcbiAgICAgKi9cbiAgICBsb2NhbGVDb2Rlczogc3RyaW5nW11cbiAgfVxuPlxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2NvbmZpZ3VyYXRpb24vbG9jYWxpemF0aW9uI2xvY2FsaXphdGlvblxuICovXG5leHBvcnQgdHlwZSBMb2NhbGl6YXRpb25Db25maWcgPSBQcmV0dGlmeTxcbiAgTG9jYWxpemF0aW9uQ29uZmlnV2l0aExhYmVscyB8IExvY2FsaXphdGlvbkNvbmZpZ1dpdGhOb0xhYmVsc1xuPlxuXG5leHBvcnQgdHlwZSBTaGFycERlcGVuZGVuY3kgPSAoXG4gIGlucHV0PzpcbiAgICB8IEFycmF5QnVmZmVyXG4gICAgfCBCdWZmZXJcbiAgICB8IEZsb2F0MzJBcnJheVxuICAgIHwgRmxvYXQ2NEFycmF5XG4gICAgfCBJbnQ4QXJyYXlcbiAgICB8IEludDE2QXJyYXlcbiAgICB8IEludDMyQXJyYXlcbiAgICB8IFVpbnQ4QXJyYXlcbiAgICB8IFVpbnQ4Q2xhbXBlZEFycmF5XG4gICAgfCBVaW50MTZBcnJheVxuICAgIHwgVWludDMyQXJyYXlcbiAgICB8IHN0cmluZyxcbiAgb3B0aW9ucz86IHNoYXJwLlNoYXJwT3B0aW9ucyxcbikgPT4gc2hhcnAuU2hhcnBcblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBjZW50cmFsIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL292ZXJ2aWV3XG4gKi9cbmV4cG9ydCB0eXBlIENvbmZpZyA9IHtcbiAgLyoqIENvbmZpZ3VyZSBhZG1pbiBkYXNoYm9hcmQgKi9cbiAgYWRtaW4/OiB7XG4gICAgLyoqIEF1dG9tYXRpY2FsbHkgbG9nIGluIGFzIGEgdXNlciB3aGVuIHZpc2l0aW5nIHRoZSBhZG1pbiBkYXNoYm9hcmQuICovXG4gICAgYXV0b0xvZ2luPzpcbiAgICAgIHwge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSB1c2VyIHRvIGxvZ2luIGFzXG4gICAgICAgICAgICpcbiAgICAgICAgICAgKi9cbiAgICAgICAgICBlbWFpbDogc3RyaW5nXG4gICAgICAgICAgLyoqIFRoZSBwYXNzd29yZCBvZiB0aGUgdXNlciB0byBsb2dpbiBhcyAqL1xuICAgICAgICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIGxvZ2luIGNyZWRlbnRpYWxzIHdpbGwgYmUgcHJlZmlsbGVkIGJ1dCB0aGUgdXNlciB3aWxsIHN0aWxsIG5lZWQgdG8gY2xpY2sgdGhlIGxvZ2luIGJ1dHRvbi5cbiAgICAgICAgICAgKlxuICAgICAgICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICAgICAgICovXG4gICAgICAgICAgcHJlZmlsbE9ubHk/OiBib29sZWFuXG4gICAgICAgIH1cbiAgICAgIHwgZmFsc2VcblxuICAgIC8qKiBTZXQgYWNjb3VudCBwcm9maWxlIHBpY3R1cmUuIE9wdGlvbnM6IGdyYXZhdGFyLCBkZWZhdWx0IG9yIGEgY3VzdG9tIFJlYWN0IGNvbXBvbmVudC4gKi9cbiAgICBhdmF0YXI/OiAnZGVmYXVsdCcgfCAnZ3JhdmF0YXInIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgLyoqXG4gICAgICogU3BlY2lmeSBhbiBhYnNvbHV0ZSBwYXRoIGZvciB3aGVyZSB0byBzdG9yZSB0aGUgYnVpbHQgQWRtaW4gcGFuZWwgYnVuZGxlIHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiL2J1aWxkXCJcbiAgICAgKiAqL1xuICAgIGJ1aWxkUGF0aD86IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEFkZCBleHRyYSBhbmQvb3IgcmVwbGFjZSBidWlsdC1pbiBjb21wb25lbnRzIHdpdGggY3VzdG9tIGNvbXBvbmVudHNcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2FkbWluL2NvbXBvbmVudHNcbiAgICAgKi9cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgLyoqXG4gICAgICAgKiBSZXBsYWNlIHRoZSBuYXZpZ2F0aW9uIHdpdGggYSBjdXN0b20gY29tcG9uZW50XG4gICAgICAgKi9cbiAgICAgIE5hdj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgdG8gdGhlIHRvcCByaWdodCBvZiB0aGUgQWRtaW4gUGFuZWxcbiAgICAgICAqL1xuICAgICAgYWN0aW9ucz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBhZnRlckRhc2hib2FyZD86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgZW1haWwvcGFzc3dvcmQgZmllbGRcbiAgICAgICAqL1xuICAgICAgYWZ0ZXJMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBhZnRlciB0aGUgbmF2aWdhdGlvbiBsaW5rc1xuICAgICAgICovXG4gICAgICBhZnRlck5hdkxpbmtzPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+W11cbiAgICAgIC8qKlxuICAgICAgICogQWRkIGN1c3RvbSBjb21wb25lbnRzIGJlZm9yZSB0aGUgY29sbGVjdGlvbiBvdmVydmlld1xuICAgICAgICovXG4gICAgICBiZWZvcmVEYXNoYm9hcmQ/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqXG4gICAgICAgKiBBZGQgY3VzdG9tIGNvbXBvbmVudHMgYmVmb3JlIHRoZSBlbWFpbC9wYXNzd29yZCBmaWVsZFxuICAgICAgICovXG4gICAgICBiZWZvcmVMb2dpbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdXG4gICAgICAvKipcbiAgICAgICAqIEFkZCBjdXN0b20gY29tcG9uZW50cyBiZWZvcmUgdGhlIG5hdmlnYXRpb24gbGlua3NcbiAgICAgICAqL1xuICAgICAgYmVmb3JlTmF2TGlua3M/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXVxuICAgICAgLyoqIFJlcGxhY2UgZ3JhcGhpY2FsIGNvbXBvbmVudHMgKi9cbiAgICAgIGdyYXBoaWNzPzoge1xuICAgICAgICAvKiogUmVwbGFjZSB0aGUgaWNvbiBpbiB0aGUgbmF2aWdhdGlvbiAqL1xuICAgICAgICBJY29uPzogUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gICAgICAgIC8qKiBSZXBsYWNlIHRoZSBsb2dvIG9uIHRoZSBsb2dpbiBwYWdlICovXG4gICAgICAgIExvZ28/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5cbiAgICAgIH1cbiAgICAgIC8qKiBSZXBsYWNlIGxvZ291dCByZWxhdGVkIGNvbXBvbmVudHMgKi9cbiAgICAgIGxvZ291dD86IHtcbiAgICAgICAgLyoqIFJlcGxhY2UgdGhlIGxvZ291dCBidXR0b24gICovXG4gICAgICAgIEJ1dHRvbj86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PlxuICAgICAgfVxuICAgICAgLyoqXG4gICAgICAgKiBXcmFwIHRoZSBhZG1pbiBkYXNoYm9hcmQgaW4gY3VzdG9tIGNvbnRleHQgcHJvdmlkZXJzXG4gICAgICAgKi9cbiAgICAgIHByb3ZpZGVycz86IFJlYWN0LkNvbXBvbmVudFR5cGU8eyBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSB9PltdXG4gICAgICAvKipcbiAgICAgICAqIFJlcGxhY2Ugb3IgbW9kaWZ5IHRvcC1sZXZlbCBhZG1pbiByb3V0ZXMsIG9yIGFkZCBuZXcgb25lczpcbiAgICAgICAqICsgYEFjY291bnRgIC0gYC9hZG1pbi9hY2NvdW50YFxuICAgICAgICogKyBgRGFzaGJvYXJkYCAtIGAvYWRtaW5gXG4gICAgICAgKiArIGA6cGF0aGAgLSBgL2FkbWluLzpwYXRoYFxuICAgICAgICovXG4gICAgICB2aWV3cz86IHtcbiAgICAgICAgLyoqIEFkZCBjdXN0b20gYWRtaW4gdmlld3MgKi9cbiAgICAgICAgW2tleTogc3RyaW5nXTogQWRtaW5WaWV3XG4gICAgICAgIC8qKiBSZXBsYWNlIHRoZSBhY2NvdW50IHNjcmVlbiAqL1xuICAgICAgICBBY2NvdW50PzogQWRtaW5WaWV3XG4gICAgICAgIC8qKiBSZXBsYWNlIHRoZSBhZG1pbiBob21lcGFnZSAqL1xuICAgICAgICBEYXNoYm9hcmQ/OiBBZG1pblZpZXdcbiAgICAgIH1cbiAgICB9XG4gICAgLyoqIEdsb2JhbCBkYXRlIGZvcm1hdCB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYWxsIGRhdGVzIGluIHRoZSBBZG1pbiBwYW5lbC4gQW55IHZhbGlkIGRhdGUtZm5zIGZvcm1hdCBwYXR0ZXJuIGNhbiBiZSB1c2VkLiAqL1xuICAgIGRhdGVGb3JtYXQ/OiBzdHJpbmdcbiAgICAvKiogSWYgc2V0IHRvIHRydWUsIHRoZSBlbnRpcmUgQWRtaW4gcGFuZWwgd2lsbCBiZSBkaXNhYmxlZC4gKi9cbiAgICBkaXNhYmxlPzogYm9vbGVhblxuICAgIC8qKiBUaGUgcm91dGUgdGhlIHVzZXIgd2lsbCBiZSByZWRpcmVjdGVkIHRvIGFmdGVyIGJlaW5nIGluYWN0aXZlIGZvciB0b28gbG9uZy4gKi9cbiAgICBpbmFjdGl2aXR5Um91dGU/OiBzdHJpbmdcbiAgICBsaXZlUHJldmlldz86IExpdmVQcmV2aWV3Q29uZmlnICYge1xuICAgICAgY29sbGVjdGlvbnM/OiBzdHJpbmdbXVxuICAgICAgZ2xvYmFscz86IHN0cmluZ1tdXG4gICAgfVxuICAgIC8qKiBUaGUgcm91dGUgZm9yIHRoZSBsb2dvdXQgcGFnZS4gKi9cbiAgICBsb2dvdXRSb3V0ZT86IHN0cmluZ1xuICAgIC8qKiBCYXNlIG1ldGEgZGF0YSB0byB1c2UgZm9yIHRoZSBBZG1pbiBwYW5lbC4gSW5jbHVkZWQgcHJvcGVydGllcyBhcmUgdGl0bGVTdWZmaXgsIG9nSW1hZ2UsIGFuZCBmYXZpY29uLiAqL1xuICAgIG1ldGE/OiB7XG4gICAgICAvKipcbiAgICAgICAqIFB1YmxpYyBwYXRoIHRvIGFuIGljb25cbiAgICAgICAqXG4gICAgICAgKiBUaGlzIGltYWdlIG1heSBiZSBkaXNwbGF5ZWQgaW4gdGhlIGJyb3dzZXIgbmV4dCB0byB0aGUgdGl0bGUgb2YgdGhlIHBhZ2VcbiAgICAgICAqL1xuICAgICAgZmF2aWNvbj86IHN0cmluZ1xuICAgICAgLyoqXG4gICAgICAgKiBQdWJsaWMgcGF0aCB0byBhbiBpbWFnZVxuICAgICAgICpcbiAgICAgICAqIFRoaXMgaW1hZ2UgbWF5IGJlIGRpc3BsYXllZCBhcyBwcmV2aWV3IHdoZW4gdGhlIGxpbmsgaXMgc2hhcmVkIG9uIHNvY2lhbCBtZWRpYVxuICAgICAgICovXG4gICAgICBvZ0ltYWdlPzogc3RyaW5nXG4gICAgICAvKipcbiAgICAgICAqIFN0cmluZyB0byBhcHBlbmQgdG8gdGhlIDx0aXRsZT4gb2YgYWRtaW4gcGFnZXNcbiAgICAgICAqIEBleGFtcGxlIGBcIiAtIE15IEJyYW5kXCJgXG4gICAgICAgKi9cbiAgICAgIHRpdGxlU3VmZml4Pzogc3RyaW5nXG4gICAgfVxuICAgIC8qKiBUaGUgc2x1ZyBvZiBhIENvbGxlY3Rpb24gdGhhdCB5b3Ugd2FudCBiZSB1c2VkIHRvIGxvZyBpbiB0byB0aGUgQWRtaW4gZGFzaGJvYXJkLiAqL1xuICAgIHVzZXI/OiBzdHJpbmdcbiAgfVxuICAvKiogQ3VzdG9tIFBheWxvYWQgYmluIHNjcmlwdHMgY2FuIGJlIGluamVjdGVkIHZpYSB0aGUgY29uZmlnLiAqL1xuICBiaW4/OiBCaW5TY3JpcHRDb25maWdbXVxuICAvKipcbiAgICogTWFuYWdlIHRoZSBkYXRhbW9kZWwgb2YgeW91ciBhcHBsaWNhdGlvblxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL2NvbGxlY3Rpb25zI2NvbGxlY3Rpb24tY29uZmlnc1xuICAgKi9cbiAgY29sbGVjdGlvbnM/OiBDb2xsZWN0aW9uQ29uZmlnW11cbiAgLyoqXG4gICAqIFJlcGxhY2UgdGhlIGJ1aWx0LWluIGNvbXBvbmVudHMgd2l0aCBjdXN0b20gb25lc1xuICAgKi9cbiAgY29tcG9uZW50cz86IHsgW2tleTogc3RyaW5nXTogKCgpID0+IEpTWC5FbGVtZW50KSB8IEpTWC5FbGVtZW50IH1cbiAgLyoqXG4gICAqIFByZWZpeCBhIHN0cmluZyB0byBhbGwgY29va2llcyB0aGF0IFBheWxvYWQgc2V0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJwYXlsb2FkXCJcbiAgICovXG4gIGNvb2tpZVByZWZpeD86IHN0cmluZ1xuICAvKiogRWl0aGVyIGEgd2hpdGVsaXN0IGFycmF5IG9mIFVSTFMgdG8gYWxsb3cgQ09SUyByZXF1ZXN0cyBmcm9tLCBvciBhIHdpbGRjYXJkIHN0cmluZyAoJyonKSB0byBhY2NlcHQgaW5jb21pbmcgcmVxdWVzdHMgZnJvbSBhbnkgZG9tYWluLiAqL1xuICBjb3JzPzogJyonIHwgc3RyaW5nW11cbiAgLyoqIEEgd2hpdGVsaXN0IGFycmF5IG9mIFVSTHMgdG8gYWxsb3cgUGF5bG9hZCBjb29raWVzIHRvIGJlIGFjY2VwdGVkIGZyb20gYXMgYSBmb3JtIG9mIENTUkYgcHJvdGVjdGlvbi4gKi9cbiAgY3NyZj86IHN0cmluZ1tdXG5cbiAgLyoqIEV4dGVuc2lvbiBwb2ludCB0byBhZGQgeW91ciBjdXN0b20gZGF0YS4gKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgYW55PlxuXG4gIC8qKiBQYXNzIGluIGEgZGF0YWJhc2UgYWRhcHRlciBmb3IgdXNlIG9uIHRoaXMgcHJvamVjdC4gKi9cbiAgZGI6IERhdGFiYXNlQWRhcHRlclJlc3VsdFxuICAvKiogRW5hYmxlIHRvIGV4cG9zZSBtb3JlIGRldGFpbGVkIGVycm9yIGluZm9ybWF0aW9uLiAqL1xuICBkZWJ1Zz86IGJvb2xlYW5cbiAgLyoqXG4gICAqIElmIGEgdXNlciBkb2VzIG5vdCBzcGVjaWZ5IGBkZXB0aGAgd2hpbGUgcmVxdWVzdGluZyBhIHJlc291cmNlLCB0aGlzIGRlcHRoIHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvZ2V0dGluZy1zdGFydGVkL2NvbmNlcHRzI2RlcHRoXG4gICAqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIGRlZmF1bHREZXB0aD86IG51bWJlclxuICAvKipcbiAgICogVGhlIG1heGltdW0gYWxsb3dlZCBkZXB0aCB0byBiZSBwZXJtaXR0ZWQgYXBwbGljYXRpb24td2lkZS4gVGhpcyBzZXR0aW5nIGhlbHBzIHByZXZlbnQgYWdhaW5zdCBtYWxpY2lvdXMgcXVlcmllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgNDAwMDBcbiAgICovXG4gIGRlZmF1bHRNYXhUZXh0TGVuZ3RoPzogbnVtYmVyXG4gIC8qKiBEZWZhdWx0IHJpY2h0ZXh0IGVkaXRvciB0byB1c2UgZm9yIHJpY2hUZXh0IGZpZWxkcyAqL1xuICBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlcjxhbnksIGFueSwgYW55PlxuICAvKipcbiAgICogRW1haWwgY29uZmlndXJhdGlvbiBvcHRpb25zLiBUaGlzIHZhbHVlIGlzIG92ZXJyaWRkZW4gYnkgYGVtYWlsYCBpbiBQYXlsb2FkLmluaXQgaWYgcGFzc2VkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9lbWFpbC9vdmVydmlld1xuICAgKi9cbiAgZW1haWw/OiBFbWFpbE9wdGlvbnNcbiAgLyoqIEN1c3RvbSBSRVNUIGVuZHBvaW50cyAqL1xuICBlbmRwb2ludHM/OiBFbmRwb2ludFtdXG4gIC8qKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9jb25maWd1cmF0aW9uL2dsb2JhbHMjZ2xvYmFsLWNvbmZpZ3NcbiAgICovXG4gIGdsb2JhbHM/OiBHbG9iYWxDb25maWdbXVxuICAvKipcbiAgICogTWFuYWdlIHRoZSBHcmFwaFFMIEFQSVxuICAgKlxuICAgKiBZb3UgY2FuIGFkZCB5b3VyIG93biBHcmFwaFFMIHF1ZXJpZXMgYW5kIG11dGF0aW9ucyB0byBQYXlsb2FkLCBtYWtpbmcgdXNlIG9mIGFsbCB0aGUgdHlwZXMgdGhhdCBQYXlsb2FkIGhhcyBkZWZpbmVkIGZvciB5b3UuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2dyYXBocWwvb3ZlcnZpZXdcbiAgICovXG4gIGdyYXBoUUw/OiB7XG4gICAgZGlzYWJsZT86IGJvb2xlYW5cbiAgICBkaXNhYmxlUGxheWdyb3VuZEluUHJvZHVjdGlvbj86IGJvb2xlYW5cbiAgICBtYXhDb21wbGV4aXR5PzogbnVtYmVyXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIGtleXMgdG8gY3VzdG9tIEdyYXBoUUwgbXV0YXRpb25zXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9ncmFwaHFsL2V4dGVuZGluZ1xuICAgICAqL1xuICAgIG11dGF0aW9ucz86IEdyYXBoUUxFeHRlbnNpb25cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcga2V5cyB0byBjdXN0b20gR3JhcGhRTCBxdWVyaWVzXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9ncmFwaHFsL2V4dGVuZGluZ1xuICAgICAqL1xuICAgIHF1ZXJpZXM/OiBHcmFwaFFMRXh0ZW5zaW9uXG4gICAgc2NoZW1hT3V0cHV0RmlsZT86IHN0cmluZ1xuICB9XG4gIC8qKlxuICAgKiBUYXAgaW50byBQYXlsb2FkLXdpZGUgaG9va3MuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9wYXlsb2FkY21zLmNvbS9kb2NzL2hvb2tzL292ZXJ2aWV3XG4gICAqL1xuICBob29rcz86IHtcbiAgICBhZnRlckVycm9yPzogQWZ0ZXJFcnJvckhvb2tcbiAgfVxuICAvKiogaTE4biBjb25maWcgc2V0dGluZ3MgKi9cbiAgaTE4bj86IEkxOG5PcHRpb25zXG4gIC8qKiBBdXRvbWF0aWNhbGx5IGluZGV4IGFsbCBzb3J0YWJsZSB0b3AtbGV2ZWwgZmllbGRzIGluIHRoZSBkYXRhYmFzZSB0byBpbXByb3ZlIHNvcnQgcGVyZm9ybWFuY2UgYW5kIGFkZCBkYXRhYmFzZSBjb21wYXRpYmlsaXR5IGZvciBBenVyZSBDb3Ntb3MgYW5kIHNpbWlsYXIuICovXG4gIGluZGV4U29ydGFibGVGaWVsZHM/OiBib29sZWFuXG4gIC8qKlxuICAgKiBUcmFuc2xhdGUgeW91ciBjb250ZW50IHRvIGRpZmZlcmVudCBsYW5ndWFnZXMvbG9jYWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLy8gZGlzYWJsZSBsb2NhbGl6YXRpb25cbiAgICovXG4gIGxvY2FsaXphdGlvbj86IExvY2FsaXphdGlvbkNvbmZpZyB8IGZhbHNlXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbGxvd2VkIGRlcHRoIHRvIGJlIHBlcm1pdHRlZCBhcHBsaWNhdGlvbi13aWRlLiBUaGlzIHNldHRpbmcgaGVscHMgcHJldmVudCBhZ2FpbnN0IG1hbGljaW91cyBxdWVyaWVzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9nZXR0aW5nLXN0YXJ0ZWQvY29uY2VwdHMjZGVwdGhcbiAgICpcbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIC8qKiBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIGltbWVkaWF0ZWx5IGZvbGxvd2luZyBzdGFydHVwIHRoYXQgcmVjZWl2ZXMgdGhlIFBheWxvYWQgaW5zdGFuY2UgYXMgaXRzIG9ubHkgYXJndW1lbnQuICovXG4gIG9uSW5pdD86IChwYXlsb2FkOiBQYXlsb2FkKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZFxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgUGF5bG9hZCBwbHVnaW5zLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vcGF5bG9hZGNtcy5jb20vZG9jcy9wbHVnaW5zL292ZXJ2aWV3XG4gICAqL1xuICBwbHVnaW5zPzogUGx1Z2luW11cbiAgLyoqIENvbnRyb2wgdGhlIHJvdXRpbmcgc3RydWN0dXJlIHRoYXQgUGF5bG9hZCBiaW5kcyBpdHNlbGYgdG8uICovXG4gIHJvdXRlcz86IHtcbiAgICAvKiogQGRlZmF1bHQgXCIvYWRtaW5cIiAqL1xuICAgIGFkbWluPzogc3RyaW5nXG4gICAgLyoqIEBkZWZhdWx0IFwiL2FwaVwiICAqL1xuICAgIGFwaT86IHN0cmluZ1xuICAgIC8qKiBAZGVmYXVsdCBcIi9ncmFwaHFsXCIgICovXG4gICAgZ3JhcGhRTD86IHN0cmluZ1xuICAgIC8qKiBAZGVmYXVsdCBcIi9ncmFwaHFsLXBsYXlncm91bmRcIiAqL1xuICAgIGdyYXBoUUxQbGF5Z3JvdW5kPzogc3RyaW5nXG4gIH1cbiAgLyoqIFNlY3VyZSBzdHJpbmcgdGhhdCBQYXlsb2FkIHdpbGwgdXNlIGZvciBhbnkgZW5jcnlwdGlvbiB3b3JrZmxvd3MgKi9cbiAgc2VjcmV0OiBzdHJpbmdcbiAgLyoqXG4gICAqIERlZmluZSB0aGUgYWJzb2x1dGUgVVJMIG9mIHlvdXIgYXBwIGluY2x1ZGluZyB0aGUgcHJvdG9jb2wsIGZvciBleGFtcGxlIGBodHRwczovL2V4YW1wbGUub3JnYC5cbiAgICogTm8gcGF0aHMgYWxsb3dlZCwgb25seSBwcm90b2NvbCwgZG9tYWluIGFuZCAob3B0aW9uYWxseSkgcG9ydC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL3BheWxvYWRjbXMuY29tL2RvY3MvY29uZmlndXJhdGlvbi9vdmVydmlldyNvcHRpb25zXG4gICAqL1xuICBzZXJ2ZXJVUkw/OiBzdHJpbmdcbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBsb2NhbCBjb3B5IG9mIFNoYXJwIGlmIHlvdSdkIGxpa2UgdG8gdXNlIGl0LlxuICAgKlxuICAgKi9cbiAgc2hhcnA/OiBTaGFycERlcGVuZGVuY3lcbiAgLyoqIFNlbmQgYW5vbnltb3VzIHRlbGVtZXRyeSBkYXRhIGFib3V0IGdlbmVyYWwgdXNhZ2UuICovXG4gIHRlbGVtZXRyeT86IGJvb2xlYW5cbiAgLyoqIENvbnRyb2wgaG93IHR5cGVzY3JpcHQgaW50ZXJmYWNlcyBhcmUgZ2VuZXJhdGVkIGZyb20geW91ciBjb2xsZWN0aW9ucy4gKi9cbiAgdHlwZXNjcmlwdD86IHtcbiAgICAvKiogRGlzYWJsZSBkZWNsYXJlIGJsb2NrIGluIGdlbmVyYXRlZCB0eXBlcyBmaWxlICovXG4gICAgZGVjbGFyZT86IGZhbHNlXG4gICAgLyoqIEZpbGVuYW1lIHRvIHdyaXRlIHRoZSBnZW5lcmF0ZWQgdHlwZXMgdG8gKi9cbiAgICBvdXRwdXRGaWxlPzogc3RyaW5nXG4gIH1cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZSB0aGUgaGFuZGxpbmcgb2YgaW5jb21pbmcgZmlsZSB1cGxvYWRzIGZvciBjb2xsZWN0aW9ucyB0aGF0IGhhdmUgdXBsb2FkcyBlbmFibGVkLlxuICAgKi9cbiAgdXBsb2FkPzogRXhwcmVzc0ZpbGVVcGxvYWRPcHRpb25zXG59XG5cbmV4cG9ydCB0eXBlIFNhbml0aXplZENvbmZpZyA9IE9taXQ8XG4gIERlZXBSZXF1aXJlZDxDb25maWc+LFxuICAnY29sbGVjdGlvbnMnIHwgJ2VuZHBvaW50JyB8ICdnbG9iYWxzJyB8ICdsb2NhbGl6YXRpb24nXG4+ICYge1xuICBjb2xsZWN0aW9uczogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1tdXG4gIGVuZHBvaW50czogRW5kcG9pbnRbXVxuICBnbG9iYWxzOiBTYW5pdGl6ZWRHbG9iYWxDb25maWdbXVxuICBsb2NhbGl6YXRpb246IFNhbml0aXplZExvY2FsaXphdGlvbkNvbmZpZyB8IGZhbHNlXG4gIHBhdGhzOiB7XG4gICAgY29uZmlnOiBzdHJpbmdcbiAgICBjb25maWdEaXI6IHN0cmluZ1xuICAgIHJhd0NvbmZpZzogc3RyaW5nXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ2xpZW50Q29uZmlnID0gT21pdDxTYW5pdGl6ZWRDb25maWcsICdhZG1pbicgfCAnZGInIHwgJ2VuZHBvaW50cyc+ICYge1xuICBhZG1pbjogT21pdDxTYW5pdGl6ZWRDb25maWdbJ2FkbWluJ10sICdjb21wb25lbnRzJz5cbiAgY29sbGVjdGlvbnM6IChPbWl0PFxuICAgIFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsXG4gICAgJ2FjY2VzcycgfCAnYWRtaW4nIHwgJ2VuZHBvaW50cycgfCAnZmllbGRzJyB8ICdob29rcydcbiAgPiAmIHtcbiAgICBhZG1pbjogT21pdDxTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnWydhZG1pbiddLCAnY29tcG9uZW50cyc+XG4gICAgZmllbGRzOiBDbGllbnRDb25maWdGaWVsZFtdXG4gIH0pW11cbiAgZ2xvYmFsczogKE9taXQ8U2FuaXRpemVkR2xvYmFsQ29uZmlnLCAnYWNjZXNzJyB8ICdhZG1pbicgfCAnZW5kcG9pbnRzJyB8ICdmaWVsZHMnIHwgJ2hvb2tzJz4gJiB7XG4gICAgYWRtaW46IE9taXQ8U2FuaXRpemVkR2xvYmFsQ29uZmlnWydhZG1pbiddLCAnY29tcG9uZW50cyc+XG4gICAgZmllbGRzOiBDbGllbnRDb25maWdGaWVsZFtdXG4gIH0pW11cbn1cblxuZXhwb3J0IHR5cGUgRW50aXR5RGVzY3JpcHRpb24gPVxuICB8ICgoKSA9PiBzdHJpbmcpXG4gIHwgUmVhY3QuQ29tcG9uZW50VHlwZTxhbnk+XG4gIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICB8IHN0cmluZ1xuIl0sIm5hbWVzIjpbImhhc1RyYW5zcG9ydCIsImVtYWlsQ29uZmlnIiwidHJhbnNwb3J0IiwidW5kZWZpbmVkIiwiaGFzVHJhbnNwb3J0T3B0aW9ucyIsInRyYW5zcG9ydE9wdGlvbnMiXSwibWFwcGluZ3MiOiJBQStGQTs7O0NBR0MsR0FDRCxPQUFPLFNBQVNBLGFBQWFDLFdBQXlCO0lBQ3BELE9BQU8sQUFBQ0EsWUFBK0JDLFNBQVMsS0FBS0M7QUFDdkQ7QUFFQTs7O0NBR0MsR0FDRCxPQUFPLFNBQVNDLG9CQUNkSCxXQUF5QjtJQUV6QixPQUFPLEFBQUNBLFlBQXNDSSxnQkFBZ0IsS0FBS0Y7QUFDckUifQ==
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/config/types.ts"],"sourcesContent":["import type { I18nOptions } from '@payloadcms/translations'\nimport type { Options as ExpressFileUploadOptions } from 'express-fileupload'\nimport type GraphQL from 'graphql'\nimport type { Transporter } from 'nodemailer'\nimport type SMTPConnection from 'nodemailer/lib/smtp-connection'\nimport type { DestinationStream, LoggerOptions } from 'pino'\nimport type React from 'react'\nimport type { default as sharp } from 'sharp'\nimport type { DeepRequired } from 'ts-essentials'\n\nimport type { DocumentTab, RichTextAdapter } from '../admin/types.js'\nimport type { AdminView, ServerSideEditViewProps } from '../admin/views/types.js'\nimport type { User } from '../auth/types.js'\nimport type {\n AfterErrorHook,\n Collection,\n CollectionConfig,\n SanitizedCollectionConfig,\n} from '../collections/config/types.js'\nimport type { DatabaseAdapterResult } from '../database/types.js'\nimport type { ClientConfigField } from '../fields/config/types.js'\nimport type { GlobalConfig, Globals, SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PayloadRequest, Where } from '../types/index.js'\nimport type { PayloadLogger } from '../utilities/logger.js'\n\nexport type BinScriptConfig = {\n key: string\n scriptPath: string\n}\n\nexport type BinScript = (config: SanitizedConfig) => Promise<void> | void\n\ntype Prettify<T> = {\n [K in keyof T]: T[K]\n} & NonNullable<unknown>\n\ntype Email = {\n fromAddress: string\n fromName: string\n logMockCredentials?: boolean\n}\n\n// eslint-disable-next-line no-use-before-define\nexport type Plugin = (config: Config) => Config | Promise<Config>\n\nexport type LivePreviewConfig = {\n /**\n Device breakpoints to use for the `iframe` of the Live Preview window.\n Options are displayed in the Live Preview toolbar.\n The `responsive` breakpoint is included by default.\n */\n breakpoints?: {\n height: number | string\n label: string\n name: string\n width: number | string\n }[]\n /**\n The URL of the frontend application. This will be rendered within an `iframe` as its `src`.\n Payload will send a `window.postMessage()` to this URL with the document data in real-time.\n The frontend application is responsible for receiving the message and updating the UI accordingly.\n Use the `useLivePreview` hook to get started in React applications.\n */\n url?:\n | ((args: {\n data: Record<string, any>\n documentInfo: any // TODO: remove or populate this\n locale: Locale\n }) => Promise<string> | string)\n | string\n}\n\ntype GeneratePreviewURLOptions = {\n locale: string\n token: string\n}\n\nexport type GeneratePreviewURL = (\n doc: Record<string, unknown>,\n options: GeneratePreviewURLOptions,\n) => Promise<null | string> | null | string\n\nexport type EmailTransport = Email & {\n transport: Transporter\n transportOptions?: SMTPConnection.Options\n}\n\nexport type EmailTransportOptions = Email & {\n transport?: Transporter\n transportOptions: SMTPConnection.Options\n}\n\nexport type EmailOptions = Email | EmailTransport | EmailTransportOptions\n\n/**\n * type guard for EmailOptions\n * @param emailConfig\n */\nexport function hasTransport(emailConfig: EmailOptions): emailConfig is EmailTransport {\n return (emailConfig as EmailTransport).transport !== undefined\n}\n\n/**\n * type guard for EmailOptions\n * @param emailConfig\n */\nexport function hasTransportOptions(\n emailConfig: EmailOptions,\n): emailConfig is EmailTransportOptions {\n return (emailConfig as EmailTransportOptions).transportOptions !== undefined\n}\n\nexport type GraphQLInfo = {\n Mutation: {\n fields: Record<string, any>\n name: string\n }\n Query: {\n fields: Record<string, any>\n name: string\n }\n collections: {\n [slug: number | string | symbol]: Collection\n }\n globals: Globals\n types: {\n arrayTypes: Record<string, GraphQL.GraphQLType>\n blockInputTypes: Record<string, GraphQL.GraphQLInputObjectType>\n blockTypes: Record<string, GraphQL.GraphQLObjectType>\n fallbackLocaleInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n groupTypes: Record<string, GraphQL.GraphQLObjectType>\n localeInputType?: GraphQL.GraphQLEnumType | GraphQL.GraphQLScalarType\n tabTypes: Record<string, GraphQL.GraphQLObjectType>\n }\n}\nexport type GraphQLExtension = (\n graphQL: typeof GraphQL,\n context: {\n config: SanitizedConfig\n } & GraphQLInfo,\n) => Record<string, unknown>\n\nexport type InitOptions = {\n /**\n * Sometimes, with the local API, you might need to pass a config file directly, for example, serverless on Vercel\n * The passed config should match the config file, and if it doesn't, there could be mismatches between the admin UI\n * and the backend functionality\n */\n config: Promise<SanitizedConfig> | SanitizedConfig\n /**\n * Disable connect to the database on init\n */\n disableDBConnect?: boolean\n\n /**\n * Disable running of the `onInit` function\n */\n disableOnInit?: boolean\n\n /**\n * Configuration for Payload's email functionality\n *\n * @see https://payloadcms.com/docs/email/overview\n */\n email?: EmailOptions\n\n /**\n * A previously instantiated logger instance. Must conform to the PayloadLogger interface which uses Pino\n * This allows you to bring your own logger instance and let payload use it\n */\n logger?: PayloadLogger\n\n loggerDestination?: DestinationStream\n\n /**\n * Specify options for the built-in Pino logger that Payload uses for internal logging.\n *\n * See Pino Docs for options: https://getpino.io/#/docs/api?id=options\n */\n loggerOptions?: LoggerOptions\n /**\n * A function that is called immediately following startup that receives the Payload instance as it's only argument.\n */\n onInit?: (payload: Payload) => Promise<void> | void\n}\n\n/**\n * This result is calculated on the server\n * and then sent to the client allowing the dashboard to show accessible data and actions.\n *\n * If the result is `true`, the user has access.\n * If the result is an object, it is interpreted as a MongoDB query.\n *\n * @example `{ createdBy: { equals: id } }`\n *\n * @example `{ tenant: { in: tenantIds } }`\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type AccessResult = Where | boolean\n\nexport type AccessArgs<T = any, U = any> = {\n /**\n * The relevant resource that is being accessed.\n *\n * `data` is null when a list is requested\n */\n data?: T\n /** ID of the resource being accessed */\n id?: number | string\n /** If true, the request is for a static file */\n isReadingStaticFile?: boolean\n /** The original request that requires an access check */\n req: PayloadRequest<U>\n}\n\n/**\n * Access function runs on the server\n * and is sent to the client allowing the dashboard to show accessible data and actions.\n *\n * @see https://payloadcms.com/docs/access-control/overview\n */\nexport type Access<T = any, U = any> = (\n args: AccessArgs<T, U>,\n) => AccessResult | Promise<AccessResult>\n\n/** Web Request/Response model, but the the req has more payload specific properties added to it. */\nexport type PayloadHandler = (req: PayloadRequest) => Promise<Response> | Response\n\n/**\n * Docs: https://payloadcms.com/docs/rest-api/overview#custom-endpoints\n */\nexport type Endpoint<U = User> = {\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n\n /**\n * Middleware that will be called when the path/method matches\n *\n * Compatible with Web Request/Response Model\n */\n handler: PayloadHandler\n /** HTTP method (or \"all\") */\n method: 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put'\n /**\n * Pattern that should match the path of the incoming request\n *\n * Compatible with the Express router\n */\n path: string\n /**\n * @deprecated in 3.0\n *\n * Please add \"root\" routes under the /api folder in the Payload Project.\n * https://nextjs.org/docs/app/api-reference/file-conventions/route\n */\n root?: never\n}\n\nexport type EditViewComponent = React.ComponentType<ServerSideEditViewProps>\n\nexport type EditViewConfig =\n | {\n /**\n * Add a new Edit view to the admin panel\n * i.e. you can render a custom view that has no tab, if desired\n * Or override a specific properties of an existing one\n * i.e. you can customize the `Default` view tab label, if desired\n */\n Tab?: DocumentTab\n path?: string\n }\n | {\n Component: EditViewComponent\n path: string\n }\n | {\n actions?: React.ComponentType<any>[]\n }\n\n/**\n * Override existing views\n * i.e. Dashboard, Account, API, LivePreview, etc.\n * Path is not available here\n * All Tab properties become optional\n * i.e. you can change just the label, if desired\n */\nexport type EditView = EditViewComponent | EditViewConfig\n\nexport type Locale = {\n /**\n * value of supported locale\n * @example \"en\"\n */\n code: string\n /**\n * Code of another locale to use when reading documents with fallback, if not specified defaultLocale is used\n */\n fallbackLocale?: string\n /**\n * label of supported locale\n * @example \"English\"\n */\n label: Record<string, string> | string\n /**\n * if true, defaults textAligmnent on text fields to RTL\n */\n rtl?: boolean\n}\n\nexport type BaseLocalizationConfig = {\n /**\n * Locale for users that have not expressed their preference for a specific locale\n * @example `\"en\"`\n */\n defaultLocale: string\n /** Set to `true` to let missing values in localised fields fall back to the values in `defaultLocale` */\n fallback?: boolean\n}\n\nexport type LocalizationConfigWithNoLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n locales: string[]\n }\n>\n\nexport type LocalizationConfigWithLabels = Prettify<\n BaseLocalizationConfig & {\n /**\n * List of supported locales with labels\n * @example {\n * label: 'English',\n * value: 'en',\n * rtl: false\n * }\n */\n locales: Locale[]\n }\n>\n\nexport type SanitizedLocalizationConfig = Prettify<\n LocalizationConfigWithLabels & {\n /**\n * List of supported locales\n * @example `[\"en\", \"es\", \"fr\", \"nl\", \"de\", \"jp\"]`\n */\n localeCodes: string[]\n }\n>\n\n/**\n * @see https://payloadcms.com/docs/configuration/localization#localization\n */\nexport type LocalizationConfig = Prettify<\n LocalizationConfigWithLabels | LocalizationConfigWithNoLabels\n>\n\nexport type SharpDependency = (\n input?:\n | ArrayBuffer\n | Buffer\n | Float32Array\n | Float64Array\n | Int8Array\n | Int16Array\n | Int32Array\n | Uint8Array\n | Uint8ClampedArray\n | Uint16Array\n | Uint32Array\n | string,\n options?: sharp.SharpOptions,\n) => sharp.Sharp\n\n/**\n * This is the central configuration\n *\n * @see https://payloadcms.com/docs/configuration/overview\n */\nexport type Config = {\n /** Configure admin dashboard */\n admin?: {\n /** Automatically log in as a user when visiting the admin dashboard. */\n autoLogin?:\n | {\n /**\n * The email address of the user to login as\n *\n */\n email: string\n /** The password of the user to login as */\n password: string\n /**\n * If set to true, the login credentials will be prefilled but the user will still need to click the login button.\n *\n * @default false\n */\n prefillOnly?: boolean\n }\n | false\n\n /** Set account profile picture. Options: gravatar, default or a custom React component. */\n avatar?: 'default' | 'gravatar' | React.ComponentType<any>\n /**\n * Specify an absolute path for where to store the built Admin panel bundle used in production.\n *\n * @default \"/build\"\n * */\n buildPath?: string\n /**\n * Add extra and/or replace built-in components with custom components\n *\n * @see https://payloadcms.com/docs/admin/components\n */\n components?: {\n /**\n * Replace the navigation with a custom component\n */\n Nav?: React.ComponentType<any>\n /**\n * Add custom components to the top right of the Admin Panel\n */\n actions?: React.ComponentType<any>[]\n /**\n * Add custom components after the collection overview\n */\n afterDashboard?: React.ComponentType<any>[]\n /**\n * Add custom components after the email/password field\n */\n afterLogin?: React.ComponentType<any>[]\n /**\n * Add custom components after the navigation links\n */\n afterNavLinks?: React.ComponentType<any>[]\n /**\n * Add custom components before the collection overview\n */\n beforeDashboard?: React.ComponentType<any>[]\n /**\n * Add custom components before the email/password field\n */\n beforeLogin?: React.ComponentType<any>[]\n /**\n * Add custom components before the navigation links\n */\n beforeNavLinks?: React.ComponentType<any>[]\n /** Replace graphical components */\n graphics?: {\n /** Replace the icon in the navigation */\n Icon?: React.ComponentType<any>\n /** Replace the logo on the login page */\n Logo?: React.ComponentType<any>\n }\n /** Replace logout related components */\n logout?: {\n /** Replace the logout button */\n Button?: React.ComponentType<any>\n }\n /**\n * Wrap the admin dashboard in custom context providers\n */\n providers?: React.ComponentType<{ children?: React.ReactNode }>[]\n /**\n * Replace or modify top-level admin routes, or add new ones:\n * + `Account` - `/admin/account`\n * + `Dashboard` - `/admin`\n * + `:path` - `/admin/:path`\n */\n views?: {\n /** Add custom admin views */\n [key: string]: AdminView\n /** Replace the account screen */\n Account?: AdminView\n /** Replace the admin homepage */\n Dashboard?: AdminView\n }\n }\n /** Global date format that will be used for all dates in the Admin panel. Any valid date-fns format pattern can be used. */\n dateFormat?: string\n /** If set to true, the entire Admin panel will be disabled. */\n disable?: boolean\n /** The route the user will be redirected to after being inactive for too long. */\n inactivityRoute?: string\n livePreview?: LivePreviewConfig & {\n collections?: string[]\n globals?: string[]\n }\n /** The route for the logout page. */\n logoutRoute?: string\n /** Base meta data to use for the Admin panel. Included properties are titleSuffix, ogImage, and favicon. */\n meta?: {\n /**\n * Public path to an icon\n *\n * This image may be displayed in the browser next to the title of the page\n */\n favicon?: string\n /**\n * Public path to an image\n *\n * This image may be displayed as preview when the link is shared on social media\n */\n ogImage?: string\n /**\n * String to append to the <title> of admin pages\n * @example `\" - My Brand\"`\n */\n titleSuffix?: string\n }\n /** The slug of a Collection that you want be used to log in to the Admin dashboard. */\n user?: string\n }\n /** Custom Payload bin scripts can be injected via the config. */\n bin?: BinScriptConfig[]\n /**\n * Manage the datamodel of your application\n *\n * @see https://payloadcms.com/docs/configuration/collections#collection-configs\n */\n collections?: CollectionConfig[]\n /**\n * Replace the built-in components with custom ones\n */\n components?: { [key: string]: (() => JSX.Element) | JSX.Element }\n /**\n * Prefix a string to all cookies that Payload sets.\n *\n * @default \"payload\"\n */\n cookiePrefix?: string\n /** Either a whitelist array of URLS to allow CORS requests from, or a wildcard string ('*') to accept incoming requests from any domain. */\n cors?: '*' | string[]\n /** A whitelist array of URLs to allow Payload cookies to be accepted from as a form of CSRF protection. */\n csrf?: string[]\n\n /** Extension point to add your custom data. */\n custom?: Record<string, any>\n\n /** Pass in a database adapter for use on this project. */\n db: DatabaseAdapterResult\n /** Enable to expose more detailed error information. */\n debug?: boolean\n /**\n * If a user does not specify `depth` while requesting a resource, this depth will be used.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 2\n */\n defaultDepth?: number\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @default 40000\n */\n defaultMaxTextLength?: number\n /** Default richtext editor to use for richText fields */\n editor: RichTextAdapter<any, any, any>\n /**\n * Email configuration options. This value is overridden by `email` in Payload.init if passed.\n *\n * @see https://payloadcms.com/docs/email/overview\n */\n email?: EmailOptions\n /** Custom REST endpoints */\n endpoints?: Endpoint[]\n /**\n * @see https://payloadcms.com/docs/configuration/globals#global-configs\n */\n globals?: GlobalConfig[]\n /**\n * Manage the GraphQL API\n *\n * You can add your own GraphQL queries and mutations to Payload, making use of all the types that Payload has defined for you.\n *\n * @see https://payloadcms.com/docs/graphql/overview\n */\n graphQL?: {\n disable?: boolean\n disablePlaygroundInProduction?: boolean\n maxComplexity?: number\n /**\n * Function that returns an object containing keys to custom GraphQL mutations\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n mutations?: GraphQLExtension\n /**\n * Function that returns an object containing keys to custom GraphQL queries\n *\n * @see https://payloadcms.com/docs/graphql/extending\n */\n queries?: GraphQLExtension\n schemaOutputFile?: string\n }\n /**\n * Tap into Payload-wide hooks.\n *\n * @see https://payloadcms.com/docs/hooks/overview\n */\n hooks?: {\n afterError?: AfterErrorHook\n }\n /** i18n config settings */\n i18n?: I18nOptions\n /** Automatically index all sortable top-level fields in the database to improve sort performance and add database compatibility for Azure Cosmos and similar. */\n indexSortableFields?: boolean\n /**\n * Translate your content to different languages/locales.\n *\n * @default false // disable localization\n */\n localization?: LocalizationConfig | false\n /**\n * The maximum allowed depth to be permitted application-wide. This setting helps prevent against malicious queries.\n *\n * @see https://payloadcms.com/docs/getting-started/concepts#depth\n *\n * @default 10\n */\n maxDepth?: number\n /** A function that is called immediately following startup that receives the Payload instance as its only argument. */\n onInit?: (payload: Payload) => Promise<void> | void\n /**\n * An array of Payload plugins.\n *\n * @see https://payloadcms.com/docs/plugins/overview\n */\n plugins?: Plugin[]\n /** Control the routing structure that Payload binds itself to. */\n routes?: {\n /** @default \"/admin\" */\n admin?: string\n /** @default \"/api\" */\n api?: string\n /** @default \"/graphql\" */\n graphQL?: string\n /** @default \"/graphql-playground\" */\n graphQLPlayground?: string\n }\n /** Secure string that Payload will use for any encryption workflows */\n secret: string\n /**\n * Define the absolute URL of your app including the protocol, for example `https://example.org`.\n * No paths allowed, only protocol, domain and (optionally) port.\n *\n * @see https://payloadcms.com/docs/configuration/overview#options\n */\n serverURL?: string\n /**\n * Pass in a local copy of Sharp if you'd like to use it.\n *\n */\n sharp?: SharpDependency\n /** Send anonymous telemetry data about general usage. */\n telemetry?: boolean\n /** Control how typescript interfaces are generated from your collections. */\n typescript?: {\n /** Disable declare block in generated types file */\n declare?: false\n /** Filename to write the generated types to */\n outputFile?: string\n }\n /**\n * Customize the handling of incoming file uploads for collections that have uploads enabled.\n */\n upload?: ExpressFileUploadOptions\n}\n\nexport type SanitizedConfig = Omit<\n DeepRequired<Config>,\n 'collections' | 'endpoint' | 'globals' | 'localization'\n> & {\n collections: SanitizedCollectionConfig[]\n endpoints: Endpoint[]\n globals: SanitizedGlobalConfig[]\n localization: SanitizedLocalizationConfig | false\n paths: {\n config: string\n configDir: string\n rawConfig: string\n }\n}\n\nexport type ClientConfig = Omit<SanitizedConfig, 'admin' | 'db' | 'endpoints'> & {\n admin: Omit<SanitizedConfig['admin'], 'components'>\n collections: (Omit<\n SanitizedCollectionConfig,\n 'access' | 'admin' | 'endpoints' | 'fields' | 'hooks'\n > & {\n admin: Omit<SanitizedCollectionConfig['admin'], 'components'>\n fields: ClientConfigField[]\n })[]\n globals: (Omit<SanitizedGlobalConfig, 'access' | 'admin' | 'endpoints' | 'fields' | 'hooks'> & {\n admin: Omit<SanitizedGlobalConfig['admin'], 'components'>\n fields: ClientConfigField[]\n })[]\n}\n\nexport type EntityDescription =\n | (() => string)\n | React.ComponentType<any>\n | Record<string, string>\n | string\n"],"names":["hasTransport","emailConfig","transport","undefined","hasTransportOptions","transportOptions"],"mappings":"AA+FA;;;CAGC,GACD,OAAO,SAASA,aAAaC,WAAyB;IACpD,OAAO,AAACA,YAA+BC,SAAS,KAAKC;AACvD;AAEA;;;CAGC,GACD,OAAO,SAASC,oBACdH,WAAyB;IAEzB,OAAO,AAACA,YAAsCI,gBAAgB,KAAKF;AACrE"}
@@ -87,4 +87,4 @@ const validateSchema = async (config, logger)=>{
87
87
  };
88
88
  export default validateSchema;
89
89
 
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvdmFsaWRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnam9pJ1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuL3R5cGVzLmpzJ1xuXG5pbXBvcnQgY29sbGVjdGlvblNjaGVtYSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvc2NoZW1hLmpzJ1xuaW1wb3J0IGZpZWxkU2NoZW1hLCB7IGlkRmllbGQgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3NjaGVtYS5qcydcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IGdsb2JhbFNjaGVtYSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy9zY2hlbWEuanMnXG5pbXBvcnQgc2NoZW1hIGZyb20gJy4vc2NoZW1hLmpzJ1xuXG5jb25zdCB2YWxpZGF0ZUZpZWxkcyA9IChcbiAgY29udGV4dDogc3RyaW5nLFxuICBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4pOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXVxuICBlbnRpdHkuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgbGV0IGlkUmVzdWx0OiBQYXJ0aWFsPFZhbGlkYXRpb25SZXN1bHQ+ID0geyBlcnJvcjogbnVsbCB9XG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpIHtcbiAgICAgIGlkUmVzdWx0ID0gaWRGaWVsZC52YWxpZGF0ZShmaWVsZCwgeyBhYm9ydEVhcmx5OiBmYWxzZSB9KVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGZpZWxkU2NoZW1hLnZhbGlkYXRlKGZpZWxkLCB7IGFib3J0RWFybHk6IGZhbHNlIH0pXG4gICAgaWYgKGlkUmVzdWx0LmVycm9yKSB7XG4gICAgICBpZFJlc3VsdC5lcnJvci5kZXRhaWxzLmZvckVhY2goKHsgbWVzc2FnZSB9KSA9PiB7XG4gICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgIGAke2NvbnRleHR9IFwiJHtlbnRpdHkuc2x1Z31cIiA+IEZpZWxkJHtcbiAgICAgICAgICAgIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpID8gYCBcIiR7ZmllbGQubmFtZX1cIiA+YCA6ICcnXG4gICAgICAgICAgfSAke21lc3NhZ2V9YCxcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKHJlc3VsdC5lcnJvcikge1xuICAgICAgcmVzdWx0LmVycm9yLmRldGFpbHMuZm9yRWFjaCgoeyBtZXNzYWdlIH0pID0+IHtcbiAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgYCR7Y29udGV4dH0gXCIke2VudGl0eS5zbHVnfVwiID4gRmllbGQke1xuICAgICAgICAgICAgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgPyBgIFwiJHtmaWVsZC5uYW1lfVwiID5gIDogJydcbiAgICAgICAgICB9ICR7bWVzc2FnZX1gLFxuICAgICAgICApXG4gICAgICB9KVxuICAgIH1cbiAgfSlcbiAgcmV0dXJuIGVycm9yc1xufVxuXG5jb25zdCB2YWxpZGF0ZUNvbGxlY3Rpb25zID0gYXN5bmMgKGNvbGxlY3Rpb25zOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnW10pOiBQcm9taXNlPHN0cmluZ1tdPiA9PiB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXVxuICBjb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gY29sbGVjdGlvblNjaGVtYS52YWxpZGF0ZShjb2xsZWN0aW9uLCB7IGFib3J0RWFybHk6IGZhbHNlIH0pXG4gICAgaWYgKHJlc3VsdC5lcnJvcikge1xuICAgICAgcmVzdWx0LmVycm9yLmRldGFpbHMuZm9yRWFjaCgoeyBtZXNzYWdlIH0pID0+IHtcbiAgICAgICAgZXJyb3JzLnB1c2goYENvbGxlY3Rpb24gXCIke2NvbGxlY3Rpb24uc2x1Z31cIiA+ICR7bWVzc2FnZX1gKVxuICAgICAgfSlcbiAgICB9XG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZHMoJ0NvbGxlY3Rpb24nLCBjb2xsZWN0aW9uKSlcbiAgfSlcblxuICByZXR1cm4gZXJyb3JzXG59XG5cbmNvbnN0IHZhbGlkYXRlR2xvYmFscyA9IChnbG9iYWxzOiBTYW5pdGl6ZWRHbG9iYWxDb25maWdbXSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdXG4gIGdsb2JhbHMuZm9yRWFjaCgoZ2xvYmFsKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gZ2xvYmFsU2NoZW1hLnZhbGlkYXRlKGdsb2JhbCwgeyBhYm9ydEVhcmx5OiBmYWxzZSB9KVxuICAgIGlmIChyZXN1bHQuZXJyb3IpIHtcbiAgICAgIHJlc3VsdC5lcnJvci5kZXRhaWxzLmZvckVhY2goKHsgbWVzc2FnZSB9KSA9PiB7XG4gICAgICAgIGVycm9ycy5wdXNoKGBHbG9iYWxzIFwiJHtnbG9iYWwuc2x1Z31cIiA+ICR7bWVzc2FnZX1gKVxuICAgICAgfSlcbiAgICB9XG4gICAgZXJyb3JzLnB1c2goLi4udmFsaWRhdGVGaWVsZHMoJ0dsb2JhbCcsIGdsb2JhbCkpXG4gIH0pXG5cbiAgcmV0dXJuIGVycm9yc1xufVxuXG5jb25zdCB2YWxpZGF0ZVNjaGVtYSA9IGFzeW5jIChcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGxvZ2dlcjogTG9nZ2VyLFxuKTogUHJvbWlzZTxTYW5pdGl6ZWRDb25maWc+ID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gc2NoZW1hLnZhbGlkYXRlKGNvbmZpZywge1xuICAgIGFib3J0RWFybHk6IGZhbHNlLFxuICB9KVxuXG4gIGNvbnN0IG5lc3RlZEVycm9ycyA9IFtcbiAgICAuLi4oYXdhaXQgdmFsaWRhdGVDb2xsZWN0aW9ucyhjb25maWcuY29sbGVjdGlvbnMpKSxcbiAgICAuLi52YWxpZGF0ZUdsb2JhbHMoY29uZmlnLmdsb2JhbHMpLFxuICBdXG5cbiAgaWYgKHJlc3VsdC5lcnJvciB8fCBuZXN0ZWRFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGxvZ2dlci5lcnJvcihcbiAgICAgIGBUaGVyZSB3ZXJlICR7XG4gICAgICAgIChyZXN1bHQuZXJyb3I/LmRldGFpbHM/Lmxlbmd0aCB8fCAwKSArIG5lc3RlZEVycm9ycy5sZW5ndGhcbiAgICAgIH0gZXJyb3JzIHZhbGlkYXRpbmcgeW91ciBQYXlsb2FkIGNvbmZpZ2AsXG4gICAgKVxuXG4gICAgbGV0IGkgPSAwXG4gICAgaWYgKHJlc3VsdC5lcnJvcikge1xuICAgICAgcmVzdWx0LmVycm9yLmRldGFpbHMuZm9yRWFjaCgoeyBtZXNzYWdlIH0pID0+IHtcbiAgICAgICAgaSArPSAxXG4gICAgICAgIGxvZ2dlci5lcnJvcihgJHtpfTogJHttZXNzYWdlfWApXG4gICAgICB9KVxuICAgIH1cbiAgICBuZXN0ZWRFcnJvcnMuZm9yRWFjaCgobWVzc2FnZSkgPT4ge1xuICAgICAgaSArPSAxXG4gICAgICBsb2dnZXIuZXJyb3IoYCR7aX06ICR7bWVzc2FnZX1gKVxuICAgIH0pXG5cbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudmFsdWVcbn1cblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdGVTY2hlbWFcbiJdLCJuYW1lcyI6WyJjb2xsZWN0aW9uU2NoZW1hIiwiZmllbGRTY2hlbWEiLCJpZEZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsImdsb2JhbFNjaGVtYSIsInNjaGVtYSIsInZhbGlkYXRlRmllbGRzIiwiY29udGV4dCIsImVudGl0eSIsImVycm9ycyIsImZpZWxkcyIsImZvckVhY2giLCJmaWVsZCIsImlkUmVzdWx0IiwiZXJyb3IiLCJuYW1lIiwidmFsaWRhdGUiLCJhYm9ydEVhcmx5IiwicmVzdWx0IiwiZGV0YWlscyIsIm1lc3NhZ2UiLCJwdXNoIiwic2x1ZyIsInZhbGlkYXRlQ29sbGVjdGlvbnMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJ2YWxpZGF0ZUdsb2JhbHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwidmFsaWRhdGVTY2hlbWEiLCJjb25maWciLCJsb2dnZXIiLCJuZXN0ZWRFcnJvcnMiLCJsZW5ndGgiLCJpIiwicHJvY2VzcyIsImV4aXQiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6IkFBT0EsT0FBT0Esc0JBQXNCLGtDQUFpQztBQUM5RCxPQUFPQyxlQUFlQyxPQUFPLFFBQVEsNkJBQTRCO0FBQ2pFLFNBQVNDLGdCQUFnQixRQUFRLDRCQUEyQjtBQUM1RCxPQUFPQyxrQkFBa0IsOEJBQTZCO0FBQ3RELE9BQU9DLFlBQVksY0FBYTtBQUVoQyxNQUFNQyxpQkFBaUIsQ0FDckJDLFNBQ0FDO0lBRUEsTUFBTUMsU0FBbUIsRUFBRTtJQUMzQkQsT0FBT0UsTUFBTSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7UUFDckIsSUFBSUMsV0FBc0M7WUFBRUMsT0FBTztRQUFLO1FBQ3hELElBQUlYLGlCQUFpQlMsVUFBVUEsTUFBTUcsSUFBSSxLQUFLLE1BQU07WUFDbERGLFdBQVdYLFFBQVFjLFFBQVEsQ0FBQ0osT0FBTztnQkFBRUssWUFBWTtZQUFNO1FBQ3pEO1FBRUEsTUFBTUMsU0FBU2pCLFlBQVllLFFBQVEsQ0FBQ0osT0FBTztZQUFFSyxZQUFZO1FBQU07UUFDL0QsSUFBSUosU0FBU0MsS0FBSyxFQUFFO1lBQ2xCRCxTQUFTQyxLQUFLLENBQUNLLE9BQU8s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
90
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/config/validate.ts"],"sourcesContent":["import type { ValidationResult } from 'joi'\nimport type { Logger } from 'pino'\n\nimport type { SanitizedCollectionConfig } from '../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../globals/config/types.js'\nimport type { SanitizedConfig } from './types.js'\n\nimport collectionSchema from '../collections/config/schema.js'\nimport fieldSchema, { idField } from '../fields/config/schema.js'\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport globalSchema from '../globals/config/schema.js'\nimport schema from './schema.js'\n\nconst validateFields = (\n context: string,\n entity: SanitizedCollectionConfig | SanitizedGlobalConfig,\n): string[] => {\n const errors: string[] = []\n entity.fields.forEach((field) => {\n let idResult: Partial<ValidationResult> = { error: null }\n if (fieldAffectsData(field) && field.name === 'id') {\n idResult = idField.validate(field, { abortEarly: false })\n }\n\n const result = fieldSchema.validate(field, { abortEarly: false })\n if (idResult.error) {\n idResult.error.details.forEach(({ message }) => {\n errors.push(\n `${context} \"${entity.slug}\" > Field${\n fieldAffectsData(field) ? ` \"${field.name}\" >` : ''\n } ${message}`,\n )\n })\n }\n if (result.error) {\n result.error.details.forEach(({ message }) => {\n errors.push(\n `${context} \"${entity.slug}\" > Field${\n fieldAffectsData(field) ? ` \"${field.name}\" >` : ''\n } ${message}`,\n )\n })\n }\n })\n return errors\n}\n\nconst validateCollections = async (collections: SanitizedCollectionConfig[]): Promise<string[]> => {\n const errors: string[] = []\n collections.forEach((collection) => {\n const result = collectionSchema.validate(collection, { abortEarly: false })\n if (result.error) {\n result.error.details.forEach(({ message }) => {\n errors.push(`Collection \"${collection.slug}\" > ${message}`)\n })\n }\n errors.push(...validateFields('Collection', collection))\n })\n\n return errors\n}\n\nconst validateGlobals = (globals: SanitizedGlobalConfig[]): string[] => {\n const errors: string[] = []\n globals.forEach((global) => {\n const result = globalSchema.validate(global, { abortEarly: false })\n if (result.error) {\n result.error.details.forEach(({ message }) => {\n errors.push(`Globals \"${global.slug}\" > ${message}`)\n })\n }\n errors.push(...validateFields('Global', global))\n })\n\n return errors\n}\n\nconst validateSchema = async (\n config: SanitizedConfig,\n logger: Logger,\n): Promise<SanitizedConfig> => {\n const result = schema.validate(config, {\n abortEarly: false,\n })\n\n const nestedErrors = [\n ...(await validateCollections(config.collections)),\n ...validateGlobals(config.globals),\n ]\n\n if (result.error || nestedErrors.length > 0) {\n logger.error(\n `There were ${\n (result.error?.details?.length || 0) + nestedErrors.length\n } errors validating your Payload config`,\n )\n\n let i = 0\n if (result.error) {\n result.error.details.forEach(({ message }) => {\n i += 1\n logger.error(`${i}: ${message}`)\n })\n }\n nestedErrors.forEach((message) => {\n i += 1\n logger.error(`${i}: ${message}`)\n })\n\n process.exit(1)\n }\n\n return result.value\n}\n\nexport default validateSchema\n"],"names":["collectionSchema","fieldSchema","idField","fieldAffectsData","globalSchema","schema","validateFields","context","entity","errors","fields","forEach","field","idResult","error","name","validate","abortEarly","result","details","message","push","slug","validateCollections","collections","collection","validateGlobals","globals","global","validateSchema","config","logger","nestedErrors","length","i","process","exit","value"],"mappings":"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"}
@@ -9,4 +9,4 @@ export const combineQueries = (where, access)=>{
9
9
  return result;
10
10
  };
11
11
 
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9jb21iaW5lUXVlcmllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnXG5cbmltcG9ydCB7IGhhc1doZXJlQWNjZXNzUmVzdWx0IH0gZnJvbSAnLi4vYXV0aC9pbmRleC5qcydcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVRdWVyaWVzID0gKHdoZXJlOiBXaGVyZSwgYWNjZXNzOiBXaGVyZSB8IGJvb2xlYW4pOiBXaGVyZSA9PiB7XG4gIGlmICghd2hlcmUgJiYgIWFjY2VzcykgcmV0dXJuIHt9XG5cbiAgY29uc3QgcmVzdWx0OiBXaGVyZSA9IHtcbiAgICBhbmQ6IFtdLFxuICB9XG5cbiAgaWYgKHdoZXJlKSByZXN1bHQuYW5kLnB1c2god2hlcmUpXG4gIGlmIChoYXNXaGVyZUFjY2Vzc1Jlc3VsdChhY2Nlc3MpKSByZXN1bHQuYW5kLnB1c2goYWNjZXNzKVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJoYXNXaGVyZUFjY2Vzc1Jlc3VsdCIsImNvbWJpbmVRdWVyaWVzIiwid2hlcmUiLCJhY2Nlc3MiLCJyZXN1bHQiLCJhbmQiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxvQkFBb0IsUUFBUSxtQkFBa0I7QUFFdkQsT0FBTyxNQUFNQyxpQkFBaUIsQ0FBQ0MsT0FBY0M7SUFDM0MsSUFBSSxDQUFDRCxTQUFTLENBQUNDLFFBQVEsT0FBTyxDQUFDO0lBRS9CLE1BQU1DLFNBQWdCO1FBQ3BCQyxLQUFLLEVBQUU7SUFDVDtJQUVBLElBQUlILE9BQU9FLE9BQU9DLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDSjtJQUMzQixJQUFJRixxQkFBcUJHLFNBQVNDLE9BQU9DLEdBQUcsQ0FBQ0MsSUFBSSxDQUFDSDtJQUVsRCxPQUFPQztBQUNULEVBQUMifQ==
12
+ //# sourceMappingURL=combineQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/database/combineQueries.ts"],"sourcesContent":["import type { Where } from '../types/index.js'\n\nimport { hasWhereAccessResult } from '../auth/index.js'\n\nexport const combineQueries = (where: Where, access: Where | boolean): Where => {\n if (!where && !access) return {}\n\n const result: Where = {\n and: [],\n }\n\n if (where) result.and.push(where)\n if (hasWhereAccessResult(access)) result.and.push(access)\n\n return result\n}\n"],"names":["hasWhereAccessResult","combineQueries","where","access","result","and","push"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,mBAAkB;AAEvD,OAAO,MAAMC,iBAAiB,CAACC,OAAcC;IAC3C,IAAI,CAACD,SAAS,CAACC,QAAQ,OAAO,CAAC;IAE/B,MAAMC,SAAgB;QACpBC,KAAK,EAAE;IACT;IAEA,IAAIH,OAAOE,OAAOC,GAAG,CAACC,IAAI,CAACJ;IAC3B,IAAIF,qBAAqBG,SAASC,OAAOC,GAAG,CAACC,IAAI,CAACH;IAElD,OAAOC;AACT,EAAC"}
@@ -26,4 +26,4 @@ export function createDatabaseAdapter(args) {
26
26
  };
27
27
  }
28
28
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9jcmVhdGVEYXRhYmFzZUFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgTWFya09wdGlvbmFsIH0gZnJvbSAndHMtZXNzZW50aWFscydcblxuaW1wb3J0IHR5cGUge1xuICBCYXNlRGF0YWJhc2VBZGFwdGVyLFxuICBCZWdpblRyYW5zYWN0aW9uLFxuICBDb21taXRUcmFuc2FjdGlvbixcbiAgUm9sbGJhY2tUcmFuc2FjdGlvbixcbn0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IHsgY3JlYXRlTWlncmF0aW9uIH0gZnJvbSAnLi9taWdyYXRpb25zL2NyZWF0ZU1pZ3JhdGlvbi5qcydcbmltcG9ydCB7IG1pZ3JhdGUgfSBmcm9tICcuL21pZ3JhdGlvbnMvbWlncmF0ZS5qcydcbmltcG9ydCB7IG1pZ3JhdGVEb3duIH0gZnJvbSAnLi9taWdyYXRpb25zL21pZ3JhdGVEb3duLmpzJ1xuaW1wb3J0IHsgbWlncmF0ZVJlZnJlc2ggfSBmcm9tICcuL21pZ3JhdGlvbnMvbWlncmF0ZVJlZnJlc2guanMnXG5pbXBvcnQgeyBtaWdyYXRlUmVzZXQgfSBmcm9tICcuL21pZ3JhdGlvbnMvbWlncmF0ZVJlc2V0LmpzJ1xuaW1wb3J0IHsgbWlncmF0ZVN0YXR1cyB9IGZyb20gJy4vbWlncmF0aW9ucy9taWdyYXRlU3RhdHVzLmpzJ1xuXG5jb25zdCBiZWdpblRyYW5zYWN0aW9uOiBCZWdpblRyYW5zYWN0aW9uID0gYXN5bmMgKCkgPT4gbnVsbFxuY29uc3Qgcm9sbGJhY2tUcmFuc2FjdGlvbjogUm9sbGJhY2tUcmFuc2FjdGlvbiA9IGFzeW5jICgpID0+IG51bGxcbmNvbnN0IGNvbW1pdFRyYW5zYWN0aW9uOiBDb21taXRUcmFuc2FjdGlvbiA9IGFzeW5jICgpID0+IG51bGxcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFiYXNlQWRhcHRlcjxUIGV4dGVuZHMgQmFzZURhdGFiYXNlQWRhcHRlcj4oXG4gIGFyZ3M6IE1hcmtPcHRpb25hbDxcbiAgICBULFxuICAgIHwgJ2NyZWF0ZU1pZ3JhdGlvbidcbiAgICB8ICdtaWdyYXRlJ1xuICAgIHwgJ21pZ3JhdGVEb3duJ1xuICAgIHwgJ21pZ3JhdGVGcmVzaCdcbiAgICB8ICdtaWdyYXRlUmVmcmVzaCdcbiAgICB8ICdtaWdyYXRlUmVzZXQnXG4gICAgfCAnbWlncmF0ZVN0YXR1cydcbiAgICB8ICdtaWdyYXRpb25EaXInXG4gID4sXG4pOiBUIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBEZWZhdWx0ICdudWxsJyB0cmFuc2FjdGlvbiBmdW5jdGlvbnNcbiAgICBiZWdpblRyYW5zYWN0aW9uLFxuICAgIGNvbW1pdFRyYW5zYWN0aW9uLFxuICAgIGNyZWF0ZU1pZ3JhdGlvbixcbiAgICBtaWdyYXRlLFxuICAgIG1pZ3JhdGVEb3duLFxuICAgIG1pZ3JhdGVGcmVzaDogYXN5bmMgKHsgZm9yY2VBY2NlcHRXYXJuaW5nID0gbnVsbCB9KSA9PiBudWxsLFxuICAgIG1pZ3JhdGVSZWZyZXNoLFxuICAgIG1pZ3JhdGVSZXNldCxcbiAgICBtaWdyYXRlU3RhdHVzLFxuICAgIHJvbGxiYWNrVHJhbnNhY3Rpb24sXG5cbiAgICAuLi5hcmdzLFxuXG4gICAgLy8gRW5zdXJlIG1pZ3JhdGlvbkRpciBpcyBzZXRcbiAgICBtaWdyYXRpb25EaXI6IGFyZ3MubWlncmF0aW9uRGlyIHx8ICdtaWdyYXRpb25zJyxcbiAgfSBhcyBUXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlTWlncmF0aW9uIiwibWlncmF0ZSIsIm1pZ3JhdGVEb3duIiwibWlncmF0ZVJlZnJlc2giLCJtaWdyYXRlUmVzZXQiLCJtaWdyYXRlU3RhdHVzIiwiYmVnaW5UcmFuc2FjdGlvbiIsInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJjb21taXRUcmFuc2FjdGlvbiIsImNyZWF0ZURhdGFiYXNlQWRhcHRlciIsImFyZ3MiLCJtaWdyYXRlRnJlc2giLCJmb3JjZUFjY2VwdFdhcm5pbmciLCJtaWdyYXRpb25EaXIiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxHQVVwQyxTQUFTQSxlQUFlLFFBQVEsa0NBQWlDO0FBQ2pFLFNBQVNDLE9BQU8sUUFBUSwwQkFBeUI7QUFDakQsU0FBU0MsV0FBVyxRQUFRLDhCQUE2QjtBQUN6RCxTQUFTQyxjQUFjLFFBQVEsaUNBQWdDO0FBQy9ELFNBQVNDLFlBQVksUUFBUSwrQkFBOEI7QUFDM0QsU0FBU0MsYUFBYSxRQUFRLGdDQUErQjtBQUU3RCxNQUFNQyxtQkFBcUMsVUFBWTtBQUN2RCxNQUFNQyxzQkFBMkMsVUFBWTtBQUM3RCxNQUFNQyxvQkFBdUMsVUFBWTtBQUV6RCxPQUFPLFNBQVNDLHNCQUNkQyxJQVVDO0lBRUQsT0FBTztRQUNMLHVDQUF1QztRQUN2Q0o7UUFDQUU7UUFDQVI7UUFDQUM7UUFDQUM7UUFDQVMsY0FBYyxPQUFPLEVBQUVDLHFCQUFxQixJQUFJLEVBQUUsR0FBSztRQUN2RFQ7UUFDQUM7UUFDQUM7UUFDQUU7UUFFQSxHQUFHRyxJQUFJO1FBRVAsNkJBQTZCO1FBQzdCRyxjQUFjSCxLQUFLRyxZQUFZLElBQUk7SUFDckM7QUFDRiJ9
29
+ //# sourceMappingURL=createDatabaseAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/database/createDatabaseAdapter.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { MarkOptional } from 'ts-essentials'\n\nimport type {\n BaseDatabaseAdapter,\n BeginTransaction,\n CommitTransaction,\n RollbackTransaction,\n} from './types.js'\n\nimport { createMigration } from './migrations/createMigration.js'\nimport { migrate } from './migrations/migrate.js'\nimport { migrateDown } from './migrations/migrateDown.js'\nimport { migrateRefresh } from './migrations/migrateRefresh.js'\nimport { migrateReset } from './migrations/migrateReset.js'\nimport { migrateStatus } from './migrations/migrateStatus.js'\n\nconst beginTransaction: BeginTransaction = async () => null\nconst rollbackTransaction: RollbackTransaction = async () => null\nconst commitTransaction: CommitTransaction = async () => null\n\nexport function createDatabaseAdapter<T extends BaseDatabaseAdapter>(\n args: MarkOptional<\n T,\n | 'createMigration'\n | 'migrate'\n | 'migrateDown'\n | 'migrateFresh'\n | 'migrateRefresh'\n | 'migrateReset'\n | 'migrateStatus'\n | 'migrationDir'\n >,\n): T {\n return {\n // Default 'null' transaction functions\n beginTransaction,\n commitTransaction,\n createMigration,\n migrate,\n migrateDown,\n migrateFresh: async ({ forceAcceptWarning = null }) => null,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n rollbackTransaction,\n\n ...args,\n\n // Ensure migrationDir is set\n migrationDir: args.migrationDir || 'migrations',\n } as T\n}\n"],"names":["createMigration","migrate","migrateDown","migrateRefresh","migrateReset","migrateStatus","beginTransaction","rollbackTransaction","commitTransaction","createDatabaseAdapter","args","migrateFresh","forceAcceptWarning","migrationDir"],"mappings":"AAAA,oCAAoC,GAUpC,SAASA,eAAe,QAAQ,kCAAiC;AACjE,SAASC,OAAO,QAAQ,0BAAyB;AACjD,SAASC,WAAW,QAAQ,8BAA6B;AACzD,SAASC,cAAc,QAAQ,iCAAgC;AAC/D,SAASC,YAAY,QAAQ,+BAA8B;AAC3D,SAASC,aAAa,QAAQ,gCAA+B;AAE7D,MAAMC,mBAAqC,UAAY;AACvD,MAAMC,sBAA2C,UAAY;AAC7D,MAAMC,oBAAuC,UAAY;AAEzD,OAAO,SAASC,sBACdC,IAUC;IAED,OAAO;QACL,uCAAuC;QACvCJ;QACAE;QACAR;QACAC;QACAC;QACAS,cAAc,OAAO,EAAEC,qBAAqB,IAAI,EAAE,GAAK;QACvDT;QACAC;QACAC;QACAE;QAEA,GAAGG,IAAI;QAEP,6BAA6B;QAC7BG,cAAcH,KAAKG,YAAY,IAAI;IACrC;AACF"}
@@ -18,4 +18,4 @@ const flattenWhereToOperators = (query)=>Object.entries(query).reduce((flattened
18
18
  }, []);
19
19
  export default flattenWhereToOperators;
20
20
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9mbGF0dGVuV2hlcmVUb09wZXJhdG9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFdoZXJlLCBXaGVyZUZpZWxkIH0gZnJvbSAnLi4vdHlwZXMvaW5kZXguanMnXG5cbi8vIFRha2UgYSB3aGVyZSBxdWVyeSBhbmQgZmxhdHRlbiBpdCB0byBhbGwgdG9wLWxldmVsIG9wZXJhdG9yc1xuY29uc3QgZmxhdHRlbldoZXJlVG9PcGVyYXRvcnMgPSAocXVlcnk6IFdoZXJlKTogV2hlcmVGaWVsZFtdID0+XG4gIE9iamVjdC5lbnRyaWVzKHF1ZXJ5KS5yZWR1Y2UoKGZsYXR0ZW5lZENvbnN0cmFpbnRzLCBba2V5LCB2YWxdKSA9PiB7XG4gICAgaWYgKChrZXkgPT09ICdhbmQnIHx8IGtleSA9PT0gJ29yJykgJiYgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5mbGF0dGVuZWRDb25zdHJhaW50cyxcbiAgICAgICAgLi4udmFsLnJlZHVjZSgoc3ViVmFscywgc3ViVmFsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5zdWJWYWxzLCAuLi5mbGF0dGVuV2hlcmVUb09wZXJhdG9ycyhzdWJWYWwpXVxuICAgICAgICB9LCBbXSksXG4gICAgICBdXG4gICAgfVxuXG4gICAgcmV0dXJuIFsuLi5mbGF0dGVuZWRDb25zdHJhaW50cywgdmFsXVxuICB9LCBbXSlcblxuZXhwb3J0IGRlZmF1bHQgZmxhdHRlbldoZXJlVG9PcGVyYXRvcnNcbiJdLCJuYW1lcyI6WyJmbGF0dGVuV2hlcmVUb09wZXJhdG9ycyIsInF1ZXJ5IiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsImZsYXR0ZW5lZENvbnN0cmFpbnRzIiwia2V5IiwidmFsIiwiQXJyYXkiLCJpc0FycmF5Iiwic3ViVmFscyIsInN1YlZhbCJdLCJtYXBwaW5ncyI6IkFBRUEsK0RBQStEO0FBQy9ELE1BQU1BLDBCQUEwQixDQUFDQyxRQUMvQkMsT0FBT0MsT0FBTyxDQUFDRixPQUFPRyxNQUFNLENBQUMsQ0FBQ0Msc0JBQXNCLENBQUNDLEtBQUtDLElBQUk7UUFDNUQsSUFBSSxBQUFDRCxDQUFBQSxRQUFRLFNBQVNBLFFBQVEsSUFBRyxLQUFNRSxNQUFNQyxPQUFPLENBQUNGLE1BQU07WUFDekQsT0FBTzttQkFDRkY7bUJBQ0FFLElBQUlILE1BQU0sQ0FBQyxDQUFDTSxTQUFTQztvQkFDdEIsT0FBTzsyQkFBSUQ7MkJBQVlWLHdCQUF3Qlc7cUJBQVE7Z0JBQ3pELEdBQUcsRUFBRTthQUNOO1FBQ0g7UUFFQSxPQUFPO2VBQUlOO1lBQXNCRTtTQUFJO0lBQ3ZDLEdBQUcsRUFBRTtBQUVQLGVBQWVQLHdCQUF1QiJ9
21
+ //# sourceMappingURL=flattenWhereToOperators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/database/flattenWhereToOperators.ts"],"sourcesContent":["import type { Where, WhereField } from '../types/index.js'\n\n// Take a where query and flatten it to all top-level operators\nconst flattenWhereToOperators = (query: Where): WhereField[] =>\n Object.entries(query).reduce((flattenedConstraints, [key, val]) => {\n if ((key === 'and' || key === 'or') && Array.isArray(val)) {\n return [\n ...flattenedConstraints,\n ...val.reduce((subVals, subVal) => {\n return [...subVals, ...flattenWhereToOperators(subVal)]\n }, []),\n ]\n }\n\n return [...flattenedConstraints, val]\n }, [])\n\nexport default flattenWhereToOperators\n"],"names":["flattenWhereToOperators","query","Object","entries","reduce","flattenedConstraints","key","val","Array","isArray","subVals","subVal"],"mappings":"AAEA,+DAA+D;AAC/D,MAAMA,0BAA0B,CAACC,QAC/BC,OAAOC,OAAO,CAACF,OAAOG,MAAM,CAAC,CAACC,sBAAsB,CAACC,KAAKC,IAAI;QAC5D,IAAI,AAACD,CAAAA,QAAQ,SAASA,QAAQ,IAAG,KAAME,MAAMC,OAAO,CAACF,MAAM;YACzD,OAAO;mBACFF;mBACAE,IAAIH,MAAM,CAAC,CAACM,SAASC;oBACtB,OAAO;2BAAID;2BAAYV,wBAAwBW;qBAAQ;gBACzD,GAAG,EAAE;aACN;QACH;QAEA,OAAO;eAAIN;YAAsBE;SAAI;IACvC,GAAG,EAAE;AAEP,eAAeP,wBAAuB"}
@@ -124,4 +124,4 @@ export async function getLocalizedPaths({ collectionSlug, fields, globalSlug, in
124
124
  return paths;
125
125
  }
126
126
 
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9nZXRMb2NhbGl6ZWRQYXRocy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBQYXRoVG9RdWVyeSB9IGZyb20gJy4vcXVlcnlWYWxpZGF0aW9uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCBmbGF0dGVuRmllbGRzIGZyb20gJy4uL3V0aWxpdGllcy9mbGF0dGVuVG9wTGV2ZWxGaWVsZHMuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMb2NhbGl6ZWRQYXRocyh7XG4gIGNvbGxlY3Rpb25TbHVnLFxuICBmaWVsZHMsXG4gIGdsb2JhbFNsdWcsXG4gIGluY29taW5nUGF0aCxcbiAgbG9jYWxlLFxuICBvdmVycmlkZUFjY2VzcyA9IGZhbHNlLFxuICBwYXlsb2FkLFxufToge1xuICBjb2xsZWN0aW9uU2x1Zz86IHN0cmluZ1xuICBmaWVsZHM6IEZpZWxkW11cbiAgZ2xvYmFsU2x1Zz86IHN0cmluZ1xuICBpbmNvbWluZ1BhdGg6IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbiAgb3ZlcnJpZGVBY2Nlc3M/OiBib29sZWFuXG4gIHBheWxvYWQ6IFBheWxvYWRcbn0pOiBQcm9taXNlPFBhdGhUb1F1ZXJ5W10+IHtcbiAgY29uc3QgcGF0aFNlZ21lbnRzID0gaW5jb21pbmdQYXRoLnNwbGl0KCcuJylcbiAgY29uc3QgbG9jYWxpemF0aW9uQ29uZmlnID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG5cbiAgbGV0IHBhdGhzOiBQYXRoVG9RdWVyeVtdID0gW1xuICAgIHtcbiAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgY29tcGxldGU6IGZhbHNlLFxuICAgICAgZmllbGQ6IHVuZGVmaW5lZCxcbiAgICAgIGZpZWxkczogZmxhdHRlbkZpZWxkcyhmaWVsZHMsIGZhbHNlKSxcbiAgICAgIGdsb2JhbFNsdWcsXG4gICAgICBpbnZhbGlkOiBmYWxzZSxcbiAgICAgIHBhdGg6ICcnLFxuICAgIH0sXG4gIF1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGhTZWdtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IHNlZ21lbnQgPSBwYXRoU2VnbWVudHNbaV1cblxuICAgIGNvbnN0IGxhc3RJbmNvbXBsZXRlUGF0aCA9IHBhdGhzLmZpbmQoKHsgY29tcGxldGUgfSkgPT4gIWNvbXBsZXRlKVxuXG4gICAgaWYgKGxhc3RJbmNvbXBsZXRlUGF0aCkge1xuICAgICAgY29uc3QgeyBwYXRoIH0gPSBsYXN0SW5jb21wbGV0ZVBhdGhcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9IHBhdGggPyBgJHtwYXRofS4ke3NlZ21lbnR9YCA6IHNlZ21lbnRcblxuICAgICAgY29uc3QgbWF0Y2hlZEZpZWxkID0gbGFzdEluY29tcGxldGVQYXRoLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09IHNlZ21lbnQsXG4gICAgICApXG4gICAgICBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQgPSBtYXRjaGVkRmllbGRcblxuICAgICAgaWYgKGN1cnJlbnRQYXRoID09PSAnZ2xvYmFsVHlwZScgJiYgZ2xvYmFsU2x1Zykge1xuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG4gICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmZpZWxkID0ge1xuICAgICAgICAgIG5hbWU6ICdnbG9iYWxUeXBlJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgIH1cblxuICAgICAgaWYgKCFtYXRjaGVkRmllbGQgJiYgY3VycmVudFBhdGggPT09ICdpZCcgJiYgaSA9PT0gcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBjdXJyZW50UGF0aFxuICAgICAgICBjb25zdCBpZEZpZWxkOiBGaWVsZCA9IHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICAgIH1cbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmZpZWxkID0gaWRGaWVsZFxuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguY29tcGxldGUgPSB0cnVlXG4gICAgICAgIHJldHVybiBwYXRoc1xuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hlZEZpZWxkKSB7XG4gICAgICAgIGlmICgnaGlkZGVuJyBpbiBtYXRjaGVkRmllbGQgJiYgbWF0Y2hlZEZpZWxkLmhpZGRlbiAmJiAhb3ZlcnJpZGVBY2Nlc3MpIHtcbiAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguaW52YWxpZCA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5leHRTZWdtZW50ID0gcGF0aFNlZ21lbnRzW2kgKyAxXVxuICAgICAgICBjb25zdCBuZXh0U2VnbWVudElzTG9jYWxlID1cbiAgICAgICAgICBsb2NhbGl6YXRpb25Db25maWcgJiYgbG9jYWxpemF0aW9uQ29uZmlnLmxvY2FsZUNvZGVzLmluY2x1ZGVzKG5leHRTZWdtZW50KVxuXG4gICAgICAgIGlmIChuZXh0U2VnbWVudElzTG9jYWxlKSB7XG4gICAgICAgICAgLy8gU2tpcCB0aGUgbmV4dCBpdGVyYXRpb24sIGJlY2F1c2UgaXQncyBhIGxvY2FsZVxuICAgICAgICAgIGkgKz0gMVxuICAgICAgICAgIGN1cnJlbnRQYXRoID0gYCR7Y3VycmVudFBhdGh9LiR7bmV4dFNlZ21lbnR9YFxuICAgICAgICB9IGVsc2UgaWYgKGxvY2FsaXphdGlvbkNvbmZpZyAmJiAnbG9jYWxpemVkJyBpbiBtYXRjaGVkRmllbGQgJiYgbWF0Y2hlZEZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgIGN1cnJlbnRQYXRoID0gYCR7Y3VycmVudFBhdGh9LiR7bG9jYWxlfWBcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAobWF0Y2hlZEZpZWxkLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICAgIGNhc2UgJ3JpY2hUZXh0JzpcbiAgICAgICAgICBjYXNlICdqc29uJzoge1xuICAgICAgICAgICAgY29uc3QgdXBjb21pbmdTZWdtZW50cyA9IHBhdGhTZWdtZW50cy5zbGljZShpICsgMSkuam9pbignLicpXG4gICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguY29tcGxldGUgPSB0cnVlXG4gICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IHVwY29taW5nU2VnbWVudHNcbiAgICAgICAgICAgICAgPyBgJHtjdXJyZW50UGF0aH0uJHt1cGNvbWluZ1NlZ21lbnRzfWBcbiAgICAgICAgICAgICAgOiBjdXJyZW50UGF0aFxuICAgICAgICAgICAgcmV0dXJuIHBhdGhzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgICAgICBjYXNlICd1cGxvYWQnOiB7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgcG9seW1vcnBoaWMgcmVsYXRpb24sXG4gICAgICAgICAgICAvLyBXZSBvbmx5IHN1cHBvcnQgcXVlcnlpbmcgZGlyZWN0bHkgKG5vIG5lc3RlZCBxdWVyeWluZylcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWF0Y2hlZEZpZWxkLnJlbGF0aW9uVG8gIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxhc3RTZWdtZW50SXNWYWxpZCA9XG4gICAgICAgICAgICAgICAgWydyZWxhdGlvblRvJywgJ3ZhbHVlJ10uaW5jbHVkZXMocGF0aFNlZ21lbnRzW3BhdGhTZWdtZW50cy5sZW5ndGggLSAxXSkgfHxcbiAgICAgICAgICAgICAgICBwYXRoU2VnbWVudHMubGVuZ3RoID09PSAxXG5cbiAgICAgICAgICAgICAgaWYgKGxhc3RTZWdtZW50SXNWYWxpZCkge1xuICAgICAgICAgICAgICAgIGxhc3RJbmNvbXBsZXRlUGF0aC5jb21wbGV0ZSA9IHRydWVcbiAgICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IHBhdGhTZWdtZW50cy5qb2luKCcuJylcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguaW52YWxpZCA9IHRydWVcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLmNvbXBsZXRlID0gdHJ1ZVxuICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG5cbiAgICAgICAgICAgICAgY29uc3QgbmVzdGVkUGF0aFRvUXVlcnkgPSBwYXRoU2VnbWVudHNcbiAgICAgICAgICAgICAgICAuc2xpY2UobmV4dFNlZ21lbnRJc0xvY2FsZSA/IGkgKyAyIDogaSArIDEpXG4gICAgICAgICAgICAgICAgLmpvaW4oJy4nKVxuXG4gICAgICAgICAgICAgIGlmIChuZXN0ZWRQYXRoVG9RdWVyeSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uID0gcGF5bG9hZC5jb2xsZWN0aW9uc1ttYXRjaGVkRmllbGQucmVsYXRpb25Ub10uY29uZmlnXG5cbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbWFpbmluZ1BhdGhzID0gYXdhaXQgZ2V0TG9jYWxpemVkUGF0aHMoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvblNsdWc6IHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcsXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHJlbGF0ZWRDb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgIGdsb2JhbFNsdWcsXG4gICAgICAgICAgICAgICAgICBpbmNvbWluZ1BhdGg6IG5lc3RlZFBhdGhUb1F1ZXJ5LFxuICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgcGF0aHMgPSBbLi4ucGF0aHMsIC4uLnJlbWFpbmluZ1BhdGhzXVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHBhdGhzXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgaWYgKCdmaWVsZHMnIGluIGxhc3RJbmNvbXBsZXRlUGF0aC5maWVsZCkge1xuICAgICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguZmllbGRzID0gZmxhdHRlbkZpZWxkcyhsYXN0SW5jb21wbGV0ZVBhdGguZmllbGQuZmllbGRzLCBmYWxzZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGkgKyAxID09PSBwYXRoU2VnbWVudHMubGVuZ3RoKSBsYXN0SW5jb21wbGV0ZVBhdGguY29tcGxldGUgPSB0cnVlXG4gICAgICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGgucGF0aCA9IGN1cnJlbnRQYXRoXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYXN0SW5jb21wbGV0ZVBhdGguaW52YWxpZCA9IHRydWVcbiAgICAgICAgbGFzdEluY29tcGxldGVQYXRoLnBhdGggPSBjdXJyZW50UGF0aFxuICAgICAgICByZXR1cm4gcGF0aHNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGF0aHNcbn1cbiJdLCJuYW1lcyI6WyJmaWVsZEFmZmVjdHNEYXRhIiwiZmxhdHRlbkZpZWxkcyIsImdldExvY2FsaXplZFBhdGhzIiwiY29sbGVjdGlvblNsdWciLCJmaWVsZHMiLCJnbG9iYWxTbHVnIiwiaW5jb21pbmdQYXRoIiwibG9jYWxlIiwib3ZlcnJpZGVBY2Nlc3MiLCJwYXlsb2FkIiwicGF0aFNlZ21lbnRzIiwic3BsaXQiLCJsb2NhbGl6YXRpb25Db25maWciLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJwYXRocyIsImNvbXBsZXRlIiwiZmllbGQiLCJ1bmRlZmluZWQiLCJpbnZhbGlkIiwicGF0aCIsImkiLCJsZW5ndGgiLCJzZWdtZW50IiwibGFzdEluY29tcGxldGVQYXRoIiwiZmluZCIsImN1cnJlbnRQYXRoIiwibWF0Y2hlZEZpZWxkIiwibmFtZSIsInR5cGUiLCJpZEZpZWxkIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiaGlkZGVuIiwibmV4dFNlZ21lbnQiLCJuZXh0U2VnbWVudElzTG9jYWxlIiwibG9jYWxlQ29kZXMiLCJpbmNsdWRlcyIsImxvY2FsaXplZCIsInVwY29taW5nU2VnbWVudHMiLCJzbGljZSIsImpvaW4iLCJyZWxhdGlvblRvIiwibGFzdFNlZ21lbnRJc1ZhbGlkIiwibmVzdGVkUGF0aFRvUXVlcnkiLCJyZWxhdGVkQ29sbGVjdGlvbiIsImNvbGxlY3Rpb25zIiwicmVtYWluaW5nUGF0aHMiLCJzbHVnIl0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxnQkFBZ0IsUUFBUSw0QkFBMkI7QUFDNUQsT0FBT0MsbUJBQW1CLHdDQUF1QztBQUVqRSxPQUFPLGVBQWVDLGtCQUFrQixFQUN0Q0MsY0FBYyxFQUNkQyxNQUFNLEVBQ05DLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxNQUFNLEVB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
127
+ //# sourceMappingURL=getLocalizedPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/database/getLocalizedPaths.ts"],"sourcesContent":["import type { Field } from '../fields/config/types.js'\nimport type { Payload } from '../index.js'\nimport type { PathToQuery } from './queryValidation/types.js'\n\nimport { fieldAffectsData } from '../fields/config/types.js'\nimport flattenFields from '../utilities/flattenTopLevelFields.js'\n\nexport async function getLocalizedPaths({\n collectionSlug,\n fields,\n globalSlug,\n incomingPath,\n locale,\n overrideAccess = false,\n payload,\n}: {\n collectionSlug?: string\n fields: Field[]\n globalSlug?: string\n incomingPath: string\n locale?: string\n overrideAccess?: boolean\n payload: Payload\n}): Promise<PathToQuery[]> {\n const pathSegments = incomingPath.split('.')\n const localizationConfig = payload.config.localization\n\n let paths: PathToQuery[] = [\n {\n collectionSlug,\n complete: false,\n field: undefined,\n fields: flattenFields(fields, false),\n globalSlug,\n invalid: false,\n path: '',\n },\n ]\n\n for (let i = 0; i < pathSegments.length; i += 1) {\n const segment = pathSegments[i]\n\n const lastIncompletePath = paths.find(({ complete }) => !complete)\n\n if (lastIncompletePath) {\n const { path } = lastIncompletePath\n let currentPath = path ? `${path}.${segment}` : segment\n\n const matchedField = lastIncompletePath.fields.find(\n (field) => fieldAffectsData(field) && field.name === segment,\n )\n lastIncompletePath.field = matchedField\n\n if (currentPath === 'globalType' && globalSlug) {\n lastIncompletePath.path = currentPath\n lastIncompletePath.complete = true\n lastIncompletePath.field = {\n name: 'globalType',\n type: 'text',\n }\n\n return paths\n }\n\n if (!matchedField && currentPath === 'id' && i === pathSegments.length - 1) {\n lastIncompletePath.path = currentPath\n const idField: Field = {\n name: 'id',\n type: payload.db.defaultIDType as 'text',\n }\n lastIncompletePath.field = idField\n lastIncompletePath.complete = true\n return paths\n }\n\n if (matchedField) {\n if ('hidden' in matchedField && matchedField.hidden && !overrideAccess) {\n lastIncompletePath.invalid = true\n }\n\n const nextSegment = pathSegments[i + 1]\n const nextSegmentIsLocale =\n localizationConfig && localizationConfig.localeCodes.includes(nextSegment)\n\n if (nextSegmentIsLocale) {\n // Skip the next iteration, because it's a locale\n i += 1\n currentPath = `${currentPath}.${nextSegment}`\n } else if (localizationConfig && 'localized' in matchedField && matchedField.localized) {\n currentPath = `${currentPath}.${locale}`\n }\n\n switch (matchedField.type) {\n case 'blocks':\n case 'richText':\n case 'json': {\n const upcomingSegments = pathSegments.slice(i + 1).join('.')\n lastIncompletePath.complete = true\n lastIncompletePath.path = upcomingSegments\n ? `${currentPath}.${upcomingSegments}`\n : currentPath\n return paths\n }\n\n case 'relationship':\n case 'upload': {\n // If this is a polymorphic relation,\n // We only support querying directly (no nested querying)\n if (typeof matchedField.relationTo !== 'string') {\n const lastSegmentIsValid =\n ['relationTo', 'value'].includes(pathSegments[pathSegments.length - 1]) ||\n pathSegments.length === 1\n\n if (lastSegmentIsValid) {\n lastIncompletePath.complete = true\n lastIncompletePath.path = pathSegments.join('.')\n } else {\n lastIncompletePath.invalid = true\n return paths\n }\n } else {\n lastIncompletePath.complete = true\n lastIncompletePath.path = currentPath\n\n const nestedPathToQuery = pathSegments\n .slice(nextSegmentIsLocale ? i + 2 : i + 1)\n .join('.')\n\n if (nestedPathToQuery) {\n const relatedCollection = payload.collections[matchedField.relationTo].config\n\n // eslint-disable-next-line no-await-in-loop\n const remainingPaths = await getLocalizedPaths({\n collectionSlug: relatedCollection.slug,\n fields: relatedCollection.fields,\n globalSlug,\n incomingPath: nestedPathToQuery,\n locale,\n payload,\n })\n\n paths = [...paths, ...remainingPaths]\n }\n\n return paths\n }\n\n break\n }\n\n default: {\n if ('fields' in lastIncompletePath.field) {\n lastIncompletePath.fields = flattenFields(lastIncompletePath.field.fields, false)\n }\n\n if (i + 1 === pathSegments.length) lastIncompletePath.complete = true\n lastIncompletePath.path = currentPath\n }\n }\n } else {\n lastIncompletePath.invalid = true\n lastIncompletePath.path = currentPath\n return paths\n }\n }\n }\n\n return paths\n}\n"],"names":["fieldAffectsData","flattenFields","getLocalizedPaths","collectionSlug","fields","globalSlug","incomingPath","locale","overrideAccess","payload","pathSegments","split","localizationConfig","config","localization","paths","complete","field","undefined","invalid","path","i","length","segment","lastIncompletePath","find","currentPath","matchedField","name","type","idField","db","defaultIDType","hidden","nextSegment","nextSegmentIsLocale","localeCodes","includes","localized","upcomingSegments","slice","join","relationTo","lastSegmentIsValid","nestedPathToQuery","relatedCollection","collections","remainingPaths","slug"],"mappings":"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"}
@@ -18,4 +18,4 @@ export const createMigration = async function createMigration({ migrationName, p
18
18
  });
19
19
  };
20
20
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL2NyZWF0ZU1pZ3JhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuXG5pbXBvcnQgdHlwZSB7IENyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBtaWdyYXRpb25UZW1wbGF0ZSB9IGZyb20gJy4vbWlncmF0aW9uVGVtcGxhdGUuanMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaWdyYXRpb246IENyZWF0ZU1pZ3JhdGlvbiA9IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZU1pZ3JhdGlvbih7XG4gIG1pZ3JhdGlvbk5hbWUsXG4gIHBheWxvYWQsXG59KSB7XG4gIGNvbnN0IGRpciA9IHBheWxvYWQuZGIubWlncmF0aW9uRGlyXG4gIGlmICghZnMuZXhpc3RzU3luYyhkaXIpKSB7XG4gICAgZnMubWtkaXJTeW5jKGRpcilcbiAgfVxuXG4gIGNvbnN0IFt5eXltbWRkLCBoaG1tc3NdID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylcbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IHl5eW1tZGQucmVwbGFjZSgvXFxEL2csICcnKVxuICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gaGhtbXNzLnNwbGl0KCcuJylbMF0ucmVwbGFjZSgvXFxEL2csICcnKVxuXG4gIGNvbnN0IHRpbWVzdGFtcCA9IGAke2Zvcm1hdHRlZERhdGV9XyR7Zm9ybWF0dGVkVGltZX1gXG5cbiAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IG1pZ3JhdGlvbk5hbWUucmVwbGFjZSgvXFxXL2csICdfJylcbiAgY29uc3QgZmlsZU5hbWUgPSBgJHt0aW1lc3RhbXB9XyR7Zm9ybWF0dGVkTmFtZX0udHNgXG4gIGNvbnN0IGZpbGVQYXRoID0gYCR7ZGlyfS8ke2ZpbGVOYW1lfWBcbiAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgbWlncmF0aW9uVGVtcGxhdGUpXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpb24gY3JlYXRlZCBhdCAke2ZpbGVQYXRofWAgfSlcbn1cbiJdLCJuYW1lcyI6WyJmcyIsIm1pZ3JhdGlvblRlbXBsYXRlIiwiY3JlYXRlTWlncmF0aW9uIiwibWlncmF0aW9uTmFtZSIsInBheWxvYWQiLCJkaXIiLCJkYiIsIm1pZ3JhdGlvbkRpciIsImV4aXN0c1N5bmMiLCJta2RpclN5bmMiLCJ5eXltbWRkIiwiaGhtbXNzIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic3BsaXQiLCJmb3JtYXR0ZWREYXRlIiwicmVwbGFjZSIsImZvcm1hdHRlZFRpbWUiLCJ0aW1lc3RhbXAiLCJmb3JtYXR0ZWROYW1lIiwiZmlsZU5hbWUiLCJmaWxlUGF0aCIsIndyaXRlRmlsZVN5bmMiLCJsb2dnZXIiLCJpbmZvIiwibXNnIl0sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQsR0FDekQsT0FBT0EsUUFBUSxLQUFJO0FBSW5CLFNBQVNDLGlCQUFpQixRQUFRLHlCQUF3QjtBQUUxRCxPQUFPLE1BQU1DLGtCQUFtQyxlQUFlQSxnQkFBZ0IsRUFDN0VDLGFBQWEsRUFDYkMsT0FBTyxFQUNSO0lBQ0MsTUFBTUMsTUFBTUQsUUFBUUUsRUFBRSxDQUFDQyxZQUFZO0lBQ25DLElBQUksQ0FBQ1AsR0FBR1EsVUFBVSxDQUFDSCxNQUFNO1FBQ3ZCTCxHQUFHUyxTQUFTLENBQUNKO0lBQ2Y7SUFFQSxNQUFNLENBQUNLLFNBQVNDLE9BQU8sR0FBRyxJQUFJQyxPQUFPQyxXQUFXLEdBQUdDLEtBQUssQ0FBQztJQUN6RCxNQUFNQyxnQkFBZ0JMLFFBQVFNLE9BQU8sQ0FBQyxPQUFPO0lBQzdDLE1BQU1DLGdCQUFnQk4sT0FBT0csS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUNFLE9BQU8sQ0FBQyxPQUFPO0lBRTFELE1BQU1FLFlBQVksQ0FBQyxFQUFFSCxjQUFjLENBQUMsRUFBRUUsY0FBYyxDQUFDO0lBRXJELE1BQU1FLGdCQUFnQmhCLGNBQWNhLE9BQU8sQ0FBQyxPQUFPO0lBQ25ELE1BQU1JLFdBQVcsQ0FBQyxFQUFFRixVQUFVLENBQUMsRUFBRUMsY0FBYyxHQUFHLENBQUM7SUFDbkQsTUFBTUUsV0FBVyxDQUFDLEVBQUVoQixJQUFJLENBQUMsRUFBRWUsU0FBUyxDQUFDO0lBQ3JDcEIsR0FBR3NCLGFBQWEsQ0FBQ0QsVUFBVXBCO0lBQzNCRyxRQUFRbUIsTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFBRUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFSixTQUFTLENBQUM7SUFBQztBQUNoRSxFQUFDIn0=
21
+ //# sourceMappingURL=createMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/createMigration.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport fs from 'fs'\n\nimport type { CreateMigration } from '../types.js'\n\nimport { migrationTemplate } from './migrationTemplate.js'\n\nexport const createMigration: CreateMigration = async function createMigration({\n migrationName,\n payload,\n}) {\n const dir = payload.db.migrationDir\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir)\n }\n\n const [yyymmdd, hhmmss] = new Date().toISOString().split('T')\n const formattedDate = yyymmdd.replace(/\\D/g, '')\n const formattedTime = hhmmss.split('.')[0].replace(/\\D/g, '')\n\n const timestamp = `${formattedDate}_${formattedTime}`\n\n const formattedName = migrationName.replace(/\\W/g, '_')\n const fileName = `${timestamp}_${formattedName}.ts`\n const filePath = `${dir}/${fileName}`\n fs.writeFileSync(filePath, migrationTemplate)\n payload.logger.info({ msg: `Migration created at ${filePath}` })\n}\n"],"names":["fs","migrationTemplate","createMigration","migrationName","payload","dir","db","migrationDir","existsSync","mkdirSync","yyymmdd","hhmmss","Date","toISOString","split","formattedDate","replace","formattedTime","timestamp","formattedName","fileName","filePath","writeFileSync","logger","info","msg"],"mappings":"AAAA,yDAAyD,GACzD,OAAOA,QAAQ,KAAI;AAInB,SAASC,iBAAiB,QAAQ,yBAAwB;AAE1D,OAAO,MAAMC,kBAAmC,eAAeA,gBAAgB,EAC7EC,aAAa,EACbC,OAAO,EACR;IACC,MAAMC,MAAMD,QAAQE,EAAE,CAACC,YAAY;IACnC,IAAI,CAACP,GAAGQ,UAAU,CAACH,MAAM;QACvBL,GAAGS,SAAS,CAACJ;IACf;IAEA,MAAM,CAACK,SAASC,OAAO,GAAG,IAAIC,OAAOC,WAAW,GAAGC,KAAK,CAAC;IACzD,MAAMC,gBAAgBL,QAAQM,OAAO,CAAC,OAAO;IAC7C,MAAMC,gBAAgBN,OAAOG,KAAK,CAAC,IAAI,CAAC,EAAE,CAACE,OAAO,CAAC,OAAO;IAE1D,MAAME,YAAY,CAAC,EAAEH,cAAc,CAAC,EAAEE,cAAc,CAAC;IAErD,MAAME,gBAAgBhB,cAAca,OAAO,CAAC,OAAO;IACnD,MAAMI,WAAW,CAAC,EAAEF,UAAU,CAAC,EAAEC,cAAc,GAAG,CAAC;IACnD,MAAME,WAAW,CAAC,EAAEhB,IAAI,CAAC,EAAEe,SAAS,CAAC;IACrCpB,GAAGsB,aAAa,CAACD,UAAUpB;IAC3BG,QAAQmB,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,qBAAqB,EAAEJ,SAAS,CAAC;IAAC;AAChE,EAAC"}
@@ -20,4 +20,4 @@
20
20
  };
21
21
  }
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL2dldE1pZ3JhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IE1pZ3JhdGlvbkRhdGEgfSBmcm9tICcuLi90eXBlcy5qcydcblxuLyoqXG4gKiBHZXRzIGFsbCBleGlzdGluZyBtaWdyYXRpb25zIGZyb20gdGhlIGRhdGFiYXNlLCBleGNsdWRpbmcgdGhlIGRldiBtaWdyYXRpb25cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE1pZ3JhdGlvbnMoe1xuICBwYXlsb2FkLFxufToge1xuICBwYXlsb2FkOiBQYXlsb2FkXG59KTogUHJvbWlzZTx7IGV4aXN0aW5nTWlncmF0aW9uczogTWlncmF0aW9uRGF0YVtdOyBsYXRlc3RCYXRjaDogbnVtYmVyIH0+IHtcbiAgY29uc3QgbWlncmF0aW9uUXVlcnkgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgIGxpbWl0OiAwLFxuICAgIHNvcnQ6ICctbmFtZScsXG4gICAgd2hlcmU6IHtcbiAgICAgIGJhdGNoOiB7XG4gICAgICAgIG5vdF9lcXVhbHM6IC0xLFxuICAgICAgfSxcbiAgICB9LFxuICB9KVxuXG4gIGNvbnN0IGV4aXN0aW5nTWlncmF0aW9ucyA9IG1pZ3JhdGlvblF1ZXJ5LmRvY3MgYXMgdW5rbm93biBhcyBNaWdyYXRpb25EYXRhW11cblxuICAvLyBHZXQgdGhlIGhpZ2hlc3QgYmF0Y2ggbnVtYmVyIGZyb20gZXhpc3RpbmcgbWlncmF0aW9uc1xuICBjb25zdCBsYXRlc3RCYXRjaCA9IE51bWJlcihleGlzdGluZ01pZ3JhdGlvbnM/LlswXT8uYmF0Y2gpIHx8IDBcblxuICByZXR1cm4ge1xuICAgIGV4aXN0aW5nTWlncmF0aW9ucyxcbiAgICBsYXRlc3RCYXRjaCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdldE1pZ3JhdGlvbnMiLCJwYXlsb2FkIiwibWlncmF0aW9uUXVlcnkiLCJmaW5kIiwiY29sbGVjdGlvbiIsImxpbWl0Iiwic29ydCIsIndoZXJlIiwiYmF0Y2giLCJub3RfZXF1YWxzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwiZG9jcyIsImxhdGVzdEJhdGNoIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFHQTs7Q0FFQyxHQUNELE9BQU8sZUFBZUEsY0FBYyxFQUNsQ0MsT0FBTyxFQUdSO0lBQ0MsTUFBTUMsaUJBQWlCLE1BQU1ELFFBQVFFLElBQUksQ0FBQztRQUN4Q0MsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLE1BQU07UUFDTkMsT0FBTztZQUNMQyxPQUFPO2dCQUNMQyxZQUFZLENBQUM7WUFDZjtRQUNGO0lBQ0Y7SUFFQSxNQUFNQyxxQkFBcUJSLGVBQWVTLElBQUk7SUFFOUMsd0RBQXdEO0lBQ3hELE1BQU1DLGNBQWNDLE9BQU9ILG9CQUFvQixDQUFDLEVBQUUsRUFBRUYsVUFBVTtJQUU5RCxPQUFPO1FBQ0xFO1FBQ0FFO0lBQ0Y7QUFDRiJ9
23
+ //# sourceMappingURL=getMigrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/getMigrations.ts"],"sourcesContent":["import type { Payload } from '../../index.js'\nimport type { MigrationData } from '../types.js'\n\n/**\n * Gets all existing migrations from the database, excluding the dev migration\n */\nexport async function getMigrations({\n payload,\n}: {\n payload: Payload\n}): Promise<{ existingMigrations: MigrationData[]; latestBatch: number }> {\n const migrationQuery = await payload.find({\n collection: 'payload-migrations',\n limit: 0,\n sort: '-name',\n where: {\n batch: {\n not_equals: -1,\n },\n },\n })\n\n const existingMigrations = migrationQuery.docs as unknown as MigrationData[]\n\n // Get the highest batch number from existing migrations\n const latestBatch = Number(existingMigrations?.[0]?.batch) || 0\n\n return {\n existingMigrations,\n latestBatch,\n }\n}\n"],"names":["getMigrations","payload","migrationQuery","find","collection","limit","sort","where","batch","not_equals","existingMigrations","docs","latestBatch","Number"],"mappings":"AAGA;;CAEC,GACD,OAAO,eAAeA,cAAc,EAClCC,OAAO,EAGR;IACC,MAAMC,iBAAiB,MAAMD,QAAQE,IAAI,CAAC;QACxCC,YAAY;QACZC,OAAO;QACPC,MAAM;QACNC,OAAO;YACLC,OAAO;gBACLC,YAAY,CAAC;YACf;QACF;IACF;IAEA,MAAMC,qBAAqBR,eAAeS,IAAI;IAE9C,wDAAwD;IACxD,MAAMC,cAAcC,OAAOH,oBAAoB,CAAC,EAAE,EAAEF,UAAU;IAE9D,OAAO;QACLE;QACAE;IACF;AACF"}
@@ -55,4 +55,4 @@ export async function migrate() {
55
55
  }
56
56
  }
57
57
 
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi90eXBlcy9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9jb21taXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9pbml0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBraWxsVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva2lsbFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgZ2V0TWlncmF0aW9ucyB9IGZyb20gJy4vZ2V0TWlncmF0aW9ucy5qcydcbmltcG9ydCB7IHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJy4vcmVhZE1pZ3JhdGlvbkZpbGVzLmpzJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZSh0aGlzOiBCYXNlRGF0YWJhc2VBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHsgcGF5bG9hZCB9KVxuXG4gIGNvbnN0IG5ld0JhdGNoID0gbGF0ZXN0QmF0Y2ggKyAxXG5cbiAgLy8gRXhlY3V0ZSAndXAnIGZ1bmN0aW9uIGZvciBlYWNoIG1pZ3JhdGlvbiBzZXF1ZW50aWFsbHlcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBjb25zdCBleGlzdGluZ01pZ3JhdGlvbiA9IGV4aXN0aW5nTWlncmF0aW9ucy5maW5kKFxuICAgICAgKGV4aXN0aW5nKSA9PiBleGlzdGluZy5uYW1lID09PSBtaWdyYXRpb24ubmFtZSxcbiAgICApXG5cbiAgICAvLyBSdW4gbWlncmF0aW9uIGlmIG5vdCBmb3VuZCBpbiBkYXRhYmFzZVxuICAgIGlmIChleGlzdGluZ01pZ3JhdGlvbikge1xuICAgICAgY29udGludWUgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250aW51ZVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uLnVwKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgICAgYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICAgIGJhdGNoOiBuZXdCYXRjaCxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxLFxuICAgICAgfSlcbiAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVyciwgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImdldE1pZ3JhdGlvbnMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJtaWdyYXRlIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJuZXdCYXRjaCIsIm1pZ3JhdGlvbiIsImV4aXN0aW5nTWlncmF0aW9uIiwiZmluZCIsImV4aXN0aW5nIiwibmFtZSIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInJlcSIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJ1cCIsImNyZWF0ZSIsImNvbGxlY3Rpb24iLCJkYXRhIiwiYmF0Y2giLCJlcnIiLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlELEdBSXpELFNBQVNBLGlCQUFpQixRQUFRLHVDQUFzQztBQUN4RSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGVBQWUsUUFBUSxxQ0FBb0M7QUFDcEUsU0FBU0MsYUFBYSxRQUFRLHFCQUFvQjtBQUNsRCxTQUFTQyxrQkFBa0IsUUFBUSwwQkFBeUI7QUFFNUQsT0FBTyxlQUFlQztJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1ILG1CQUFtQjtRQUFFRTtJQUFRO0lBQzFELE1BQU0sRUFBRUUsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRSxHQUFHLE1BQU1OLGNBQWM7UUFBRUc7SUFBUTtJQUUxRSxNQUFNSSxXQUFXRCxjQUFjO0lBRS9CLHdEQUF3RDtJQUN4RCxLQUFLLE1BQU1FLGFBQWFKLGVBQWdCO1FBQ3RDLE1BQU1LLG9CQUFvQkosbUJBQW1CSyxJQUFJLENBQy9DLENBQUNDLFdBQWFBLFNBQVNDLElBQUksS0FBS0osVUFBVUksSUFBSTtRQUdoRCx5Q0FBeUM7UUFDekMsSUFBSUgsbUJBQW1CO1lBQ3JCLFVBQVMsa0NBQWtDO1FBQzdDO1FBRUEsTUFBTUksUUFBUUMsS0FBS0MsR0FBRztRQUN0QixNQUFNQyxNQUFNO1lBQUViO1FBQVE7UUFFdEJBLFFBQVFjLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVYLFVBQVVJLElBQUksQ0FBQyxDQUFDO1FBQUM7UUFFMUQsSUFBSTtZQUNGLE1BQU1kLGdCQUFnQmtCO1lBQ3RCLE1BQU1SLFVBQVVZLEVBQUUsQ0FBQztnQkFBRWpCO2dCQUFTYTtZQUFJO1lBQ2xDYixRQUFRYyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLFdBQVcsRUFBRVgsVUFBVUksSUFBSSxDQUFDLEVBQUUsRUFBRUUsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUFDO1lBQ3BGLE1BQU1WLFFBQVFrQixNQUFNLENBQUM7Z0JBQ25CQyxZQUFZO2dCQUNaQyxNQUFNO29CQUNKWCxNQUFNSixVQUFVSSxJQUFJO29CQUNwQlksT0FBT2pCO2dCQUNUO2dCQUNBUztZQUNGO1lBQ0EsTUFBTW5CLGtCQUFrQm1CO1FBQzFCLEVBQUUsT0FBT1MsS0FBYztZQUNyQixNQUFNMUIsZ0JBQWdCaUI7WUFDdEJiLFFBQVFjLE1BQU0sQ0FBQ1MsS0FBSyxDQUFDO2dCQUFFRDtnQkFBS04sS0FBSyxDQUFDLHdCQUF3QixFQUFFWCxVQUFVSSxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQzdFLE1BQU1hO1FBQ1I7SUFDRjtBQUNGIn0=
58
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/migrate.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport 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 migrate(this: BaseDatabaseAdapter): Promise<void> {\n const { payload } = this\n const migrationFiles = await readMigrationFiles({ payload })\n const { existingMigrations, latestBatch } = await getMigrations({ payload })\n\n const newBatch = latestBatch + 1\n\n // Execute 'up' function for each migration sequentially\n for (const migration of migrationFiles) {\n const existingMigration = existingMigrations.find(\n (existing) => existing.name === migration.name,\n )\n\n // Run migration if not found in database\n if (existingMigration) {\n continue // eslint-disable-line no-continue\n }\n\n const start = Date.now()\n const req = { payload } as PayloadRequest\n\n payload.logger.info({ msg: `Migrating: ${migration.name}` })\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: newBatch,\n },\n req,\n })\n await commitTransaction(req)\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"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrate","payload","migrationFiles","existingMigrations","latestBatch","newBatch","migration","existingMigration","find","existing","name","start","Date","now","req","logger","info","msg","up","create","collection","data","batch","err","error"],"mappings":"AAAA,yDAAyD,GAIzD,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;IAC1D,MAAM,EAAEE,kBAAkB,EAAEC,WAAW,EAAE,GAAG,MAAMN,cAAc;QAAEG;IAAQ;IAE1E,MAAMI,WAAWD,cAAc;IAE/B,wDAAwD;IACxD,KAAK,MAAME,aAAaJ,eAAgB;QACtC,MAAMK,oBAAoBJ,mBAAmBK,IAAI,CAC/C,CAACC,WAAaA,SAASC,IAAI,KAAKJ,UAAUI,IAAI;QAGhD,yCAAyC;QACzC,IAAIH,mBAAmB;YACrB,UAAS,kCAAkC;QAC7C;QAEA,MAAMI,QAAQC,KAAKC,GAAG;QACtB,MAAMC,MAAM;YAAEb;QAAQ;QAEtBA,QAAQc,MAAM,CAACC,IAAI,CAAC;YAAEC,KAAK,CAAC,WAAW,EAAEX,UAAUI,IAAI,CAAC,CAAC;QAAC;QAE1D,IAAI;YACF,MAAMd,gBAAgBkB;YACtB,MAAMR,UAAUY,EAAE,CAAC;gBAAEjB;gBAASa;YAAI;YAClCb,QAAQc,MAAM,CAACC,IAAI,CAAC;gBAAEC,KAAK,CAAC,WAAW,EAAEX,UAAUI,IAAI,CAAC,EAAE,EAAEE,KAAKC,GAAG,KAAKF,MAAM,GAAG,CAAC;YAAC;YACpF,MAAMV,QAAQkB,MAAM,CAAC;gBACnBC,YAAY;gBACZC,MAAM;oBACJX,MAAMJ,UAAUI,IAAI;oBACpBY,OAAOjB;gBACT;gBACAS;YACF;YACA,MAAMnB,kBAAkBmB;QAC1B,EAAE,OAAOS,KAAc;YACrB,MAAM1B,gBAAgBiB;YACtBb,QAAQc,MAAM,CAACS,KAAK,CAAC;gBAAED;gBAAKN,KAAK,CAAC,wBAAwB,EAAEX,UAAUI,IAAI,CAAC,CAAC;YAAC;YAC7E,MAAMa;QACR;IACF;AACF"}
@@ -60,4 +60,4 @@ export async function migrateDown() {
60
60
  }
61
61
  }
62
62
 
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVEb3duLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEJhc2VEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMgfSBmcm9tICcuL2dldE1pZ3JhdGlvbnMuanMnXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICcuL3JlYWRNaWdyYXRpb25GaWxlcy5qcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVEb3duKHRoaXM6IEJhc2VEYXRhYmFzZUFkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIGNvbnN0IHsgZXhpc3RpbmdNaWdyYXRpb25zLCBsYXRlc3RCYXRjaCB9ID0gYXdhaXQgZ2V0TWlncmF0aW9ucyh7XG4gICAgcGF5bG9hZCxcbiAgfSlcblxuICBpZiAoIWV4aXN0aW5nTWlncmF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIG1pZ3JhdGlvbnMgdG8gcm9sbGJhY2suJyB9KVxuICAgIHJldHVyblxuICB9XG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgbXNnOiBgUm9sbGluZyBiYWNrIGJhdGNoICR7bGF0ZXN0QmF0Y2h9IGNvbnNpc3Rpbmcgb2YgJHtleGlzdGluZ01pZ3JhdGlvbnMubGVuZ3RofSBtaWdyYXRpb24ocykuYCxcbiAgfSlcblxuICBjb25zdCBsYXRlc3RCYXRjaE1pZ3JhdGlvbnMgPSBleGlzdGluZ01pZ3JhdGlvbnMuZmlsdGVyKCh7IGJhdGNoIH0pID0+IGJhdGNoID09PSBsYXRlc3RCYXRjaClcblxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBsYXRlc3RCYXRjaE1pZ3JhdGlvbnMpIHtcbiAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICBpZiAoIW1pZ3JhdGlvbkZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9IG5vdCBmb3VuZCBsb2NhbGx5LmApXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgY29uc3QgcmVxID0geyBwYXlsb2FkIH0gYXMgUGF5bG9hZFJlcXVlc3RcblxuICAgIHRyeSB7XG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uRmlsZS5uYW1lfWAgfSlcbiAgICAgIGF3YWl0IGluaXRUcmFuc2FjdGlvbihyZXEpXG4gICAgICBhd2FpdCBtaWdyYXRpb25GaWxlLmRvd24oeyBwYXlsb2FkLCByZXEgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb25GaWxlLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgLFxuICAgICAgfSlcbiAgICAgIC8vIFdhaXRpbmcgZm9yIGltcGxlbWVudGF0aW9uIGhlcmVcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG5cbiAgICAgIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb25GaWxlLm5hbWV9YCxcbiAgICAgIH0pXG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImdldE1pZ3JhdGlvbnMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJtaWdyYXRlRG93biIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsImV4aXN0aW5nTWlncmF0aW9ucyIsImxhdGVzdEJhdGNoIiwibGVuZ3RoIiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsImxhdGVzdEJhdGNoTWlncmF0aW9ucyIsImZpbHRlciIsImJhdGNoIiwibWlncmF0aW9uIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwicmVxIiwiZG93biIsImRlbGV0ZSIsImlkIiwiY29sbGVjdGlvbiIsImVyciIsImVycm9yIiwicHJvY2VzcyIsImV4aXQiXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RCxHQUl6RCxTQUFTQSxpQkFBaUIsUUFBUSx1Q0FBc0M7QUFDeEUsU0FBU0MsZUFBZSxRQUFRLHFDQUFvQztBQUNwRSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGFBQWEsUUFBUSxxQkFBb0I7QUFDbEQsU0FBU0Msa0JBQWtCLFFBQVEsMEJBQXlCO0FBRTVELE9BQU8sZUFBZUM7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNSCxtQkFBbUI7UUFBRUU7SUFBUTtJQUUxRCxNQUFNLEVBQUVFLGtCQUFrQixFQUFFQyxXQUFXLEVBQUUsR0FBRyxNQUFNTixjQUFjO1FBQzlERztJQUNGO0lBRUEsSUFBSSxDQUFDRSxvQkFBb0JFLFFBQVE7UUFDL0JKLFFBQVFLLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBNkI7UUFDeEQ7SUFDRjtJQUVBUCxRQUFRSyxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNsQkMsS0FBSyxDQUFDLG1CQUFtQixFQUFFSixZQUFZLGVBQWUsRUFBRUQsbUJBQW1CRSxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQ25HO0lBRUEsTUFBTUksd0JBQXdCTixtQkFBbUJPLE1BQU0sQ0FBQyxDQUFDLEVBQUVDLEtBQUssRUFBRSxHQUFLQSxVQUFVUDtJQUVqRixLQUFLLE1BQU1RLGFBQWFILHNCQUF1QjtRQUM3QyxNQUFNSSxnQkFBZ0JYLGVBQWVZLElBQUksQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUtKLFVBQVVJLElBQUk7UUFDMUUsSUFBSSxDQUFDSCxlQUFlO1lBQ2xCLE1BQU0sSUFBSUksTUFBTSxDQUFDLFVBQVUsRUFBRUwsVUFBVUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xFO1FBRUEsTUFBTUUsUUFBUUMsS0FBS0MsR0FBRztRQUN0QixNQUFNQyxNQUFNO1lBQUVwQjtRQUFRO1FBRXRCLElBQUk7WUFDRkEsUUFBUUssTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUssY0FBY0csSUFBSSxDQUFDLENBQUM7WUFBQztZQUNuRSxNQUFNcEIsZ0JBQWdCeUI7WUFDdEIsTUFBTVIsY0FBY1MsSUFBSSxDQUFDO2dCQUFFckI7Z0JBQVNvQjtZQUFJO1lBQ3hDcEIsUUFBUUssTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQ2xCQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVLLGNBQWNHLElBQUksQ0FBQyxFQUFFLEVBQUVHLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFDeEU7WUFDQSxrQ0FBa0M7WUFDbEMsTUFBTWpCLFFBQVFzQixNQUFNLENBQUM7Z0JBQ25CQyxJQUFJWixVQUFVWSxFQUFFO2dCQUNoQkMsWUFBWTtnQkFDWko7WUFDRjtZQUVBLE1BQU0xQixrQkFBa0IwQjtRQUMxQixFQUFFLE9BQU9LLEtBQWM7WUFDckIsTUFBTTdCLGdCQUFnQndCO1lBQ3RCcEIsUUFBUUssTUFBTSxDQUFDcUIsS0FBSyxDQUFDO2dCQUNuQkQ7Z0JBQ0FsQixLQUFLLENBQUMsd0JBQXdCLEVBQUVLLGNBQWNHLElBQUksQ0FBQyxDQUFDO1lBQ3REO1lBQ0FZLFFBQVFDLElBQUksQ0FBQztRQUNmO0lBQ0Y7QUFDRiJ9
63
+ //# sourceMappingURL=migrateDown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateDown.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport 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 migrateDown(this: BaseDatabaseAdapter): 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 // Waiting for implementation here\n await payload.delete({\n id: migration.id,\n collection: 'payload-migrations',\n req,\n })\n\n await commitTransaction(req)\n } catch (err: unknown) {\n await killTransaction(req)\n payload.logger.error({\n err,\n msg: `Error running migration ${migrationFile.name}`,\n })\n process.exit(1)\n }\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","getMigrations","readMigrationFiles","migrateDown","payload","migrationFiles","existingMigrations","latestBatch","length","logger","info","msg","latestBatchMigrations","filter","batch","migration","migrationFile","find","m","name","Error","start","Date","now","req","down","delete","id","collection","err","error","process","exit"],"mappings":"AAAA,yDAAyD,GAIzD,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,EAAEC,WAAW,EAAE,GAAG,MAAMN,cAAc;QAC9DG;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,MAAMpB,gBAAgByB;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;YACA,kCAAkC;YAClC,MAAMjB,QAAQsB,MAAM,CAAC;gBACnBC,IAAIZ,UAAUY,EAAE;gBAChBC,YAAY;gBACZJ;YACF;YAEA,MAAM1B,kBAAkB0B;QAC1B,EAAE,OAAOK,KAAc;YACrB,MAAM7B,gBAAgBwB;YACtBpB,QAAQK,MAAM,CAACqB,KAAK,CAAC;gBACnBD;gBACAlB,KAAK,CAAC,wBAAwB,EAAEK,cAAcG,IAAI,CAAC,CAAC;YACtD;YACAY,QAAQC,IAAI,CAAC;QACf;IACF;AACF"}
@@ -106,4 +106,4 @@ import { readMigrationFiles } from './readMigrationFiles.js';
106
106
  }
107
107
  }
108
108
 
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVSZWZyZXNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdHlwZXMvaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEJhc2VEYXRhYmFzZUFkYXB0ZXIgfSBmcm9tICcuLi90eXBlcy5qcydcblxuaW1wb3J0IHsgY29tbWl0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29tbWl0VHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBpbml0VHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvaW5pdFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsga2lsbFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2tpbGxUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMgfSBmcm9tICcuL2dldE1pZ3JhdGlvbnMuanMnXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICcuL3JlYWRNaWdyYXRpb25GaWxlcy5qcydcblxuLyoqXG4gKiBSdW4gYWxsIG1pZ3JhdGlvbiBkb3duIGZ1bmN0aW9ucyBiZWZvcmUgcnVubmluZyB1cFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlZnJlc2godGhpczogQmFzZURhdGFiYXNlQWRhcHRlcikge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHtcbiAgICBwYXlsb2FkLFxuICB9KVxuXG4gIGlmICghZXhpc3RpbmdNaWdyYXRpb25zPy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyB0byByb2xsYmFjay4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBSb2xsaW5nIGJhY2sgYmF0Y2ggJHtsYXRlc3RCYXRjaH0gY29uc2lzdGluZyBvZiAke2V4aXN0aW5nTWlncmF0aW9ucy5sZW5ndGh9IG1pZ3JhdGlvbihzKS5gLFxuICB9KVxuXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUmV2ZXJzZSBvcmRlciBvZiBtaWdyYXRpb25zIHRvIHJvbGxiYWNrXG4gIGV4aXN0aW5nTWlncmF0aW9ucy5yZXZlcnNlKClcblxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBleGlzdGluZ01pZ3JhdGlvbnMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG4gICAgICBpZiAoIW1pZ3JhdGlvbkZpbGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0gbm90IGZvdW5kIGxvY2FsbHkuYClcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZyBkb3duOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQsIHJlcSB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCxcbiAgICAgIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICByZXEsXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgbmFtZToge1xuICAgICAgICAgICAgZXF1YWxzOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICBsZXQgbXNnID0gYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9LiBSb2xsaW5nIGJhY2suYFxuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIG1zZyArPSBgICR7ZXJyLm1lc3NhZ2V9YFxuICAgICAgfVxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICBlcnIsXG4gICAgICAgIG1zZyxcbiAgICAgIH0pXG4gICAgICBwcm9jZXNzLmV4aXQoMSlcbiAgICB9XG4gIH1cblxuICAvLyBSdW4gYWxsIG1pZ3JhdGUgdXBcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICBhd2FpdCBpbml0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgYXdhaXQgbWlncmF0aW9uLnVwKHsgcGF5bG9hZCwgcmVxIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgZXhlY3V0ZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcSxcbiAgICAgIH0pXG4gICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgICAgbGV0IG1zZyA9IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrLmBcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBtc2cgKz0gYCAke2Vyci5tZXNzYWdlfWBcbiAgICAgIH1cbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2csXG4gICAgICB9KVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiY29tbWl0VHJhbnNhY3Rpb24iLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJnZXRNaWdyYXRpb25zIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibWlncmF0ZVJlZnJlc2giLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJsYXRlc3RCYXRjaCIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJyZXEiLCJyZXZlcnNlIiwibWlncmF0aW9uIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZG93biIsImRlbGV0ZSIsImNvbGxlY3Rpb24iLCJ3aGVyZSIsImVxdWFscyIsImVyciIsIm1lc3NhZ2UiLCJlcnJvciIsInByb2Nlc3MiLCJleGl0IiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXhlY3V0ZWQiXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RCxHQUl6RCxTQUFTQSxpQkFBaUIsUUFBUSx1Q0FBc0M7QUFDeEUsU0FBU0MsZUFBZSxRQUFRLHFDQUFvQztBQUNwRSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGFBQWEsUUFBUSxxQkFBb0I7QUFDbEQsU0FBU0Msa0JBQWtCLFFBQVEsMEJBQXlCO0FBRTVEOztDQUVDLEdBQ0QsT0FBTyxlQUFlQztJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1ILG1CQUFtQjtRQUFFRTtJQUFRO0lBRTFELE1BQU0sRUFBRUUsa0JBQWtCLEVBQUVDLFdBQVcsRUFBRSxHQUFHLE1BQU1OLGNBQWM7UUFDOURHO0lBQ0Y7SUFFQSxJQUFJLENBQUNFLG9CQUFvQkUsUUFBUTtRQUMvQkosUUFBUUssTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSztRQUE2QjtRQUN4RDtJQUNGO0lBRUFQLFFBQVFLLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQ2xCQyxLQUFLLENBQUMsbUJBQW1CLEVBQUVKLFlBQVksZUFBZSxFQUFFRCxtQkFBbUJFLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbkc7SUFFQSxNQUFNSSxNQUFNO1FBQUVSO0lBQVE7SUFFdEIsMENBQTBDO0lBQzFDRSxtQkFBbUJPLE9BQU87SUFFMUIsS0FBSyxNQUFNQyxhQUFhUixtQkFBb0I7UUFDMUMsSUFBSTtZQUNGLE1BQU1TLGdCQUFnQlYsZUFBZVcsSUFBSSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0osVUFBVUksSUFBSTtZQUMxRSxJQUFJLENBQUNILGVBQWU7Z0JBQ2xCLE1BQU0sSUFBSUksTUFBTSxDQUFDLFVBQVUs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
109
+ //# sourceMappingURL=migrateRefresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateRefresh.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport 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, 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 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\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","latestBatch","length","logger","info","msg","req","reverse","migration","migrationFile","find","m","name","Error","start","Date","now","down","delete","collection","where","equals","err","message","error","process","exit","up","create","data","executed"],"mappings":"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"}
@@ -76,4 +76,4 @@ export async function migrateReset() {
76
76
  }
77
77
  }
78
78
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVSZXNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL3R5cGVzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMuanMnXG5cbmltcG9ydCB7IGNvbW1pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbW1pdFRyYW5zYWN0aW9uLmpzJ1xuaW1wb3J0IHsgaW5pdFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2luaXRUcmFuc2FjdGlvbi5qcydcbmltcG9ydCB7IGtpbGxUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9raWxsVHJhbnNhY3Rpb24uanMnXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zIH0gZnJvbSAnLi9nZXRNaWdyYXRpb25zLmpzJ1xuaW1wb3J0IHsgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAnLi9yZWFkTWlncmF0aW9uRmlsZXMuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlUmVzZXQodGhpczogQmFzZURhdGFiYXNlQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgaWYgKCFleGlzdGluZ01pZ3JhdGlvbnM/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJlc2V0LicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHJlcSA9IHsgcGF5bG9hZCB9IGFzIFBheWxvYWRSZXF1ZXN0XG5cbiAgLy8gUm9sbGJhY2sgYWxsIG1pZ3JhdGlvbnMgaW4gb3JkZXJcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICAvLyBDcmVhdGUgb3IgdXBkYXRlIG1pZ3JhdGlvbiBpbiBkYXRhYmFzZVxuICAgIGNvbnN0IGV4aXN0aW5nTWlncmF0aW9uID0gZXhpc3RpbmdNaWdyYXRpb25zLmZpbmQoXG4gICAgICAoZXhpc3RpbmcpID0+IGV4aXN0aW5nLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lLFxuICAgIClcbiAgICBpZiAoZXhpc3RpbmdNaWdyYXRpb24pIHtcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgICAgICAgYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgYXdhaXQgbWlncmF0aW9uLmRvd24oeyBwYXlsb2FkLCByZXEgfSlcbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBleGlzdGluZ01pZ3JhdGlvbi5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgICAgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQgZG93bjogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoeyBlcnIsIG1zZzogYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuICAgICAgICB0aHJvdyBlcnJcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEZWxldGUgZGV2IG1pZ3JhdGlvblxuICB0cnkge1xuICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgd2hlcmU6IHtcbiAgICAgICAgYmF0Y2g6IHtcbiAgICAgICAgICBlcXVhbHM6IC0xLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnIsIG1zZzogJ0Vycm9yIGRlbGV0aW5nIGRldiBtaWdyYXRpb24nIH0pXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsImdldE1pZ3JhdGlvbnMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJtaWdyYXRlUmVzZXQiLCJwYXlsb2FkIiwibWlncmF0aW9uRmlsZXMiLCJleGlzdGluZ01pZ3JhdGlvbnMiLCJsZW5ndGgiLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwicmVxIiwibWlncmF0aW9uIiwiZXhpc3RpbmdNaWdyYXRpb24iLCJmaW5kIiwiZXhpc3RpbmciLCJuYW1lIiwic3RhcnQiLCJEYXRlIiwibm93IiwiZG93biIsImRlbGV0ZSIsImNvbGxlY3Rpb24iLCJ3aGVyZSIsImlkIiwiZXF1YWxzIiwiZXJyIiwiZXJyb3IiLCJiYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlELEdBSXpELFNBQVNBLGlCQUFpQixRQUFRLHVDQUFzQztBQUN4RSxTQUFTQyxlQUFlLFFBQVEscUNBQW9DO0FBQ3BFLFNBQVNDLGVBQWUsUUFBUSxxQ0FBb0M7QUFDcEUsU0FBU0MsYUFBYSxRQUFRLHFCQUFvQjtBQUNsRCxTQUFTQyxrQkFBa0IsUUFBUSwwQkFBeUI7QUFFNUQsT0FBTyxlQUFlQztJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1ILG1CQUFtQjtRQUFFRTtJQUFRO0lBRTFELE1BQU0sRUFBRUUsa0JBQWtCLEVBQUUsR0FBRyxNQUFNTCxjQUFjO1FBQUVHO0lBQVE7SUFFN0QsSUFBSSxDQUFDRSxvQkFBb0JDLFFBQVE7UUFDL0JILFFBQVFJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBMEI7UUFDckQ7SUFDRjtJQUVBLE1BQU1DLE1BQU07UUFBRVA7SUFBUTtJQUV0QixtQ0FBbUM7SUFDbkMsS0FBSyxNQUFNUSxhQUFhUCxlQUFnQjtRQUN0Qyx5Q0FBeUM7UUFDekMsTUFBTVEsb0JBQW9CUCxtQkFBbUJRLElBQUksQ0FDL0MsQ0FBQ0MsV0FBYUEsU0FBU0MsSUFBSSxLQUFLSixVQUFVSSxJQUFJO1FBRWhELElBQUlILG1CQUFtQjtZQUNyQlQsUUFBUUksTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUUsVUFBVUksSUFBSSxDQUFDLENBQUM7WUFBQztZQUMvRCxJQUFJO2dCQUNGLE1BQU1DLFFBQVFDLEtBQUtDLEdBQUc7Z0JBQ3RCLE1BQU1wQixnQkFBZ0JZO2dCQUN0QixNQUFNQyxVQUFVUSxJQUFJLENBQUM7b0JBQUVoQjtvQkFBU087Z0JBQUk7Z0JBQ3BDLE1BQU1QLFFBQVFpQixNQUFNLENBQUM7b0JBQ25CQyxZQUFZO29CQUNaWDtvQkFDQVksT0FBTzt3QkFDTEMsSUFBSTs0QkFDRkMsUUFBUVosa0JBQWtCVyxFQUFFO3dCQUM5QjtvQkFDRjtnQkFDRjtnQkFDQSxNQUFNMUIsa0JBQWtCYTtnQkFDeEJQLFFBQVFJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO29CQUFFQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVFLFVBQVVJLElBQUksQ0FBQyxFQUFFLEVBQUVFLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7Z0JBQUM7WUFDM0YsRUFBRSxPQUFPUyxLQUFjO2dCQUNyQixNQUFNMUIsZ0JBQWdCVztnQkFDdEJQLFFBQVFJLE1BQU0sQ0FBQ21CLEtBQUssQ0FBQztvQkFBRUQ7b0JBQUtoQixLQUFLLENBQUMsd0JBQXdCLEVBQUVFLFVBQVVJLElBQUksQ0FBQyxDQUFDO2dCQUFDO2dCQUM3RSxNQUFNVTtZQUNSO1FBQ0Y7SUFDRjtJQUVBLHVCQUF1QjtJQUN2QixJQUFJO1FBQ0YsTUFBTXRCLFFBQVFpQixNQUFNLENBQUM7WUFDbkJDLFlBQVk7WUFDWkMsT0FBTztnQkFDTEssT0FBTztvQkFDTEgsUUFBUSxDQUFDO2dCQUNYO1lBQ0Y7UUFDRjtJQUNGLEVBQUUsT0FBT0MsS0FBYztRQUNyQnRCLFFBQVFJLE1BQU0sQ0FBQ21CLEtBQUssQ0FBQztZQUFFQSxPQUFPRDtZQUFLaEIsS0FBSztRQUErQjtJQUN6RTtBQUNGIn0=
79
+ //# sourceMappingURL=migrateReset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateReset.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax, no-await-in-loop */\nimport 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 await migration.down({ payload, req })\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({ 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","down","delete","collection","where","id","equals","err","error","batch"],"mappings":"AAAA,yDAAyD,GAIzD,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,CAAC,CAAC;YAAC;YAC/D,IAAI;gBACF,MAAMC,QAAQC,KAAKC,GAAG;gBACtB,MAAMpB,gBAAgBY;gBACtB,MAAMC,UAAUQ,IAAI,CAAC;oBAAEhB;oBAASO;gBAAI;gBACpC,MAAMP,QAAQiB,MAAM,CAAC;oBACnBC,YAAY;oBACZX;oBACAY,OAAO;wBACLC,IAAI;4BACFC,QAAQZ,kBAAkBW,EAAE;wBAC9B;oBACF;gBACF;gBACA,MAAM1B,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,OAAOS,KAAc;gBACrB,MAAM1B,gBAAgBW;gBACtBP,QAAQI,MAAM,CAACmB,KAAK,CAAC;oBAAED;oBAAKhB,KAAK,CAAC,wBAAwB,EAAEE,UAAUI,IAAI,CAAC,CAAC;gBAAC;gBAC7E,MAAMU;YACR;QACF;IACF;IAEA,uBAAuB;IACvB,IAAI;QACF,MAAMtB,QAAQiB,MAAM,CAAC;YACnBC,YAAY;YACZC,OAAO;gBACLK,OAAO;oBACLH,QAAQ,CAAC;gBACX;YACF;QACF;IACF,EAAE,OAAOC,KAAc;QACrBtB,QAAQI,MAAM,CAACmB,KAAK,CAAC;YAAEA,OAAOD;YAAKhB,KAAK;QAA+B;IACzE;AACF"}
@@ -37,4 +37,4 @@ export async function migrateStatus() {
37
37
  p.printTable();
38
38
  }
39
39
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGVTdGF0dXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGUgfSBmcm9tICdjb25zb2xlLXRhYmxlLXByaW50ZXInXG5cbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zIH0gZnJvbSAnLi9nZXRNaWdyYXRpb25zLmpzJ1xuaW1wb3J0IHsgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAnLi9yZWFkTWlncmF0aW9uRmlsZXMuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlU3RhdHVzKHRoaXM6IEJhc2VEYXRhYmFzZUFkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBwYXlsb2FkIH0gPSB0aGlzXG4gIGNvbnN0IG1pZ3JhdGlvbkZpbGVzID0gYXdhaXQgcmVhZE1pZ3JhdGlvbkZpbGVzKHsgcGF5bG9hZCB9KVxuXG4gIHBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgICBtc2c6IGBGb3VuZCAke21pZ3JhdGlvbkZpbGVzLmxlbmd0aH0gbWlncmF0aW9uIGZpbGVzLmAsXG4gIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMgfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoeyBwYXlsb2FkIH0pXG5cbiAgaWYgKCFtaWdyYXRpb25GaWxlcy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyBmb3VuZC4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICAvLyBDb21wYXJlIG1pZ3JhdGlvbiBmaWxlcyB0byBleGlzdGluZyBtaWdyYXRpb25zXG4gIGNvbnN0IHN0YXR1c2VzID0gbWlncmF0aW9uRmlsZXMubWFwKChtaWdyYXRpb24pID0+IHtcbiAgICBjb25zdCBleGlzdGluZ01pZ3JhdGlvbiA9IGV4aXN0aW5nTWlncmF0aW9ucy5maW5kKChtKSA9PiBtLm5hbWUgPT09IG1pZ3JhdGlvbi5uYW1lKVxuICAgIHJldHVybiB7XG4gICAgICBOYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwZXJmZWN0aW9uaXN0L3NvcnQtb2JqZWN0c1xuICAgICAgQmF0Y2g6IGV4aXN0aW5nTWlncmF0aW9uPy5iYXRjaCxcbiAgICAgIFJhbjogZXhpc3RpbmdNaWdyYXRpb24gPyAnWWVzJyA6ICdObycsXG4gICAgfVxuICB9KVxuXG4gIGNvbnN0IHAgPSBuZXcgVGFibGUoKVxuXG4gIHN0YXR1c2VzLmZvckVhY2goKHMpID0+IHtcbiAgICBwLmFkZFJvdyhzLCB7XG4gICAgICBjb2xvcjogcy5SYW4gPT09ICdZZXMnID8gJ2dyZWVuJyA6ICdyZWQnLFxuICAgIH0pXG4gIH0pXG4gIHAucHJpbnRUYWJsZSgpXG59XG4iXSwibmFtZXMiOlsiVGFibGUiLCJnZXRNaWdyYXRpb25zIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwibWlncmF0ZVN0YXR1cyIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsImxvZ2dlciIsImRlYnVnIiwibXNnIiwibGVuZ3RoIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwiaW5mbyIsInN0YXR1c2VzIiwibWFwIiwibWlncmF0aW9uIiwiZXhpc3RpbmdNaWdyYXRpb24iLCJmaW5kIiwibSIsIm5hbWUiLCJOYW1lIiwiQmF0Y2giLCJiYXRjaCIsIlJhbiIsInAiLCJmb3JFYWNoIiwicyIsImFkZFJvdyIsImNvbG9yIiwicHJpbnRUYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsS0FBSyxRQUFRLHdCQUF1QjtBQUk3QyxTQUFTQyxhQUFhLFFBQVEscUJBQW9CO0FBQ2xELFNBQVNDLGtCQUFrQixRQUFRLDBCQUF5QjtBQUU1RCxPQUFPLGVBQWVDO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUN4QixNQUFNQyxpQkFBaUIsTUFBTUgsbUJBQW1CO1FBQUVFO0lBQVE7SUFFMURBLFFBQVFFLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDO1FBQ25CQyxLQUFLLENBQUMsTUFBTSxFQUFFSCxlQUFlSSxNQUFNLENBQUMsaUJBQWlCLENBQUM7SUFDeEQ7SUFFQSxNQUFNLEVBQUVDLGtCQUFrQixFQUFFLEdBQUcsTUFBTVQsY0FBYztRQUFFRztJQUFRO0lBRTdELElBQUksQ0FBQ0MsZUFBZUksTUFBTSxFQUFFO1FBQzFCTCxRQUFRRSxNQUFNLENBQUNLLElBQUksQ0FBQztZQUFFSCxLQUFLO1FBQXVCO1FBQ2xEO0lBQ0Y7SUFFQSxpREFBaUQ7SUFDakQsTUFBTUksV0FBV1AsZUFBZVEsR0FBRyxDQUFDLENBQUNDO1FBQ25DLE1BQU1DLG9CQUFvQkwsbUJBQW1CTSxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLSixVQUFVSSxJQUFJO1FBQ2xGLE9BQU87WUFDTEMsTUFBTUwsVUFBVUksSUFBSTtZQUNwQixzREFBc0Q7WUFDdERFLE9BQU9MLG1CQUFtQk07WUFDMUJDLEtBQUtQLG9CQUFvQixRQUFRO1FBQ25DO0lBQ0Y7SUFFQSxNQUFNUSxJQUFJLElBQUl2QjtJQUVkWSxTQUFTWSxPQUFPLENBQUMsQ0FBQ0M7UUFDaEJGLEVBQUVHLE1BQU0sQ0FBQ0QsR0FBRztZQUNWRSxPQUFPRixFQUFFSCxHQUFHLEtBQUssUUFBUSxVQUFVO1FBQ3JDO0lBQ0Y7SUFDQUMsRUFBRUssVUFBVTtBQUNkIn0=
40
+ //# sourceMappingURL=migrateStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/database/migrations/migrateStatus.ts"],"sourcesContent":["import { Table } from 'console-table-printer'\n\nimport type { BaseDatabaseAdapter } from '../types.js'\n\nimport { getMigrations } from './getMigrations.js'\nimport { readMigrationFiles } from './readMigrationFiles.js'\n\nexport async function migrateStatus(this: BaseDatabaseAdapter): 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 const { existingMigrations } = await getMigrations({ payload })\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","migrateStatus","payload","migrationFiles","logger","debug","msg","length","existingMigrations","info","statuses","map","migration","existingMigration","find","m","name","Name","Batch","batch","Ran","p","forEach","s","addRow","color","printTable"],"mappings":"AAAA,SAASA,KAAK,QAAQ,wBAAuB;AAI7C,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;IAE1DA,QAAQE,MAAM,CAACC,KAAK,CAAC;QACnBC,KAAK,CAAC,MAAM,EAAEH,eAAeI,MAAM,CAAC,iBAAiB,CAAC;IACxD;IAEA,MAAM,EAAEC,kBAAkB,EAAE,GAAG,MAAMT,cAAc;QAAEG;IAAQ;IAE7D,IAAI,CAACC,eAAeI,MAAM,EAAE;QAC1BL,QAAQE,MAAM,CAACK,IAAI,CAAC;YAAEH,KAAK;QAAuB;QAClD;IACF;IAEA,iDAAiD;IACjD,MAAMI,WAAWP,eAAeQ,GAAG,CAAC,CAACC;QACnC,MAAMC,oBAAoBL,mBAAmBM,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,IAAIvB;IAEdY,SAASY,OAAO,CAAC,CAACC;QAChBF,EAAEG,MAAM,CAACD,GAAG;YACVE,OAAOF,EAAEH,GAAG,KAAK,QAAQ,UAAU;QACrC;IACF;IACAC,EAAEK,UAAU;AACd"}
@@ -13,4 +13,4 @@ export async function down({ payload, req }: MigrateDownArgs): Promise<void> {
13
13
  };
14
14
  `;
15
15
 
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9taWdyYXRpb25zL21pZ3JhdGlvblRlbXBsYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBtaWdyYXRpb25UZW1wbGF0ZSA9IGBcbmltcG9ydCB7XG4gIE1pZ3JhdGVVcEFyZ3MsXG4gIE1pZ3JhdGVEb3duQXJncyxcbn0gZnJvbSBcIkBwYXlsb2FkY21zL2RiLW1vbmdvZGJcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwKHsgcGF5bG9hZCwgcmVxIH06IE1pZ3JhdGVVcEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gTWlncmF0aW9uIGNvZGVcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb3duKHsgcGF5bG9hZCwgcmVxIH06IE1pZ3JhdGVEb3duQXJncyk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBNaWdyYXRpb24gY29kZVxufTtcbmBcbiJdLCJuYW1lcyI6WyJtaWdyYXRpb25UZW1wbGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNQSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWFsQyxDQUFDLENBQUEifQ==
16
+ //# sourceMappingURL=migrationTemplate.js.map