payload-auth 1.6.0 → 1.6.1-canary.2

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 (143) hide show
  1. package/dist/better-auth/adapter/index.d.ts.map +1 -1
  2. package/dist/better-auth/adapter/index.js +30 -30
  3. package/dist/better-auth/adapter/transform/index.d.ts +8 -7
  4. package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
  5. package/dist/better-auth/adapter/transform/index.js +2 -2
  6. package/dist/better-auth/adapter/types.d.ts +5 -4
  7. package/dist/better-auth/adapter/types.d.ts.map +1 -1
  8. package/dist/better-auth/adapter/types.js +1 -1
  9. package/dist/better-auth/generated-types.d.ts +21 -0
  10. package/dist/better-auth/generated-types.d.ts.map +1 -1
  11. package/dist/better-auth/generated-types.js +1 -1
  12. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +14 -17
  13. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -1
  14. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +51 -33
  15. package/dist/better-auth/plugin/helpers/get-collection.d.ts +11 -36
  16. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
  17. package/dist/better-auth/plugin/helpers/get-collection.js +20 -53
  18. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  19. package/dist/better-auth/plugin/helpers/prepare-session-data.js +1 -1
  20. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +21 -0
  21. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -0
  22. package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +62 -0
  23. package/dist/better-auth/plugin/index.d.ts +5 -1
  24. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/index.js +66 -91
  26. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +13 -0
  27. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -0
  28. package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +80 -0
  29. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +2 -2
  30. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
  31. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -16
  32. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +2 -2
  33. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
  34. package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +10 -12
  35. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +1 -1
  36. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +8 -11
  38. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -4
  39. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/lib/build-collections/index.js +15 -28
  41. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +1 -1
  42. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/lib/build-collections/invitations.js +8 -11
  44. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +1 -1
  45. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/lib/build-collections/jwks.js +8 -11
  47. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +1 -1
  48. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/lib/build-collections/members.js +8 -10
  50. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +1 -1
  51. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  52. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +8 -11
  53. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +1 -1
  54. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  55. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +8 -11
  56. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +1 -1
  57. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  58. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +7 -9
  59. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +1 -1
  60. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/organizations.js +8 -10
  62. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +1 -1
  63. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  64. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +9 -11
  65. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +1 -1
  66. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/build-collections/sessions.js +7 -8
  68. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +1 -1
  69. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +8 -10
  71. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +1 -1
  72. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
  73. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +8 -10
  74. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +1 -1
  75. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  76. package/dist/better-auth/plugin/lib/build-collections/teams.js +8 -11
  77. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +1 -1
  78. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
  79. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +8 -11
  80. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  81. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +4 -11
  82. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
  83. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +3 -8
  84. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  85. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +5 -15
  86. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
  87. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +19 -22
  88. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +1 -1
  89. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  90. package/dist/better-auth/plugin/lib/build-collections/users/index.js +9 -15
  91. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +6 -6
  92. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -1
  93. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +9 -17
  94. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +2 -2
  95. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -1
  96. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +1 -1
  97. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +1 -1
  98. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  99. package/dist/better-auth/plugin/lib/build-collections/verifications.js +8 -11
  100. package/dist/better-auth/plugin/lib/init-better-auth.d.ts +1 -1
  101. package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
  102. package/dist/better-auth/plugin/lib/init-better-auth.js +3 -2
  103. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -2
  104. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  105. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +4 -4
  106. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +3 -4
  107. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  108. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +15 -15
  109. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -2
  110. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  111. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +8 -8
  112. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -2
  113. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  114. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +12 -12
  115. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -2
  116. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -1
  117. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +4 -4
  118. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -2
  119. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
  120. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +6 -6
  121. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +2 -2
  122. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -1
  123. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +4 -4
  124. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +3 -4
  125. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  126. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +4 -4
  127. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +2 -2
  128. package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -1
  129. package/dist/better-auth/plugin/payload/components/passkeys/types.js +1 -1
  130. package/dist/better-auth/plugin/types.d.ts +6 -5
  131. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  132. package/dist/better-auth/plugin/types.js +1 -1
  133. package/dist/better-auth/scripts/generate-types.js +17 -1
  134. package/package.json +1 -1
  135. package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts +0 -16
  136. package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts.map +0 -1
  137. package/dist/better-auth/plugin/helpers/get-collection-schema-map.js +0 -108
  138. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts +0 -3
  139. package/dist/better-auth/plugin/helpers/get-requst-collection.d.ts.map +0 -1
  140. package/dist/better-auth/plugin/helpers/get-requst-collection.js +0 -14
  141. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts +0 -105
  142. package/dist/better-auth/plugin/helpers/serialize-cookie.d.ts.map +0 -1
  143. package/dist/better-auth/plugin/helpers/serialize-cookie.js +0 -186
