payload-auth 1.4.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/better-auth/adapter/transform/index.js +3 -3
  2. package/dist/better-auth/generated-types.d.ts +216 -0
  3. package/dist/better-auth/generated-types.d.ts.map +1 -0
  4. package/dist/better-auth/generated-types.js +4 -0
  5. package/dist/better-auth/plugin/constants.d.ts +145 -3
  6. package/dist/better-auth/plugin/constants.d.ts.map +1 -1
  7. package/dist/better-auth/plugin/constants.js +148 -6
  8. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +13 -0
  9. package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -0
  10. package/dist/better-auth/plugin/helpers/check-plugin-exists.js +14 -0
  11. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +22 -0
  12. package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -0
  13. package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +50 -0
  14. package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts +16 -0
  15. package/dist/better-auth/plugin/helpers/get-collection-schema-map.d.ts.map +1 -0
  16. package/dist/better-auth/plugin/helpers/get-collection-schema-map.js +108 -0
  17. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +6 -0
  18. package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -0
  19. package/dist/better-auth/plugin/helpers/get-collection-slug.js +20 -0
  20. package/dist/better-auth/plugin/helpers/get-collection.d.ts +41 -0
  21. package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -0
  22. package/dist/better-auth/plugin/helpers/get-collection.js +62 -0
  23. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +8 -16
  24. package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
  25. package/dist/better-auth/plugin/helpers/prepare-session-data.js +9 -20
  26. package/dist/better-auth/plugin/index.d.ts +3 -3
  27. package/dist/better-auth/plugin/index.d.ts.map +1 -1
  28. package/dist/better-auth/plugin/index.js +31 -40
  29. package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +2 -6
  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 +22 -7
  32. package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +3 -6
  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 +96 -102
  35. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +2 -2
  36. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
  37. package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +6 -5
  38. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +3 -5
  39. package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
  40. package/dist/better-auth/plugin/lib/build-collections/api-keys.js +97 -113
  41. package/dist/better-auth/plugin/lib/build-collections/index.d.ts +6 -6
  42. package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
  43. package/dist/better-auth/plugin/lib/build-collections/index.js +68 -84
  44. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +2 -4
  45. package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
  46. package/dist/better-auth/plugin/lib/build-collections/invitations.js +75 -70
  47. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +3 -5
  48. package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
  49. package/dist/better-auth/plugin/lib/build-collections/jwks.js +46 -28
  50. package/dist/better-auth/plugin/lib/build-collections/members.d.ts +3 -5
  51. package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
  52. package/dist/better-auth/plugin/lib/build-collections/members.js +52 -48
  53. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +3 -5
  54. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
  55. package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +74 -64
  56. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +3 -5
  57. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
  58. package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +78 -71
  59. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +3 -5
  60. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
  61. package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +68 -45
  62. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +3 -5
  63. package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
  64. package/dist/better-auth/plugin/lib/build-collections/organizations.js +52 -39
  65. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +3 -5
  66. package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
  67. package/dist/better-auth/plugin/lib/build-collections/passkeys.js +60 -64
  68. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +3 -7
  69. package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
  70. package/dist/better-auth/plugin/lib/build-collections/sessions.js +100 -98
  71. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +3 -5
  72. package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
  73. package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +56 -56
  74. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +4 -0
  75. package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -0
  76. package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +113 -0
  77. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +3 -5
  78. package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
  79. package/dist/better-auth/plugin/lib/build-collections/teams.js +62 -30
  80. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +3 -5
  81. package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
  82. package/dist/better-auth/plugin/lib/build-collections/two-factors.js +50 -37
  83. package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +4 -4
  84. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +3 -3
  85. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +6 -0
  86. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -0
  87. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +7 -0
  88. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +4 -4
  89. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts +2 -2
  90. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.d.ts.map +1 -1
  91. package/dist/better-auth/plugin/lib/build-collections/users/endpoints/signup.js +93 -96
  92. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +1 -6
  93. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
  94. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +22 -13
  95. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +1 -5
  96. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
  97. package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +16 -8
  98. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +2 -6
  99. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
  100. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +25 -6
  101. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +2 -1
  102. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -1
  103. package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +5 -8
  104. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +7 -0
  105. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -0
  106. package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +8 -0
  107. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +1 -1
  108. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -1
  109. package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +15 -12
  110. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +1 -6
  111. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
  112. package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +21 -10
  113. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +3 -7
  114. package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
  115. package/dist/better-auth/plugin/lib/build-collections/users/index.js +153 -210
  116. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +16 -0
  117. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -0
  118. package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +32 -0
  119. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +1 -1
  120. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -1
  121. package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +1 -1
  122. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +17 -0
  123. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -0
  124. package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +21 -0
  125. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +22 -0
  126. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -0
  127. package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +95 -0
  128. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +3 -6
  129. package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
  130. package/dist/better-auth/plugin/lib/build-collections/verifications.js +62 -40
  131. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
  132. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +4 -3
  133. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +2 -1
  134. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
  135. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +8 -15
  136. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +5 -3
  137. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
  138. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +56 -69
  139. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +2 -1
  140. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
  141. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +16 -55
  142. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +2 -1
  143. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
  144. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +21 -83
  145. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +2 -1
  146. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -1
  147. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +8 -15
  148. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +2 -1
  149. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
  150. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +8 -15
  151. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +3 -0
  152. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -0
  153. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +10 -0
  154. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +3 -3
  155. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -1
  156. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +3 -3
  157. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts +5 -4
  158. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.d.ts.map +1 -1
  159. package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/save-to-jwt-middleware.js +10 -10
  160. package/dist/better-auth/plugin/lib/set-login-methods.d.ts +1 -1
  161. package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -1
  162. package/dist/better-auth/plugin/lib/set-login-methods.js +5 -6
  163. package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
  164. package/dist/better-auth/plugin/payload/views/admin-login/client.js +2 -2
  165. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +4 -4
  166. package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
  167. package/dist/better-auth/plugin/payload/views/admin-login/index.js +7 -8
  168. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +1 -1
  169. package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
  170. package/dist/better-auth/plugin/payload/views/admin-signup/client.js +27 -7
  171. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +4 -5
  172. package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
  173. package/dist/better-auth/plugin/payload/views/admin-signup/index.js +6 -6
  174. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +1 -5
  175. package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
  176. package/dist/better-auth/plugin/payload/views/forgot-password/index.js +1 -1
  177. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +3 -3
  178. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
  179. package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +10 -7
  180. package/dist/better-auth/plugin/types.d.ts +41 -13
  181. package/dist/better-auth/plugin/types.d.ts.map +1 -1
  182. package/dist/better-auth/plugin/types.js +1 -1
  183. package/dist/better-auth/plugin/utils/set.d.ts +40 -0
  184. package/dist/better-auth/plugin/utils/set.d.ts.map +1 -0
  185. package/dist/better-auth/plugin/utils/set.js +84 -0
  186. package/dist/better-auth/scripts/generate-types.d.ts +2 -0
  187. package/dist/better-auth/scripts/generate-types.d.ts.map +1 -0
  188. package/dist/better-auth/scripts/generate-types.js +219 -0
  189. package/dist/shared/form/validation.d.ts +31 -7
  190. package/dist/shared/form/validation.d.ts.map +1 -1
  191. package/dist/shared/form/validation.js +13 -5
  192. package/package.json +14 -9
  193. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts +0 -3
  194. package/dist/better-auth/plugin/helpers/check-passkey-plugin.d.ts.map +0 -1
  195. package/dist/better-auth/plugin/helpers/check-passkey-plugin.js +0 -6
  196. package/dist/better-auth/plugin/helpers/check-two-factor-plugin.d.ts +0 -3
  197. package/dist/better-auth/plugin/helpers/check-two-factor-plugin.d.ts.map +0 -1
  198. package/dist/better-auth/plugin/helpers/check-two-factor-plugin.js +0 -6
  199. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts +0 -3
  200. package/dist/better-auth/plugin/helpers/check-username-plugin.d.ts.map +0 -1
  201. package/dist/better-auth/plugin/helpers/check-username-plugin.js +0 -6
  202. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts +0 -10
  203. package/dist/better-auth/plugin/lib/get-required-collection-slugs.d.ts.map +0 -1
  204. package/dist/better-auth/plugin/lib/get-required-collection-slugs.js +0 -35
  205. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts +0 -15
  206. package/dist/better-auth/plugin/payload/utils/generate-metadata.d.ts.map +0 -1
  207. package/dist/better-auth/plugin/payload/utils/generate-metadata.js +0 -74
@@ -1,18 +1,33 @@
1
- import { z } from "zod";
2
- import { addDataAndFileToRequest, commitTransaction, initTransaction, killTransaction } from "payload";
1
+ import { adminEndpoints, baseSlugs, supportedBAPluginIds } from "../../../../constants";
3
2
  import { status as httpStatus } from "http-status";
3
+ import { addDataAndFileToRequest, commitTransaction, initTransaction, killTransaction } from "payload";
4
+ import { z } from "zod";
4
5
  import { getRequestCollection } from "../../../../helpers/get-requst-collection";
5
- import { adminEndpoints, baseCollectionSlugs } from "../../../../constants";
6
+ import { createSignupSchema } from "../../../../../../shared/form/validation";
7
+ import { checkPluginExists } from "../../../../helpers/check-plugin-exists";
8
+ const sendJSON = (data, status)=>new Response(JSON.stringify(data), {
9
+ headers: {
10
+ 'Content-Type': 'application/json'
11
+ },
12
+ status
13
+ });
14
+ const forwardCookies = (from, to)=>{
15
+ const setCookieHeader = from.headers.get('set-cookie');
16
+ if (!setCookieHeader) return;
17
+ setCookieHeader.split(',').forEach((c)=>to.headers.append('Set-Cookie', c.trim()));
18
+ };
6
19
  const routeParamsSchema = z.object({
7
20
  token: z.string(),
8
21
  redirect: z.string().optional()
9
22
  });