@@ -1 +1 @@
1
- {"version":3,"file":"get-collection.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/get-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,aAAa,EACb,kBAAkB,EACnB,EAAE;IACD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC/C,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,gBAAgB,CAcnB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC,CAAA;CAC7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,kBAAkB,EACnB,EAAE;IACD,UAAU,EAAE,gBAAgB,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,WAAW,CAmBd;AAED,wBAAgB,uCAAuC,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAIjI"}
1
+ {"version":3,"file":"get-collection.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/get-collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAC9E,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElF,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAUrH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,QAAQ,EACjE,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GACvD,MAAM,CAIR"}
@@ -1,62 +1,29 @@
1
- /**
2
- * Retrieves a collection from the collection map based on its Better Auth model key
3
- *
4
- * This function searches through the provided collection map to find a collection
5
- * that has been marked with a specific Better Auth model key in its custom properties.
6
- * It's used to map between Better Auth's internal model keys and Payload CMS collections.
7
- *
8
- * @param collectionMap - Map of all available collections
9
- * @param betterAuthModelKey - The Better Auth model key to search for
10
- * @returns The matched collection configuration
11
- * @throws {Error} If no collection with the specified Better Auth model key is found
12
- */ export function getMappedCollection({ collectionMap, betterAuthModelKey }) {
13
- // Find the collection that has the matching betterAuthModelKey in its custom properties
14
- const collection = Object.values(collectionMap).find((c)=>{
15
- return c.custom?.betterAuthModelKey === betterAuthModelKey;
1
+ import { flattenAllFields } from "payload";
2
+ export function getCollectionByModelKey(collections, modelKey) {
3
+ const collection = Object.values(collections).find((c)=>{
4
+ return c.config?.custom?.betterAuthModelKey === modelKey;
16
5
  });
17
- // Throw an error if no matching collection is found
18
6
  if (!collection) {
19
- const error = new Error(`Collection with key ${betterAuthModelKey} not found`);
20
- Error.captureStackTrace(error, getMappedCollection);
21
- throw error;
7
+ throw new Error(`Collection with key ${modelKey} not found`);
22
8
  }
23
- return collection;
9
+ return collection.config;
24
10
  }
25
11
  /**
26
- * Retrieves a field from a collection based on its Better Auth field key
12
+ * Retrieves the field name from a collection based on the field key
27
13
  *
28
- * This function searches through the fields of a provided collection to find a field
29
- * that has been marked with a specific Better Auth field key in its custom properties.
30
- * It's used to map between Better Auth's internal field keys and Payload CMS field configurations.
14
+ * This function searches through the fields of a collection to find a field
15
+ * that has a matching custom property betterAuthFieldKey.
31
16
  *
32
- * @param collection - The collection configuration to search within
33
- * @param betterAuthFieldKey - The Better Auth field key to search for
34
- * @returns The matched field configuration with a guaranteed name and non-UI type
35
- * @throws {Error} If no field with the specified Better Auth field key is found
36
- * @throws {Error} If the found field is a UI-only field type (tabs, row, collapsible)
37
- */ export function getMappedField({ collection, betterAuthFieldKey }) {
38
- // Find the field that has the matching betterAuthFieldKey in its custom properties
39
- const field = collection.fields.find((f)=>f.custom?.betterAuthFieldKey === betterAuthFieldKey);
40
- // Throw an error if no matching field is found
41
- if (!field) {
42
- throw new Error(`Field with key ${betterAuthFieldKey} not found`);
43
- }
44
- // Filter out UI-based fields that don't have a name or aren't data fields
45
- // These field types are used for layout purposes only and cannot store data
46
- switch(field.type){
47
- case 'tabs':
48
- case 'row':
49
- case 'collapsible':
50
- throw new Error(`Field with key ${betterAuthFieldKey} is a UI-only field and cannot be used for data`);
51
- default:
52
- return field;
53
- }
54
- }
55
- export function transformCollectionsToCollectionConfigs(collections) {
56
- return Object.fromEntries(Object.entries(collections).map(([slug, collection])=>[
57
- slug,
58
- collection.config
59
- ]));
17
+ * @param collection - The collection configuration to search through
18
+ * @param model - The model key of the collection (This is really just for type hinting)
19
+ * @param fieldKey - The key of the field to search for
20
+ * @returns The name of the field if found, otherwise the field key itself
21
+ */ export function getCollectionFieldNameByFieldKey(collection, model, fieldKey) {
22
+ const fields = flattenAllFields({
23
+ fields: collection.fields
24
+ });
25
+ console.log('fields', fields);
26
+ return fields.find((f)=>f.custom?.betterAuthFieldKey === fieldKey)?.name ?? fieldKey;
60
27
  }
61
28
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtY29sbGVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIENvbGxlY3Rpb25Db25maWcsIEZpZWxkIH0gZnJvbSAncGF5bG9hZCdcblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIGZyb20gdGhlIGNvbGxlY3Rpb24gbWFwIGJhc2VkIG9uIGl0cyBCZXR0ZXIgQXV0aCBtb2RlbCBrZXlcbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHNlYXJjaGVzIHRocm91Z2ggdGhlIHByb3ZpZGVkIGNvbGxlY3Rpb24gbWFwIHRvIGZpbmQgYSBjb2xsZWN0aW9uXG4gKiB0aGF0IGhhcyBiZWVuIG1hcmtlZCB3aXRoIGEgc3BlY2lmaWMgQmV0dGVyIEF1dGggbW9kZWwga2V5IGluIGl0cyBjdXN0b20gcHJvcGVydGllcy5cbiAqIEl0J3MgdXNlZCB0byBtYXAgYmV0d2VlbiBCZXR0ZXIgQXV0aCdzIGludGVybmFsIG1vZGVsIGtleXMgYW5kIFBheWxvYWQgQ01TIGNvbGxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSBjb2xsZWN0aW9uTWFwIC0gTWFwIG9mIGFsbCBhdmFpbGFibGUgY29sbGVjdGlvbnNcbiAqIEBwYXJhbSBiZXR0ZXJBdXRoTW9kZWxLZXkgLSBUaGUgQmV0dGVyIEF1dGggbW9kZWwga2V5IHRvIHNlYXJjaCBmb3JcbiAqIEByZXR1cm5zIFRoZSBtYXRjaGVkIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvblxuICogQHRocm93cyB7RXJyb3J9IElmIG5vIGNvbGxlY3Rpb24gd2l0aCB0aGUgc3BlY2lmaWVkIEJldHRlciBBdXRoIG1vZGVsIGtleSBpcyBmb3VuZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFwcGVkQ29sbGVjdGlvbih7XG4gIGNvbGxlY3Rpb25NYXAsXG4gIGJldHRlckF1dGhNb2RlbEtleVxufToge1xuICBjb2xsZWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uQ29uZmlnPlxuICBiZXR0ZXJBdXRoTW9kZWxLZXk6IHN0cmluZ1xufSk6IENvbGxlY3Rpb25Db25maWcge1xuICAvLyBGaW5kIHRoZSBjb2xsZWN0aW9uIHRoYXQgaGFzIHRoZSBtYXRjaGluZyBiZXR0ZXJBdXRoTW9kZWxLZXkgaW4gaXRzIGN1c3RvbSBwcm9wZXJ0aWVzXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApLmZpbmQoKGMpID0+IHtcbiAgICByZXR1cm4gYy5jdXN0b20/LmJldHRlckF1dGhNb2RlbEtleSA9PT0gYmV0dGVyQXV0aE1vZGVsS2V5XG4gIH0pXG5cbiAgLy8gVGhyb3cgYW4gZXJyb3IgaWYgbm8gbWF0Y2hpbmcgY29sbGVjdGlvbiBpcyBmb3VuZFxuICBpZiAoIWNvbGxlY3Rpb24pIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgQ29sbGVjdGlvbiB3aXRoIGtleSAke2JldHRlckF1dGhNb2RlbEtleX0gbm90IGZvdW5kYClcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnJvciwgZ2V0TWFwcGVkQ29sbGVjdGlvbilcbiAgICB0aHJvdyBlcnJvclxuICB9XG5cbiAgcmV0dXJuIGNvbGxlY3Rpb25cbn1cblxuaW50ZXJmYWNlIE1hcHBlZEZpZWxkIGV4dGVuZHMgT21pdDxGaWVsZCwgJ3R5cGUnPiB7XG4gIG5hbWU6IHN0cmluZ1xuICB0eXBlOiBFeGNsdWRlPEZpZWxkWyd0eXBlJ10sICd0YWJzJyB8ICdyb3cnIHwgJ2NvbGxhcHNpYmxlJz5cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgYSBmaWVsZCBmcm9tIGEgY29sbGVjdGlvbiBiYXNlZCBvbiBpdHMgQmV0dGVyIEF1dGggZmllbGQga2V5XG4gKlxuICogVGhpcyBmdW5jdGlvbiBzZWFyY2hlcyB0aHJvdWdoIHRoZSBmaWVsZHMgb2YgYSBwcm92aWRlZCBjb2xsZWN0aW9uIHRvIGZpbmQgYSBmaWVsZFxuICogdGhhdCBoYXMgYmVlbiBtYXJrZWQgd2l0aCBhIHNwZWNpZmljIEJldHRlciBBdXRoIGZpZWxkIGtleSBpbiBpdHMgY3VzdG9tIHByb3BlcnRpZXMuXG4gKiBJdCdzIHVzZWQgdG8gbWFwIGJldHdlZW4gQmV0dGVyIEF1dGgncyBpbnRlcm5hbCBmaWVsZCBrZXlzIGFuZCBQYXlsb2FkIENNUyBmaWVsZCBjb25maWd1cmF0aW9ucy5cbiAqXG4gKiBAcGFyYW0gY29sbGVjdGlvbiAtIFRoZSBjb2xsZWN0aW9uIGNvbmZpZ3VyYXRpb24gdG8gc2VhcmNoIHdpdGhpblxuICogQHBhcmFtIGJldHRlckF1dGhGaWVsZEtleSAtIFRoZSBCZXR0ZXIgQXV0aCBmaWVsZCBrZXkgdG8gc2VhcmNoIGZvclxuICogQHJldHVybnMgVGhlIG1hdGNoZWQgZmllbGQgY29uZmlndXJhdGlvbiB3aXRoIGEgZ3VhcmFudGVlZCBuYW1lIGFuZCBub24tVUkgdHlwZVxuICogQHRocm93cyB7RXJyb3J9IElmIG5vIGZpZWxkIHdpdGggdGhlIHNwZWNpZmllZCBCZXR0ZXIgQXV0aCBmaWVsZCBrZXkgaXMgZm91bmRcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZm91bmQgZmllbGQgaXMgYSBVSS1vbmx5IGZpZWxkIHR5cGUgKHRhYnMsIHJvdywgY29sbGFwc2libGUpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXBwZWRGaWVsZCh7XG4gIGNvbGxlY3Rpb24sXG4gIGJldHRlckF1dGhGaWVsZEtleVxufToge1xuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnXG4gIGJldHRlckF1dGhGaWVsZEtleTogc3RyaW5nXG59KTogTWFwcGVkRmllbGQge1xuICAvLyBGaW5kIHRoZSBmaWVsZCB0aGF0IGhhcyB0aGUgbWF0Y2hpbmcgYmV0dGVyQXV0aEZpZWxkS2V5IGluIGl0cyBjdXN0b20gcHJvcGVydGllc1xuICBjb25zdCBmaWVsZCA9IGNvbGxlY3Rpb24uZmllbGRzLmZpbmQoKGYpID0+IGYuY3VzdG9tPy5iZXR0ZXJBdXRoRmllbGRLZXkgPT09IGJldHRlckF1dGhGaWVsZEtleSlcblxuICAvLyBUaHJvdyBhbiBlcnJvciBpZiBubyBtYXRjaGluZyBmaWVsZCBpcyBmb3VuZFxuICBpZiAoIWZpZWxkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGaWVsZCB3aXRoIGtleSAke2JldHRlckF1dGhGaWVsZEtleX0gbm90IGZvdW5kYClcbiAgfVxuXG4gIC8vIEZpbHRlciBvdXQgVUktYmFzZWQgZmllbGRzIHRoYXQgZG9uJ3QgaGF2ZSBhIG5hbWUgb3IgYXJlbid0IGRhdGEgZmllbGRzXG4gIC8vIFRoZXNlIGZpZWxkIHR5cGVzIGFyZSB1c2VkIGZvciBsYXlvdXQgcHVycG9zZXMgb25seSBhbmQgY2Fubm90IHN0b3JlIGRhdGFcbiAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgY2FzZSAndGFicyc6XG4gICAgY2FzZSAncm93JzpcbiAgICBjYXNlICdjb2xsYXBzaWJsZSc6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpZWxkIHdpdGgga2V5ICR7YmV0dGVyQXV0aEZpZWxkS2V5fSBpcyBhIFVJLW9ubHkgZmllbGQgYW5kIGNhbm5vdCBiZSB1c2VkIGZvciBkYXRhYClcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZpZWxkIGFzIE1hcHBlZEZpZWxkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbGxlY3Rpb25zVG9Db2xsZWN0aW9uQ29uZmlncyhjb2xsZWN0aW9uczogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbj4pOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uQ29uZmlnPiB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMoY29sbGVjdGlvbnMpLm1hcCgoW3NsdWcsIGNvbGxlY3Rpb25dKSA9PiBbc2x1ZywgY29sbGVjdGlvbi5jb25maWddKVxuICApXG59XG4iXSwibmFtZXMiOlsiZ2V0TWFwcGVkQ29sbGVjdGlvbiIsImNvbGxlY3Rpb25NYXAiLCJiZXR0ZXJBdXRoTW9kZWxLZXkiLCJjb2xsZWN0aW9uIiwiT2JqZWN0IiwidmFsdWVzIiwiZmluZCIsImMiLCJjdXN0b20iLCJlcnJvciIsIkVycm9yIiwiY2FwdHVyZVN0YWNrVHJhY2UiLCJnZXRNYXBwZWRGaWVsZCIsImJldHRlckF1dGhGaWVsZEtleSIsImZpZWxkIiwiZmllbGRzIiwiZiIsInR5cGUiLCJ0cmFuc2Zvcm1Db2xsZWN0aW9uc1RvQ29sbGVjdGlvbkNvbmZpZ3MiLCJjb2xsZWN0aW9ucyIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsIm1hcCIsInNsdWciLCJjb25maWciXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7OztDQVdDLEdBQ0QsT0FBTyxTQUFTQSxvQkFBb0IsRUFDbENDLGFBQWEsRUFDYkMsa0JBQWtCLEVBSW5CO0lBQ0Msd0ZBQXdGO0lBQ3hGLE1BQU1DLGFBQWFDLE9BQU9DLE1BQU0sQ0FBQ0osZUFBZUssSUFBSSxDQUFDLENBQUNDO1FBQ3BELE9BQU9BLEVBQUVDLE1BQU0sRUFBRU4sdUJBQXVCQTtJQUMxQztJQUVBLG9EQUFvRDtJQUNwRCxJQUFJLENBQUNDLFlBQVk7UUFDZixNQUFNTSxRQUFRLElBQUlDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRVIsbUJBQW1CLFVBQVUsQ0FBQztRQUM3RVEsTUFBTUMsaUJBQWlCLENBQUNGLE9BQU9UO1FBQy9CLE1BQU1TO0lBQ1I7SUFFQSxPQUFPTjtBQUNUO0FBT0E7Ozs7Ozs7Ozs7OztDQVlDLEdBQ0QsT0FBTyxTQUFTUyxlQUFlLEVBQzdCVCxVQUFVLEVBQ1ZVLGtCQUFrQixFQUluQjtJQUNDLG1GQUFtRjtJQUNuRixNQUFNQyxRQUFRWCxXQUFXWSxNQUFNLENBQUNULElBQUksQ0FBQyxDQUFDVSxJQUFNQSxFQUFFUixNQUFNLEVBQUVLLHVCQUF1QkE7SUFFN0UsK0NBQStDO0lBQy9DLElBQUksQ0FBQ0MsT0FBTztRQUNWLE1BQU0sSUFBSUosTUFBTSxDQUFDLGVBQWUsRUFBRUcsbUJBQW1CLFVBQVUsQ0FBQztJQUNsRTtJQUVBLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsT0FBUUMsTUFBTUcsSUFBSTtRQUNoQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7WUFDSCxNQUFNLElBQUlQLE1BQU0sQ0FBQyxlQUFlLEVBQUVHLG1CQUFtQiwrQ0FBK0MsQ0FBQztRQUN2RztZQUNFLE9BQU9DO0lBQ1g7QUFDRjtBQUVBLE9BQU8sU0FBU0ksd0NBQXdDQyxXQUF1QztJQUM3RixPQUFPZixPQUFPZ0IsV0FBVyxDQUN2QmhCLE9BQU9pQixPQUFPLENBQUNGLGFBQWFHLEdBQUcsQ0FBQyxDQUFDLENBQUNDLE1BQU1wQixXQUFXLEdBQUs7WUFBQ29CO1lBQU1wQixXQUFXcUIsTUFBTTtTQUFDO0FBRXJGIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtY29sbGVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZXR0ZXJBdXRoRnVsbFNjaGVtYSwgTW9kZWxLZXkgfSBmcm9tICdAL2JldHRlci1hdXRoL2dlbmVyYXRlZC10eXBlcydcbmltcG9ydCB7IGZsYXR0ZW5BbGxGaWVsZHMsIHR5cGUgQ29sbGVjdGlvbiwgdHlwZSBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25CeU1vZGVsS2V5KGNvbGxlY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uPiwgbW9kZWxLZXk6IE1vZGVsS2V5KTogQ29sbGVjdGlvbkNvbmZpZyB7XG4gIGNvbnN0IGNvbGxlY3Rpb24gPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25zKS5maW5kKChjKSA9PiB7XG4gICAgcmV0dXJuIGMuY29uZmlnPy5jdXN0b20/LmJldHRlckF1dGhNb2RlbEtleSA9PT0gbW9kZWxLZXlcbiAgfSlcblxuICBpZiAoIWNvbGxlY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbGxlY3Rpb24gd2l0aCBrZXkgJHttb2RlbEtleX0gbm90IGZvdW5kYClcbiAgfVxuXG4gIHJldHVybiBjb2xsZWN0aW9uLmNvbmZpZ1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZmllbGQgbmFtZSBmcm9tIGEgY29sbGVjdGlvbiBiYXNlZCBvbiB0aGUgZmllbGQga2V5XG4gKlxuICogVGhpcyBmdW5jdGlvbiBzZWFyY2hlcyB0aHJvdWdoIHRoZSBmaWVsZHMgb2YgYSBjb2xsZWN0aW9uIHRvIGZpbmQgYSBmaWVsZFxuICogdGhhdCBoYXMgYSBtYXRjaGluZyBjdXN0b20gcHJvcGVydHkgYmV0dGVyQXV0aEZpZWxkS2V5LlxuICpcbiAqIEBwYXJhbSBjb2xsZWN0aW9uIC0gVGhlIGNvbGxlY3Rpb24gY29uZmlndXJhdGlvbiB0byBzZWFyY2ggdGhyb3VnaFxuICogQHBhcmFtIG1vZGVsIC0gVGhlIG1vZGVsIGtleSBvZiB0aGUgY29sbGVjdGlvbiAoVGhpcyBpcyByZWFsbHkganVzdCBmb3IgdHlwZSBoaW50aW5nKVxuICogQHBhcmFtIGZpZWxkS2V5IC0gVGhlIGtleSBvZiB0aGUgZmllbGQgdG8gc2VhcmNoIGZvclxuICogQHJldHVybnMgVGhlIG5hbWUgb2YgdGhlIGZpZWxkIGlmIGZvdW5kLCBvdGhlcndpc2UgdGhlIGZpZWxkIGtleSBpdHNlbGZcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25GaWVsZE5hbWVCeUZpZWxkS2V5PE0gZXh0ZW5kcyBNb2RlbEtleT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcsXG4gIG1vZGVsOiBNLFxuICBmaWVsZEtleTogRXh0cmFjdDxrZXlvZiBCZXR0ZXJBdXRoRnVsbFNjaGVtYVtNXSwgc3RyaW5nPlxuKTogc3RyaW5nIHtcbiAgY29uc3QgZmllbGRzID0gZmxhdHRlbkFsbEZpZWxkcyh7IGZpZWxkczogY29sbGVjdGlvbi5maWVsZHMgfSlcbiAgY29uc29sZS5sb2coJ2ZpZWxkcycsIGZpZWxkcylcbiAgcmV0dXJuIGZpZWxkcy5maW5kKChmKSA9PiBmLmN1c3RvbT8uYmV0dGVyQXV0aEZpZWxkS2V5ID09PSBmaWVsZEtleSk/Lm5hbWUgPz8gZmllbGRLZXlcbn1cbiJdLCJuYW1lcyI6WyJmbGF0dGVuQWxsRmllbGRzIiwiZ2V0Q29sbGVjdGlvbkJ5TW9kZWxLZXkiLCJjb2xsZWN0aW9ucyIsIm1vZGVsS2V5IiwiY29sbGVjdGlvbiIsIk9iamVjdCIsInZhbHVlcyIsImZpbmQiLCJjIiwiY29uZmlnIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiRXJyb3IiLCJnZXRDb2xsZWN0aW9uRmllbGROYW1lQnlGaWVsZEtleSIsIm1vZGVsIiwiZmllbGRLZXkiLCJmaWVsZHMiLCJjb25zb2xlIiwibG9nIiwiZiIsImJldHRlckF1dGhGaWVsZEtleSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGdCQUFnQixRQUFnRCxVQUFTO0FBRWxGLE9BQU8sU0FBU0Msd0JBQXdCQyxXQUF1QyxFQUFFQyxRQUFrQjtJQUNqRyxNQUFNQyxhQUFhQyxPQUFPQyxNQUFNLENBQUNKLGFBQWFLLElBQUksQ0FBQyxDQUFDQztRQUNsRCxPQUFPQSxFQUFFQyxNQUFNLEVBQUVDLFFBQVFDLHVCQUF1QlI7SUFDbEQ7SUFFQSxJQUFJLENBQUNDLFlBQVk7UUFDZixNQUFNLElBQUlRLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRVQsU0FBUyxVQUFVLENBQUM7SUFDN0Q7SUFFQSxPQUFPQyxXQUFXSyxNQUFNO0FBQzFCO0FBRUE7Ozs7Ozs7Ozs7Q0FVQyxHQUNELE9BQU8sU0FBU0ksaUNBQ2RULFVBQTRCLEVBQzVCVSxLQUFRLEVBQ1JDLFFBQXdEO0lBRXhELE1BQU1DLFNBQVNoQixpQkFBaUI7UUFBRWdCLFFBQVFaLFdBQVdZLE1BQU07SUFBQztJQUM1REMsUUFBUUMsR0FBRyxDQUFDLFVBQVVGO0lBQ3RCLE9BQU9BLE9BQU9ULElBQUksQ0FBQyxDQUFDWSxJQUFNQSxFQUFFVCxNQUFNLEVBQUVVLHVCQUF1QkwsV0FBV00sUUFBUU47QUFDaEYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-session-data.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/prepare-session-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAc,gBAAgB,EAAmB,MAAM,SAAS,CAAA;AAK5E,wBAAsB,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,cAAc,EAAE,gBAAgB,CAAA;CAAE;;;;;;;;yBAWjI;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,iBAAiB,EAClB,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,iBAAiB,EAAE,gBAAgB,CAAA;CACpC;;;;;;;;;yBAiBA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,WAAW,EACX,eAAe,EACf,kBAAkB,EACnB,EAAE;IACD,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACtC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC,CAAA;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,kBAAkB,EAAE,gBAAgB,CAAA;CACrC;;;;;;;;;;;;;;;;;;;;UAYA"}
1
+ {"version":3,"file":"prepare-session-data.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/prepare-session-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,wBAAsB,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,cAAc,EAAE,gBAAgB,CAAA;CAAE;;;;;;;;yBAWjI;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,iBAAiB,EAClB,EAAE;IACD,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,iBAAiB,EAAE,gBAAgB,CAAA;CACpC;;;;;;;;;yBAiBA;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,WAAW,EACX,eAAe,EACf,kBAAkB,EACnB,EAAE;IACD,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACtC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KACjC,CAAA;IACD,eAAe,EAAE,gBAAgB,CAAA;IACjC,kBAAkB,EAAE,gBAAgB,CAAA;CACrC;;;;;;;;;;;;;;;;;;;;UAYA"}
@@ -46,4 +46,4 @@ export async function prepareSession({ session, sessionCollection }) {
46
46
  return newSessionData;
47
47
  }
48
48
 
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9wcmVwYXJlLXNlc3Npb24tZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXNzaW9uLCBVc2VyIH0gZnJvbSAnYmV0dGVyLWF1dGgnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24sIENvbGxlY3Rpb25Db25maWcsIENvbmZpZywgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBnZXRGaWVsZHNUb1NpZ24gfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgYmFNb2RlbEtleSB9IGZyb20gJy4uL2NvbnN0YW50cydcbmltcG9ydCB7IENvbGxlY3Rpb25TY2hlbWFNYXAgfSBmcm9tICcuL2dldC1jb2xsZWN0aW9uLXNjaGVtYS1tYXAnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlVXNlcih7IHVzZXIsIHVzZXJDb2xsZWN0aW9uIH06IHsgdXNlcjogVXNlciAmIFJlY29yZDxzdHJpbmcsIGFueT47IHVzZXJDb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnIH0pIHtcbiAgY29uc3QgbmV3VXNlciA9IGdldEZpZWxkc1RvU2lnbih7XG4gICAgY29sbGVjdGlvbkNvbmZpZzogdXNlckNvbGxlY3Rpb24sXG4gICAgZW1haWw6IHVzZXIuZW1haWwsXG4gICAgdXNlcjoge1xuICAgICAgLi4udXNlcixcbiAgICAgIGNvbGxlY3Rpb246IHVzZXJDb2xsZWN0aW9uLnNsdWdcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ld1VzZXIgYXMgVXNlciAmIFJlY29yZDxzdHJpbmcsIGFueT5cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVTZXNzaW9uKHtcbiAgc2Vzc2lvbixcbiAgc2Vzc2lvbkNvbGxlY3Rpb25cbn06IHtcbiAgc2Vzc2lvbjogU2Vzc2lvbiAmIFJlY29yZDxzdHJpbmcsIGFueT5cbiAgc2Vzc2lvbkNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbn0pIHtcbiAgY29uc3QgZmlsdGVyZWRTZXNzaW9uID0gZ2V0RmllbGRzVG9TaWduKHtcbiAgICBjb2xsZWN0aW9uQ29uZmlnOiBzZXNzaW9uQ29sbGVjdGlvbixcbiAgICBlbWFpbDogJycsXG4gICAgdXNlcjoge1xuICAgICAgLi4uc2Vzc2lvbixcbiAgICAgIGNvbGxlY3Rpb246IHNlc3Npb25Db2xsZWN0aW9uLnNsdWdcbiAgICB9XG4gIH0pXG5cbiAgZGVsZXRlIGZpbHRlcmVkU2Vzc2lvbi5lbWFpbFxuICBkZWxldGUgZmlsdGVyZWRTZXNzaW9uLmNvbGxlY3Rpb25cbiAgT2JqZWN0LmFzc2lnbihmaWx0ZXJlZFNlc3Npb24sIHtcbiAgICB1c2VySWQ6IHNlc3Npb24udXNlcklkXG4gIH0pXG5cbiAgcmV0dXJuIGZpbHRlcmVkU2Vzc2lvbiBhcyBTZXNzaW9uICYgUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG4vKipcbiAqIFByZXBhcmVzIHNlc3Npb24gZGF0YSBmb3IgY29va2llIGNhY2hlIGJ5IGZpbHRlcmluZyB1c2VyIGFuZCBzZXNzaW9uIG9iamVjdHNcbiAqIGJhc2VkIG9uIHRoZSBwYXlsb2FkIGNvbmZpZ3VyYXRpb24ncyAnc2F2ZVRvSnd0JyBwcm9wZXJ0eVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZVNlc3Npb25EYXRhKHtcbiAgc2Vzc2lvbkRhdGEsXG4gIHVzZXJzQ29sbGVjdGlvbixcbiAgc2Vzc2lvbnNDb2xsZWN0aW9uXG59OiB7XG4gIHNlc3Npb25EYXRhOiB7XG4gICAgc2Vzc2lvbjogU2Vzc2lvbiAmIFJlY29yZDxzdHJpbmcsIGFueT5cbiAgICB1c2VyOiBVc2VyICYgUmVjb3JkPHN0cmluZywgYW55PlxuICB9XG4gIHVzZXJzQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xuICBzZXNzaW9uc0NvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWdcbn0pIHtcbiAgaWYgKCFzZXNzaW9uRGF0YSB8fCAhc2Vzc2lvbkRhdGEudXNlcikgcmV0dXJuIG51bGxcblxuICBjb25zdCBuZXdVc2VyID0gYXdhaXQgcHJlcGFyZVVzZXIoeyB1c2VyOiBzZXNzaW9uRGF0YS51c2VyLCB1c2VyQ29sbGVjdGlvbjogdXNlcnNDb2xsZWN0aW9uIH0pXG4gIGNvbnN0IG5ld1Nlc3Npb24gPSBhd2FpdCBwcmVwYXJlU2Vzc2lvbih7IHNlc3Npb246IHNlc3Npb25EYXRhLnNlc3Npb24sIHNlc3Npb25Db2xsZWN0aW9uOiBzZXNzaW9uc0NvbGxlY3Rpb24gfSlcblxuICBjb25zdCBuZXdTZXNzaW9uRGF0YSA9IHtcbiAgICBzZXNzaW9uOiBuZXdTZXNzaW9uLFxuICAgIHVzZXI6IG5ld1VzZXJcbiAgfVxuXG4gIHJldHVybiBuZXdTZXNzaW9uRGF0YVxufVxuIl0sIm5hbWVzIjpbImdldEZpZWxkc1RvU2lnbiIsInByZXBhcmVVc2VyIiwidXNlciIsInVzZXJDb2xsZWN0aW9uIiwibmV3VXNlciIsImNvbGxlY3Rpb25Db25maWciLCJlbWFpbCIsImNvbGxlY3Rpb24iLCJzbHVnIiwicHJlcGFyZVNlc3Npb24iLCJzZXNzaW9uIiwic2Vzc2lvbkNvbGxlY3Rpb24iLCJmaWx0ZXJlZFNlc3Npb24iLCJPYmplY3QiLCJhc3NpZ24iLCJ1c2VySWQiLCJwcmVwYXJlU2Vzc2lvbkRhdGEiLCJzZXNzaW9uRGF0YSIsInVzZXJzQ29sbGVjdGlvbiIsInNlc3Npb25zQ29sbGVjdGlvbiIsIm5ld1Nlc3Npb24iLCJuZXdTZXNzaW9uRGF0YSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsZUFBZSxRQUFRLFVBQVM7QUFJekMsT0FBTyxlQUFlQyxZQUFZLEVBQUVDLElBQUksRUFBRUMsY0FBYyxFQUEwRTtJQUNoSSxNQUFNQyxVQUFVSixnQkFBZ0I7UUFDOUJLLGtCQUFrQkY7UUFDbEJHLE9BQU9KLEtBQUtJLEtBQUs7UUFDakJKLE1BQU07WUFDSixHQUFHQSxJQUFJO1lBQ1BLLFlBQVlKLGVBQWVLLElBQUk7UUFDakM7SUFDRjtJQUVBLE9BQU9KO0FBQ1Q7QUFFQSxPQUFPLGVBQWVLLGVBQWUsRUFDbkNDLE9BQU8sRUFDUEMsaUJBQWlCLEVBSWxCO0lBQ0MsTUFBTUMsa0JBQWtCWixnQkFBZ0I7UUFDdENLLGtCQUFrQk07UUFDbEJMLE9BQU87UUFDUEosTUFBTTtZQUNKLEdBQUdRLE9BQU87WUFDVkgsWUFBWUksa0JBQWtCSCxJQUFJO1FBQ3BDO0lBQ0Y7SUFFQSxPQUFPSSxnQkFBZ0JOLEtBQUs7SUFDNUIsT0FBT00sZ0JBQWdCTCxVQUFVO0lBQ2pDTSxPQUFPQyxNQUFNLENBQUNGLGlCQUFpQjtRQUM3QkcsUUFBUUwsUUFBUUssTUFBTTtJQUN4QjtJQUVBLE9BQU9IO0FBQ1Q7QUFFQTs7O0NBR0MsR0FDRCxPQUFPLGVBQWVJLG1CQUFtQixFQUN2Q0MsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLGtCQUFrQixFQVFuQjtJQUNDLElBQUksQ0FBQ0YsZUFBZSxDQUFDQSxZQUFZZixJQUFJLEVBQUUsT0FBTztJQUU5QyxNQUFNRSxVQUFVLE1BQU1ILFlBQVk7UUFBRUMsTUFBTWUsWUFBWWYsSUFBSTtRQUFFQyxnQkFBZ0JlO0lBQWdCO0lBQzVGLE1BQU1FLGFBQWEsTUFBTVgsZUFBZTtRQUFFQyxTQUFTTyxZQUFZUCxPQUFPO1FBQUVDLG1CQUFtQlE7SUFBbUI7SUFFOUcsTUFBTUUsaUJBQWlCO1FBQ3JCWCxTQUFTVTtRQUNUbEIsTUFBTUU7SUFDUjtJQUVBLE9BQU9pQjtBQUNUIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9wcmVwYXJlLXNlc3Npb24tZGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXNzaW9uLCBVc2VyIH0gZnJvbSAnYmV0dGVyLWF1dGgnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgZ2V0RmllbGRzVG9TaWduIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXBhcmVVc2VyKHsgdXNlciwgdXNlckNvbGxlY3Rpb24gfTogeyB1c2VyOiBVc2VyICYgUmVjb3JkPHN0cmluZywgYW55PjsgdXNlckNvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgfSkge1xuICBjb25zdCBuZXdVc2VyID0gZ2V0RmllbGRzVG9TaWduKHtcbiAgICBjb2xsZWN0aW9uQ29uZmlnOiB1c2VyQ29sbGVjdGlvbixcbiAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICB1c2VyOiB7XG4gICAgICAuLi51c2VyLFxuICAgICAgY29sbGVjdGlvbjogdXNlckNvbGxlY3Rpb24uc2x1Z1xuICAgIH1cbiAgfSlcblxuICByZXR1cm4gbmV3VXNlciBhcyBVc2VyICYgUmVjb3JkPHN0cmluZywgYW55PlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZVNlc3Npb24oe1xuICBzZXNzaW9uLFxuICBzZXNzaW9uQ29sbGVjdGlvblxufToge1xuICBzZXNzaW9uOiBTZXNzaW9uICYgUmVjb3JkPHN0cmluZywgYW55PlxuICBzZXNzaW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xufSkge1xuICBjb25zdCBmaWx0ZXJlZFNlc3Npb24gPSBnZXRGaWVsZHNUb1NpZ24oe1xuICAgIGNvbGxlY3Rpb25Db25maWc6IHNlc3Npb25Db2xsZWN0aW9uLFxuICAgIGVtYWlsOiAnJyxcbiAgICB1c2VyOiB7XG4gICAgICAuLi5zZXNzaW9uLFxuICAgICAgY29sbGVjdGlvbjogc2Vzc2lvbkNvbGxlY3Rpb24uc2x1Z1xuICAgIH1cbiAgfSlcblxuICBkZWxldGUgZmlsdGVyZWRTZXNzaW9uLmVtYWlsXG4gIGRlbGV0ZSBmaWx0ZXJlZFNlc3Npb24uY29sbGVjdGlvblxuICBPYmplY3QuYXNzaWduKGZpbHRlcmVkU2Vzc2lvbiwge1xuICAgIHVzZXJJZDogc2Vzc2lvbi51c2VySWRcbiAgfSlcblxuICByZXR1cm4gZmlsdGVyZWRTZXNzaW9uIGFzIFNlc3Npb24gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG59XG5cbi8qKlxuICogUHJlcGFyZXMgc2Vzc2lvbiBkYXRhIGZvciBjb29raWUgY2FjaGUgYnkgZmlsdGVyaW5nIHVzZXIgYW5kIHNlc3Npb24gb2JqZWN0c1xuICogYmFzZWQgb24gdGhlIHBheWxvYWQgY29uZmlndXJhdGlvbidzICdzYXZlVG9Kd3QnIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlU2Vzc2lvbkRhdGEoe1xuICBzZXNzaW9uRGF0YSxcbiAgdXNlcnNDb2xsZWN0aW9uLFxuICBzZXNzaW9uc0NvbGxlY3Rpb25cbn06IHtcbiAgc2Vzc2lvbkRhdGE6IHtcbiAgICBzZXNzaW9uOiBTZXNzaW9uICYgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIHVzZXI6IFVzZXIgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIH1cbiAgdXNlcnNDb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnXG4gIHNlc3Npb25zQ29sbGVjdGlvbjogQ29sbGVjdGlvbkNvbmZpZ1xufSkge1xuICBpZiAoIXNlc3Npb25EYXRhIHx8ICFzZXNzaW9uRGF0YS51c2VyKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IG5ld1VzZXIgPSBhd2FpdCBwcmVwYXJlVXNlcih7IHVzZXI6IHNlc3Npb25EYXRhLnVzZXIsIHVzZXJDb2xsZWN0aW9uOiB1c2Vyc0NvbGxlY3Rpb24gfSlcbiAgY29uc3QgbmV3U2Vzc2lvbiA9IGF3YWl0IHByZXBhcmVTZXNzaW9uKHsgc2Vzc2lvbjogc2Vzc2lvbkRhdGEuc2Vzc2lvbiwgc2Vzc2lvbkNvbGxlY3Rpb246IHNlc3Npb25zQ29sbGVjdGlvbiB9KVxuXG4gIGNvbnN0IG5ld1Nlc3Npb25EYXRhID0ge1xuICAgIHNlc3Npb246IG5ld1Nlc3Npb24sXG4gICAgdXNlcjogbmV3VXNlclxuICB9XG5cbiAgcmV0dXJuIG5ld1Nlc3Npb25EYXRhXG59XG4iXSwibmFtZXMiOlsiZ2V0RmllbGRzVG9TaWduIiwicHJlcGFyZVVzZXIiLCJ1c2VyIiwidXNlckNvbGxlY3Rpb24iLCJuZXdVc2VyIiwiY29sbGVjdGlvbkNvbmZpZyIsImVtYWlsIiwiY29sbGVjdGlvbiIsInNsdWciLCJwcmVwYXJlU2Vzc2lvbiIsInNlc3Npb24iLCJzZXNzaW9uQ29sbGVjdGlvbiIsImZpbHRlcmVkU2Vzc2lvbiIsIk9iamVjdCIsImFzc2lnbiIsInVzZXJJZCIsInByZXBhcmVTZXNzaW9uRGF0YSIsInNlc3Npb25EYXRhIiwidXNlcnNDb2xsZWN0aW9uIiwic2Vzc2lvbnNDb2xsZWN0aW9uIiwibmV3U2Vzc2lvbiIsIm5ld1Nlc3Npb25EYXRhIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxlQUFlLFFBQVEsVUFBUztBQUV6QyxPQUFPLGVBQWVDLFlBQVksRUFBRUMsSUFBSSxFQUFFQyxjQUFjLEVBQTBFO0lBQ2hJLE1BQU1DLFVBQVVKLGdCQUFnQjtRQUM5Qkssa0JBQWtCRjtRQUNsQkcsT0FBT0osS0FBS0ksS0FBSztRQUNqQkosTUFBTTtZQUNKLEdBQUdBLElBQUk7WUFDUEssWUFBWUosZUFBZUssSUFBSTtRQUNqQztJQUNGO0lBRUEsT0FBT0o7QUFDVDtBQUVBLE9BQU8sZUFBZUssZUFBZSxFQUNuQ0MsT0FBTyxFQUNQQyxpQkFBaUIsRUFJbEI7SUFDQyxNQUFNQyxrQkFBa0JaLGdCQUFnQjtRQUN0Q0ssa0JBQWtCTTtRQUNsQkwsT0FBTztRQUNQSixNQUFNO1lBQ0osR0FBR1EsT0FBTztZQUNWSCxZQUFZSSxrQkFBa0JILElBQUk7UUFDcEM7SUFDRjtJQUVBLE9BQU9JLGdCQUFnQk4sS0FBSztJQUM1QixPQUFPTSxnQkFBZ0JMLFVBQVU7SUFDakNNLE9BQU9DLE1BQU0sQ0FBQ0YsaUJBQWlCO1FBQzdCRyxRQUFRTCxRQUFRSyxNQUFNO0lBQ3hCO0lBRUEsT0FBT0g7QUFDVDtBQUVBOzs7Q0FHQyxHQUNELE9BQU8sZUFBZUksbUJBQW1CLEVBQ3ZDQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsa0JBQWtCLEVBUW5CO0lBQ0MsSUFBSSxDQUFDRixlQUFlLENBQUNBLFlBQVlmLElBQUksRUFBRSxPQUFPO0lBRTlDLE1BQU1FLFVBQVUsTUFBTUgsWUFBWTtRQUFFQyxNQUFNZSxZQUFZZixJQUFJO1FBQUVDLGdCQUFnQmU7SUFBZ0I7SUFDNUYsTUFBTUUsYUFBYSxNQUFNWCxlQUFlO1FBQUVDLFNBQVNPLFlBQVlQLE9BQU87UUFBRUMsbUJBQW1CUTtJQUFtQjtJQUU5RyxNQUFNRSxpQkFBaUI7UUFDckJYLFNBQVNVO1FBQ1RsQixNQUFNRTtJQUNSO0lBRUEsT0FBT2lCO0FBQ1QifQ==
@@ -0,0 +1,21 @@
1
+ import type { CollectionConfig } from 'payload';
2
+ import type { BetterAuthSchemas } from '../types';
3
+ /**
4
+ * Syncs a BetterAuth `ResolvedSchema` object with the *actual* collection
5
+ * definitions created by this plugin.
6
+ *
7
+ * This must run **after** the first call to `buildCollections`, because only
8
+ * then do we know the user-overridden slugs / field names. The algorithm is
9
+ * kept deliberately simple:
10
+ *
11
+ * 1. Build a `modelKey → newSlug` map from each collection's
12
+ * `custom.betterAuthModelKey` property.
13
+ * 2. Update `schema.modelName` for all affected tables.
14
+ * 3. Rewrite `references.model` in *every* table field according to the new
15
+ * slugs. We do this in a dedicated pass so referencing tables no longer
16
+ * depend on the original slugs.
17
+ * 4. Finally, iterate collections once more to apply any *field* renames via
18
+ * the `custom.betterAuthFieldKey` property.
19
+ */
20
+ export declare function syncResolvedSchemaWithCollectionMap(resolvedSchemas: BetterAuthSchemas, collectionMap: Record<string, CollectionConfig>): BetterAuthSchemas;
21
+ //# sourceMappingURL=sync-resolved-schema-with-collection-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-resolved-schema-with-collection-map.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CACjD,eAAe,EAAE,iBAAiB,EAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC9C,iBAAiB,CAwDnB"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Syncs a BetterAuth `ResolvedSchema` object with the *actual* collection
3
+ * definitions created by this plugin.
4
+ *
5
+ * This must run **after** the first call to `buildCollections`, because only
6
+ * then do we know the user-overridden slugs / field names. The algorithm is
7
+ * kept deliberately simple:
8
+ *
9
+ * 1. Build a `modelKey → newSlug` map from each collection's
10
+ * `custom.betterAuthModelKey` property.
11
+ * 2. Update `schema.modelName` for all affected tables.
12
+ * 3. Rewrite `references.model` in *every* table field according to the new
13
+ * slugs. We do this in a dedicated pass so referencing tables no longer
14
+ * depend on the original slugs.
15
+ * 4. Finally, iterate collections once more to apply any *field* renames via
16
+ * the `custom.betterAuthFieldKey` property.
17
+ */ export function syncResolvedSchemaWithCollectionMap(resolvedSchemas, collectionMap) {
18
+ const collections = Object.values(collectionMap);
19
+ // Helper to update references across the whole schema
20
+ const updateReferences = (oldSlug, newSlug)=>{
21
+ for (const schema of Object.values(resolvedSchemas)){
22
+ for (const fieldAttr of Object.values(schema.fields)){
23
+ const ref = fieldAttr.references;
24
+ if (ref?.model === oldSlug) {
25
+ ref.model = newSlug;
26
+ }
27
+ }
28
+ }
29
+ };
30
+ for (const [modelKey, schema] of Object.entries(resolvedSchemas)){
31
+ // Find the collection corresponding to this BetterAuth model
32
+ const collection = collections.find((c)=>c.custom?.betterAuthModelKey === modelKey);
33
+ if (!collection) {
34
+ console.error(`Collection not found for model key: ${modelKey}`);
35
+ continue;
36
+ }
37
+ // ───── Sync slug ─────────────────────────────────────────────────────────
38
+ const oldSlug = schema.modelName;
39
+ const newSlug = collection.slug;
40
+ if (oldSlug !== newSlug) {
41
+ // First, rewrite *all* references that still point to the old slug
42
+ updateReferences(oldSlug, newSlug);
43
+ // Now store the new slug on the schema itself
44
+ schema.modelName = newSlug;
45
+ }
46
+ const collectionFields = Array.isArray(collection.fields) ? collection.fields : [];
47
+ for (const [fieldKey, schemaField] of Object.entries(schema.fields)){
48
+ const matchingField = collectionFields.find((f)=>f.custom?.betterAuthFieldKey === fieldKey);
49
+ if (!matchingField) {
50
+ console.error(`Field not found for key "${fieldKey}" in collection "${collection.slug}"`);
51
+ continue;
52
+ }
53
+ const newName = matchingField.name;
54
+ if (newName && schemaField.fieldName !== newName) {
55
+ schemaField.fieldName = newName;
56
+ }
57
+ }
58
+ }
59
+ return resolvedSchemas;
60
+ }
61
+
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9zeW5jLXJlc29sdmVkLXNjaGVtYS13aXRoLWNvbGxlY3Rpb24tbWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5cbmltcG9ydCB0eXBlIHsgTW9kZWxLZXkgfSBmcm9tICcuLi8uLi9nZW5lcmF0ZWQtdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhTY2hlbWFzIH0gZnJvbSAnLi4vdHlwZXMnXG5cbi8qKlxuICogU3luY3MgYSBCZXR0ZXJBdXRoIGBSZXNvbHZlZFNjaGVtYWAgb2JqZWN0IHdpdGggdGhlICphY3R1YWwqIGNvbGxlY3Rpb25cbiAqIGRlZmluaXRpb25zIGNyZWF0ZWQgYnkgdGhpcyBwbHVnaW4uXG4gKlxuICogVGhpcyBtdXN0IHJ1biAqKmFmdGVyKiogdGhlIGZpcnN0IGNhbGwgdG8gYGJ1aWxkQ29sbGVjdGlvbnNgLCBiZWNhdXNlIG9ubHlcbiAqIHRoZW4gZG8gd2Uga25vdyB0aGUgdXNlci1vdmVycmlkZGVuIHNsdWdzIC8gZmllbGQgbmFtZXMuICBUaGUgYWxnb3JpdGhtIGlzXG4gKiBrZXB0IGRlbGliZXJhdGVseSBzaW1wbGU6XG4gKlxuICogIDEuIEJ1aWxkIGEgYG1vZGVsS2V5IOKGkiBuZXdTbHVnYCBtYXAgZnJvbSBlYWNoIGNvbGxlY3Rpb24nc1xuICogICAgIGBjdXN0b20uYmV0dGVyQXV0aE1vZGVsS2V5YCBwcm9wZXJ0eS5cbiAqICAyLiBVcGRhdGUgYHNjaGVtYS5tb2RlbE5hbWVgIGZvciBhbGwgYWZmZWN0ZWQgdGFibGVzLlxuICogIDMuIFJld3JpdGUgYHJlZmVyZW5jZXMubW9kZWxgIGluICpldmVyeSogdGFibGUgZmllbGQgYWNjb3JkaW5nIHRvIHRoZSBuZXdcbiAqICAgICBzbHVncy4gIFdlIGRvIHRoaXMgaW4gYSBkZWRpY2F0ZWQgcGFzcyBzbyByZWZlcmVuY2luZyB0YWJsZXMgbm8gbG9uZ2VyXG4gKiAgICAgZGVwZW5kIG9uIHRoZSBvcmlnaW5hbCBzbHVncy5cbiAqICA0LiBGaW5hbGx5LCBpdGVyYXRlIGNvbGxlY3Rpb25zIG9uY2UgbW9yZSB0byBhcHBseSBhbnkgKmZpZWxkKiByZW5hbWVzIHZpYVxuICogICAgIHRoZSBgY3VzdG9tLmJldHRlckF1dGhGaWVsZEtleWAgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcChcbiAgcmVzb2x2ZWRTY2hlbWFzOiBCZXR0ZXJBdXRoU2NoZW1hcyxcbiAgY29sbGVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbik6IEJldHRlckF1dGhTY2hlbWFzIHtcbiAgY29uc3QgY29sbGVjdGlvbnMgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApXG5cbiAgLy8gSGVscGVyIHRvIHVwZGF0ZSByZWZlcmVuY2VzIGFjcm9zcyB0aGUgd2hvbGUgc2NoZW1hXG4gIGNvbnN0IHVwZGF0ZVJlZmVyZW5jZXMgPSAob2xkU2x1Zzogc3RyaW5nLCBuZXdTbHVnOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBmb3IgKGNvbnN0IHNjaGVtYSBvZiBPYmplY3QudmFsdWVzKHJlc29sdmVkU2NoZW1hcykpIHtcbiAgICAgIGZvciAoY29uc3QgZmllbGRBdHRyIG9mIE9iamVjdC52YWx1ZXMoc2NoZW1hLmZpZWxkcykpIHtcbiAgICAgICAgY29uc3QgcmVmID0gKGZpZWxkQXR0ciBhcyBhbnkpLnJlZmVyZW5jZXNcbiAgICAgICAgaWYgKHJlZj8ubW9kZWwgPT09IG9sZFNsdWcpIHtcbiAgICAgICAgICByZWYubW9kZWwgPSBuZXdTbHVnXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmb3IgKGNvbnN0IFttb2RlbEtleSwgc2NoZW1hXSBvZiBPYmplY3QuZW50cmllcyhyZXNvbHZlZFNjaGVtYXMpIGFzIFtNb2RlbEtleSwgKHR5cGVvZiByZXNvbHZlZFNjaGVtYXMpW01vZGVsS2V5XV1bXSkge1xuICAgIC8vIEZpbmQgdGhlIGNvbGxlY3Rpb24gY29ycmVzcG9uZGluZyB0byB0aGlzIEJldHRlckF1dGggbW9kZWxcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoYykgPT4gKGMuY3VzdG9tIGFzIGFueSk/LmJldHRlckF1dGhNb2RlbEtleSA9PT0gbW9kZWxLZXkpXG4gICAgaWYgKCFjb2xsZWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb2xsZWN0aW9uIG5vdCBmb3VuZCBmb3IgbW9kZWwga2V5OiAke21vZGVsS2V5fWApXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIOKUgOKUgOKUgOKUgOKUgCBTeW5jIHNsdWcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICAgY29uc3Qgb2xkU2x1ZyA9IHNjaGVtYS5tb2RlbE5hbWVcbiAgICBjb25zdCBuZXdTbHVnID0gY29sbGVjdGlvbi5zbHVnXG5cbiAgICBpZiAob2xkU2x1ZyAhPT0gbmV3U2x1Zykge1xuICAgICAgLy8gRmlyc3QsIHJld3JpdGUgKmFsbCogcmVmZXJlbmNlcyB0aGF0IHN0aWxsIHBvaW50IHRvIHRoZSBvbGQgc2x1Z1xuICAgICAgdXBkYXRlUmVmZXJlbmNlcyhvbGRTbHVnLCBuZXdTbHVnKVxuXG4gICAgICAvLyBOb3cgc3RvcmUgdGhlIG5ldyBzbHVnIG9uIHRoZSBzY2hlbWEgaXRzZWxmXG4gICAgICBzY2hlbWEubW9kZWxOYW1lID0gbmV3U2x1Z1xuICAgIH1cblxuICAgIC8vIOKUgOKUgOKUgOKUgOKUgCBTeW5jIGZpZWxkIG5hbWVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICAgIHR5cGUgRmllbGRXaXRoSWRzID0geyBuYW1lPzogc3RyaW5nOyBjdXN0b20/OiB7IGJldHRlckF1dGhGaWVsZEtleT86IHN0cmluZyB9IH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25GaWVsZHM6IEZpZWxkV2l0aElkc1tdID0gQXJyYXkuaXNBcnJheShjb2xsZWN0aW9uLmZpZWxkcykgPyAoY29sbGVjdGlvbi5maWVsZHMgYXMgRmllbGRXaXRoSWRzW10pIDogW11cblxuICAgIGZvciAoY29uc3QgW2ZpZWxkS2V5LCBzY2hlbWFGaWVsZF0gb2YgT2JqZWN0LmVudHJpZXMoc2NoZW1hLmZpZWxkcykpIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nRmllbGQgPSBjb2xsZWN0aW9uRmllbGRzLmZpbmQoKGYpID0+IGYuY3VzdG9tPy5iZXR0ZXJBdXRoRmllbGRLZXkgPT09IGZpZWxkS2V5KVxuXG4gICAgICBpZiAoIW1hdGNoaW5nRmllbGQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmllbGQgbm90IGZvdW5kIGZvciBrZXkgXCIke2ZpZWxkS2V5fVwiIGluIGNvbGxlY3Rpb24gXCIke2NvbGxlY3Rpb24uc2x1Z31cImApXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5ld05hbWUgPSBtYXRjaGluZ0ZpZWxkLm5hbWVcbiAgICAgIGlmIChuZXdOYW1lICYmIHNjaGVtYUZpZWxkLmZpZWxkTmFtZSAhPT0gbmV3TmFtZSkge1xuICAgICAgICBzY2hlbWFGaWVsZC5maWVsZE5hbWUgPSBuZXdOYW1lXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hc1xufVxuIl0sIm5hbWVzIjpbInN5bmNSZXNvbHZlZFNjaGVtYVdpdGhDb2xsZWN0aW9uTWFwIiwicmVzb2x2ZWRTY2hlbWFzIiwiY29sbGVjdGlvbk1hcCIsImNvbGxlY3Rpb25zIiwiT2JqZWN0IiwidmFsdWVzIiwidXBkYXRlUmVmZXJlbmNlcyIsIm9sZFNsdWciLCJuZXdTbHVnIiwic2NoZW1hIiwiZmllbGRBdHRyIiwiZmllbGRzIiwicmVmIiwicmVmZXJlbmNlcyIsIm1vZGVsIiwibW9kZWxLZXkiLCJlbnRyaWVzIiwiY29sbGVjdGlvbiIsImZpbmQiLCJjIiwiY3VzdG9tIiwiYmV0dGVyQXV0aE1vZGVsS2V5IiwiY29uc29sZSIsImVycm9yIiwibW9kZWxOYW1lIiwic2x1ZyIsImNvbGxlY3Rpb25GaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJmaWVsZEtleSIsInNjaGVtYUZpZWxkIiwibWF0Y2hpbmdGaWVsZCIsImYiLCJiZXR0ZXJBdXRoRmllbGRLZXkiLCJuZXdOYW1lIiwibmFtZSIsImZpZWxkTmFtZSJdLCJtYXBwaW5ncyI6IkFBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FnQkMsR0FDRCxPQUFPLFNBQVNBLG9DQUNkQyxlQUFrQyxFQUNsQ0MsYUFBK0M7SUFFL0MsTUFBTUMsY0FBY0MsT0FBT0MsTUFBTSxDQUFDSDtJQUVsQyxzREFBc0Q7SUFDdEQsTUFBTUksbUJBQW1CLENBQUNDLFNBQWlCQztRQUN6QyxLQUFLLE1BQU1DLFVBQVVMLE9BQU9DLE1BQU0sQ0FBQ0osaUJBQWtCO1lBQ25ELEtBQUssTUFBTVMsYUFBYU4sT0FBT0MsTUFBTSxDQUFDSSxPQUFPRSxNQUFNLEVBQUc7Z0JBQ3BELE1BQU1DLE1BQU0sQUFBQ0YsVUFBa0JHLFVBQVU7Z0JBQ3pDLElBQUlELEtBQUtFLFVBQVVQLFNBQVM7b0JBQzFCSyxJQUFJRSxLQUFLLEdBQUdOO2dCQUNkO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsS0FBSyxNQUFNLENBQUNPLFVBQVVOLE9BQU8sSUFBSUwsT0FBT1ksT0FBTyxDQUFDZixpQkFBc0U7UUFDcEgsNkRBQTZEO1FBQzdELE1BQU1nQixhQUFhZCxZQUFZZSxJQUFJLENBQUMsQ0FBQ0MsSUFBTSxBQUFDQSxFQUFFQyxNQUFNLEVBQVVDLHVCQUF1Qk47UUFDckYsSUFBSSxDQUFDRSxZQUFZO1lBQ2ZLLFFBQVFDLEtBQUssQ0FBQyxDQUFDLG9DQUFvQyxFQUFFUixVQUFVO1lBQy9EO1FBQ0Y7UUFFQSw0RUFBNEU7UUFDNUUsTUFBTVIsVUFBVUUsT0FBT2UsU0FBUztRQUNoQyxNQUFNaEIsVUFBVVMsV0FBV1EsSUFBSTtRQUUvQixJQUFJbEIsWUFBWUMsU0FBUztZQUN2QixtRUFBbUU7WUFDbkVGLGlCQUFpQkMsU0FBU0M7WUFFMUIsOENBQThDO1lBQzlDQyxPQUFPZSxTQUFTLEdBQUdoQjtRQUNyQjtRQUtBLE1BQU1rQixtQkFBbUNDLE1BQU1DLE9BQU8sQ0FBQ1gsV0FBV04sTUFBTSxJQUFLTSxXQUFXTixNQUFNLEdBQXNCLEVBQUU7UUFFdEgsS0FBSyxNQUFNLENBQUNrQixVQUFVQyxZQUFZLElBQUkxQixPQUFPWSxPQUFPLENBQUNQLE9BQU9FLE1BQU0sRUFBRztZQUNuRSxNQUFNb0IsZ0JBQWdCTCxpQkFBaUJSLElBQUksQ0FBQyxDQUFDYyxJQUFNQSxFQUFFWixNQUFNLEVBQUVhLHVCQUF1Qko7WUFFcEYsSUFBSSxDQUFDRSxlQUFlO2dCQUNsQlQsUUFBUUMsS0FBSyxDQUFDLENBQUMseUJBQXlCLEVBQUVNLFNBQVMsaUJBQWlCLEVBQUVaLFdBQVdRLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3hGO1lBQ0Y7WUFFQSxNQUFNUyxVQUFVSCxjQUFjSSxJQUFJO1lBQ2xDLElBQUlELFdBQVdKLFlBQVlNLFNBQVMsS0FBS0YsU0FBUztnQkFDaERKLFlBQVlNLFNBQVMsR0FBR0Y7WUFDMUI7UUFDRjtJQUNGO0lBRUEsT0FBT2pDO0FBQ1QifQ==
@@ -1,8 +1,12 @@
1
- import { type Config } from 'payload';
1
+ import type { BetterAuthOptions } from 'better-auth/types';
2
+ import { SanitizedConfig, type Config } from 'payload';
2
3
  import type { BetterAuthPluginOptions } from './types';
3
4
  export * from './helpers/index';
4
5
  export { getPayloadAuth } from './lib/get-payload-auth';
5
6
  export { sanitizeBetterAuthOptions } from './lib/sanitize-better-auth-options/index';
6
7
  export * from './types';
7
8
  export declare function betterAuthPlugin(pluginOptions: BetterAuthPluginOptions): (config: Config) => Config;
9
+ export declare function withPayloadAuth({ payloadConfig }: {
10
+ payloadConfig: SanitizedConfig;
11
+ }): BetterAuthOptions;
8
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,MAAM,EAAc,MAAM,SAAS,CAAA;AAQ1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAItD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,cAAc,SAAS,CAAA;AAEvB,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,uBAAuB,IAC7D,QAAQ,MAAM,KAAG,MAAM,CA2IhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/better-auth/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAc,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAUlE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGtD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAA;AACpF,cAAc,SAAS,CAAA;AAwCvB,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,uBAAuB,IAC7D,QAAQ,MAAM,KAAG,MAAM,CA+DhC;AAED,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,EAAE;IAAE,aAAa,EAAE,eAAe,CAAA;CAAE,GAAG,iBAAiB,CAgBxG"}
@@ -1,14 +1,49 @@
1
- import { adminRoutes, baModelKey, baseSlugs, supportedBAPluginIds } from "./constants";
2
- import { checkPluginExists } from "./helpers/check-plugin-exists";
3
- import { buildCollectionMap } from "./lib/build-collections/index";
1
+ import { getPayload } from "payload";
2
+ import { payloadAdapter } from "payload-auth/better-auth/adapter";
3
+ import { getDefaultBetterAuthSchema } from "./helpers/get-better-auth-schema";
4
+ import { syncResolvedSchemaWithCollectionMap } from "./helpers/sync-resolved-schema-with-collection-map";
5
+ import { applyDisabledDefaultAuthConfig } from "./lib/apply-disabled-default-auth-config";
6
+ import { buildCollections } from "./lib/build-collections/index";
4
7
  import { initBetterAuth } from "./lib/init-better-auth";
5
8
  import { sanitizeBetterAuthOptions } from "./lib/sanitize-better-auth-options/index";
6
9
  import { setLoginMethods } from "./lib/set-login-methods";
7
- import { buildCollectionSchemaMap } from "./helpers/get-collection-schema-map";
10
+ import { set } from "./utils/set";
8
11
  export * from "./helpers/index";
9
12
  export { getPayloadAuth } from "./lib/get-payload-auth";
10
13
  export { sanitizeBetterAuthOptions } from "./lib/sanitize-better-auth-options/index";
11
14
  export * from "./types";
15
+ function buildBetterAuthData({ payloadConfig, pluginOptions }) {
16
+ pluginOptions = setLoginMethods({
17
+ pluginOptions
18
+ });
19
+ const defaultBetterAuthSchemas = getDefaultBetterAuthSchema(pluginOptions);
20
+ let collectionMap = buildCollections({
21
+ resolvedSchemas: defaultBetterAuthSchemas,
22
+ incomingCollections: payloadConfig.collections ?? [],
23
+ pluginOptions
24
+ });
25
+ const resolvedBetterAuthSchemas = syncResolvedSchemaWithCollectionMap(defaultBetterAuthSchemas, collectionMap);
26
+ // We need to build the collections a second time with the resolved schemas
27
+ // due to hooks, endpoints, useAsTitle, etc should relay on resolvedBetterAuthSchemas to get slugs
28
+ // if they are referencing to other collections then it self.
29
+ collectionMap = buildCollections({
30
+ resolvedSchemas: resolvedBetterAuthSchemas,
31
+ incomingCollections: payloadConfig.collections ?? [],
32
+ pluginOptions
33
+ });
34
+ const sanitizedBetterAuthOptions = sanitizeBetterAuthOptions({
35
+ config: payloadConfig,
36
+ pluginOptions,
37
+ resolvedSchemas: resolvedBetterAuthSchemas
38
+ });
39
+ pluginOptions.betterAuthOptions = sanitizedBetterAuthOptions;
40
+ return {
41
+ pluginOptions,
42
+ collectionMap,
43
+ resolvedBetterAuthSchemas,
44
+ sanitizedBetterAuthOptions
45
+ };
46
+ }
12
47
  export function betterAuthPlugin(pluginOptions) {
13
48
  return (config)=>{
14
49
  if (pluginOptions.disabled) {
@@ -18,95 +53,19 @@ export function betterAuthPlugin(pluginOptions) {
18
53
  ...config.custom,
19
54
  hasBetterAuthPlugin: true
20
55
  };
21
- pluginOptions = setLoginMethods({
22
- pluginOptions
23
- });
24
- const collectionSchemaMap = buildCollectionSchemaMap(pluginOptions);
25
- const sanitizedBetterAuthOptions = sanitizeBetterAuthOptions({
26
- config,
27
- pluginOptions,
28
- collectionSchemaMap
29
- });
30
- pluginOptions.betterAuthOptions = sanitizedBetterAuthOptions;
31
- // Build the collection map
32
- const collectionMap = buildCollectionMap({
33
- collectionSchemaMap,
34
- incomingCollections: config.collections ?? [],
56
+ const { collectionMap, resolvedBetterAuthSchemas, sanitizedBetterAuthOptions } = buildBetterAuthData({
57
+ payloadConfig: config,
35
58
  pluginOptions
36
59
  });
37
- // Set custom admin components if disableDefaultPayloadAuth is true
60
+ set(config, 'custom.betterAuth.config', sanitizedBetterAuthOptions);
61
+ // ---------------------- Finalize config -----------------
38
62
  if (pluginOptions.disableDefaultPayloadAuth) {
39
- config.admin = {
40
- ...config.admin,
41
- components: {
42
- ...config.admin?.components,
43
- afterLogin: [
44
- {
45
- path: 'payload-auth/better-auth/plugin/rsc#RSCRedirect',
46
- serverProps: {
47
- redirectTo: `${config.routes?.admin === undefined ? '/admin' : config.routes.admin}${adminRoutes.adminLogin}`
48
- }
49
- },
50
- ...config.admin?.components?.afterLogin || []
51
- ],
52
- logout: {
53
- Button: {
54
- path: 'payload-auth/better-auth/plugin/client#LogoutButton'
55
- }
56
- },
57
- views: {
58
- ...config.admin?.components?.views,
59
- adminLogin: {
60
- path: adminRoutes.adminLogin,
61
- Component: {
62
- path: 'payload-auth/better-auth/plugin/rsc#AdminLogin',
63
- serverProps: {
64
- pluginOptions: pluginOptions,
65
- adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
66
- }
67
- }
68
- },
69
- adminSignup: {
70
- path: adminRoutes.adminSignup,
71
- Component: {
72
- path: 'payload-auth/better-auth/plugin/rsc#AdminSignup',
73
- serverProps: {
74
- pluginOptions: pluginOptions,
75
- adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
76
- }
77
- }
78
- },
79
- forgotPassword: {
80
- path: adminRoutes.forgotPassword,
81
- Component: {
82
- path: 'payload-auth/better-auth/plugin/rsc#ForgotPassword'
83
- }
84
- },
85
- resetPassword: {
86
- path: adminRoutes.resetPassword,
87
- Component: {
88
- path: 'payload-auth/better-auth/plugin/rsc#ResetPassword'
89
- }
90
- },
91
- ...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.twoFactor) && {
92
- twoFactorVerify: {
93
- path: adminRoutes.twoFactorVerify,
94
- Component: {
95
- path: 'payload-auth/better-auth/plugin/rsc#TwoFactorVerify',
96
- serverProps: {
97
- pluginOptions: pluginOptions,
98
- verificationsSlug: collectionSchemaMap[baModelKey.verification].collectionSlug
99
- }
100
- }
101
- }
102
- }
103
- }
104
- },
105
- routes: {
106
- ...config.admin?.routes,
107
- login: adminRoutes.loginRedirect
108
- }
109
- };
63
+ applyDisabledDefaultAuthConfig({
64
+ config,
65
+ pluginOptions,
66
+ collectionMap,
67
+ resolvedBetterAuthSchemas
68
+ });
110
69
  }
111
70
  config.collections = config.collections ?? [];
112
71
  config.collections = Object.values(collectionMap);
@@ -143,5 +102,21 @@ export function betterAuthPlugin(pluginOptions) {
143
102
  return config;
144
103
  };
145
104
  }
105
+ export function withPayloadAuth({ payloadConfig }) {
106
+ const betterAuthConfig = payloadConfig.custom.betterAuth.config;
107
+ if (!betterAuthConfig) {
108
+ throw new Error('BetterAuth config not found. Not set payloadConfig.custom.betterAuth.config');
109
+ }
110
+ const optionsWithAdapter = {
111
+ ...betterAuthConfig,
112
+ database: payloadAdapter({
113
+ payloadClient: async ()=>await getPayload({
114
+ config: payloadConfig
115
+ }),
116
+ idType: payloadConfig.db.defaultIDType
117
+ })
118
+ };
119
+ return optionsWithAdapter;
120
+ }
146
121
 
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmxhdHRlbkFsbEZpZWxkcywgRmxhdHRlbmVkRmllbGQsIHR5cGUgQ29sbGVjdGlvbkNvbmZpZywgdHlwZSBDb25maWcsIHR5cGUgRmllbGQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgYWRtaW5Sb3V0ZXMsIGJhTW9kZWxGaWVsZEtleXMsIGJhTW9kZWxLZXksIGJhTW9kZWxLZXlUb1NsdWcsIGJhc2VTbHVncywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICcuL2NvbnN0YW50cydcbmltcG9ydCB7IGNoZWNrUGx1Z2luRXhpc3RzIH0gZnJvbSAnLi9oZWxwZXJzL2NoZWNrLXBsdWdpbi1leGlzdHMnXG5pbXBvcnQgeyBnZXRNYXBwZWRDb2xsZWN0aW9uIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1jb2xsZWN0aW9uJ1xuaW1wb3J0IHsgYnVpbGRDb2xsZWN0aW9uTWFwIH0gZnJvbSAnLi9saWIvYnVpbGQtY29sbGVjdGlvbnMvaW5kZXgnXG5pbXBvcnQgeyBpbml0QmV0dGVyQXV0aCB9IGZyb20gJy4vbGliL2luaXQtYmV0dGVyLWF1dGgnXG5pbXBvcnQgeyBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zIH0gZnJvbSAnLi9saWIvc2FuaXRpemUtYmV0dGVyLWF1dGgtb3B0aW9ucy9pbmRleCdcbmltcG9ydCB7IHNldExvZ2luTWV0aG9kcyB9IGZyb20gJy4vbGliL3NldC1sb2dpbi1tZXRob2RzJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBnZXREZWFmdWx0Q29sbGVjdGlvblNsdWcgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNvbGxlY3Rpb24tc2x1ZydcbmltcG9ydCB7IGJ1aWxkQ29sbGVjdGlvblNjaGVtYU1hcCwgZ2V0RGVmYXVsdENvbGxlY3Rpb25TY2hlbWFNYXAgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWNvbGxlY3Rpb24tc2NoZW1hLW1hcCdcblxuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2luZGV4J1xuZXhwb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tICcuL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuZXhwb3J0IHsgc2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJy4vbGliL3Nhbml0aXplLWJldHRlci1hdXRoLW9wdGlvbnMvaW5kZXgnXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gYmV0dGVyQXV0aFBsdWdpbihwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucykge1xuICByZXR1cm4gKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+IHtcbiAgICBpZiAocGx1Z2luT3B0aW9ucy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH1cblxuICAgIGNvbmZpZy5jdXN0b20gPSB7XG4gICAgICAuLi5jb25maWcuY3VzdG9tLFxuICAgICAgaGFzQmV0dGVyQXV0aFBsdWdpbjogdHJ1ZVxuICAgIH1cblxuICAgIHBsdWdpbk9wdGlvbnMgPSBzZXRMb2dpbk1ldGhvZHMoeyBwbHVnaW5PcHRpb25zIH0pXG5cbiAgICBjb25zdCBjb2xsZWN0aW9uU2NoZW1hTWFwID0gYnVpbGRDb2xsZWN0aW9uU2NoZW1hTWFwKHBsdWdpbk9wdGlvbnMpXG4gICAgY29uc3Qgc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgPSBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zKHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIHBsdWdpbk9wdGlvbnMsXG4gICAgICBjb2xsZWN0aW9uU2NoZW1hTWFwXG4gICAgfSlcblxuICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPSBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xuXG4gICAgLy8gQnVpbGQgdGhlIGNvbGxlY3Rpb24gbWFwXG4gICAgY29uc3QgY29sbGVjdGlvbk1hcCA9IGJ1aWxkQ29sbGVjdGlvbk1hcCh7XG4gICAgICBjb2xsZWN0aW9uU2NoZW1hTWFwLFxuICAgICAgaW5jb21pbmdDb2xsZWN0aW9uczogY29uZmlnLmNvbGxlY3Rpb25zID8/IFtdLFxuICAgICAgcGx1Z2luT3B0aW9uc1xuICAgIH0pXG5cbiAgICAvLyBTZXQgY3VzdG9tIGFkbWluIGNvbXBvbmVudHMgaWYgZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCBpcyB0cnVlXG4gICAgaWYgKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aCkge1xuICAgICAgY29uZmlnLmFkbWluID0ge1xuICAgICAgICAuLi5jb25maWcuYWRtaW4sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAuLi5jb25maWcuYWRtaW4/LmNvbXBvbmVudHMsXG4gICAgICAgICAgYWZ0ZXJMb2dpbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjUlNDUmVkaXJlY3QnLFxuICAgICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICAgIHJlZGlyZWN0VG86IGAke2NvbmZpZy5yb3V0ZXM/LmFkbWluID09PSB1bmRlZmluZWQgPyAnL2FkbWluJyA6IGNvbmZpZy5yb3V0ZXMuYWRtaW59JHthZG1pblJvdXRlcy5hZG1pbkxvZ2lufWBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLihjb25maWcuYWRtaW4/LmNvbXBvbmVudHM/LmFmdGVyTG9naW4gfHwgW10pXG4gICAgICAgICAgXSxcbiAgICAgICAgICBsb2dvdXQ6IHtcbiAgICAgICAgICAgIEJ1dHRvbjoge1xuICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjTG9nb3V0QnV0dG9uJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdmlld3M6IHtcbiAgICAgICAgICAgIC4uLmNvbmZpZy5hZG1pbj8uY29tcG9uZW50cz8udmlld3MsXG4gICAgICAgICAgICBhZG1pbkxvZ2luOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmFkbWluTG9naW4sXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pbkxvZ2luJyxcbiAgICAgICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9uczogcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgIGFkbWluSW52aXRhdGlvbnNTbHVnOiBjb2xsZWN0aW9uTWFwW2Jhc2VTbHVncy5hZG1pbkludml0YXRpb25zXS5zbHVnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWRtaW5TaWdudXA6IHtcbiAgICAgICAgICAgICAgcGF0aDogYWRtaW5Sb3V0ZXMuYWRtaW5TaWdudXAsXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pblNpZ251cCcsXG4gICAgICAgICAgICAgICAgc2VydmVyUHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgIHBsdWdpbk9wdGlvbnM6IHBsdWdpbk9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvcmdvdFBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmZvcmdvdFBhc3N3b3JkLFxuICAgICAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjRm9yZ290UGFzc3dvcmQnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldFBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLnJlc2V0UGFzc3dvcmQsXG4gICAgICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNSZXNldFBhc3N3b3JkJ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKGNoZWNrUGx1Z2luRXhpc3RzKHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sIHN1cHBvcnRlZEJBUGx1Z2luSWRzLnR3b0ZhY3RvcikgJiYge1xuICAgICAgICAgICAgICB0d29GYWN0b3JWZXJpZnk6IHtcbiAgICAgICAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy50d29GYWN0b3JWZXJpZnksXG4gICAgICAgICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjVHdvRmFjdG9yVmVyaWZ5JyxcbiAgICAgICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBsdWdpbk9wdGlvbnM6IHBsdWdpbk9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHZlcmlmaWNhdGlvbnNTbHVnOiBjb2xsZWN0aW9uU2NoZW1hTWFwW2JhTW9kZWxLZXkudmVyaWZpY2F0aW9uXS5jb2xsZWN0aW9uU2x1Z1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJvdXRlczoge1xuICAgICAgICAgIC4uLmNvbmZpZy5hZG1pbj8ucm91dGVzLFxuICAgICAgICAgIGxvZ2luOiBhZG1pblJvdXRlcy5sb2dpblJlZGlyZWN0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBjb25maWcuY29sbGVjdGlvbnMgPz8gW11cbiAgICBjb25maWcuY29sbGVjdGlvbnMgPSBPYmplY3QudmFsdWVzKGNvbGxlY3Rpb25NYXApXG5cbiAgICBjb25zdCBpbmNvbWluZ09uSW5pdCA9IGNvbmZpZy5vbkluaXRcblxuICAgIGNvbmZpZy5vbkluaXQgPSBhc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gRXhlY3V0ZSBhbnkgZXhpc3Rpbmcgb25Jbml0IGZ1bmN0aW9ucyBmaXJzdFxuICAgICAgICBpZiAoaW5jb21pbmdPbkluaXQpIHtcbiAgICAgICAgICBhd2FpdCBpbmNvbWluZ09uSW5pdChwYXlsb2FkKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBhbmQgc2V0IHRoZSBiZXR0ZXJBdXRoIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IGF1dGggPSBpbml0QmV0dGVyQXV0aDxOb25OdWxsYWJsZTx0eXBlb2Ygc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMucGx1Z2lucz4+KHtcbiAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgIGlkVHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIC4uLnNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLFxuICAgICAgICAgICAgZW5hYmxlRGVidWdMb2dzOiBwbHVnaW5PcHRpb25zLmRlYnVnPy5lbmFibGVEZWJ1Z0xvZ3MgPz8gZmFsc2UsXG4gICAgICAgICAgICBwbHVnaW5zOiBbLi4uKHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLnBsdWdpbnMgPz8gW10pXVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICAvLyBUeXBlLXNhZmUgZXh0ZW5zaW9uIG9mIHBheWxvYWQgd2l0aCBiZXR0ZXJBdXRoXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwYXlsb2FkLCAnYmV0dGVyQXV0aCcsIHtcbiAgICAgICAgICB2YWx1ZTogYXV0aCxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGluaXRpYWxpemUgQmV0dGVyQXV0aDonLCBlcnJvcilcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXSwibmFtZXMiOlsiYWRtaW5Sb3V0ZXMiLCJiYU1vZGVsS2V5IiwiYmFzZVNsdWdzIiwic3VwcG9ydGVkQkFQbHVnaW5JZHMiLCJjaGVja1BsdWdpbkV4aXN0cyIsImJ1aWxkQ29sbGVjdGlvbk1hcCIsImluaXRCZXR0ZXJBdXRoIiwic2FuaXRpemVCZXR0ZXJBdXRoT3B0aW9ucyIsInNldExvZ2luTWV0aG9kcyIsImJ1aWxkQ29sbGVjdGlvblNjaGVtYU1hcCIsImdldFBheWxvYWRBdXRoIiwiYmV0dGVyQXV0aFBsdWdpbiIsInBsdWdpbk9wdGlvbnMiLCJjb25maWciLCJkaXNhYmxlZCIsImN1c3RvbSIsImhhc0JldHRlckF1dGhQbHVnaW4iLCJjb2xsZWN0aW9uU2NoZW1hTWFwIiwic2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMiLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImNvbGxlY3Rpb25NYXAiLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwiYWRtaW4iLCJjb21wb25lbnRzIiwiYWZ0ZXJMb2dpbiIsInBhdGgiLCJzZXJ2ZXJQcm9wcyIsInJlZGlyZWN0VG8iLCJyb3V0ZXMiLCJ1bmRlZmluZWQiLCJhZG1pbkxvZ2luIiwibG9nb3V0IiwiQnV0dG9uIiwidmlld3MiLCJDb21wb25lbnQiLCJhZG1pbkludml0YXRpb25zU2x1ZyIsImFkbWluSW52aXRhdGlvbnMiLCJzbHVnIiwiYWRtaW5TaWdudXAiLCJmb3Jnb3RQYXNzd29yZCIsInJlc2V0UGFzc3dvcmQiLCJ0d29GYWN0b3IiLCJ0d29GYWN0b3JWZXJpZnkiLCJ2ZXJpZmljYXRpb25zU2x1ZyIsInZlcmlmaWNhdGlvbiIsImNvbGxlY3Rpb25TbHVnIiwibG9naW4iLCJsb2dpblJlZGlyZWN0IiwiT2JqZWN0IiwidmFsdWVzIiwiaW5jb21pbmdPbkluaXQiLCJvbkluaXQiLCJwYXlsb2FkIiwiYXV0aCIsImlkVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsIm9wdGlvbnMiLCJlbmFibGVEZWJ1Z0xvZ3MiLCJkZWJ1ZyIsInBsdWdpbnMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJlcnJvciIsImNvbnNvbGUiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFdBQVcsRUFBb0JDLFVBQVUsRUFBb0JDLFNBQVMsRUFBRUMsb0JBQW9CLFFBQVEsY0FBYTtBQUMxSCxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBK0I7QUFFakUsU0FBU0Msa0JBQWtCLFFBQVEsZ0NBQStCO0FBQ2xFLFNBQVNDLGNBQWMsUUFBUSx5QkFBd0I7QUFDdkQsU0FBU0MseUJBQXlCLFFBQVEsMkNBQTBDO0FBQ3BGLFNBQVNDLGVBQWUsUUFBUSwwQkFBeUI7QUFHekQsU0FBU0Msd0JBQXdCLFFBQXVDLHNDQUFxQztBQUU3RyxjQUFjLGtCQUFpQjtBQUMv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
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ2JldHRlci1hdXRoL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UGF5bG9hZCwgU2FuaXRpemVkQ29uZmlnLCB0eXBlIENvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBwYXlsb2FkQWRhcHRlciB9IGZyb20gJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9hZGFwdGVyJ1xuaW1wb3J0IHsgUGF5bG9hZEFkYXB0ZXJQYXJhbXMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGdldERlZmF1bHRCZXR0ZXJBdXRoU2NoZW1hIH0gZnJvbSAnLi9oZWxwZXJzL2dldC1iZXR0ZXItYXV0aC1zY2hlbWEnXG5pbXBvcnQgeyBzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcCB9IGZyb20gJy4vaGVscGVycy9zeW5jLXJlc29sdmVkLXNjaGVtYS13aXRoLWNvbGxlY3Rpb24tbWFwJ1xuaW1wb3J0IHsgYXBwbHlEaXNhYmxlZERlZmF1bHRBdXRoQ29uZmlnIH0gZnJvbSAnLi9saWIvYXBwbHktZGlzYWJsZWQtZGVmYXVsdC1hdXRoLWNvbmZpZydcbmltcG9ydCB7IGJ1aWxkQ29sbGVjdGlvbnMgfSBmcm9tICcuL2xpYi9idWlsZC1jb2xsZWN0aW9ucy9pbmRleCdcbmltcG9ydCB7IGluaXRCZXR0ZXJBdXRoIH0gZnJvbSAnLi9saWIvaW5pdC1iZXR0ZXItYXV0aCdcbmltcG9ydCB7IHNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMgfSBmcm9tICcuL2xpYi9zYW5pdGl6ZS1iZXR0ZXItYXV0aC1vcHRpb25zL2luZGV4J1xuaW1wb3J0IHsgc2V0TG9naW5NZXRob2RzIH0gZnJvbSAnLi9saWIvc2V0LWxvZ2luLW1ldGhvZHMnXG5pbXBvcnQgdHlwZSB7IEJldHRlckF1dGhQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNldCB9IGZyb20gJy4vdXRpbHMvc2V0J1xuXG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvaW5kZXgnXG5leHBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gJy4vbGliL2dldC1wYXlsb2FkLWF1dGgnXG5leHBvcnQgeyBzYW5pdGl6ZUJldHRlckF1dGhPcHRpb25zIH0gZnJvbSAnLi9saWIvc2FuaXRpemUtYmV0dGVyLWF1dGgtb3B0aW9ucy9pbmRleCdcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG5cbmZ1bmN0aW9uIGJ1aWxkQmV0dGVyQXV0aERhdGEoeyBwYXlsb2FkQ29uZmlnLCBwbHVnaW5PcHRpb25zIH06IHsgcGF5bG9hZENvbmZpZzogU2FuaXRpemVkQ29uZmlnOyBwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9KSB7XG4gIHBsdWdpbk9wdGlvbnMgPSBzZXRMb2dpbk1ldGhvZHMoeyBwbHVnaW5PcHRpb25zIH0pXG5cbiAgY29uc3QgZGVmYXVsdEJldHRlckF1dGhTY2hlbWFzID0gZ2V0RGVmYXVsdEJldHRlckF1dGhTY2hlbWEocGx1Z2luT3B0aW9ucylcblxuICBsZXQgY29sbGVjdGlvbk1hcCA9IGJ1aWxkQ29sbGVjdGlvbnMoe1xuICAgIHJlc29sdmVkU2NoZW1hczogZGVmYXVsdEJldHRlckF1dGhTY2hlbWFzLFxuICAgIGluY29taW5nQ29sbGVjdGlvbnM6IHBheWxvYWRDb25maWcuY29sbGVjdGlvbnMgPz8gW10sXG4gICAgcGx1Z2luT3B0aW9uc1xuICB9KVxuXG4gIGNvbnN0IHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXMgPSBzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcChkZWZhdWx0QmV0dGVyQXV0aFNjaGVtYXMsIGNvbGxlY3Rpb25NYXApXG5cbiAgLy8gV2UgbmVlZCB0byBidWlsZCB0aGUgY29sbGVjdGlvbnMgYSBzZWNvbmQgdGltZSB3aXRoIHRoZSByZXNvbHZlZCBzY2hlbWFzXG4gIC8vIGR1ZSB0byBob29rcywgZW5kcG9pbnRzLCB1c2VBc1RpdGxlLCBldGMgc2hvdWxkIHJlbGF5IG9uIHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXMgdG8gZ2V0IHNsdWdzXG4gIC8vIGlmIHRoZXkgYXJlIHJlZmVyZW5jaW5nIHRvIG90aGVyIGNvbGxlY3Rpb25zIHRoZW4gaXQgc2VsZi5cbiAgY29sbGVjdGlvbk1hcCA9IGJ1aWxkQ29sbGVjdGlvbnMoe1xuICAgIHJlc29sdmVkU2NoZW1hczogcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcyxcbiAgICBpbmNvbWluZ0NvbGxlY3Rpb25zOiBwYXlsb2FkQ29uZmlnLmNvbGxlY3Rpb25zID8/IFtdLFxuICAgIHBsdWdpbk9wdGlvbnNcbiAgfSlcblxuICBjb25zdCBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyA9IHNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMoe1xuICAgIGNvbmZpZzogcGF5bG9hZENvbmZpZyxcbiAgICBwbHVnaW5PcHRpb25zLFxuICAgIHJlc29sdmVkU2NoZW1hczogcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1xuICB9KVxuXG4gIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPSBzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9uc1xuXG4gIHJldHVybiB7XG4gICAgcGx1Z2luT3B0aW9ucyxcbiAgICBjb2xsZWN0aW9uTWFwLFxuICAgIHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXMsXG4gICAgc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnNcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYmV0dGVyQXV0aFBsdWdpbihwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucykge1xuICByZXR1cm4gKGNvbmZpZzogQ29uZmlnKTogQ29uZmlnID0+IHtcbiAgICBpZiAocGx1Z2luT3B0aW9ucy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH1cblxuICAgIGNvbmZpZy5jdXN0b20gPSB7XG4gICAgICAuLi5jb25maWcuY3VzdG9tLFxuICAgICAgaGFzQmV0dGVyQXV0aFBsdWdpbjogdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IHsgY29sbGVjdGlvbk1hcCwgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hcywgc2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMgfSA9IGJ1aWxkQmV0dGVyQXV0aERhdGEoe1xuICAgICAgcGF5bG9hZENvbmZpZzogY29uZmlnIGFzIFNhbml0aXplZENvbmZpZyxcbiAgICAgIHBsdWdpbk9wdGlvbnNcbiAgICB9KVxuXG4gICAgc2V0KGNvbmZpZywgJ2N1c3RvbS5iZXR0ZXJBdXRoLmNvbmZpZycsIHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zKVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGaW5hbGl6ZSBjb25maWcgLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBpZiAocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoKSB7XG4gICAgICBhcHBseURpc2FibGVkRGVmYXVsdEF1dGhDb25maWcoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHBsdWdpbk9wdGlvbnMsXG4gICAgICAgIGNvbGxlY3Rpb25NYXAsXG4gICAgICAgIHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXNcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uZmlnLmNvbGxlY3Rpb25zID0gY29uZmlnLmNvbGxlY3Rpb25zID8/IFtdXG4gICAgY29uZmlnLmNvbGxlY3Rpb25zID0gT2JqZWN0LnZhbHVlcyhjb2xsZWN0aW9uTWFwKVxuXG4gICAgY29uc3QgaW5jb21pbmdPbkluaXQgPSBjb25maWcub25Jbml0XG5cbiAgICBjb25maWcub25Jbml0ID0gYXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIEV4ZWN1dGUgYW55IGV4aXN0aW5nIG9uSW5pdCBmdW5jdGlvbnMgZmlyc3RcbiAgICAgICAgaWYgKGluY29taW5nT25Jbml0KSB7XG4gICAgICAgICAgYXdhaXQgaW5jb21pbmdPbkluaXQocGF5bG9hZClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluaXRpYWxpemUgYW5kIHNldCB0aGUgYmV0dGVyQXV0aCBpbnN0YW5jZVxuICAgICAgICBjb25zdCBhdXRoID0gaW5pdEJldHRlckF1dGg8Tm9uTnVsbGFibGU8dHlwZW9mIHNhbml0aXplZEJldHRlckF1dGhPcHRpb25zLnBsdWdpbnM+Pih7XG4gICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICBpZFR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAuLi5zYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyxcbiAgICAgICAgICAgIGVuYWJsZURlYnVnTG9nczogcGx1Z2luT3B0aW9ucy5kZWJ1Zz8uZW5hYmxlRGVidWdMb2dzID8/IGZhbHNlLFxuICAgICAgICAgICAgcGx1Z2luczogWy4uLihzYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucy5wbHVnaW5zID8/IFtdKV1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gVHlwZS1zYWZlIGV4dGVuc2lvbiBvZiBwYXlsb2FkIHdpdGggYmV0dGVyQXV0aFxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocGF5bG9hZCwgJ2JldHRlckF1dGgnLCB7XG4gICAgICAgICAgdmFsdWU6IGF1dGgsXG4gICAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBpbml0aWFsaXplIEJldHRlckF1dGg6JywgZXJyb3IpXG4gICAgICAgIHRocm93IGVycm9yXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb25maWdcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aFBheWxvYWRBdXRoKHsgcGF5bG9hZENvbmZpZyB9OiB7IHBheWxvYWRDb25maWc6IFNhbml0aXplZENvbmZpZyB9KTogQmV0dGVyQXV0aE9wdGlvbnMge1xuICBjb25zdCBiZXR0ZXJBdXRoQ29uZmlnID0gcGF5bG9hZENvbmZpZy5jdXN0b20uYmV0dGVyQXV0aC5jb25maWcgYXMgQmV0dGVyQXV0aE9wdGlvbnNcblxuICBpZiAoIWJldHRlckF1dGhDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0JldHRlckF1dGggY29uZmlnIG5vdCBmb3VuZC4gTm90IHNldCBwYXlsb2FkQ29uZmlnLmN1c3RvbS5iZXR0ZXJBdXRoLmNvbmZpZycpXG4gIH1cblxuICBjb25zdCBvcHRpb25zV2l0aEFkYXB0ZXI6IEJldHRlckF1dGhPcHRpb25zID0ge1xuICAgIC4uLmJldHRlckF1dGhDb25maWcsXG4gICAgZGF0YWJhc2U6IHBheWxvYWRBZGFwdGVyKHtcbiAgICAgIHBheWxvYWRDbGllbnQ6IGFzeW5jICgpID0+IGF3YWl0IGdldFBheWxvYWQoeyBjb25maWc6IHBheWxvYWRDb25maWcgfSksXG4gICAgICBpZFR5cGU6IHBheWxvYWRDb25maWcuZGIuZGVmYXVsdElEVHlwZVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gb3B0aW9uc1dpdGhBZGFwdGVyXG59XG4iXSwibmFtZXMiOlsiZ2V0UGF5bG9hZCIsInBheWxvYWRBZGFwdGVyIiwiZ2V0RGVmYXVsdEJldHRlckF1dGhTY2hlbWEiLCJzeW5jUmVzb2x2ZWRTY2hlbWFXaXRoQ29sbGVjdGlvbk1hcCIsImFwcGx5RGlzYWJsZWREZWZhdWx0QXV0aENvbmZpZyIsImJ1aWxkQ29sbGVjdGlvbnMiLCJpbml0QmV0dGVyQXV0aCIsInNhbml0aXplQmV0dGVyQXV0aE9wdGlvbnMiLCJzZXRMb2dpbk1ldGhvZHMiLCJzZXQiLCJnZXRQYXlsb2FkQXV0aCIsImJ1aWxkQmV0dGVyQXV0aERhdGEiLCJwYXlsb2FkQ29uZmlnIiwicGx1Z2luT3B0aW9ucyIsImRlZmF1bHRCZXR0ZXJBdXRoU2NoZW1hcyIsImNvbGxlY3Rpb25NYXAiLCJyZXNvbHZlZFNjaGVtYXMiLCJpbmNvbWluZ0NvbGxlY3Rpb25zIiwiY29sbGVjdGlvbnMiLCJyZXNvbHZlZEJldHRlckF1dGhTY2hlbWFzIiwic2FuaXRpemVkQmV0dGVyQXV0aE9wdGlvbnMiLCJjb25maWciLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImJldHRlckF1dGhQbHVnaW4iLCJkaXNhYmxlZCIsImN1c3RvbSIsImhhc0JldHRlckF1dGhQbHVnaW4iLCJkaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoIiwiT2JqZWN0IiwidmFsdWVzIiwiaW5jb21pbmdPbkluaXQiLCJvbkluaXQiLCJwYXlsb2FkIiwiYXV0aCIsImlkVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsIm9wdGlvbnMiLCJlbmFibGVEZWJ1Z0xvZ3MiLCJkZWJ1ZyIsInBsdWdpbnMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJlcnJvciIsImNvbnNvbGUiLCJ3aXRoUGF5bG9hZEF1dGgiLCJiZXR0ZXJBdXRoQ29uZmlnIiwiYmV0dGVyQXV0aCIsIkVycm9yIiwib3B0aW9uc1dpdGhBZGFwdGVyIiwiZGF0YWJhc2UiLCJwYXlsb2FkQ2xpZW50Il0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxVQUFVLFFBQXNDLFVBQVM7QUFDbEUsU0FBU0MsY0FBYyxRQUFRLG1DQUFrQztBQUVqRSxTQUFTQywwQkFBMEIsUUFBUSxtQ0FBa0M7QUFDN0UsU0FBU0MsbUNBQW1DLFFBQVEscURBQW9EO0FBQ3hHLFNBQVNDLDhCQUE4QixRQUFRLDJDQUEwQztBQUN6RixTQUFTQyxnQkFBZ0IsUUFBUSxnQ0FBK0I7QUFDaEUsU0FBU0MsY0FBYyxRQUFRLHlCQUF3QjtBQUN2RCxTQUFTQyx5QkFBeUIsUUFBUSwyQ0FBMEM7QUFDcEYsU0FBU0MsZUFBZSxRQUFRLDBCQUF5QjtBQUV6RCxTQUFTQyxHQUFH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
@@ -0,0 +1,13 @@
1
+ import type { BetterAuthPluginOptions, BetterAuthSchemas } from '../types';
2
+ import type { Config, CollectionConfig } from 'payload';
3
+ /**
4
+ * Applies all admin-related overrides when `disableDefaultPayloadAuth` is `true`.
5
+ * Mutates the provided Payload config in-place.
6
+ */
7
+ export declare function applyDisabledDefaultAuthConfig({ config, pluginOptions, collectionMap, resolvedBetterAuthSchemas }: {
8
+ config: Config;
9
+ pluginOptions: BetterAuthPluginOptions;
10
+ collectionMap: Record<string, CollectionConfig>;
11
+ resolvedBetterAuthSchemas: BetterAuthSchemas;
12
+ }): void;
13
+ //# sourceMappingURL=apply-disabled-default-auth-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-disabled-default-auth-config.d.ts","sourceRoot":"","sources":["../../../../src/better-auth/plugin/lib/apply-disabled-default-auth-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEvD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,aAAa,EACb,aAAa,EACb,yBAAyB,EAC1B,EAAE;IACD,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,uBAAuB,CAAA;IACtC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC/C,yBAAyB,EAAE,iBAAiB,CAAA;CAC7C,GAAG,IAAI,CAwEP"}
@@ -0,0 +1,80 @@
1
+ import { adminRoutes, baModelKey, baseSlugs, supportedBAPluginIds } from "../constants";
2
+ import { checkPluginExists } from "../helpers/check-plugin-exists";
3
+ /**
4
+ * Applies all admin-related overrides when `disableDefaultPayloadAuth` is `true`.
5
+ * Mutates the provided Payload config in-place.
6
+ */ export function applyDisabledDefaultAuthConfig({ config, pluginOptions, collectionMap, resolvedBetterAuthSchemas }) {
7
+ config.admin = {
8
+ ...config.admin,
9
+ components: {
10
+ ...config.admin?.components,
11
+ afterLogin: [
12
+ {
13
+ path: 'payload-auth/better-auth/plugin/rsc#RSCRedirect',
14
+ serverProps: {
15
+ redirectTo: `${config.routes?.admin === undefined ? '/admin' : config.routes.admin}${adminRoutes.adminLogin}`
16
+ }
17
+ },
18
+ ...config.admin?.components?.afterLogin || []
19
+ ],
20
+ logout: {
21
+ Button: {
22
+ path: 'payload-auth/better-auth/plugin/client#LogoutButton'
23
+ }
24
+ },
25
+ views: {
26
+ ...config.admin?.components?.views,
27
+ adminLogin: {
28
+ path: adminRoutes.adminLogin,
29
+ Component: {
30
+ path: 'payload-auth/better-auth/plugin/rsc#AdminLogin',
31
+ serverProps: {
32
+ pluginOptions: pluginOptions,
33
+ adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
34
+ }
35
+ }
36
+ },
37
+ adminSignup: {
38
+ path: adminRoutes.adminSignup,
39
+ Component: {
40
+ path: 'payload-auth/better-auth/plugin/rsc#AdminSignup',
41
+ serverProps: {
42
+ pluginOptions: pluginOptions,
43
+ adminInvitationsSlug: collectionMap[baseSlugs.adminInvitations].slug
44
+ }
45
+ }
46
+ },
47
+ forgotPassword: {
48
+ path: adminRoutes.forgotPassword,
49
+ Component: {
50
+ path: 'payload-auth/better-auth/plugin/rsc#ForgotPassword'
51
+ }
52
+ },
53
+ resetPassword: {
54
+ path: adminRoutes.resetPassword,
55
+ Component: {
56
+ path: 'payload-auth/better-auth/plugin/rsc#ResetPassword'
57
+ }
58
+ },
59
+ ...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.twoFactor) && {
60
+ twoFactorVerify: {
61
+ path: adminRoutes.twoFactorVerify,
62
+ Component: {
63
+ path: 'payload-auth/better-auth/plugin/rsc#TwoFactorVerify',
64
+ serverProps: {
65
+ pluginOptions: pluginOptions,
66
+ verificationsSlug: resolvedBetterAuthSchemas[baModelKey.verification].modelName
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
72
+ },
73
+ routes: {
74
+ ...config.admin?.routes,
75
+ login: adminRoutes.loginRedirect
76
+ }
77
+ };
78
+ }
79
+
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2FwcGx5LWRpc2FibGVkLWRlZmF1bHQtYXV0aC1jb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRtaW5Sb3V0ZXMsIGJhTW9kZWxLZXksIGJhc2VTbHVncywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICcuLi9jb25zdGFudHMnXG5pbXBvcnQgeyBjaGVja1BsdWdpbkV4aXN0cyB9IGZyb20gJy4uL2hlbHBlcnMvY2hlY2stcGx1Z2luLWV4aXN0cydcbmltcG9ydCB0eXBlIHsgQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMsIEJldHRlckF1dGhTY2hlbWFzIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbmZpZywgQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQnXG5cbi8qKlxuICogQXBwbGllcyBhbGwgYWRtaW4tcmVsYXRlZCBvdmVycmlkZXMgd2hlbiBgZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aGAgaXMgYHRydWVgLlxuICogTXV0YXRlcyB0aGUgcHJvdmlkZWQgUGF5bG9hZCBjb25maWcgaW4tcGxhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseURpc2FibGVkRGVmYXVsdEF1dGhDb25maWcoe1xuICBjb25maWcsXG4gIHBsdWdpbk9wdGlvbnMsXG4gIGNvbGxlY3Rpb25NYXAsXG4gIHJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXNcbn06IHtcbiAgY29uZmlnOiBDb25maWdcbiAgcGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnNcbiAgY29sbGVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkNvbmZpZz5cbiAgcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXNcbn0pOiB2b2lkIHtcbiAgY29uZmlnLmFkbWluID0ge1xuICAgIC4uLmNvbmZpZy5hZG1pbixcbiAgICBjb21wb25lbnRzOiB7XG4gICAgICAuLi5jb25maWcuYWRtaW4/LmNvbXBvbmVudHMsXG4gICAgICBhZnRlckxvZ2luOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjUlNDUmVkaXJlY3QnLFxuICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICByZWRpcmVjdFRvOiBgJHtjb25maWcucm91dGVzPy5hZG1pbiA9PT0gdW5kZWZpbmVkID8gJy9hZG1pbicgOiBjb25maWcucm91dGVzLmFkbWlufSR7YWRtaW5Sb3V0ZXMuYWRtaW5Mb2dpbn1gXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi4oY29uZmlnLmFkbWluPy5jb21wb25lbnRzPy5hZnRlckxvZ2luIHx8IFtdKVxuICAgICAgXSxcbiAgICAgIGxvZ291dDoge1xuICAgICAgICBCdXR0b246IHtcbiAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9jbGllbnQjTG9nb3V0QnV0dG9uJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdmlld3M6IHtcbiAgICAgICAgLi4uY29uZmlnLmFkbWluPy5jb21wb25lbnRzPy52aWV3cyxcbiAgICAgICAgYWRtaW5Mb2dpbjoge1xuICAgICAgICAgIHBhdGg6IGFkbWluUm91dGVzLmFkbWluTG9naW4sXG4gICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICBwYXRoOiAncGF5bG9hZC1hdXRoL2JldHRlci1hdXRoL3BsdWdpbi9yc2MjQWRtaW5Mb2dpbicsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgYWRtaW5TaWdudXA6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5hZG1pblNpZ251cCxcbiAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNBZG1pblNpZ251cCcsXG4gICAgICAgICAgICBzZXJ2ZXJQcm9wczoge1xuICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zOiBwbHVnaW5PcHRpb25zLFxuICAgICAgICAgICAgICBhZG1pbkludml0YXRpb25zU2x1ZzogY29sbGVjdGlvbk1hcFtiYXNlU2x1Z3MuYWRtaW5JbnZpdGF0aW9uc10uc2x1Z1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZm9yZ290UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5mb3Jnb3RQYXNzd29yZCxcbiAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgIHBhdGg6ICdwYXlsb2FkLWF1dGgvYmV0dGVyLWF1dGgvcGx1Z2luL3JzYyNGb3Jnb3RQYXNzd29yZCdcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0UGFzc3dvcmQ6IHtcbiAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy5yZXNldFBhc3N3b3JkLFxuICAgICAgICAgIENvbXBvbmVudDoge1xuICAgICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1Jlc2V0UGFzc3dvcmQnXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi4oY2hlY2tQbHVnaW5FeGlzdHMocGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSwgc3VwcG9ydGVkQkFQbHVnaW5JZHMudHdvRmFjdG9yKSAmJiB7XG4gICAgICAgICAgdHdvRmFjdG9yVmVyaWZ5OiB7XG4gICAgICAgICAgICBwYXRoOiBhZG1pblJvdXRlcy50d29GYWN0b3JWZXJpZnksXG4gICAgICAgICAgICBDb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgcGF0aDogJ3BheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1R3b0ZhY3RvclZlcmlmeScsXG4gICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9uczogcGx1Z2luT3B0aW9ucyxcbiAgICAgICAgICAgICAgICB2ZXJpZmljYXRpb25zU2x1ZzogcmVzb2x2ZWRCZXR0ZXJBdXRoU2NoZW1hc1tiYU1vZGVsS2V5LnZlcmlmaWNhdGlvbl0ubW9kZWxOYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSxcbiAgICByb3V0ZXM6IHtcbiAgICAgIC4uLmNvbmZpZy5hZG1pbj8ucm91dGVzLFxuICAgICAgbG9naW46IGFkbWluUm91dGVzLmxvZ2luUmVkaXJlY3RcbiAgICB9XG4gIH1cbn0gIl0sIm5hbWVzIjpbImFkbWluUm91dGVzIiwiYmFNb2RlbEtleSIsImJhc2VTbHVncyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwiY2hlY2tQbHVnaW5FeGlzdHMiLCJhcHBseURpc2FibGVkRGVmYXVsdEF1dGhDb25maWciLCJjb25maWciLCJwbHVnaW5PcHRpb25zIiwiY29sbGVjdGlvbk1hcCIsInJlc29sdmVkQmV0dGVyQXV0aFNjaGVtYXMiLCJhZG1pbiIsImNvbXBvbmVudHMiLCJhZnRlckxvZ2luIiwicGF0aCIsInNlcnZlclByb3BzIiwicmVkaXJlY3RUbyIsInJvdXRlcyIsInVuZGVmaW5lZCIsImFkbWluTG9naW4iLCJsb2dvdXQiLCJCdXR0b24iLCJ2aWV3cyIsIkNvbXBvbmVudCIsImFkbWluSW52aXRhdGlvbnNTbHVnIiwiYWRtaW5JbnZpdGF0aW9ucyIsInNsdWciLCJhZG1pblNpZ251cCIsImZvcmdvdFBhc3N3b3JkIiwicmVzZXRQYXNzd29yZCIsImJldHRlckF1dGhPcHRpb25zIiwidHdvRmFjdG9yIiwidHdvRmFjdG9yVmVyaWZ5IiwidmVyaWZpY2F0aW9uc1NsdWciLCJ2ZXJpZmljYXRpb24iLCJtb2RlbE5hbWUiLCJsb2dpbiIsImxvZ2luUmVkaXJlY3QiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFdBQVcsRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLG9CQUFvQixRQUFRLGVBQWM7QUFDdkYsU0FBU0MsaUJBQWlCLFFBQVEsaUNBQWdDO0FBSWxFOzs7Q0FHQyxHQUNELE9BQU8sU0FBU0MsK0JBQStCLEVBQzdDQyxNQUFNLEVBQ05DLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyx5QkFBeUIsRUFNMUI7SUFDQ0gsT0FBT0ksS0FBSyxHQUFHO1FBQ2IsR0FBR0osT0FBT0ksS0FBSztRQUNmQyxZQUFZO1lBQ1YsR0FBR0wsT0FBT0ksS0FBSyxFQUFFQyxVQUFVO1lBQzNCQyxZQUFZO2dCQUNWO29CQUNFQyxNQUFNO29CQUNOQyxhQUFhO3dCQUNYQyxZQUFZLEdBQUdULE9BQU9VLE1BQU0sRUFBRU4sVUFBVU8sWUFBWSxXQUFXWCxPQUFPVSxNQUFNLENBQUNOLEtBQUssR0FBR1YsWUFBWWtCLFVBQVUsRUFBRTtvQkFDL0c7Z0JBQ0Y7bUJBQ0laLE9BQU9JLEtBQUssRUFBRUMsWUFBWUMsY0FBYyxFQUFFO2FBQy9DO1lBQ0RPLFFBQVE7Z0JBQ05DLFFBQVE7b0JBQ05QLE1BQU07Z0JBQ1I7WUFDRjtZQUNBUSxPQUFPO2dCQUNMLEdBQUdmLE9BQU9JLEtBQUssRUFBRUMsWUFBWVUsS0FBSztnQkFDbENILFlBQVk7b0JBQ1ZMLE1BQU1iLFlBQVlrQixVQUFVO29CQUM1QkksV0FBVzt3QkFDVFQsTUFBTTt3QkFDTkMsYUFBYTs0QkFDWFAsZUFBZUE7NEJBQ2ZnQixzQkFBc0JmLGFBQWEsQ0FBQ04sVUFBVXNCLGdCQUFnQixDQUFDLENBQUNDLElBQUk7d0JBQ3RFO29CQUNGO2dCQUNGO2dCQUNBQyxhQUFhO29CQUNYYixNQUFNYixZQUFZMEIsV0FBVztvQkFDN0JKLFdBQVc7d0JBQ1RULE1BQU07d0JBQ05DLGFBQWE7NEJBQ1hQLGVBQWVBOzRCQUNmZ0Isc0JBQXNCZixhQUFhLENBQUNOLFVBQVVzQixnQkFBZ0IsQ0FBQyxDQUFDQyxJQUFJO3dCQUN0RTtvQkFDRjtnQkFDRjtnQkFDQUUsZ0JBQWdCO29CQUNkZCxNQUFNYixZQUFZMkIsY0FBYztvQkFDaENMLFdBQVc7d0JBQ1RULE1BQU07b0JBQ1I7Z0JBQ0Y7Z0JBQ0FlLGVBQWU7b0JBQ2JmLE1BQU1iLFlBQVk0QixhQUFhO29CQUMvQk4sV0FBVzt3QkFDVFQsTUFBTTtvQkFDUjtnQkFDRjtnQkFDQSxHQUFJVCxrQkFBa0JHLGNBQWNzQixpQkFBaUIsSUFBSSxDQUFDLEdBQUcxQixxQkFBcUIyQixTQUFTLEtBQUs7b0JBQzlGQyxpQkFBaUI7d0JBQ2ZsQixNQUFNYixZQUFZK0IsZUFBZTt3QkFDakNULFdBQVc7NEJBQ1RULE1BQU07NEJBQ05DLGFBQWE7Z0NBQ1hQLGVBQWVBO2dDQUNmeUIsbUJBQW1CdkIseUJBQXlCLENBQUNSLFdBQVdnQyxZQUFZLENBQUMsQ0FBQ0MsU0FBUzs0QkFDakY7d0JBQ0Y7b0JBQ0Y7Z0JBQ0YsQ0FBQztZQUNIO1FBQ0Y7UUFDQWxCLFFBQVE7WUFDTixHQUFHVixPQUFPSSxLQUFLLEVBQUVNLE1BQU07WUFDdkJtQixPQUFPbkMsWUFBWW9DLGFBQWE7UUFDbEM7SUFDRjtBQUNGIn0=