10
- const signupSchema = z.object({
11
- password: z.string(),
12
- email: z.string().email(),
13
- username: z.string().optional()
14
- });
15
- export const getSignupEndpoint = (pluginOptions, betterAuthOptions)=>{
23
+ export const getSignupEndpoint = (pluginOptions)=>{
24
+ const { betterAuthOptions = {}, adminInvitations, users } = pluginOptions;
25
+ const { baseURL = '', basePath = '/api/auth', emailVerification, emailAndPassword } = betterAuthOptions;
26
+ if (!baseURL) {
27
+ throw new Error('betterAuthOptions.baseURL is required for server‑side authentication calls');
28
+ }
29
+ const adminInvitationsSlug = adminInvitations?.slug ?? baseSlugs.adminInvitations;
30
+ const usersSlug = users?.slug ?? baseSlugs.users;
16
31
  const endpoint = {
17
32
  path: adminEndpoints.signup,
18
33
  method: 'post',
@@ -20,18 +35,18 @@ export const getSignupEndpoint = (pluginOptions, betterAuthOptions)=>{
20
35
  await addDataAndFileToRequest(req);
21
36
  const collection = getRequestCollection(req);
22
37
  const { t } = req;
38
+ const shouldCommit = await initTransaction(req);
23
39
  try {
24
- const shouldCommit = await initTransaction(req);
25
40
  const { success: routeParamsSuccess, data: routeParamsData, error: routeParamsError } = routeParamsSchema.safeParse(req.query);
26
41
  if (!routeParamsSuccess) {
27
- return Response.json({
42
+ await killTransaction(req);
43
+ return sendJSON({
44
+ error: 'INVALID_PARAMS',
28
45
  message: routeParamsError.message
29
- }, {
30
- status: httpStatus.BAD_REQUEST
31
- });
46
+ }, httpStatus.BAD_REQUEST);
32
47
  }
33
- const invite = await req.payload.find({
34
- collection: pluginOptions.adminInvitations?.slug ?? baseCollectionSlugs.adminInvitations,
48
+ const inviteResult = await req.payload.find({
49
+ collection: adminInvitationsSlug,
35
50
  where: {
36
51
  token: {
37
52
  equals: routeParamsData.token
@@ -40,121 +55,103 @@ export const getSignupEndpoint = (pluginOptions, betterAuthOptions)=>{
40
55
  limit: 1,
41
56
  req
42
57
  });
43
- if (invite.docs.length === 0) {
44
- return Response.json({
58
+ const inviteDoc = inviteResult.docs.at(0);
59
+ if (!inviteDoc) {
60
+ await killTransaction(req);
61
+ return sendJSON({
62
+ error: 'INVALID_TOKEN',
45
63
  message: 'Invalid token'
46
- }, {
47
- status: httpStatus.UNAUTHORIZED
48
- });
64
+ }, httpStatus.UNAUTHORIZED);
49
65
  }
50
- const inviteRole = invite.docs[0].role;
51
- const schema = signupSchema.safeParse(req.data);
52
- if (!schema.success) {
53
- return Response.json({
54
- message: schema.error.message
55
- }, {
56
- status: httpStatus.BAD_REQUEST
57
- });
66
+ const hasUsernamePlugin = checkPluginExists(betterAuthOptions, supportedBAPluginIds.username);
67
+ const supportsLoginWithUsername = hasUsernamePlugin && collection.config?.auth?.loginWithUsername;
68
+ const requireUsername = hasUsernamePlugin && typeof collection.config?.auth?.loginWithUsername === 'object' && !!collection.config?.auth?.loginWithUsername?.requireUsername;
69
+ const signupSchema = createSignupSchema({
70
+ t,
71
+ requireUsername,
72
+ requireConfirmPassword: false
73
+ });
74
+ const parsedBody = signupSchema.safeParse(req.data);
75
+ if (!parsedBody.success) {
76
+ await killTransaction(req);
77
+ const messages = parsedBody.error.issues.map((issue)=>issue.message);
78
+ return sendJSON({
79
+ error: {
80
+ message: messages
81
+ }
82
+ }, httpStatus.BAD_REQUEST);
58
83
  }
59
- const { email, password, username } = schema.data;
60
- const baseURL = betterAuthOptions.baseURL;
61
- const basePath = betterAuthOptions.basePath ?? '/api/auth';
84
+ const { name, email, password, username } = parsedBody.data;
62
85
  const authApiURL = `${baseURL}${basePath}`;
63
- let url = `${authApiURL}/sign-up/email`;
64
- if (routeParamsData?.token) {
65
- url += `?adminInviteToken=${routeParamsData.token}`;
86
+ const url = new URL(`${authApiURL}/sign-up/email`);
87
+ url.searchParams.set('callbackURL', routeParamsData.redirect ?? `${baseURL}${req.payload.config.routes.admin}`);
88
+ if (routeParamsData.token) {
89
+ url.searchParams.set('adminInviteToken', routeParamsData.token);
66
90
  }
67
- const result = await fetch(url, {
91
+ const apiResponse = await fetch(url.toString(), {
68
92
  method: 'POST',
69
93
  headers: {
70
94
  'Content-Type': 'application/json'
71
95
  },
72
96
  body: JSON.stringify({
73
- name: '',
74
- email: email,
75
- password: password,
76
- ...username ? {
77
- username: username
78
- } : {},
79
- callbackURL: routeParamsData.redirect ?? `${baseURL}${req.payload.config.routes.admin}`
97
+ name,
98
+ email,
99
+ password,
100
+ ...supportsLoginWithUsername && username && {
101
+ username
102
+ }
80
103
  })
81
104
  });
82
- const ok = result.ok;
83
- if (!ok) {
84
- throw new Error(result.statusText);
105
+ if (!apiResponse.ok) {
106
+ throw new Error(apiResponse.statusText);
85
107
  }
86
- const responseData = await result.json();
108
+ const responseData = await apiResponse.json();
87
109
  await req.payload.update({
88
- collection: pluginOptions.users?.slug ?? baseCollectionSlugs.users,
110
+ collection: usersSlug,
89
111
  id: responseData.user.id,
90
112
  data: {
91
- role: inviteRole
113
+ role: inviteDoc.role
92
114
  },
93
115
  overrideAccess: true,
94
116
  req
95
117
  });
96
118
  await req.payload.delete({
97
- collection: pluginOptions.adminInvitations?.slug ?? baseCollectionSlugs.adminInvitations,
119
+ collection: adminInvitationsSlug,
98
120
  where: {
99
121
  token: {
100
- equals: invite.docs[0].token
122
+ equals: inviteDoc.token
101
123
  }
102
124
  },
103
125
  req
104
126
  });
105
- const requireEmailVerification = (betterAuthOptions.emailAndPassword?.requireEmailVerification || collection.config.auth.verify) && !responseData.user.emailVerified;
106
- const sentEmailVerification = betterAuthOptions.emailVerification?.sendVerificationEmail !== undefined;
107
- let response = null;
127
+ const requireEmailVerification = (emailAndPassword?.requireEmailVerification || collection.config.auth.verify) && !responseData.user.emailVerified;
128
+ const sentEmailVerification = emailVerification?.sendVerificationEmail !== undefined;
108
129
  if (requireEmailVerification) {
109
- if (sentEmailVerification) {
110
- response = new Response(JSON.stringify({
111
- message: t('authentication:verifyYourEmail'),
112
- sentEmailVerification,
113
- requireEmailVerification
114
- }), {
115
- status: httpStatus.UNAUTHORIZED
116
- });
117
- } else {
118
- response = new Response(JSON.stringify({
119
- message: t('authentication:verifyYourEmail'),
120
- sentEmailVerification,
121
- requireEmailVerification
122
- }), {
123
- status: httpStatus.UNAUTHORIZED
124
- });
125
- }
126
- } else {
127
- response = new Response(JSON.stringify({
128
- message: t('authentication:passed'),
129
- ...responseData
130
- }), {
131
- status: 200
132
- });
130
+ const res = sendJSON({
131
+ message: t('authentication:verifyYourEmail'),
132
+ sentEmailVerification,
133
+ requireEmailVerification
134
+ }, httpStatus.UNAUTHORIZED);
135
+ forwardCookies(apiResponse, res);
136
+ if (shouldCommit) await commitTransaction(req);
137
+ return res;
133
138
  }
134
- // Forward all Set-Cookie headers from the original response to our response
135
- const setCookieHeader = result.headers.get('set-cookie');
136
- if (setCookieHeader) {
137
- // Set-Cookie headers are typically returned as a single string with multiple cookies separated by commas
138
- const cookies = setCookieHeader.split(',');
139
- cookies.forEach((cookie)=>{
140
- response.headers.append('Set-Cookie', cookie.trim());
141
- });
142
- }
143
- if (shouldCommit) {
144
- await commitTransaction(req);
145
- }
146
- return response;
139
+ const successRes = sendJSON({
140
+ message: t('authentication:passed'),
141
+ ...responseData
142
+ }, httpStatus.OK);
143
+ forwardCookies(apiResponse, successRes);
144
+ if (shouldCommit) await commitTransaction(req);
145
+ return successRes;
147
146
  } catch (error) {
148
147
  await killTransaction(req);
149
- return Response.json({
148
+ return sendJSON({
150
149
  message: error.message
151
- }, {
152
- status: httpStatus.INTERNAL_SERVER_ERROR
153
- });
150
+ }, httpStatus.INTERNAL_SERVER_ERROR);
154
151
  }
155
152
  }
156
153
  };
157
154
  return endpoint;
158
155
  };
159
156
 
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zaWdudXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0LCBjb21taXRUcmFuc2FjdGlvbiwgaW5pdFRyYW5zYWN0aW9uLCBraWxsVHJhbnNhY3Rpb24sIHR5cGUgRW5kcG9pbnQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgc3RhdHVzIGFzIGh0dHBTdGF0dXMgfSBmcm9tICdodHRwLXN0YXR1cydcbmltcG9ydCB7IEJldHRlckF1dGhQbHVnaW5PcHRpb25zLCBTYW5pdGl6ZWRCZXR0ZXJBdXRoT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UmVxdWVzdENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9oZWxwZXJzL2dldC1yZXF1c3QtY29sbGVjdGlvbidcbmltcG9ydCB7IGFkbWluRW5kcG9pbnRzLCBiYXNlQ29sbGVjdGlvblNsdWdzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuXG5jb25zdCByb3V0ZVBhcmFtc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgdG9rZW46IHouc3RyaW5nKCksXG4gIHJlZGlyZWN0OiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pXG5cbmNvbnN0IHNpZ251cFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgcGFzc3dvcmQ6IHouc3RyaW5nKCksXG4gIGVtYWlsOiB6LnN0cmluZygpLmVtYWlsKCksXG4gIHVzZXJuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pXG5cbmV4cG9ydCBjb25zdCBnZXRTaWdudXBFbmRwb2ludCA9IChwbHVnaW5PcHRpb25zOiBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucywgYmV0dGVyQXV0aE9wdGlvbnM6IFNhbml0aXplZEJldHRlckF1dGhPcHRpb25zKTogRW5kcG9pbnQgPT4ge1xuICBjb25zdCBlbmRwb2ludDogRW5kcG9pbnQgPSB7XG4gICAgcGF0aDogYWRtaW5FbmRwb2ludHMuc2lnbnVwLFxuICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgIGhhbmRsZXI6IGFzeW5jIChyZXEpID0+IHtcbiAgICAgIGF3YWl0IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0KHJlcSlcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBnZXRSZXF1ZXN0Q29sbGVjdGlvbihyZXEpXG4gICAgICBjb25zdCB7IHQgfSA9IHJlcVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgY29uc3QgeyBzdWNjZXNzOiByb3V0ZVBhcmFtc1N1Y2Nlc3MsIGRhdGE6IHJvdXRlUGFyYW1zRGF0YSwgZXJyb3I6IHJvdXRlUGFyYW1zRXJyb3IgfSA9IHJvdXRlUGFyYW1zU2NoZW1hLnNhZmVQYXJzZShyZXEucXVlcnkpXG4gICAgICAgIGlmICghcm91dGVQYXJhbXNTdWNjZXNzKSB7XG4gICAgICAgICAgcmV0dXJuIFJlc3BvbnNlLmpzb24oeyBtZXNzYWdlOiByb3V0ZVBhcmFtc0Vycm9yLm1lc3NhZ2UgfSwgeyBzdGF0dXM6IGh0dHBTdGF0dXMuQkFEX1JFUVVFU1QgfSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnZpdGUgPSBhd2FpdCByZXEucGF5bG9hZC5maW5kKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBwbHVnaW5PcHRpb25zLmFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gYmFzZUNvbGxlY3Rpb25TbHVncy5hZG1pbkludml0YXRpb25zLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0b2tlbjoge1xuICAgICAgICAgICAgICBlcXVhbHM6IHJvdXRlUGFyYW1zRGF0YS50b2tlblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGltaXQ6IDEsXG4gICAgICAgICAgcmVxXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChpbnZpdGUuZG9jcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gUmVzcG9uc2UuanNvbih7IG1lc3NhZ2U6ICdJbnZhbGlkIHRva2VuJyB9LCB7IHN0YXR1czogaHR0cFN0YXR1cy5VTkFVVEhPUklaRUQgfSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnZpdGVSb2xlID0gaW52aXRlLmRvY3NbMF0ucm9sZSBhcyBzdHJpbmdcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gc2lnbnVwU2NoZW1hLnNhZmVQYXJzZShyZXEuZGF0YSlcbiAgICAgICAgaWYgKCFzY2hlbWEuc3VjY2Vzcykge1xuICAgICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKHsgbWVzc2FnZTogc2NoZW1hLmVycm9yLm1lc3NhZ2UgfSwgeyBzdGF0dXM6IGh0dHBTdGF0dXMuQkFEX1JFUVVFU1QgfSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGVtYWlsLCBwYXNzd29yZCwgdXNlcm5hbWUgfSA9IHNjaGVtYS5kYXRhXG4gICAgICAgIGNvbnN0IGJhc2VVUkwgPSBiZXR0ZXJBdXRoT3B0aW9ucy5iYXNlVVJMXG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gYmV0dGVyQXV0aE9wdGlvbnMuYmFzZVBhdGggPz8gJy9hcGkvYXV0aCdcbiAgICAgICAgY29uc3QgYXV0aEFwaVVSTCA9IGAke2Jhc2VVUkx9JHtiYXNlUGF0aH1gXG4gICAgICAgIGxldCB1cmwgPSBgJHthdXRoQXBpVVJMfS9zaWduLXVwL2VtYWlsYFxuICAgICAgICBpZiAocm91dGVQYXJhbXNEYXRhPy50b2tlbikge1xuICAgICAgICAgIHVybCArPSBgP2FkbWluSW52aXRlVG9rZW49JHtyb3V0ZVBhcmFtc0RhdGEudG9rZW59YFxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgZW1haWw6IGVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhc3N3b3JkLFxuICAgICAgICAgICAgLi4uKHVzZXJuYW1lID8geyB1c2VybmFtZTogdXNlcm5hbWUgfSA6IHt9KSxcbiAgICAgICAgICAgIGNhbGxiYWNrVVJMOiByb3V0ZVBhcmFtc0RhdGEucmVkaXJlY3QgPz8gYCR7YmFzZVVSTH0ke3JlcS5wYXlsb2FkLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IG9rID0gcmVzdWx0Lm9rXG5cbiAgICAgICAgaWYgKCFvaykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXN1bHQuc3RhdHVzVGV4dClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSBhd2FpdCByZXN1bHQuanNvbigpXG5cbiAgICAgICAgYXdhaXQgcmVxLnBheWxvYWQudXBkYXRlKHtcbiAgICAgICAgICBjb2xsZWN0aW9uOiBwbHVnaW5PcHRpb25zLnVzZXJzPy5zbHVnID8/IGJhc2VDb2xsZWN0aW9uU2x1Z3MudXNlcnMsXG4gICAgICAgICAgaWQ6IHJlc3BvbnNlRGF0YS51c2VyLmlkLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHJvbGU6IGludml0ZVJvbGVcbiAgICAgICAgICB9LFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcVxuICAgICAgICB9KVxuICAgICAgICBhd2FpdCByZXEucGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IHBsdWdpbk9wdGlvbnMuYWRtaW5JbnZpdGF0aW9ucz8uc2x1ZyA/PyBiYXNlQ29sbGVjdGlvblNsdWdzLmFkbWluSW52aXRhdGlvbnMsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIHRva2VuOiB7IGVxdWFsczogaW52aXRlLmRvY3NbMF0udG9rZW4gfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxXG4gICAgICAgIH0pXG5cbiAgICAgICAgY29uc3QgcmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uID1cbiAgICAgICAgICAoYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxBbmRQYXNzd29yZD8ucmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uIHx8IGNvbGxlY3Rpb24uY29uZmlnLmF1dGgudmVyaWZ5KSAmJlxuICAgICAgICAgICFyZXNwb25zZURhdGEudXNlci5lbWFpbFZlcmlmaWVkXG5cbiAgICAgICAgY29uc3Qgc2VudEVtYWlsVmVyaWZpY2F0aW9uID0gYmV0dGVyQXV0aE9wdGlvbnMuZW1haWxWZXJpZmljYXRpb24/LnNlbmRWZXJpZmljYXRpb25FbWFpbCAhPT0gdW5kZWZpbmVkXG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBSZXNwb25zZSB8IG51bGwgPSBudWxsXG5cbiAgICAgICAgaWYgKHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbikge1xuICAgICAgICAgIGlmIChzZW50RW1haWxWZXJpZmljYXRpb24pIHtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKFxuICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogdCgnYXV0aGVudGljYXRpb246dmVyaWZ5WW91ckVtYWlsJyksXG4gICAgICAgICAgICAgICAgc2VudEVtYWlsVmVyaWZpY2F0aW9uLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvblxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgeyBzdGF0dXM6IGh0dHBTdGF0dXMuVU5BVVRIT1JJWkVEIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0KCdhdXRoZW50aWNhdGlvbjp2ZXJpZnlZb3VyRW1haWwnKSxcbiAgICAgICAgICAgICAgICBzZW50RW1haWxWZXJpZmljYXRpb24sXG4gICAgICAgICAgICAgICAgcmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB7IHN0YXR1czogaHR0cFN0YXR1cy5VTkFVVEhPUklaRUQgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZSA9IG5ldyBSZXNwb25zZShcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogdCgnYXV0aGVudGljYXRpb246cGFzc2VkJyksXG4gICAgICAgICAgICAgIC4uLnJlc3BvbnNlRGF0YVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHN0YXR1czogMjAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yd2FyZCBhbGwgU2V0LUNvb2tpZSBoZWFkZXJzIGZyb20gdGhlIG9yaWdpbmFsIHJlc3BvbnNlIHRvIG91ciByZXNwb25zZVxuICAgICAgICBjb25zdCBzZXRDb29raWVIZWFkZXIgPSByZXN1bHQuaGVhZGVycy5nZXQoJ3NldC1jb29raWUnKVxuICAgICAgICBpZiAoc2V0Q29va2llSGVhZGVyKSB7XG4gICAgICAgICAgLy8gU2V0LUNvb2tpZSBoZWFkZXJzIGFyZSB0eXBpY2FsbHkgcmV0dXJuZWQgYXMgYSBzaW5nbGUgc3RyaW5nIHdpdGggbXVsdGlwbGUgY29va2llcyBzZXBhcmF0ZWQgYnkgY29tbWFzXG4gICAgICAgICAgY29uc3QgY29va2llcyA9IHNldENvb2tpZUhlYWRlci5zcGxpdCgnLCcpXG4gICAgICAgICAgY29va2llcy5mb3JFYWNoKChjb29raWUpID0+IHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuYXBwZW5kKCdTZXQtQ29va2llJywgY29va2llLnRyaW0oKSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaG91bGRDb21taXQpIHtcbiAgICAgICAgICBhd2FpdCBjb21taXRUcmFuc2FjdGlvbihyZXEpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICAgIHJldHVybiBSZXNwb25zZS5qc29uKHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9LCB7IHN0YXR1czogaHR0cFN0YXR1cy5JTlRFUk5BTF9TRVJWRVJfRVJST1IgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5kcG9pbnRcbn1cbiJdLCJuYW1lcyI6WyJ6IiwiYWRkRGF0YUFuZEZpbGVUb1JlcXVlc3QiLCJjb21taXRUcmFuc2FjdGlvbiIsImluaXRUcmFuc2FjdGlvbiIsImtpbGxUcmFuc2FjdGlvbiIsInN0YXR1cyIsImh0dHBTdGF0dXMiLCJnZXRSZXF1ZXN0Q29sbGVjdGlvbiIsImFkbWluRW5kcG9pbnRzIiwiYmFzZUNvbGxlY3Rpb25TbHVncyIsInJvdXRlUGFyYW1zU2NoZW1hIiwib2JqZWN0IiwidG9rZW4iLCJzdHJpbmciLCJyZWRpcmVjdCIsIm9wdGlvbmFsIiwic2lnbnVwU2NoZW1hIiwicGFzc3dvcmQiLCJlbWFpbCIsInVzZXJuYW1lIiwiZ2V0U2lnbnVwRW5kcG9pbnQiLCJwbHVnaW5PcHRpb25zIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJlbmRwb2ludCIsInBhdGgiLCJzaWdudXAiLCJtZXRob2QiLCJoYW5kbGVyIiwicmVxIiwiY29sbGVjdGlvbiIsInQiLCJzaG91bGRDb21taXQiLCJzdWNjZXNzIiwicm91dGVQYXJhbXNTdWNjZXNzIiwiZGF0YSIsInJvdXRlUGFyYW1zRGF0YSIsImVycm9yIiwicm91dGVQYXJhbXNFcnJvciIsInNhZmVQYXJzZSIsInF1ZXJ5IiwiUmVzcG9uc2UiLCJqc29uIiwibWVzc2FnZSIsIkJBRF9SRVFVRVNUIiwiaW52aXRlIiwicGF5bG9hZCIsImZpbmQiLCJhZG1pbkludml0YXRpb25zIiwic2x1ZyIsIndoZXJlIiwiZXF1YWxzIiwibGltaXQiLCJkb2NzIiwibGVuZ3RoIiwiVU5BVVRIT1JJWkVEIiwiaW52aXRlUm9sZSIsInJvbGUiLCJzY2hlbWEiLCJiYXNlVVJMIiwiYmFzZVBhdGgiLCJhdXRoQXBpVVJMIiwidXJsIiwicmVzdWx0IiwiZmV0Y2giLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJuYW1lIiwiY2FsbGJhY2tVUkwiLCJjb25maWciLCJyb3V0ZXMiLCJhZG1pbiIsIm9rIiwiRXJyb3IiLCJzdGF0dXNUZXh0IiwicmVzcG9uc2VEYXRhIiwidXBkYXRlIiwidXNlcnMiLCJpZCIsInVzZXIiLCJvdmVycmlkZUFjY2VzcyIsImRlbGV0ZSIsInJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbiIsImVtYWlsQW5kUGFzc3dvcmQiLCJhdXRoIiwidmVyaWZ5IiwiZW1haWxWZXJpZmllZCIsInNlbnRFbWFpbFZlcmlmaWNhdGlvbiIsImVtYWlsVmVyaWZpY2F0aW9uIiwic2VuZFZlcmlmaWNhdGlvbkVtYWlsIiwidW5kZWZpbmVkIiwicmVzcG9uc2UiLCJzZXRDb29raWVIZWFkZXIiLCJnZXQiLCJjb29raWVzIiwic3BsaXQiLCJmb3JFYWNoIiwiY29va2llIiwiYXBwZW5kIiwidHJpbSIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsQ0FBQyxRQUFRLE1BQUs7QUFDdkIsU0FBU0MsdUJBQXVCLEVBQUVDLGlCQUFpQixFQUFFQyxlQUFlLEVBQUVDLGVBQWUsUUFBdUIsVUFBUztBQUNySCxTQUFTQyxVQUFVQyxVQUFVLFFBQVEsY0FBYTtBQUVsRCxTQUFTQyxvQkFBb0IsUUFBUSw0Q0FBMkM7QUFDaEYsU0FBU0MsY0FBYyxFQUFFQyxtQkFBbUIsUUFBUSx3QkFBZ0M7QUFFcEYsTUFBTUMsb0JBQW9CVixFQUFFVyxNQUFNLENBQUM7SUFDakNDLE9BQU9aLEVBQUVhLE1BQU07SUFDZkMsVUFBVWQsRUFBRWEsTUFBTSxHQUFHRSxRQUFRO0FBQy9CO0FBRUEsTUFBTUMsZUFBZWhCLEVBQUVXLE1BQU0sQ0FBQztJQUM1Qk0sVUFBVWpCLEVBQUVhLE1BQU07SUFDbEJLLE9BQU9sQixFQUFFYSxNQUFNLEdBQUdLLEtBQUs7SUFDdkJDLFVBQVVuQixFQUFFYSxNQUFNLEdBQUdFLFFBQVE7QUFDL0I7QUFFQSxPQUFPLE1BQU1LLG9CQUFvQixDQUFDQyxlQUF3Q0M7SUFDeEUsTUFBTUMsV0FBcUI7UUFDekJDLE1BQU1oQixlQUFlaUIsTUFBTTtRQUMzQkMsUUFBUTtRQUNSQyxTQUFTLE9BQU9DO1lBQ2QsTUFBTTNCLHdCQUF3QjJCO1lBQzlCLE1BQU1DLGFBQWF0QixxQkFBcUJxQjtZQUN4QyxNQUFNLEVBQUVFLENBQUMsRUFBRSxHQUFHRjtZQUNkLElBQUk7Z0JBQ0YsTUFBTUcsZUFBZSxNQUFNNUIsZ0JBQWdCeUI7Z0JBQzNDLE1BQU0sRUFBRUksU0FBU0Msa0JBQWtCLEVBQUVDLE1BQU1DLGVBQWUsRUFBRUMsT0FBT0MsZ0JBQWdCLEVBQUUsR0FBRzNCLGtCQUFrQjRCLFNBQVMsQ0FBQ1YsSUFBSVcsS0FBSztnQkFDN0gsSUFBSSxDQUFDTixvQkFBb0I7b0JBQ3ZCLE9BQU9PLFNBQVNDLElBQUksQ0FBQzt3QkFBRUMsU0FBU0wsaUJBQWlCSyxPQUFPO29CQUFDLEdBQUc7d0JBQUVyQyxRQUFRQyxXQUFXcUMsV0FBVztvQkFBQztnQkFDL0Y7Z0JBQ0EsTUFBTUMsU0FBUyxNQUFNaEIsSUFBSWlCLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDO29CQUNwQ2pCLFlBQVlSLGNBQWMwQixnQkFBZ0IsRUFBRUMsUUFBUXZDLG9CQUFvQnNDLGdCQUFnQjtvQkFDeEZFLE9BQU87d0JBQ0xyQyxPQUFPOzRCQUNMc0MsUUFBUWYsZ0JBQWdCdkIsS0FBSzt3QkFDL0I7b0JBQ0Y7b0JBQ0F1QyxPQUFPO29CQUNQdkI7Z0JBQ0Y7Z0JBQ0EsSUFBSWdCLE9BQU9RLElBQUksQ0FBQ0MsTUFBTSxLQUFLLEdBQUc7b0JBQzVCLE9BQU9iLFNBQVNDLElBQUksQ0FBQzt3QkFBRUMsU0FBUztvQkFBZ0IsR0FBRzt3QkFBRXJDLFFBQVFDLFdBQVdnRCxZQUFZO29CQUFDO2dCQUN2RjtnQkFDQSxNQUFNQyxhQUFhWCxPQUFPUSxJQUFJLENBQUMsRUFBRSxDQUFDSSxJQUFJO2dCQUN0QyxNQUFNQyxTQUFTekMsYUFBYXNCLFNBQVMsQ0FBQ1YsSUFBSU0sSUFBSTtnQkFDOUMsSUFBSSxDQUFDdUIsT0FBT3pCLE9BQU8sRUFBRTtvQkFDbkIsT0FBT1EsU0FBU0MsSUFBSSxDQUFDO3dCQUFFQyxTQUFTZSxPQUFPckIsS0FBSyxDQUFDTSxPQUFPO29CQUFDLEdBQUc7d0JBQUVyQyxRQUFRQyxXQUFXcUMsV0FBVztvQkFBQztnQkFDM0Y7Z0JBQ0EsTUFBTSxFQUFFekIsS0FBSyxFQUFFRCxRQUFRLEVBQUVFLFFBQVEsRUFBRSxHQUFHc0MsT0FBT3ZCLElBQUk7Z0JBQ2pELE1BQU13QixVQUFVcEMsa0JBQWtCb0MsT0FBTztnQkFDekMsTUFBTUMsV0FBV3JDLGtCQUFrQnFDLFFBQVEsSUFBSTtnQkFDL0MsTUFBTUMsYUFBYSxHQUFHRixVQUFVQyxVQUFVO2dCQUMxQyxJQUFJRSxNQUFNLEdBQUdELFdBQVcsY0FBYyxDQUFDO2dCQUN2QyxJQUFJekIsaUJBQWlCdkIsT0FBTztvQkFDMUJpRCxPQUFPLENBQUMsa0JBQWtCLEVBQUUxQixnQkFBZ0J2QixLQUFLLEVBQUU7Z0JBQ3JEO2dCQUNBLE1BQU1rRCxTQUFTLE1BQU1DLE1BQU1GLEtBQUs7b0JBQzlCbkMsUUFBUTtvQkFDUnNDLFNBQVM7d0JBQ1AsZ0JBQWdCO29CQUNsQjtvQkFDQUMsTUFBTUMsS0FBS0MsU0FBUyxDQUFDO3dCQUNuQkMsTUFBTTt3QkFDTmxELE9BQU9BO3dCQUNQRCxVQUFVQTt3QkFDVixHQUFJRSxXQUFXOzRCQUFFQSxVQUFVQTt3QkFBUyxJQUFJLENBQUMsQ0FBQzt3QkFDMUNrRCxhQUFhbEMsZ0JBQWdCckIsUUFBUSxJQUFJLEdBQUc0QyxVQUFVOUIsSUFBSWlCLE9BQU8sQ0FBQ3lCLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDQyxLQUFLLEVBQUU7b0JBQ3pGO2dCQUNGO2dCQUNBLE1BQU1DLEtBQUtYLE9BQU9XLEVBQUU7Z0JBRXBCLElBQUksQ0FBQ0EsSUFBSTtvQkFDUCxNQUFNLElBQUlDLE1BQU1aLE9BQU9hLFVBQVU7Z0JBQ25DO2dCQUNBLE1BQU1DLGVBQWUsTUFBTWQsT0FBT3JCLElBQUk7Z0JBRXRDLE1BQU1iLElBQUlpQixPQUFPLENBQUNnQyxNQUFNLENBQUM7b0JBQ3ZCaEQsWUFBWVIsY0FBY3lELEtBQUssRUFBRTlCLFFBQVF2QyxvQkFBb0JxRSxLQUFLO29CQUNsRUMsSUFBSUgsYUFBYUksSUFBSSxDQUFDRCxFQUFFO29CQUN4QjdDLE1BQU07d0JBQ0pzQixNQUFNRDtvQkFDUjtvQkFDQTBCLGdCQUFnQjtvQkFDaEJyRDtnQkFDRjtnQkFDQSxNQUFNQSxJQUFJaUIsT0FBTyxDQUFDcUMsTUFBTSxDQUFDO29CQUN2QnJELFlBQVlSLGNBQWMwQixnQkFBZ0IsRUFBRUMsUUFBUXZDLG9CQUFvQnNDLGdCQUFnQjtvQkFDeEZFLE9BQU87d0JBQ0xyQyxPQUFPOzRCQUFFc0MsUUFBUU4sT0FBT1EsSUFBSSxDQUFDLEVBQUUsQ0FBQ3hDLEtBQUs7d0JBQUM7b0JBQ3hDO29CQUNBZ0I7Z0JBQ0Y7Z0JBRUEsTUFBTXVELDJCQUNKLEFBQUM3RCxDQUFBQSxrQkFBa0I4RCxnQkFBZ0IsRUFBRUQsNEJBQTRCdEQsV0FBV3lDLE1BQU0sQ0FBQ2UsSUFBSSxDQUFDQyxNQUFNLEFBQUQsS0FDN0YsQ0FBQ1YsYUFBYUksSUFBSSxDQUFDTyxhQUFhO2dCQUVsQyxNQUFNQyx3QkFBd0JsRSxrQkFBa0JtRSxpQkFBaUIsRUFBRUMsMEJBQTBCQztnQkFFN0YsSUFBSUMsV0FBNEI7Z0JBRWhDLElBQUlULDBCQUEwQjtvQkFDNUIsSUFBSUssdUJBQXVCO3dCQUN6QkksV0FBVyxJQUFJcEQsU0FDYjBCLEtBQUtDLFNBQVMsQ0FBQzs0QkFDYnpCLFNBQVNaLEVBQUU7NEJBQ1gwRDs0QkFDQUw7d0JBQ0YsSUFDQTs0QkFBRTlFLFFBQVFDLFdBQVdnRCxZQUFZO3dCQUFDO29CQUV0QyxPQUFPO3dCQUNMc0MsV0FBVyxJQUFJcEQsU0FDYjBCLEtBQUtDLFNBQVMsQ0FBQzs0QkFDYnpCLFNBQVNaLEVBQUU7NEJBQ1gwRDs0QkFDQUw7d0JBQ0YsSUFDQTs0QkFBRTlFLFFBQVFDLFdBQVdnRCxZQUFZO3dCQUFDO29CQUV0QztnQkFDRixPQUFPO29CQUNMc0MsV0FBVyxJQUFJcEQsU0FDYjBCLEtBQUtDLFNBQVMsQ0FBQzt3QkFDYnpCLFNBQVNaLEVBQUU7d0JBQ1gsR0FBRzhDLFlBQVk7b0JBQ2pCLElBQ0E7d0JBQ0V2RSxRQUFRO29CQUNWO2dCQUVKO2dCQUVBLDRFQUE0RTtnQkFDNUUsTUFBTXdGLGtCQUFrQi9CLE9BQU9FLE9BQU8sQ0FBQzhCLEdBQUcsQ0FBQztnQkFDM0MsSUFBSUQsaUJBQWlCO29CQUNuQix5R0FBeUc7b0JBQ3pHLE1BQU1FLFVBQVVGLGdCQUFnQkcsS0FBSyxDQUFDO29CQUN0Q0QsUUFBUUUsT0FBTyxDQUFDLENBQUNDO3dCQUNmTixTQUFTNUIsT0FBTyxDQUFDbUMsTUFBTSxDQUFDLGNBQWNELE9BQU9FLElBQUk7b0JBQ25EO2dCQUNGO2dCQUNBLElBQUlyRSxjQUFjO29CQUNoQixNQUFNN0Isa0JBQWtCMEI7Z0JBQzFCO2dCQUNBLE9BQU9nRTtZQUNULEVBQUUsT0FBT3hELE9BQVk7Z0JBQ25CLE1BQU1oQyxnQkFBZ0J3QjtnQkFDdEIsT0FBT1ksU0FBU0MsSUFBSSxDQUFDO29CQUFFQyxTQUFTTixNQUFNTSxPQUFPO2dCQUFDLEdBQUc7b0JBQUVyQyxRQUFRQyxXQUFXK0YscUJBQXFCO2dCQUFDO1lBQzlGO1FBQ0Y7SUFDRjtJQUVBLE9BQU85RTtBQUNULEVBQUMifQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2VuZHBvaW50cy9zaWdudXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRtaW5FbmRwb2ludHMsIGJhc2VTbHVncywgc3VwcG9ydGVkQkFQbHVnaW5JZHMgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5pbXBvcnQgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHsgc3RhdHVzIGFzIGh0dHBTdGF0dXMgfSBmcm9tICdodHRwLXN0YXR1cydcbmltcG9ydCB7IGFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0LCBjb21taXRUcmFuc2FjdGlvbiwgaW5pdFRyYW5zYWN0aW9uLCBraWxsVHJhbnNhY3Rpb24sIHR5cGUgRW5kcG9pbnQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IGdldFJlcXVlc3RDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vaGVscGVycy9nZXQtcmVxdXN0LWNvbGxlY3Rpb24nXG5pbXBvcnQgeyBjcmVhdGVTaWdudXBTY2hlbWEgfSBmcm9tICdAL3NoYXJlZC9mb3JtL3ZhbGlkYXRpb24nXG5pbXBvcnQgeyBjaGVja1BsdWdpbkV4aXN0cyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2hlbHBlcnMvY2hlY2stcGx1Z2luLWV4aXN0cydcblxuY29uc3Qgc2VuZEpTT04gPSAoZGF0YTogdW5rbm93biwgc3RhdHVzOiBudW1iZXIpOiBSZXNwb25zZSA9PlxuICBuZXcgUmVzcG9uc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSksIHtcbiAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICBzdGF0dXNcbiAgfSlcblxuY29uc3QgZm9yd2FyZENvb2tpZXMgPSAoZnJvbTogUmVzcG9uc2UsIHRvOiBSZXNwb25zZSk6IHZvaWQgPT4ge1xuICBjb25zdCBzZXRDb29raWVIZWFkZXIgPSBmcm9tLmhlYWRlcnMuZ2V0KCdzZXQtY29va2llJylcbiAgaWYgKCFzZXRDb29raWVIZWFkZXIpIHJldHVyblxuICBzZXRDb29raWVIZWFkZXIuc3BsaXQoJywnKS5mb3JFYWNoKChjKSA9PiB0by5oZWFkZXJzLmFwcGVuZCgnU2V0LUNvb2tpZScsIGMudHJpbSgpKSlcbn1cblxuY29uc3Qgcm91dGVQYXJhbXNTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxuICByZWRpcmVjdDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KVxuXG5leHBvcnQgY29uc3QgZ2V0U2lnbnVwRW5kcG9pbnQgPSAocGx1Z2luT3B0aW9uczogQmV0dGVyQXV0aFBsdWdpbk9wdGlvbnMpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IHsgYmV0dGVyQXV0aE9wdGlvbnMgPSB7fSwgYWRtaW5JbnZpdGF0aW9ucywgdXNlcnMgfSA9IHBsdWdpbk9wdGlvbnNcbiAgY29uc3QgeyBiYXNlVVJMID0gJycsIGJhc2VQYXRoID0gJy9hcGkvYXV0aCcsIGVtYWlsVmVyaWZpY2F0aW9uLCBlbWFpbEFuZFBhc3N3b3JkIH0gPSBiZXR0ZXJBdXRoT3B0aW9uc1xuXG4gIGlmICghYmFzZVVSTCkge1xuICAgIHRocm93IG5ldyBFcnJvcignYmV0dGVyQXV0aE9wdGlvbnMuYmFzZVVSTCBpcyByZXF1aXJlZCBmb3Igc2VydmVy4oCRc2lkZSBhdXRoZW50aWNhdGlvbiBjYWxscycpXG4gIH1cblxuICBjb25zdCBhZG1pbkludml0YXRpb25zU2x1ZyA9IGFkbWluSW52aXRhdGlvbnM/LnNsdWcgPz8gYmFzZVNsdWdzLmFkbWluSW52aXRhdGlvbnNcbiAgY29uc3QgdXNlcnNTbHVnID0gdXNlcnM/LnNsdWcgPz8gYmFzZVNsdWdzLnVzZXJzXG5cbiAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50ID0ge1xuICAgIHBhdGg6IGFkbWluRW5kcG9pbnRzLnNpZ251cCxcbiAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICBoYW5kbGVyOiBhc3luYyAocmVxKSA9PiB7XG4gICAgICBhd2FpdCBhZGREYXRhQW5kRmlsZVRvUmVxdWVzdChyZXEpXG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gZ2V0UmVxdWVzdENvbGxlY3Rpb24ocmVxKVxuICAgICAgY29uc3QgeyB0IH0gPSByZXFcblxuICAgICAgY29uc3Qgc2hvdWxkQ29tbWl0ID0gYXdhaXQgaW5pdFRyYW5zYWN0aW9uKHJlcSlcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBzdWNjZXNzOiByb3V0ZVBhcmFtc1N1Y2Nlc3MsIGRhdGE6IHJvdXRlUGFyYW1zRGF0YSwgZXJyb3I6IHJvdXRlUGFyYW1zRXJyb3IgfSA9IHJvdXRlUGFyYW1zU2NoZW1hLnNhZmVQYXJzZShyZXEucXVlcnkpXG5cbiAgICAgICAgaWYgKCFyb3V0ZVBhcmFtc1N1Y2Nlc3MpIHtcbiAgICAgICAgICBhd2FpdCBraWxsVHJhbnNhY3Rpb24ocmVxKVxuICAgICAgICAgIHJldHVybiBzZW5kSlNPTih7IGVycm9yOiAnSU5WQUxJRF9QQVJBTVMnLCBtZXNzYWdlOiByb3V0ZVBhcmFtc0Vycm9yLm1lc3NhZ2UgfSwgaHR0cFN0YXR1cy5CQURfUkVRVUVTVClcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGludml0ZVJlc3VsdCA9IGF3YWl0IHJlcS5wYXlsb2FkLmZpbmQoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IGFkbWluSW52aXRhdGlvbnNTbHVnLFxuICAgICAgICAgIHdoZXJlOiB7IHRva2VuOiB7IGVxdWFsczogcm91dGVQYXJhbXNEYXRhLnRva2VuIH0gfSxcbiAgICAgICAgICBsaW1pdDogMSxcbiAgICAgICAgICByZXFcbiAgICAgICAgfSlcblxuICAgICAgICBjb25zdCBpbnZpdGVEb2MgPSBpbnZpdGVSZXN1bHQuZG9jcy5hdCgwKVxuXG4gICAgICAgIGlmICghaW52aXRlRG9jKSB7XG4gICAgICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgICByZXR1cm4gc2VuZEpTT04oeyBlcnJvcjogJ0lOVkFMSURfVE9LRU4nLCBtZXNzYWdlOiAnSW52YWxpZCB0b2tlbicgfSwgaHR0cFN0YXR1cy5VTkFVVEhPUklaRUQpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoYXNVc2VybmFtZVBsdWdpbiA9IGNoZWNrUGx1Z2luRXhpc3RzKGJldHRlckF1dGhPcHRpb25zLCBzdXBwb3J0ZWRCQVBsdWdpbklkcy51c2VybmFtZSlcbiAgICAgICAgY29uc3Qgc3VwcG9ydHNMb2dpbldpdGhVc2VybmFtZSA9IGhhc1VzZXJuYW1lUGx1Z2luICYmIGNvbGxlY3Rpb24uY29uZmlnPy5hdXRoPy5sb2dpbldpdGhVc2VybmFtZVxuICAgICAgICBjb25zdCByZXF1aXJlVXNlcm5hbWUgPVxuICAgICAgICAgIGhhc1VzZXJuYW1lUGx1Z2luICYmXG4gICAgICAgICAgdHlwZW9mIGNvbGxlY3Rpb24uY29uZmlnPy5hdXRoPy5sb2dpbldpdGhVc2VybmFtZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAhIWNvbGxlY3Rpb24uY29uZmlnPy5hdXRoPy5sb2dpbldpdGhVc2VybmFtZT8ucmVxdWlyZVVzZXJuYW1lXG5cbiAgICAgICAgY29uc3Qgc2lnbnVwU2NoZW1hID0gY3JlYXRlU2lnbnVwU2NoZW1hKHsgdCwgcmVxdWlyZVVzZXJuYW1lLCByZXF1aXJlQ29uZmlybVBhc3N3b3JkOiBmYWxzZSB9KVxuICAgICAgICBjb25zdCBwYXJzZWRCb2R5ID0gc2lnbnVwU2NoZW1hLnNhZmVQYXJzZShyZXEuZGF0YSlcblxuICAgICAgICBpZiAoIXBhcnNlZEJvZHkuc3VjY2Vzcykge1xuICAgICAgICAgIGF3YWl0IGtpbGxUcmFuc2FjdGlvbihyZXEpXG4gICAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBwYXJzZWRCb2R5LmVycm9yLmlzc3Vlcy5tYXAoKGlzc3VlKSA9PiBpc3N1ZS5tZXNzYWdlKVxuICAgICAgICAgIHJldHVybiBzZW5kSlNPTih7IGVycm9yOiB7IG1lc3NhZ2U6IG1lc3NhZ2VzIH0gfSwgaHR0cFN0YXR1cy5CQURfUkVRVUVTVClcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgbmFtZSwgZW1haWwsIHBhc3N3b3JkLCB1c2VybmFtZSB9ID0gcGFyc2VkQm9keS5kYXRhXG5cbiAgICAgICAgY29uc3QgYXV0aEFwaVVSTCA9IGAke2Jhc2VVUkx9JHtiYXNlUGF0aH1gXG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoYCR7YXV0aEFwaVVSTH0vc2lnbi11cC9lbWFpbGApXG4gICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCdjYWxsYmFja1VSTCcsIHJvdXRlUGFyYW1zRGF0YS5yZWRpcmVjdCA/PyBgJHtiYXNlVVJMfSR7cmVxLnBheWxvYWQuY29uZmlnLnJvdXRlcy5hZG1pbn1gKVxuICAgICAgICBpZiAocm91dGVQYXJhbXNEYXRhLnRva2VuKSB7XG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2FkbWluSW52aXRlVG9rZW4nLCByb3V0ZVBhcmFtc0RhdGEudG9rZW4pXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcGlSZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybC50b1N0cmluZygpLCB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIGVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICAuLi4oc3VwcG9ydHNMb2dpbldpdGhVc2VybmFtZSAmJiB1c2VybmFtZSAmJiB7IHVzZXJuYW1lIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIWFwaVJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGFwaVJlc3BvbnNlLnN0YXR1c1RleHQpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSBhd2FpdCBhcGlSZXNwb25zZS5qc29uKClcblxuICAgICAgICBhd2FpdCByZXEucGF5bG9hZC51cGRhdGUoe1xuICAgICAgICAgIGNvbGxlY3Rpb246IHVzZXJzU2x1ZyxcbiAgICAgICAgICBpZDogcmVzcG9uc2VEYXRhLnVzZXIuaWQsXG4gICAgICAgICAgZGF0YTogeyByb2xlOiBpbnZpdGVEb2Mucm9sZSB9LFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcVxuICAgICAgICB9KVxuXG4gICAgICAgIGF3YWl0IHJlcS5wYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogYWRtaW5JbnZpdGF0aW9uc1NsdWcsXG4gICAgICAgICAgd2hlcmU6IHsgdG9rZW46IHsgZXF1YWxzOiBpbnZpdGVEb2MudG9rZW4gfSB9LFxuICAgICAgICAgIHJlcVxuICAgICAgICB9KVxuXG4gICAgICAgIGNvbnN0IHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbiA9XG4gICAgICAgICAgKGVtYWlsQW5kUGFzc3dvcmQ/LnJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvbiB8fCBjb2xsZWN0aW9uLmNvbmZpZy5hdXRoLnZlcmlmeSkgJiYgIXJlc3BvbnNlRGF0YS51c2VyLmVtYWlsVmVyaWZpZWRcblxuICAgICAgICBjb25zdCBzZW50RW1haWxWZXJpZmljYXRpb24gPSBlbWFpbFZlcmlmaWNhdGlvbj8uc2VuZFZlcmlmaWNhdGlvbkVtYWlsICE9PSB1bmRlZmluZWRcblxuICAgICAgICBpZiAocmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uKSB7XG4gICAgICAgICAgY29uc3QgcmVzID0gc2VuZEpTT04oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHQoJ2F1dGhlbnRpY2F0aW9uOnZlcmlmeVlvdXJFbWFpbCcpLFxuICAgICAgICAgICAgICBzZW50RW1haWxWZXJpZmljYXRpb24sXG4gICAgICAgICAgICAgIHJlcXVpcmVFbWFpbFZlcmlmaWNhdGlvblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGh0dHBTdGF0dXMuVU5BVVRIT1JJWkVEXG4gICAgICAgICAgKVxuICAgICAgICAgIGZvcndhcmRDb29raWVzKGFwaVJlc3BvbnNlLCByZXMpXG4gICAgICAgICAgaWYgKHNob3VsZENvbW1pdCkgYXdhaXQgY29tbWl0VHJhbnNhY3Rpb24ocmVxKVxuICAgICAgICAgIHJldHVybiByZXNcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NSZXMgPSBzZW5kSlNPTih7IG1lc3NhZ2U6IHQoJ2F1dGhlbnRpY2F0aW9uOnBhc3NlZCcpLCAuLi5yZXNwb25zZURhdGEgfSwgaHR0cFN0YXR1cy5PSylcbiAgICAgICAgZm9yd2FyZENvb2tpZXMoYXBpUmVzcG9uc2UsIHN1Y2Nlc3NSZXMpXG4gICAgICAgIGlmIChzaG91bGRDb21taXQpIGF3YWl0IGNvbW1pdFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3NSZXNcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgYXdhaXQga2lsbFRyYW5zYWN0aW9uKHJlcSlcbiAgICAgICAgcmV0dXJuIHNlbmRKU09OKHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9LCBodHRwU3RhdHVzLklOVEVSTkFMX1NFUlZFUl9FUlJPUilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZW5kcG9pbnRcbn1cbiJdLCJuYW1lcyI6WyJhZG1pbkVuZHBvaW50cyIsImJhc2VTbHVncyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwic3RhdHVzIiwiaHR0cFN0YXR1cyIsImFkZERhdGFBbmRGaWxlVG9SZXF1ZXN0IiwiY29tbWl0VHJhbnNhY3Rpb24iLCJpbml0VHJhbnNhY3Rpb24iLCJraWxsVHJhbnNhY3Rpb24iLCJ6IiwiZ2V0UmVxdWVzdENvbGxlY3Rpb24iLCJjcmVhdGVTaWdudXBTY2hlbWEiLCJjaGVja1BsdWdpbkV4aXN0cyIsInNlbmRKU09OIiwiZGF0YSIsIlJlc3BvbnNlIiwiSlNPTiIsInN0cmluZ2lmeSIsImhlYWRlcnMiLCJmb3J3YXJkQ29va2llcyIsImZyb20iLCJ0byIsInNldENvb2tpZUhlYWRlciIsImdldCIsInNwbGl0IiwiZm9yRWFjaCIsImMiLCJhcHBlbmQiLCJ0cmltIiwicm91dGVQYXJhbXNTY2hlbWEiLCJvYmplY3QiLCJ0b2tlbiIsInN0cmluZyIsInJlZGlyZWN0Iiwib3B0aW9uYWwiLCJnZXRTaWdudXBFbmRwb2ludCIsInBsdWdpbk9wdGlvbnMiLCJiZXR0ZXJBdXRoT3B0aW9ucyIsImFkbWluSW52aXRhdGlvbnMiLCJ1c2VycyIsImJhc2VVUkwiLCJiYXNlUGF0aCIsImVtYWlsVmVyaWZpY2F0aW9uIiwiZW1haWxBbmRQYXNzd29yZCIsIkVycm9yIiwiYWRtaW5JbnZpdGF0aW9uc1NsdWciLCJzbHVnIiwidXNlcnNTbHVnIiwiZW5kcG9pbnQiLCJwYXRoIiwic2lnbnVwIiwibWV0aG9kIiwiaGFuZGxlciIsInJlcSIsImNvbGxlY3Rpb24iLCJ0Iiwic2hvdWxkQ29tbWl0Iiwic3VjY2VzcyIsInJvdXRlUGFyYW1zU3VjY2VzcyIsInJvdXRlUGFyYW1zRGF0YSIsImVycm9yIiwicm91dGVQYXJhbXNFcnJvciIsInNhZmVQYXJzZSIsInF1ZXJ5IiwibWVzc2FnZSIsIkJBRF9SRVFVRVNUIiwiaW52aXRlUmVzdWx0IiwicGF5bG9hZCIsImZpbmQiLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0IiwiaW52aXRlRG9jIiwiZG9jcyIsImF0IiwiVU5BVVRIT1JJWkVEIiwiaGFzVXNlcm5hbWVQbHVnaW4iLCJ1c2VybmFtZSIsInN1cHBvcnRzTG9naW5XaXRoVXNlcm5hbWUiLCJjb25maWciLCJhdXRoIiwibG9naW5XaXRoVXNlcm5hbWUiLCJyZXF1aXJlVXNlcm5hbWUiLCJzaWdudXBTY2hlbWEiLCJyZXF1aXJlQ29uZmlybVBhc3N3b3JkIiwicGFyc2VkQm9keSIsIm1lc3NhZ2VzIiwiaXNzdWVzIiwibWFwIiwiaXNzdWUiLCJuYW1lIiwiZW1haWwiLCJwYXNzd29yZCIsImF1dGhBcGlVUkwiLCJ1cmwiLCJVUkwiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJyb3V0ZXMiLCJhZG1pbiIsImFwaVJlc3BvbnNlIiwiZmV0Y2giLCJ0b1N0cmluZyIsImJvZHkiLCJvayIsInN0YXR1c1RleHQiLCJyZXNwb25zZURhdGEiLCJqc29uIiwidXBkYXRlIiwiaWQiLCJ1c2VyIiwicm9sZSIsIm92ZXJyaWRlQWNjZXNzIiwiZGVsZXRlIiwicmVxdWlyZUVtYWlsVmVyaWZpY2F0aW9uIiwidmVyaWZ5IiwiZW1haWxWZXJpZmllZCIsInNlbnRFbWFpbFZlcmlmaWNhdGlvbiIsInNlbmRWZXJpZmljYXRpb25FbWFpbCIsInVuZGVmaW5lZCIsInJlcyIsInN1Y2Nlc3NSZXMiLCJPSyIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsY0FBYyxFQUFFQyxTQUFTLEVBQUVDLG9CQUFvQixRQUFRLHdCQUFnQztBQUVoRyxTQUFTQyxVQUFVQyxVQUFVLFFBQVEsY0FBYTtBQUNsRCxTQUFTQyx1QkFBdUIsRUFBRUMsaUJBQWlCLEVBQUVDLGVBQWUsRUFBRUMsZUFBZSxRQUF1QixVQUFTO0FBQ3JILFNBQVNDLENBQUMsUUFBUSxNQUFLO0FBQ3ZCLFNBQVNDLG9CQUFvQixRQUFRLDRDQUEyQztBQUNoRixTQUFTQyxrQkFBa0IsUUFBUSwyQ0FBMEI7QUFDN0QsU0FBU0MsaUJBQWlCLFFBQVEsMENBQWtEO0FBRXBGLE1BQU1DLFdBQVcsQ0FBQ0MsTUFBZVgsU0FDL0IsSUFBSVksU0FBU0MsS0FBS0MsU0FBUyxDQUFDSCxPQUFPO1FBQ2pDSSxTQUFTO1lBQUUsZ0JBQWdCO1FB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
@@ -1,12 +1,7 @@
1
1
  import { CollectionAfterLoginHook } from 'payload';
2
- type AfterLoginOptions = {
3
- usersCollectionSlug: string;
4
- sessionsCollectionSlug: string;
5
- };
6
2
  /**
7
3
  * This hook is used to sync the admin login token with better-auth session token
8
4
  * It also creates a new session in better-auth
9
5
  */
10
- export declare const getAfterLoginHook: (options: AfterLoginOptions) => CollectionAfterLoginHook;
11
- export {};
6
+ export declare function getAfterLoginHook(): CollectionAfterLoginHook;
12
7
  //# sourceMappingURL=after-login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"after-login.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-login.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAKlD,KAAK,iBAAiB,GAAG;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,iBAAiB,KAAG,wBAuE9D,CAAA"}
1
+ {"version":3,"file":"after-login.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-login.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAClD;;;GAGG;AACH,wBAAgB,iBAAiB,IAsEhB,wBAAwB,CACxC"}
@@ -1,25 +1,37 @@
1
+ import { baModelKey } from "../../../../constants";
2
+ import { getMappedCollection, transformCollectionsToCollectionConfigs } from "../../../../helpers/get-collection";
3
+ import { getIp } from "../../../../helpers/get-ip";
4
+ import { prepareSessionData } from "../../../../helpers/prepare-session-data";
5
+ import { getPayloadAuth } from "../../../get-payload-auth";
1
6
  import { generateId } from "better-auth";
2
7
  import { createAuthMiddleware } from "better-auth/api";
3
8
  import { setSessionCookie } from "better-auth/cookies";
4
9
  import { parseSetCookie } from "next/dist/compiled/@edge-runtime/cookies";
5
10
  import { cookies } from "next/headers";
6
- import { getPayloadAuth } from "../../../get-payload-auth";
7
- import { getIp } from "../../../../helpers/get-ip";
8
- import { prepareSessionData } from "../../../../helpers/prepare-session-data";
9
11
  /**
10
12
  * This hook is used to sync the admin login token with better-auth session token
11
13
  * It also creates a new session in better-auth
12
- */ export const getAfterLoginHook = (options)=>{
13
- const hook = async ({ collection, context, req, token, user })=>{
14
+ */ export function getAfterLoginHook() {
15
+ const hook = async ({ req, user })=>{
14
16
  const config = req.payload.config;
15
17
  const payload = await getPayloadAuth(config);
18
+ const collections = req.payload.collections;
19
+ const collectionMap = transformCollectionsToCollectionConfigs(collections);
20
+ const userCollection = getMappedCollection({
21
+ collectionMap,
22
+ betterAuthModelKey: baModelKey.user
23
+ });
24
+ const sessionCollection = getMappedCollection({
25
+ collectionMap,
26
+ betterAuthModelKey: baModelKey.session
27
+ });
16
28
  const cookieStore = await cookies();
17
29
  const authContext = await payload.betterAuth.$context;
18
30
  const sessionExpiration = payload.betterAuth.options.session?.expiresIn || 60 * 60 * 24 * 7 // 7 days
19
31
  ;
20
32
  // we can't use internal adapter as we can cause a race condition unless we pass req to the payload.create
21
33
  const session = await payload.create({
22
- collection: options.sessionsCollectionSlug,
34
+ collection: sessionCollection.slug,
23
35
  data: {
24
36
  ipAddress: getIp(req.headers, payload.betterAuth.options) || '',
25
37
  userAgent: req.headers?.get('user-agent') || '',
@@ -40,11 +52,8 @@ import { prepareSessionData } from "../../../../helpers/prepare-session-data";
40
52
  session,
41
53
  user
42
54
  },
43
- payloadConfig: config,
44
- collectionSlugs: {
45
- userCollectionSlug: options.usersCollectionSlug,
46
- sessionCollectionSlug: options.sessionsCollectionSlug
47
- }
55
+ usersCollection: userCollection,
56
+ sessionsCollection: sessionCollection
48
57
  });
49
58
  if (filteredSessionData) {
50
59
  await setSessionCookie(ctx, filteredSessionData);
@@ -73,6 +82,6 @@ import { prepareSessionData } from "../../../../helpers/prepare-session-data";
73
82
  }
74
83
  };
75
84
  return hook;
76
- };
85
+ }
77
86
 
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdlbmVyYXRlSWQsIFNlc3Npb24gfSBmcm9tICdiZXR0ZXItYXV0aCdcbmltcG9ydCB7IGNyZWF0ZUF1dGhNaWRkbGV3YXJlIH0gZnJvbSAnYmV0dGVyLWF1dGgvYXBpJ1xuaW1wb3J0IHsgc2V0Q29va2llQ2FjaGUsIHNldFNlc3Npb25Db29raWUgfSBmcm9tICdiZXR0ZXItYXV0aC9jb29raWVzJ1xuaW1wb3J0IHsgcGFyc2VTZXRDb29raWUsIHR5cGUgUmVzcG9uc2VDb29raWUgfSBmcm9tICduZXh0L2Rpc3QvY29tcGlsZWQvQGVkZ2UtcnVudGltZS9jb29raWVzJ1xuaW1wb3J0IHsgY29va2llcyB9IGZyb20gJ25leHQvaGVhZGVycydcbmltcG9ydCB7IENvbGxlY3Rpb25BZnRlckxvZ2luSG9vayB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuaW1wb3J0IHsgZ2V0SXAgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9oZWxwZXJzL2dldC1pcCdcbmltcG9ydCB7IHByZXBhcmVTZXNzaW9uRGF0YSB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2hlbHBlcnMvcHJlcGFyZS1zZXNzaW9uLWRhdGEnXG5cbnR5cGUgQWZ0ZXJMb2dpbk9wdGlvbnMgPSB7XG4gIHVzZXJzQ29sbGVjdGlvblNsdWc6IHN0cmluZ1xuICBzZXNzaW9uc0NvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBUaGlzIGhvb2sgaXMgdXNlZCB0byBzeW5jIHRoZSBhZG1pbiBsb2dpbiB0b2tlbiB3aXRoIGJldHRlci1hdXRoIHNlc3Npb24gdG9rZW5cbiAqIEl0IGFsc28gY3JlYXRlcyBhIG5ldyBzZXNzaW9uIGluIGJldHRlci1hdXRoXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBZnRlckxvZ2luSG9vayA9IChvcHRpb25zOiBBZnRlckxvZ2luT3B0aW9ucyk6IENvbGxlY3Rpb25BZnRlckxvZ2luSG9vayA9PiB7XG4gIGNvbnN0IGhvb2s6IENvbGxlY3Rpb25BZnRlckxvZ2luSG9vayA9IGFzeW5jICh7IGNvbGxlY3Rpb24sIGNvbnRleHQsIHJlcSwgdG9rZW4sIHVzZXIgfSkgPT4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlcS5wYXlsb2FkLmNvbmZpZ1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBnZXRQYXlsb2FkQXV0aChjb25maWcpXG4gICAgY29uc3QgY29va2llU3RvcmUgPSBhd2FpdCBjb29raWVzKClcbiAgICBjb25zdCBhdXRoQ29udGV4dCA9IGF3YWl0IHBheWxvYWQuYmV0dGVyQXV0aC4kY29udGV4dFxuXG4gICAgY29uc3Qgc2Vzc2lvbkV4cGlyYXRpb24gPSBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucy5zZXNzaW9uPy5leHBpcmVzSW4gfHwgNjAgKiA2MCAqIDI0ICogNyAvLyA3IGRheXNcbiAgICAvLyB3ZSBjYW4ndCB1c2UgaW50ZXJuYWwgYWRhcHRlciBhcyB3ZSBjYW4gY2F1c2UgYSByYWNlIGNvbmRpdGlvbiB1bmxlc3Mgd2UgcGFzcyByZXEgdG8gdGhlIHBheWxvYWQuY3JlYXRlXG4gICAgY29uc3Qgc2Vzc2lvbiA9IChhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICBjb2xsZWN0aW9uOiBvcHRpb25zLnNlc3Npb25zQ29sbGVjdGlvblNsdWcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGlwQWRkcmVzczogZ2V0SXAocmVxLmhlYWRlcnMsIHBheWxvYWQuYmV0dGVyQXV0aC5vcHRpb25zKSB8fCAnJyxcbiAgICAgICAgdXNlckFnZW50OiByZXEuaGVhZGVycz8uZ2V0KCd1c2VyLWFnZW50JykgfHwgJycsXG4gICAgICAgIHVzZXI6IHVzZXIuaWQsXG4gICAgICAgIHRva2VuOiBnZW5lcmF0ZUlkKDMyKSxcbiAgICAgICAgZXhwaXJlc0F0OiBuZXcgRGF0ZShEYXRlLm5vdygpICsgc2Vzc2lvbkV4cGlyYXRpb24gKiAxMDAwKVxuICAgICAgfSxcbiAgICAgIHJlcVxuICAgIH0pKSBhcyBTZXNzaW9uXG5cbiAgICBjb25zdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCA9IGNyZWF0ZUF1dGhNaWRkbGV3YXJlKGFzeW5jIChjdHgpOiBQcm9taXNlPEhlYWRlcnMgfCBudWxsPiA9PiB7XG4gICAgICBjdHguY29udGV4dCA9IHsgLi4uYXV0aENvbnRleHQsIHVzZXI6IHVzZXIgfVxuICAgICAgYXdhaXQgY3R4LnNldFNpZ25lZENvb2tpZShcbiAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm5hbWUsXG4gICAgICAgIHNlc3Npb24udG9rZW4sXG4gICAgICAgIGN0eC5jb250ZXh0LnNlY3JldCxcbiAgICAgICAgY3R4LmNvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm9wdGlvbnNcbiAgICAgIClcbiAgICAgIGNvbnN0IGZpbHRlcmVkU2Vzc2lvbkRhdGEgPSBhd2FpdCBwcmVwYXJlU2Vzc2lvbkRhdGEoe1xuICAgICAgICBzZXNzaW9uRGF0YTogeyBzZXNzaW9uLCB1c2VyIH0sXG4gICAgICAgIHBheWxvYWRDb25maWc6IGNvbmZpZyxcbiAgICAgICAgY29sbGVjdGlvblNsdWdzOiB7XG4gICAgICAgICAgdXNlckNvbGxlY3Rpb25TbHVnOiBvcHRpb25zLnVzZXJzQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgc2Vzc2lvbkNvbGxlY3Rpb25TbHVnOiBvcHRpb25zLnNlc3Npb25zQ29sbGVjdGlvblNsdWdcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGlmIChmaWx0ZXJlZFNlc3Npb25EYXRhKSB7XG4gICAgICAgIGF3YWl0IHNldFNlc3Npb25Db29raWUoY3R4LCBmaWx0ZXJlZFNlc3Npb25EYXRhKVxuICAgICAgfVxuICAgICAgaWYgKCdyZXNwb25zZUhlYWRlcnMnIGluIGN0eCkge1xuICAgICAgICByZXR1cm4gY3R4LnJlc3BvbnNlSGVhZGVycyBhcyBIZWFkZXJzXG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0pXG5cbiAgICAvLyBDcmVhdGUgYSBtb2RpZmllZCByZXF1ZXN0IG9iamVjdCB0aGF0IG1hdGNoZXMgdGhlIGV4cGVjdGVkIE1pZGRsZXdhcmVJbnB1dENvbnRleHQgdHlwZVxuICAgIGNvbnN0IG1vZGlmaWVkUmVxID0ge1xuICAgICAgLi4ucmVxLFxuICAgICAgYm9keTogdW5kZWZpbmVkIC8vIEV4cGxpY2l0bHkgc2V0IGJvZHkgdG8gdW5kZWZpbmVkIHRvIHNhdGlzZnkgdHlwZSBjb25zdHJhaW50XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2VIZWFkZXJzID0gYXdhaXQgYmV0dGVyQXV0aEhhbmRsZVJlcXVlc3QobW9kaWZpZWRSZXEpXG4gICAgY29uc3QgcmVzcG9uc2VDb29raWVzID0gcmVzcG9uc2VIZWFkZXJzXG4gICAgICA/LmdldFNldENvb2tpZSgpXG4gICAgICAubWFwKChjb29raWUpID0+IHBhcnNlU2V0Q29va2llKGNvb2tpZSkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIFJlc3BvbnNlQ29va2llW11cblxuICAgIGlmIChyZXNwb25zZUNvb2tpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgY29va2llRGF0YSBvZiByZXNwb25zZUNvb2tpZXMpIHtcbiAgICAgICAgY29uc3QgeyBuYW1lLCB2YWx1ZSwgLi4ub3B0aW9ucyB9ID0gY29va2llRGF0YVxuICAgICAgICBjb29raWVTdG9yZS5zZXQoe1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICB2YWx1ZTogZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBob29rIGFzIENvbGxlY3Rpb25BZnRlckxvZ2luSG9va1xufVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlSWQiLCJjcmVhdGVBdXRoTWlkZGxld2FyZSIsInNldFNlc3Npb25Db29raWUiLCJwYXJzZVNldENvb2tpZSIsImNvb2tpZXMiLCJnZXRQYXlsb2FkQXV0aCIsImdldElwIiwicHJlcGFyZVNlc3Npb25EYXRhIiwiZ2V0QWZ0ZXJMb2dpbkhvb2siLCJvcHRpb25zIiwiaG9vayIsImNvbGxlY3Rpb24iLCJjb250ZXh0IiwicmVxIiwidG9rZW4iLCJ1c2VyIiwiY29uZmlnIiwicGF5bG9hZCIsImNvb2tpZVN0b3JlIiwiYXV0aENvbnRleHQiLCJiZXR0ZXJBdXRoIiwiJGNvbnRleHQiLCJzZXNzaW9uRXhwaXJhdGlvbiIsInNlc3Npb24iLCJleHBpcmVzSW4iLCJjcmVhdGUiLCJzZXNzaW9uc0NvbGxlY3Rpb25TbHVnIiwiZGF0YSIsImlwQWRkcmVzcyIsImhlYWRlcnMiLCJ1c2VyQWdlbnQiLCJnZXQiLCJpZCIsImV4cGlyZXNBdCIsIkRhdGUiLCJub3ciLCJiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdCIsImN0eCIsInNldFNpZ25lZENvb2tpZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsInNlY3JldCIsImZpbHRlcmVkU2Vzc2lvbkRhdGEiLCJzZXNzaW9uRGF0YSIsInBheWxvYWRDb25maWciLCJjb2xsZWN0aW9uU2x1Z3MiLCJ1c2VyQ29sbGVjdGlvblNsdWciLCJ1c2Vyc0NvbGxlY3Rpb25TbHVnIiwic2Vzc2lvbkNvbGxlY3Rpb25TbHVnIiwicmVzcG9uc2VIZWFkZXJzIiwibW9kaWZpZWRSZXEiLCJib2R5IiwidW5kZWZpbmVkIiwicmVzcG9uc2VDb29raWVzIiwiZ2V0U2V0Q29va2llIiwibWFwIiwiY29va2llIiwiZmlsdGVyIiwiQm9vbGVhbiIsImNvb2tpZURhdGEiLCJ2YWx1ZSIsInNldCIsImRlY29kZVVSSUNv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
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhTW9kZWxLZXkgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9jb25zdGFudHMnXG5pbXBvcnQgeyBnZXRNYXBwZWRDb2xsZWN0aW9uLCB0cmFuc2Zvcm1Db2xsZWN0aW9uc1RvQ29sbGVjdGlvbkNvbmZpZ3MgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9oZWxwZXJzL2dldC1jb2xsZWN0aW9uJ1xuaW1wb3J0IHsgZ2V0SXAgfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9oZWxwZXJzL2dldC1pcCdcbmltcG9ydCB7IHByZXBhcmVTZXNzaW9uRGF0YSB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2hlbHBlcnMvcHJlcGFyZS1zZXNzaW9uLWRhdGEnXG5pbXBvcnQgeyBnZXRQYXlsb2FkQXV0aCB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL2xpYi9nZXQtcGF5bG9hZC1hdXRoJ1xuaW1wb3J0IHR5cGUgeyBCZXR0ZXJBdXRoUGx1Z2luT3B0aW9ucyB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHsgZ2VuZXJhdGVJZCwgU2Vzc2lvbiB9IGZyb20gJ2JldHRlci1hdXRoJ1xuaW1wb3J0IHsgY3JlYXRlQXV0aE1pZGRsZXdhcmUgfSBmcm9tICdiZXR0ZXItYXV0aC9hcGknXG5pbXBvcnQgeyBzZXRTZXNzaW9uQ29va2llIH0gZnJvbSAnYmV0dGVyLWF1dGgvY29va2llcydcbmltcG9ydCB7IHBhcnNlU2V0Q29va2llLCB0eXBlIFJlc3BvbnNlQ29va2llIH0gZnJvbSAnbmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llcydcbmltcG9ydCB7IGNvb2tpZXMgfSBmcm9tICduZXh0L2hlYWRlcnMnXG5pbXBvcnQgeyBDb2xsZWN0aW9uQWZ0ZXJMb2dpbkhvb2sgfSBmcm9tICdwYXlsb2FkJ1xuLyoqXG4gKiBUaGlzIGhvb2sgaXMgdXNlZCB0byBzeW5jIHRoZSBhZG1pbiBsb2dpbiB0b2tlbiB3aXRoIGJldHRlci1hdXRoIHNlc3Npb24gdG9rZW5cbiAqIEl0IGFsc28gY3JlYXRlcyBhIG5ldyBzZXNzaW9uIGluIGJldHRlci1hdXRoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZnRlckxvZ2luSG9vaygpIHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rID0gYXN5bmMgKHsgcmVxLCB1c2VyIH0pID0+IHtcbiAgICBjb25zdCBjb25maWcgPSByZXEucGF5bG9hZC5jb25maWdcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgoY29uZmlnKVxuICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnNcbiAgICBjb25zdCBjb2xsZWN0aW9uTWFwID0gdHJhbnNmb3JtQ29sbGVjdGlvbnNUb0NvbGxlY3Rpb25Db25maWdzKGNvbGxlY3Rpb25zKVxuICAgIGNvbnN0IHVzZXJDb2xsZWN0aW9uID0gZ2V0TWFwcGVkQ29sbGVjdGlvbih7IGNvbGxlY3Rpb25NYXAsIGJldHRlckF1dGhNb2RlbEtleTogYmFNb2RlbEtleS51c2VyIH0pXG4gICAgY29uc3Qgc2Vzc2lvbkNvbGxlY3Rpb24gPSBnZXRNYXBwZWRDb2xsZWN0aW9uKHsgY29sbGVjdGlvbk1hcCwgYmV0dGVyQXV0aE1vZGVsS2V5OiBiYU1vZGVsS2V5LnNlc3Npb24gfSlcbiAgICBjb25zdCBjb29raWVTdG9yZSA9IGF3YWl0IGNvb2tpZXMoKVxuICAgIGNvbnN0IGF1dGhDb250ZXh0ID0gYXdhaXQgcGF5bG9hZC5iZXR0ZXJBdXRoLiRjb250ZXh0XG4gICAgY29uc3Qgc2Vzc2lvbkV4cGlyYXRpb24gPSBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucy5zZXNzaW9uPy5leHBpcmVzSW4gfHwgNjAgKiA2MCAqIDI0ICogNyAvLyA3IGRheXNcbiAgICAvLyB3ZSBjYW4ndCB1c2UgaW50ZXJuYWwgYWRhcHRlciBhcyB3ZSBjYW4gY2F1c2UgYSByYWNlIGNvbmRpdGlvbiB1bmxlc3Mgd2UgcGFzcyByZXEgdG8gdGhlIHBheWxvYWQuY3JlYXRlXG4gICAgY29uc3Qgc2Vzc2lvbiA9IChhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICBjb2xsZWN0aW9uOiBzZXNzaW9uQ29sbGVjdGlvbi5zbHVnLFxuICAgICAgZGF0YToge1xuICAgICAgICBpcEFkZHJlc3M6IGdldElwKHJlcS5oZWFkZXJzLCBwYXlsb2FkLmJldHRlckF1dGgub3B0aW9ucykgfHwgJycsXG4gICAgICAgIHVzZXJBZ2VudDogcmVxLmhlYWRlcnM/LmdldCgndXNlci1hZ2VudCcpIHx8ICcnLFxuICAgICAgICB1c2VyOiB1c2VyLmlkLFxuICAgICAgICB0b2tlbjogZ2VuZXJhdGVJZCgzMiksXG4gICAgICAgIGV4cGlyZXNBdDogbmV3IERhdGUoRGF0ZS5ub3coKSArIHNlc3Npb25FeHBpcmF0aW9uICogMTAwMClcbiAgICAgIH0sXG4gICAgICByZXFcbiAgICB9KSkgYXMgU2Vzc2lvblxuXG4gICAgY29uc3QgYmV0dGVyQXV0aEhhbmRsZVJlcXVlc3QgPSBjcmVhdGVBdXRoTWlkZGxld2FyZShhc3luYyAoY3R4KTogUHJvbWlzZTxIZWFkZXJzIHwgbnVsbD4gPT4ge1xuICAgICAgY3R4LmNvbnRleHQgPSB7IC4uLmF1dGhDb250ZXh0LCB1c2VyOiB1c2VyIH1cbiAgICAgIGF3YWl0IGN0eC5zZXRTaWduZWRDb29raWUoXG4gICAgICAgIGN0eC5jb250ZXh0LmF1dGhDb29raWVzLnNlc3Npb25Ub2tlbi5uYW1lLFxuICAgICAgICBzZXNzaW9uLnRva2VuLFxuICAgICAgICBjdHguY29udGV4dC5zZWNyZXQsXG4gICAgICAgIGN0eC5jb250ZXh0LmF1dGhDb29raWVzLnNlc3Npb25Ub2tlbi5vcHRpb25zXG4gICAgICApXG4gICAgICBjb25zdCBmaWx0ZXJlZFNlc3Npb25EYXRhID0gYXdhaXQgcHJlcGFyZVNlc3Npb25EYXRhKHtcbiAgICAgICAgc2Vzc2lvbkRhdGE6IHsgc2Vzc2lvbiwgdXNlciB9LFxuICAgICAgICB1c2Vyc0NvbGxlY3Rpb246IHVzZXJDb2xsZWN0aW9uLFxuICAgICAgICBzZXNzaW9uc0NvbGxlY3Rpb246IHNlc3Npb25Db2xsZWN0aW9uXG4gICAgICB9KVxuICAgICAgaWYgKGZpbHRlcmVkU2Vzc2lvbkRhdGEpIHtcbiAgICAgICAgYXdhaXQgc2V0U2Vzc2lvbkNvb2tpZShjdHgsIGZpbHRlcmVkU2Vzc2lvbkRhdGEpXG4gICAgICB9XG4gICAgICBpZiAoJ3Jlc3BvbnNlSGVhZGVycycgaW4gY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHgucmVzcG9uc2VIZWFkZXJzIGFzIEhlYWRlcnNcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSlcblxuICAgIC8vIENyZWF0ZSBhIG1vZGlmaWVkIHJlcXVlc3Qgb2JqZWN0IHRoYXQgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgTWlkZGxld2FyZUlucHV0Q29udGV4dCB0eXBlXG4gICAgY29uc3QgbW9kaWZpZWRSZXEgPSB7XG4gICAgICAuLi5yZXEsXG4gICAgICBib2R5OiB1bmRlZmluZWQgLy8gRXhwbGljaXRseSBzZXQgYm9keSB0byB1bmRlZmluZWQgdG8gc2F0aXNmeSB0eXBlIGNvbnN0cmFpbnRcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZUhlYWRlcnMgPSBhd2FpdCBiZXR0ZXJBdXRoSGFuZGxlUmVxdWVzdChtb2RpZmllZFJlcSlcbiAgICBjb25zdCByZXNwb25zZUNvb2tpZXMgPSByZXNwb25zZUhlYWRlcnNcbiAgICAgID8uZ2V0U2V0Q29va2llKClcbiAgICAgIC5tYXAoKGNvb2tpZSkgPT4gcGFyc2VTZXRDb29raWUoY29va2llKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgUmVzcG9uc2VDb29raWVbXVxuXG4gICAgaWYgKHJlc3BvbnNlQ29va2llcykge1xuICAgICAgZm9yIChjb25zdCBjb29raWVEYXRhIG9mIHJlc3BvbnNlQ29va2llcykge1xuICAgICAgICBjb25zdCB7IG5hbWUsIHZhbHVlLCAuLi5vcHRpb25zIH0gPSBjb29raWVEYXRhXG4gICAgICAgIGNvb2tpZVN0b3JlLnNldCh7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZhbHVlOiBkZWNvZGVVUklDb21wb25lbnQodmFsdWUpXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGhvb2sgYXMgQ29sbGVjdGlvbkFmdGVyTG9naW5Ib29rXG59XG4iXSwibmFtZXMiOlsiYmFNb2RlbEtleSIsImdldE1hcHBlZENvbGxlY3Rpb24iLCJ0cmFuc2Zvcm1Db2xsZWN0aW9uc1RvQ29sbGVjdGlvbkNvbmZpZ3MiLCJnZXRJcCIsInByZXBhcmVTZXNzaW9uRGF0YSIsImdldFBheWxvYWRBdXRoIiwiZ2VuZXJhdGVJZCIsImNyZWF0ZUF1dGhNaWRkbGV3YXJlIiwic2V0U2Vzc2lvbkNvb2tpZSIsInBhcnNlU2V0Q29va2llIiwiY29va2llcyIsImdldEFmdGVyTG9naW5Ib29rIiwiaG9vayIsInJlcSIsInVzZXIiLCJjb25maWciLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uTWFwIiwidXNlckNvbGxlY3Rpb24iLCJiZXR0ZXJBdXRoTW9kZWxLZXkiLCJzZXNzaW9uQ29sbGVjdGlvbiIsInNlc3Npb24iLCJjb29raWVTdG9yZSIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0Iiwic2Vzc2lvbkV4cGlyYXRpb24iLCJvcHRpb25zIiwiZXhwaXJlc0luIiwiY3JlYXRlIiwiY29sbGVjdGlvbiIsInNsdWciLCJkYXRhIiwiaXBBZGRyZXNzIiwiaGVhZGVycyIsInVzZXJBZ2VudCIsImdldCIsImlkIiwidG9rZW4iLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwiYmV0dGVyQXV0aEhhbmRsZVJlcXVlc3QiLCJjdHgiLCJjb250ZXh0Iiwic2V0U2lnbmVkQ29va2llIiwiYXV0aENvb2tpZXMiLCJzZXNzaW9uVG9rZW4iLCJuYW1lIiwic2VjcmV0IiwiZmlsdGVyZWRTZXNzaW9uRGF0YSIsInNlc3Npb25EYXRhIiwidXNlcnNDb2xsZWN0aW9uIiwic2Vzc2lvbnNDb2xsZWN0aW9uIiwicmVzcG9uc2VIZWFkZXJzIiwibW9kaWZpZWRSZXEiLCJib2R5IiwidW5kZWZpbmVkIiwicmVzcG9uc2VDb29raWVzIiwiZ2V0U2V0Q29va2llIiwibWFwIiwiY29va2llIiwiZmlsdGVyIiwiQm9vbGVhbiIsImNvb2tpZURhdGEiLCJ2YWx1ZSIsInNldCIsImRlY29kZVVSSUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLHdCQUFnQztBQUMzRCxTQUFTQyxtQkFBbUIsRUFBRUMsdUNBQXVDLFFBQVEscUNBQTZDO0FBQzFILFNBQVNDLEtBQUssUUFBUSw2QkFBcUM7QUFDM0QsU0FBU0Msa0JBQWtCLFFBQVEsMkNBQW1EO0FBQ3RGLFNBQVNDLGNBQWMsUUFBUSw0QkFBMkM7QUFFMUUsU0FBU0MsVUFBVSxRQUFpQixjQUFhO0FBQ2pELFNBQVNDLG9CQUFvQixRQUFRLGtCQUFpQjtBQUN0RCxTQUFTQyxnQkFBZ0IsUUFBUSxzQkFBcUI7QUFDdEQsU0FBU0MsY0FBYyxRQUE2QiwyQ0FBMEM7QUFDOUYsU0FBU0MsT0FBTyxRQUFRLGVBQWM7QUFFdEM7OztDQUdDLEdBQ0QsT0FBTyxTQUFTQztJQUNkLE1BQU1DLE9BQWlDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUU7UUFDekQsTUFBTUMsU0FBU0YsSUFBSUcsT0FBTyxDQUFDRCxNQUFNO1FBQ2pDLE1BQU1DLFVBQVUsTUFBTVgsZUFBZVU7UUFDckMsTUFBTUUsY0FBY0osSUFBSUcsT0FBTyxDQUFDQyxXQUFXO1FBQzNDLE1BQU1D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
@@ -1,7 +1,3 @@
1
1
  import type { CollectionAfterLogoutHook } from 'payload';
2
- type AfterLogoutOptions = {
3
- sessionsCollectionSlug: string;
4
- };
5
- export declare const getAfterLogoutHook: (options: AfterLogoutOptions) => CollectionAfterLogoutHook;
6
- export {};
2
+ export declare function getAfterLogoutHook(): CollectionAfterLogoutHook;
7
3
  //# sourceMappingURL=after-logout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"after-logout.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-logout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAMxD,KAAK,kBAAkB,GAAG;IACxB,sBAAsB,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,kBAAkB,KAAG,yBAwEhE,CAAA"}
1
+ {"version":3,"file":"after-logout.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/after-logout.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD,wBAAgB,kBAAkB,IA2EjB,yBAAyB,CACzC"}
@@ -1,21 +1,29 @@
1
- import { cookies } from "next/headers";
1
+ import { baModelKey } from "../../../../constants";
2
+ import { getMappedCollection, transformCollectionsToCollectionConfigs } from "../../../../helpers/get-collection";
2
3
  import { getPayloadAuth } from "../../../get-payload-auth";
3
- export const getAfterLogoutHook = (options)=>{
4
+ import { cookies } from "next/headers";
5
+ export function getAfterLogoutHook() {
4
6
  const hook = async ({ req })=>{
5
7
  const cookieStore = await cookies();
6
8
  const payload = await getPayloadAuth(req.payload.config);
9
+ const collections = req.payload.collections;
10
+ const collectionMap = transformCollectionsToCollectionConfigs(collections);
7
11
  const securePrefix = '__Secure-';
8
12
  const authContext = await payload.betterAuth.$context;
9
13
  const sessionTokenName = authContext.authCookies.sessionToken.name;
10
14
  const sessionDataName = authContext.authCookies.sessionData.name;
11
15
  const dontRememberTokenName = authContext.authCookies.dontRememberToken.name;
16
+ const sessionsSlug = getMappedCollection({
17
+ collectionMap,
18
+ betterAuthModelKey: baModelKey.session
19
+ }).slug;
12
20
  try {
13
21
  const sessionCookieValue = cookieStore.get(sessionTokenName)?.value;
14
22
  if (sessionCookieValue) {
15
23
  const payload = req.payload;
16
24
  const [token] = sessionCookieValue.split('.');
17
25
  const { docs: sessions } = await payload.find({
18
- collection: options.sessionsCollectionSlug,
26
+ collection: sessionsSlug,
19
27
  where: {
20
28
  token: {
21
29
  equals: token
@@ -28,7 +36,7 @@ export const getAfterLogoutHook = (options)=>{
28
36
  if (session) {
29
37
  try {
30
38
  await payload.delete({
31
- collection: options.sessionsCollectionSlug,
39
+ collection: sessionsSlug,
32
40
  where: {
33
41
  id: {
34
42
  equals: session.id
@@ -55,8 +63,8 @@ export const getAfterLogoutHook = (options)=>{
55
63
  } catch (error) {
56
64
  console.error('Error afterLogoutHook:', error);
57
65
  }
58
- //TODO: this is a hack to delete the admin session cookie
59
- // we need to find a better way to do this (BETTER AUTH HARDCODED THIS)
66
+ //This is a hacky wat to delete the admin session cookie (BETTER AUTH HARDCODED THIS)
67
+ // see https://github.com/better-auth/better-auth/blob/25e82669eed83ba6da063c167e8ae5b7da84ef9f/packages/better-auth/src/plugins/admin/admin.ts#L917C7-L917C23
60
68
  cookieStore.delete('admin_session');
61
69
  const cleanSessionTokenName = sessionTokenName.replace(securePrefix, '');
62
70
  const cleanSessionDataName = sessionDataName.replace(securePrefix, '');
@@ -69,6 +77,6 @@ export const getAfterLogoutHook = (options)=>{
69
77
  cookieStore.delete(`__Secure-${cleanDontRememberTokenName}`);
70
78
  };
71
79
  return hook;
72
- };
80
+ }
73
81
 
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ291dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb29raWVzIH0gZnJvbSAnbmV4dC9oZWFkZXJzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rIH0gZnJvbSAncGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbkhvb2tXaXRoQmV0dGVyQXV0aCB9IGZyb20gJ0AvYmV0dGVyLWF1dGgvcGx1Z2luL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UGF5bG9hZEF1dGggfSBmcm9tICdAL2JldHRlci1hdXRoL3BsdWdpbi9saWIvZ2V0LXBheWxvYWQtYXV0aCdcblxudHlwZSBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rV2l0aEJldHRlckF1dGggPSBDb2xsZWN0aW9uSG9va1dpdGhCZXR0ZXJBdXRoPENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2s+XG5cbnR5cGUgQWZ0ZXJMb2dvdXRPcHRpb25zID0ge1xuICBzZXNzaW9uc0NvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFmdGVyTG9nb3V0SG9vayA9IChvcHRpb25zOiBBZnRlckxvZ291dE9wdGlvbnMpOiBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rID0+IHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9nb3V0SG9va1dpdGhCZXR0ZXJBdXRoID0gYXN5bmMgKHsgcmVxIH0pID0+IHtcbiAgICBjb25zdCBjb29raWVTdG9yZSA9IGF3YWl0IGNvb2tpZXMoKVxuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBnZXRQYXlsb2FkQXV0aChyZXEucGF5bG9hZC5jb25maWcpXG4gICAgY29uc3Qgc2VjdXJlUHJlZml4ID0gJ19fU2VjdXJlLSdcbiAgICBjb25zdCBhdXRoQ29udGV4dCA9IGF3YWl0IHBheWxvYWQuYmV0dGVyQXV0aC4kY29udGV4dFxuICAgIGNvbnN0IHNlc3Npb25Ub2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uVG9rZW4ubmFtZVxuICAgIGNvbnN0IHNlc3Npb25EYXRhTmFtZSA9IGF1dGhDb250ZXh0LmF1dGhDb29raWVzLnNlc3Npb25EYXRhLm5hbWVcbiAgICBjb25zdCBkb250UmVtZW1iZXJUb2tlbk5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5kb250UmVtZW1iZXJUb2tlbi5uYW1lXG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2Vzc2lvbkNvb2tpZVZhbHVlID0gY29va2llU3RvcmUuZ2V0KHNlc3Npb25Ub2tlbk5hbWUpPy52YWx1ZVxuICAgICAgaWYgKHNlc3Npb25Db29raWVWYWx1ZSkge1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gcmVxLnBheWxvYWRcbiAgICAgICAgY29uc3QgW3Rva2VuXSA9IHNlc3Npb25Db29raWVWYWx1ZS5zcGxpdCgnLicpXG4gICAgICAgIGNvbnN0IHsgZG9jczogc2Vzc2lvbnMgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogb3B0aW9ucy5zZXNzaW9uc0NvbGxlY3Rpb25TbHVnLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0b2tlbjogeyBlcXVhbHM6IHRva2VuIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgIHJlcVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzZXNzaW9uID0gc2Vzc2lvbnMuYXQoMClcbiAgICAgICAgaWYgKHNlc3Npb24pIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBvcHRpb25zLnNlc3Npb25zQ29sbGVjdGlvblNsdWcsXG4gICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHsgZXF1YWxzOiBzZXNzaW9uLmlkIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVxXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkZWxldGluZyBzZXNzaW9uOicsIGVycm9yKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBiYXNlTXVsdGlTZXNzaW9uTmFtZSA9IHNlc3Npb25Ub2tlbk5hbWUgKyAnX211bHRpJ1xuICAgICAgY29uc3QgbXVsdGlTZXNzaW9uQ29va2llcyA9IGNvb2tpZVN0b3JlLmdldEFsbCgpXG4gICAgICBtdWx0aVNlc3Npb25Db29raWVzLmZvckVhY2goKGNvb2tpZSkgPT4ge1xuICAgICAgICBpZiAoY29va2llLm5hbWUuc3RhcnRzV2l0aChiYXNlTXVsdGlTZXNzaW9uTmFtZSkpIHtcbiAgICAgICAgICBjb29raWVTdG9yZS5kZWxldGUoY29va2llLm5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VjdXJlTXVsdGlTZXNzaW9uTmFtZSA9IHNlY3VyZVByZWZpeCArIGJhc2VNdWx0aVNlc3Npb25OYW1lXG4gICAgICAgIGlmIChjb29raWUubmFtZS5zdGFydHNXaXRoKHNlY3VyZU11bHRpU2Vzc2lvbk5hbWUpKSB7XG4gICAgICAgICAgY29va2llU3RvcmUuZGVsZXRlKGNvb2tpZS5uYW1lKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhZnRlckxvZ291dEhvb2s6JywgZXJyb3IpXG4gICAgfVxuICAgIC8vVE9ETzogdGhpcyBpcyBhIGhhY2sgdG8gZGVsZXRlIHRoZSBhZG1pbiBzZXNzaW9uIGNvb2tpZVxuICAgIC8vIHdlIG5lZWQgdG8gZmluZCBhIGJldHRlciB3YXkgdG8gZG8gdGhpcyAoQkVUVEVSIEFVVEggSEFSRENPREVEIFRISVMpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKCdhZG1pbl9zZXNzaW9uJylcblxuICAgIGNvbnN0IGNsZWFuU2Vzc2lvblRva2VuTmFtZSA9IHNlc3Npb25Ub2tlbk5hbWUucmVwbGFjZShzZWN1cmVQcmVmaXgsICcnKVxuICAgIGNvbnN0IGNsZWFuU2Vzc2lvbkRhdGFOYW1lID0gc2Vzc2lvbkRhdGFOYW1lLnJlcGxhY2Uoc2VjdXJlUHJlZml4LCAnJylcbiAgICBjb25zdCBjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZSA9IGRvbnRSZW1lbWJlclRva2VuTmFtZS5yZXBsYWNlKHNlY3VyZVByZWZpeCwgJycpXG5cbiAgICBjb29raWVTdG9yZS5kZWxldGUoY2xlYW5TZXNzaW9uVG9rZW5OYW1lKVxuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShgX19TZWN1cmUtJHtjbGVhblNlc3Npb25Ub2tlbk5hbWV9YClcblxuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShjbGVhblNlc3Npb25EYXRhTmFtZSlcbiAgICBjb29raWVTdG9yZS5kZWxldGUoYF9fU2VjdXJlLSR7Y2xlYW5TZXNzaW9uRGF0YU5hbWV9YClcblxuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZShjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZSlcbiAgICBjb29raWVTdG9yZS5kZWxldGUoYF9fU2VjdXJlLSR7Y2xlYW5Eb250UmVtZW1iZXJUb2tlbk5hbWV9YClcbiAgfVxuXG4gIHJldHVybiBob29rIGFzIENvbGxlY3Rpb25BZnRlckxvZ291dEhvb2tcbn1cbiJdLCJuYW1lcyI6WyJjb29raWVzIiwiZ2V0UGF5bG9hZEF1dGgiLCJnZXRBZnRlckxvZ291dEhvb2siLCJvcHRpb25zIiwiaG9vayIsInJlcSIsImNvb2tpZVN0b3JlIiwicGF5bG9hZCIsImNvbmZpZyIsInNlY3VyZVByZWZpeCIsImF1dGhDb250ZXh0IiwiYmV0dGVyQXV0aCIsIiRjb250ZXh0Iiwic2Vzc2lvblRva2VuTmFtZSIsImF1dGhDb29raWVzIiwic2Vzc2lvblRva2VuIiwibmFtZSIsInNlc3Npb25EYXRhTmFtZSIsInNlc3Npb25EYXRhIiwiZG9udFJlbWVtYmVyVG9rZW5OYW1lIiwiZG9udFJlbWVtYmVyVG9rZW4iLCJzZXNzaW9uQ29va2llVmFsdWUiLCJnZXQiLCJ2YWx1ZSIsInRva2VuIiwic3BsaXQiLCJkb2NzIiwic2Vzc2lvbnMiLCJmaW5kIiwiY29sbGVjdGlvbiIsInNlc3Npb25zQ29sbGVjdGlvblNsdWciLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0Iiwic2Vzc2lvbiIsImF0IiwiZGVsZXRlIiwiaWQiLCJlcnJvciIsImNvbnNvbGUiLCJiYXNlTXVsdGlTZXNzaW9uTmFtZSIsIm11bHRpU2Vzc2lvbkNvb2tpZXMiLCJnZXRBbGwiLCJmb3JFYWNoIiwiY29va2llIiwic3RhcnRzV2l0aCIsInNlY3VyZU11bHRpU2Vzc2lvbk5hbWUiLCJjbGVhblNlc3Npb25Ub2tlbk5hbWUiLCJyZXBsYWNlIiwiY2xlYW5TZXNzaW9uRGF0YU5hbWUiLCJjbGVhbkRvbnRSZW1lbWJlclRva2VuTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsT0FBTyxRQUFRLGVBQWM7QUFHdEMsU0FBU0MsY0FBYyxRQUFRLDRCQUEyQztBQVExRSxPQUFPLE1BQU1DLHFCQUFxQixDQUFDQztJQUNqQyxNQUFNQyxPQUFnRCxPQUFPLEVBQUVDLEdBQUcsRUFBRTtRQUNsRSxNQUFNQyxjQUFjLE1BQU1OO1FBQzFCLE1BQU1PLFVBQVUsTUFBTU4sZUFBZUksSUFBSUUsT0FBTyxDQUFDQyxNQUFNO1FBQ3ZELE1BQU1DLGVBQWU7UUFDckIsTUFBTUMsY0FBYyxNQUFNSCxRQUFRSSxVQUFVLENBQUNDLFFBQVE7UUFDckQsTUFBTUMsbUJBQW1CSCxZQUFZSSxXQUFXLENBQUNDLFlBQVksQ0FBQ0MsSUFBSTtRQUNsRSxNQUFNQyxrQkFBa0JQLFlBQVlJLFdBQVcsQ0FBQ0ksV0FBVyxDQUFDRixJQUFJO1FBQ2hFLE1BQU1HLHdCQUF3QlQsWUFBWUksV0FBVyxDQUFDTSxpQkFBaUIsQ0FBQ0osSUFBSTtRQUU1RSxJQUFJO1lBQ0YsTUFBTUsscUJBQXFCZixZQUFZZ0IsR0FBRyxDQUFDVCxtQkFBbUJVO1lBQzlELElBQUlGLG9CQUFvQjtnQkFDdEIsTUFBTWQsVUFBVUYsSUFBSUUsT0FBTztnQkFDM0IsTUFBTSxDQUFDaUIsTUFBTSxHQUFHSCxtQkFBbUJJLEtBQUssQ0FBQztnQkFDekMsTUFBTSxFQUFFQyxNQUFNQyxRQUFRLEVBQUUsR0FBRyxNQUFNcEIsUUFBUXFCLElBQUksQ0FBQztvQkFDNUNDLFlBQVkxQixRQUFRMkIsc0JBQXNCO29CQUMxQ0MsT0FBTzt3QkFDTFAsT0FBTzs0QkFBRVEsUUFBUVI7d0JBQU07b0JBQ3pCO29CQUNBUyxPQUFPO29CQUNQNUI7Z0JBQ0Y7Z0JBQ0EsTUFBTTZCLFVBQVVQLFNBQVNRLEVBQUUsQ0FBQztnQkFDNUIsSUFBSUQsU0FBUztvQkFDWCxJQUFJO3dCQUNGLE1BQU0zQixRQUFRNkIsTUFBTSxDQUFDOzRCQUNuQlAsWUFBWTFCLFFBQVEyQixzQkFBc0I7NEJBQzFDQyxPQUFPO2dDQUNMTSxJQUFJO29DQUFFTCxRQUFRRSxRQUFRRyxFQUFFO2dDQUFDOzRCQUMzQjs0QkFDQWhDO3dCQUNGO29CQUNGLEVBQUUsT0FBT2lDLE9BQU87d0JBQ2RDLFFBQVFELEtBQUssQ0FBQywyQkFBMkJBO29CQUMzQztnQkFDRjtZQUNGO1lBRUEsTUFBTUUsdUJBQXVCM0IsbUJBQW1CO1lBQ2hELE1BQU00QixzQkFBc0JuQyxZQUFZb0MsTUFBTTtZQUM5Q0Qsb0JBQW9CRSxPQUFPLENBQUMsQ0FBQ0M7Z0JBQzNCLElBQUlBLE9BQU81QixJQUFJLENBQUM2QixVQUFVLENBQUNMLHVCQUF1QjtvQkFDaERsQyxZQUFZOEIsTUFBTSxDQUFDUSxPQUFPNUIsSUFBSTtnQkFDaEM7Z0JBQ0EsTUFBTThCLHlCQUF5QnJDLGVBQWUrQjtnQkFDOUMsSUFBSUksT0FBTzVCLElBQUksQ0FBQzZCLFVBQVUsQ0FBQ0MseUJBQXlCO29CQUNsRHhDLFlBQVk4QixNQUFNLENBQUNRLE9BQU81QixJQUFJO2dCQUNoQztZQUNGO1FBQ0YsRUFBRSxPQUFPc0IsT0FBTztZQUNkQyxRQUFRRCxLQUFLLENBQUMsMEJBQTBCQTtRQUMxQztRQUNBLHlEQUF5RDtRQUN6RCx1RUFBdUU7UUFDdkVoQyxZQUFZOEIsTUFBTSxDQUFDO1FBRW5CLE1BQU1XLHdCQUF3QmxDLGlCQUFpQm1DLE9BQU8sQ0FBQ3ZDLGNBQWM7UUFDckUsTUFBTXdDLHVCQUF1QmhDLGdCQUFnQitCLE9BQU8sQ0FBQ3ZDLGNBQWM7UUFDbkUsTUFBTXlDLDZCQUE2Qi9CLHNCQUFzQjZCLE9BQU8sQ0FBQ3ZDLGNBQWM7UUFFL0VILFlBQVk4QixNQUFNLENBQUNXO1FBQ25CekMsWUFBWThCLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRVcsdUJBQXVCO1FBRXREekMsWUFBWThCLE1BQU0sQ0FBQ2E7UUFDbkIzQyxZQUFZOEIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFYSxzQkFBc0I7UUFFckQzQyxZQUFZOEIsTUFBTSxDQUFDYztRQUNuQjVDLFlBQVk4QixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUVjLDRCQUE0QjtJQUM3RDtJQUVBLE9BQU85QztBQUNULEVBQUMifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2hvb2tzL2FmdGVyLWxvZ291dC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYU1vZGVsS2V5IH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgZ2V0TWFwcGVkQ29sbGVjdGlvbiwgdHJhbnNmb3JtQ29sbGVjdGlvbnNUb0NvbGxlY3Rpb25Db25maWdzIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9nZXQtY29sbGVjdGlvbidcbmltcG9ydCB7IGdldFBheWxvYWRBdXRoIH0gZnJvbSAnQC9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2dldC1wYXlsb2FkLWF1dGgnXG5pbXBvcnQgeyBjb29raWVzIH0gZnJvbSAnbmV4dC9oZWFkZXJzJ1xuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rIH0gZnJvbSAncGF5bG9hZCdcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFmdGVyTG9nb3V0SG9vaygpIHtcbiAgY29uc3QgaG9vazogQ29sbGVjdGlvbkFmdGVyTG9nb3V0SG9vayA9IGFzeW5jICh7IHJlcSB9KSA9PiB7XG4gICAgY29uc3QgY29va2llU3RvcmUgPSBhd2FpdCBjb29raWVzKClcbiAgICBjb25zdCBwYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEF1dGgocmVxLnBheWxvYWQuY29uZmlnKVxuICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gcmVxLnBheWxvYWQuY29sbGVjdGlvbnNcbiAgICBjb25zdCBjb2xsZWN0aW9uTWFwID0gdHJhbnNmb3JtQ29sbGVjdGlvbnNUb0NvbGxlY3Rpb25Db25maWdzKGNvbGxlY3Rpb25zKVxuICAgIGNvbnN0IHNlY3VyZVByZWZpeCA9ICdfX1NlY3VyZS0nXG4gICAgY29uc3QgYXV0aENvbnRleHQgPSBhd2FpdCBwYXlsb2FkLmJldHRlckF1dGguJGNvbnRleHRcbiAgICBjb25zdCBzZXNzaW9uVG9rZW5OYW1lID0gYXV0aENvbnRleHQuYXV0aENvb2tpZXMuc2Vzc2lvblRva2VuLm5hbWVcbiAgICBjb25zdCBzZXNzaW9uRGF0YU5hbWUgPSBhdXRoQ29udGV4dC5hdXRoQ29va2llcy5zZXNzaW9uRGF0YS5uYW1lXG4gICAgY29uc3QgZG9udFJlbWVtYmVyVG9rZW5OYW1lID0gYXV0aENvbnRleHQuYXV0aENvb2tpZXMuZG9udFJlbWVtYmVyVG9rZW4ubmFtZVxuICAgIGNvbnN0IHNlc3Npb25zU2x1ZyA9IGdldE1hcHBlZENvbGxlY3Rpb24oeyBjb2xsZWN0aW9uTWFwLCBiZXR0ZXJBdXRoTW9kZWxLZXk6IGJhTW9kZWxLZXkuc2Vzc2lvbiB9KS5zbHVnXG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2Vzc2lvbkNvb2tpZVZhbHVlID0gY29va2llU3RvcmUuZ2V0KHNlc3Npb25Ub2tlbk5hbWUpPy52YWx1ZVxuICAgICAgaWYgKHNlc3Npb25Db29raWVWYWx1ZSkge1xuICAgICAgICBjb25zdCBwYXlsb2FkID0gcmVxLnBheWxvYWRcbiAgICAgICAgY29uc3QgW3Rva2VuXSA9IHNlc3Npb25Db29raWVWYWx1ZS5zcGxpdCgnLicpXG4gICAgICAgIGNvbnN0IHsgZG9jczogc2Vzc2lvbnMgfSA9IGF3YWl0IHBheWxvYWQuZmluZCh7XG4gICAgICAgICAgY29sbGVjdGlvbjogc2Vzc2lvbnNTbHVnLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0b2tlbjogeyBlcXVhbHM6IHRva2VuIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgIHJlcVxuICAgICAgICB9KVxuICAgICAgICBjb25zdCBzZXNzaW9uID0gc2Vzc2lvbnMuYXQoMClcbiAgICAgICAgaWYgKHNlc3Npb24pIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiBzZXNzaW9uc1NsdWcsXG4gICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHsgZXF1YWxzOiBzZXNzaW9uLmlkIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgcmVxXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkZWxldGluZyBzZXNzaW9uOicsIGVycm9yKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBiYXNlTXVsdGlTZXNzaW9uTmFtZSA9IHNlc3Npb25Ub2tlbk5hbWUgKyAnX211bHRpJ1xuICAgICAgY29uc3QgbXVsdGlTZXNzaW9uQ29va2llcyA9IGNvb2tpZVN0b3JlLmdldEFsbCgpXG4gICAgICBtdWx0aVNlc3Npb25Db29raWVzLmZvckVhY2goKGNvb2tpZSkgPT4ge1xuICAgICAgICBpZiAoY29va2llLm5hbWUuc3RhcnRzV2l0aChiYXNlTXVsdGlTZXNzaW9uTmFtZSkpIHtcbiAgICAgICAgICBjb29raWVTdG9yZS5kZWxldGUoY29va2llLm5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VjdXJlTXVsdGlTZXNzaW9uTmFtZSA9IHNlY3VyZVByZWZpeCArIGJhc2VNdWx0aVNlc3Npb25OYW1lXG4gICAgICAgIGlmIChjb29raWUubmFtZS5zdGFydHNXaXRoKHNlY3VyZU11bHRpU2Vzc2lvbk5hbWUpKSB7XG4gICAgICAgICAgY29va2llU3RvcmUuZGVsZXRlKGNvb2tpZS5uYW1lKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhZnRlckxvZ291dEhvb2s6JywgZXJyb3IpXG4gICAgfVxuICAgIFxuICAgIC8vVGhpcyBpcyBhIGhhY2t5IHdhdCB0byBkZWxldGUgdGhlIGFkbWluIHNlc3Npb24gY29va2llIChCRVRURVIgQVVUSCBIQVJEQ09ERUQgVEhJUylcbiAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2JldHRlci1hdXRoL2JldHRlci1hdXRoL2Jsb2IvMjVlODI2NjllZWQ4M2JhNmRhMDYzYzE2N2U4YWU1YjdkYTg0ZWY5Zi9wYWNrYWdlcy9iZXR0ZXItYXV0aC9zcmMvcGx1Z2lucy9hZG1pbi9hZG1pbi50cyNMOTE3QzctTDkxN0MyM1xuICAgIGNvb2tpZVN0b3JlLmRlbGV0ZSgnYWRtaW5fc2Vzc2lvbicpXG5cbiAgICBjb25zdCBjbGVhblNlc3Npb25Ub2tlbk5hbWUgPSBzZXNzaW9uVG9rZW5OYW1lLnJlcGxhY2Uoc2VjdXJlUHJlZml4LCAnJylcbiAgICBjb25zdCBjbGVhblNlc3Npb25EYXRhTmFtZSA9IHNlc3Npb25EYXRhTmFtZS5yZXBsYWNlKHNlY3VyZVByZWZpeCwgJycpXG4gICAgY29uc3QgY2xlYW5Eb250UmVtZW1iZXJUb2tlbk5hbWUgPSBkb250UmVtZW1iZXJUb2tlbk5hbWUucmVwbGFjZShzZWN1cmVQcmVmaXgsICcnKVxuXG4gICAgY29va2llU3RvcmUuZGVsZXRlKGNsZWFuU2Vzc2lvblRva2VuTmFtZSlcbiAgICBjb29raWVTdG9yZS5kZWxldGUoYF9fU2VjdXJlLSR7Y2xlYW5TZXNzaW9uVG9rZW5OYW1lfWApXG5cbiAgICBjb29raWVTdG9yZS5kZWxldGUoY2xlYW5TZXNzaW9uRGF0YU5hbWUpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKGBfX1NlY3VyZS0ke2NsZWFuU2Vzc2lvbkRhdGFOYW1lfWApXG5cbiAgICBjb29raWVTdG9yZS5kZWxldGUoY2xlYW5Eb250UmVtZW1iZXJUb2tlbk5hbWUpXG4gICAgY29va2llU3RvcmUuZGVsZXRlKGBfX1NlY3VyZS0ke2NsZWFuRG9udFJlbWVtYmVyVG9rZW5OYW1lfWApXG4gIH1cblxuICByZXR1cm4gaG9vayBhcyBDb2xsZWN0aW9uQWZ0ZXJMb2dvdXRIb29rXG59XG4iXSwibmFtZXMiOlsiYmFNb2RlbEtleSIsImdldE1hcHBlZENvbGxlY3Rpb24iLCJ0cmFuc2Zvcm1Db2xsZWN0aW9uc1RvQ29sbGVjdGlvbkNvbmZpZ3MiLCJnZXRQYXlsb2FkQXV0aCIsImNvb2tpZXMiLCJnZXRBZnRlckxvZ291dEhvb2siLCJob29rIiwicmVxIiwiY29va2llU3RvcmUiLCJwYXlsb2FkIiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uTWFwIiwic2VjdXJlUHJlZml4IiwiYXV0aENvbnRleHQiLCJiZXR0ZXJBdXRoIiwiJGNvbnRleHQiLCJzZXNzaW9uVG9rZW5OYW1lIiwiYXV0aENvb2tpZXMiLCJzZXNzaW9uVG9rZW4iLCJuYW1lIiwic2Vzc2lvbkRhdGFOYW1lIiwic2Vzc2lvbkRhdGEiLCJkb250UmVtZW1iZXJUb2tlbk5hbWUiLCJkb250UmVtZW1iZXJUb2tlbiIsInNlc3Npb25zU2x1ZyIsImJldHRlckF1dGhNb2RlbEtleSIsInNlc3Npb24iLCJzbHVnIiwic2Vzc2lvbkNvb2tpZVZhbHVlIiwiZ2V0IiwidmFsdWUiLCJ0b2tlbiIsInNwbGl0IiwiZG9jcyIsInNlc3Npb25zIiwiZmluZCIsImNvbGxlY3Rpb24iLCJ3aGVyZSIsImVxdWFscyIsImxpbWl0IiwiYXQiLCJkZWxldGUiLCJpZCIsImVycm9yIiwiY29uc29sZSIsImJhc2VNdWx0aVNlc3Npb25OYW1lIiwibXVsdGlTZXNzaW9uQ29va2llcyIsImdldEFsbCIsImZvckVhY2giLCJjb29raWUiLCJzdGFydHNXaXRoIiwic2VjdXJlTXVsdGlTZXNzaW9uTmFtZSIsImNsZWFuU2Vzc2lvblRva2VuTmFtZSIsInJlcGxhY2UiLCJjbGVhblNlc3Npb25EYXRhTmFtZSIsImNsZWFuRG9udFJlbWVtYmVyVG9rZW5OYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsd0JBQWdDO0FBQzNELFNBQVNDLG1CQUFtQixFQUFFQyx1Q0FBdUMsUUFBUSxxQ0FBNkM7QUFDMUgsU0FB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
@@ -1,7 +1,3 @@
1
- import type { CollectionBeforeDeleteHook } from 'payload';
2
- export declare const getBeforeDeleteHook: ({ accountsSlug, sessionsSlug, verificationsSlug }: {
3
- accountsSlug: string;
4
- sessionsSlug: string;
5
- verificationsSlug: string;
6
- }) => CollectionBeforeDeleteHook;
1
+ import { type CollectionBeforeDeleteHook } from 'payload';
2
+ export declare function getBeforeDeleteHook(): CollectionBeforeDeleteHook;
7
3
  //# sourceMappingURL=before-delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"before-delete.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/before-delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,eAAO,MAAM,mBAAmB,GAAI,mDAIjC;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,KAAG,0BA+CH,CAAA"}
1
+ {"version":3,"file":"before-delete.d.ts","sourceRoot":"","sources":["../../../../../../../src/better-auth/plugin/lib/build-collections/users/hooks/before-delete.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuD,KAAK,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAE9G,wBAAgB,mBAAmB,IAAI,0BAA0B,CAwDhE"}