@luochuanyuewu/payload-auth 1.8.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.
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +24 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +317 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts +2 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +23 -0
- package/dist/better-auth/adapter/generate-schema/index.d.ts +5 -0
- package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/index.js +19 -0
- package/dist/better-auth/adapter/generate-schema/utils.d.ts +3 -0
- package/dist/better-auth/adapter/generate-schema/utils.d.ts.map +1 -0
- package/dist/better-auth/adapter/generate-schema/utils.js +20 -0
- package/dist/better-auth/adapter/index.d.ts +16 -0
- package/dist/better-auth/adapter/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/index.js +717 -0
- package/dist/better-auth/adapter/transform/index.d.ts +31 -0
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -0
- package/dist/better-auth/adapter/transform/index.js +729 -0
- package/dist/better-auth/adapter/types.d.ts +11 -0
- package/dist/better-auth/adapter/types.d.ts.map +1 -0
- package/dist/better-auth/adapter/types.js +3 -0
- package/dist/better-auth/generated-types.d.ts +329 -0
- package/dist/better-auth/generated-types.d.ts.map +1 -0
- package/dist/better-auth/generated-types.js +4 -0
- package/dist/better-auth/index.d.ts +4 -0
- package/dist/better-auth/index.d.ts.map +1 -0
- package/dist/better-auth/index.js +5 -0
- package/dist/better-auth/plugin/constants.d.ts +231 -0
- package/dist/better-auth/plugin/constants.d.ts.map +1 -0
- package/dist/better-auth/plugin/constants.js +259 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +13 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/check-plugin-exists.js +14 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts +30 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +46 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +8 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-admin-access.js +22 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +6 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-all-roles.js +20 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +19 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +75 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +6 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-collection-slug.js +20 -0
- package/dist/better-auth/plugin/helpers/get-collection.d.ts +28 -0
- package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-collection.js +49 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-ip.js +31 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +3 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/get-signed-cookie.js +63 -0
- package/dist/better-auth/plugin/helpers/index.d.ts +2 -0
- package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/index.js +3 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +60 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +49 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +21 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -0
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +63 -0
- package/dist/better-auth/plugin/index.d.ts +8 -0
- package/dist/better-auth/plugin/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/index.js +103 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +13 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +87 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +51 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +150 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +6 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +11 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +8 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +117 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +174 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/device-code.js +49 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +11 -0
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/index.js +79 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +93 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +58 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/members.js +72 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +105 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +117 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +87 -0
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.js +65 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +106 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +115 -0
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.js +54 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.js +65 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +140 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +80 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +110 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/team-members.js +63 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/teams.js +74 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +66 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +52 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +12 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +68 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +5 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +6 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +114 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +64 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +90 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +80 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +79 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +54 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +15 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +7 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +8 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +17 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +3 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +90 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +333 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +16 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +24 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +11 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +112 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +8 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +31 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +12 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +26 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +18 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +84 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +21 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +95 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +82 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +6 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/get-payload-auth.js +9 -0
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +8 -0
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/init-better-auth.js +16 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +12 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +12 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +146 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +18 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +34 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +11 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +3 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +11 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +20 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +20 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +14 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +38 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +8 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +23 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts +26 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +62 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +42 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +10 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +62 -0
- package/dist/better-auth/plugin/lib/set-login-methods.d.ts +5 -0
- package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/set-login-methods.js +14 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +10 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +116 -0
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +36 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +213 -0
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +136 -0
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +197 -0
- package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +49 -0
- package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/login-form/context.js +94 -0
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +167 -0
- package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/login-form/index.js +6 -0
- package/dist/better-auth/plugin/payload/components/login-form/index.scss +58 -0
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/logout-button.js +24 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +122 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +3 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/client.js +61 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +5 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.js +42 -0
- package/dist/better-auth/plugin/payload/components/passkeys/index.scss +98 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/list.js +57 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +23 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/passkeys/types.js +3 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +7 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js +13 -0
- package/dist/better-auth/plugin/payload/components/token-field.d.ts +4 -0
- package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/token-field.js +29 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +347 -0
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.scss +116 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts +7 -0
- package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/exports/client.js +8 -0
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +9 -0
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/exports/rsc.js +10 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +3 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +9 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts +2 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +22 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +23 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-login/client.js +24 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +11 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-login/index.js +143 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +23 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/client.js +185 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +10 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/admin-signup/index.js +92 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +7 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js +104 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js +61 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +11 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/client.js +111 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/reset-password/index.js +78 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +9 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +79 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +10 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -0
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +49 -0
- package/dist/better-auth/plugin/types.d.ts +448 -0
- package/dist/better-auth/plugin/types.d.ts.map +1 -0
- package/dist/better-auth/plugin/types.js +3 -0
- package/dist/better-auth/plugin/utils/set.d.ts +40 -0
- package/dist/better-auth/plugin/utils/set.d.ts.map +1 -0
- package/dist/better-auth/plugin/utils/set.js +84 -0
- package/dist/better-auth/scripts/generate-types.d.ts +2 -0
- package/dist/better-auth/scripts/generate-types.d.ts.map +1 -0
- package/dist/better-auth/scripts/generate-types.js +225 -0
- package/dist/better-auth/types.d.ts +3 -0
- package/dist/better-auth/types.d.ts.map +1 -0
- package/dist/better-auth/types.js +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/shared/components/icons.d.ts +8 -0
- package/dist/shared/components/icons.d.ts.map +1 -0
- package/dist/shared/components/icons.js +436 -0
- package/dist/shared/components/logo.d.ts +3 -0
- package/dist/shared/components/logo.d.ts.map +1 -0
- package/dist/shared/components/logo.js +24 -0
- package/dist/shared/form/components/submit.d.ts +8 -0
- package/dist/shared/form/components/submit.d.ts.map +1 -0
- package/dist/shared/form/components/submit.js +23 -0
- package/dist/shared/form/fields/text-field.d.ts +9 -0
- package/dist/shared/form/fields/text-field.d.ts.map +1 -0
- package/dist/shared/form/fields/text-field.js +44 -0
- package/dist/shared/form/index.d.ts +28 -0
- package/dist/shared/form/index.d.ts.map +1 -0
- package/dist/shared/form/index.js +17 -0
- package/dist/shared/form/ui/header/index.d.ts +9 -0
- package/dist/shared/form/ui/header/index.d.ts.map +1 -0
- package/dist/shared/form/ui/header/index.js +23 -0
- package/dist/shared/form/ui/header/index.scss +8 -0
- package/dist/shared/form/ui/index.d.ts +34 -0
- package/dist/shared/form/ui/index.d.ts.map +1 -0
- package/dist/shared/form/ui/index.js +70 -0
- package/dist/shared/form/ui/index.scss +27 -0
- package/dist/shared/form/validation.d.ts +65 -0
- package/dist/shared/form/validation.d.ts.map +1 -0
- package/dist/shared/form/validation.js +108 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +4 -0
- package/dist/shared/payload/fields/field-copy-button/index.css +47 -0
- package/dist/shared/payload/fields/field-copy-button/index.d.ts +4 -0
- package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -0
- package/dist/shared/payload/fields/field-copy-button/index.js +38 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.css +14 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +4 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -0
- package/dist/shared/payload/fields/generate-uuid-button/index.js +26 -0
- package/dist/shared/payload/fields/index.d.ts +3 -0
- package/dist/shared/payload/fields/index.d.ts.map +1 -0
- package/dist/shared/payload/fields/index.js +4 -0
- package/dist/shared/utils/regex.d.ts +3 -0
- package/dist/shared/utils/regex.d.ts.map +1 -0
- package/dist/shared/utils/regex.js +4 -0
- package/dist/shared/utils/try-catch.d.ts +12 -0
- package/dist/shared/utils/try-catch.d.ts.map +1 -0
- package/dist/shared/utils/try-catch.js +17 -0
- package/dist/shared/utils/value-or-default.d.ts +10 -0
- package/dist/shared/utils/value-or-default.d.ts.map +1 -0
- package/dist/shared/utils/value-or-default.js +12 -0
- package/package.json +124 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { checkPluginExists } from "../../../helpers/check-plugin-exists";
|
|
2
|
+
import { baModelFieldKeys, baModelKey, defaults, supportedBAPluginIds } from "../../../constants";
|
|
3
|
+
import { getAllRoleOptions } from "../../../helpers/get-all-roles";
|
|
4
|
+
import { assertAllSchemaFields, getSchemaCollectionSlug, getSchemaFieldName } from "../utils/collection-schema";
|
|
5
|
+
import { hasAdminRoles, isAdminOrCurrentUserUpdateWithAllowedFields, isAdminOrCurrentUserWithRoles, isAdminWithRoles } from "../utils/payload-access";
|
|
6
|
+
import { getCollectionFields } from "../utils/transform-schema-fields-to-payload";
|
|
7
|
+
import { betterAuthStrategy } from "./better-auth-strategy";
|
|
8
|
+
import { getGenerateInviteUrlEndpoint, getRefreshTokenEndpoint, getSendInviteUrlEndpoint, getSetAdminRoleEndpoint } from "./endpoints";
|
|
9
|
+
import { getAfterLoginHook, getAfterLogoutHook, getBeforeDeleteHook, getBeforeLoginHook, getOnVerifiedChangeHook, getSyncAccountHook } from "./hooks";
|
|
10
|
+
export function buildUsersCollection({ incomingCollections, pluginOptions, resolvedSchemas }) {
|
|
11
|
+
const userSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.user);
|
|
12
|
+
const passkeySlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.passkey);
|
|
13
|
+
const sessionSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.session);
|
|
14
|
+
const accountSlug = getSchemaCollectionSlug(resolvedSchemas, baModelKey.account);
|
|
15
|
+
const passkeyUserIdFieldName = getSchemaFieldName(resolvedSchemas, baModelKey.passkey, baModelFieldKeys.passkey.userId);
|
|
16
|
+
const userSchema = resolvedSchemas[baModelKey.user];
|
|
17
|
+
const adminRoles = pluginOptions.users?.adminRoles ?? [
|
|
18
|
+
defaults.adminRole
|
|
19
|
+
];
|
|
20
|
+
const allRoleOptions = getAllRoleOptions(pluginOptions);
|
|
21
|
+
const hasUsernamePlugin = checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.username);
|
|
22
|
+
const existingUserCollection = incomingCollections.find((collection)=>collection.slug === userSlug);
|
|
23
|
+
// TODO: REVIEW THIS
|
|
24
|
+
const allowedFields = pluginOptions.users?.allowedFields ?? [
|
|
25
|
+
"name"
|
|
26
|
+
];
|
|
27
|
+
const userFieldRules = [
|
|
28
|
+
{
|
|
29
|
+
condition: (field)=>field.fieldName === "createdAt" || field.fieldName === "updatedAt",
|
|
30
|
+
transform: (field)=>({
|
|
31
|
+
...field,
|
|
32
|
+
saveToJWT: false,
|
|
33
|
+
admin: {
|
|
34
|
+
disableBulkEdit: true,
|
|
35
|
+
hidden: true
|
|
36
|
+
},
|
|
37
|
+
index: true,
|
|
38
|
+
label: ({ t })=>field.fieldName === "createdAt" ? t("general:createdAt") : t("general:updatedAt")
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
const fieldOverrides = {
|
|
43
|
+
role: (field)=>({
|
|
44
|
+
type: "select",
|
|
45
|
+
hasMany: true,
|
|
46
|
+
options: allRoleOptions,
|
|
47
|
+
defaultValue: field.defaultValue ?? defaults.userRole,
|
|
48
|
+
saveToJWT: true,
|
|
49
|
+
admin: {
|
|
50
|
+
description: "The role/ roles of the user"
|
|
51
|
+
}
|
|
52
|
+
}),
|
|
53
|
+
email: ()=>({
|
|
54
|
+
index: true,
|
|
55
|
+
admin: {
|
|
56
|
+
description: "The email of the user"
|
|
57
|
+
}
|
|
58
|
+
}),
|
|
59
|
+
emailVerified: (field)=>({
|
|
60
|
+
defaultValue: field.defaultValue ?? false,
|
|
61
|
+
saveToJWT: true,
|
|
62
|
+
admin: {
|
|
63
|
+
description: "Whether the email of the user has been verified"
|
|
64
|
+
}
|
|
65
|
+
}),
|
|
66
|
+
name: ()=>({
|
|
67
|
+
saveToJWT: true,
|
|
68
|
+
admin: {
|
|
69
|
+
description: "Users chosen display name"
|
|
70
|
+
}
|
|
71
|
+
}),
|
|
72
|
+
image: ()=>({
|
|
73
|
+
saveToJWT: false,
|
|
74
|
+
admin: {
|
|
75
|
+
description: "The image of the user"
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
twoFactorEnabled: ()=>({
|
|
79
|
+
defaultValue: false,
|
|
80
|
+
admin: {
|
|
81
|
+
description: "Whether the user has two factor authentication enabled",
|
|
82
|
+
components: {
|
|
83
|
+
Field: {
|
|
84
|
+
path: "payload-auth/better-auth/plugin/client#TwoFactorAuth"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}),
|
|
89
|
+
username: ()=>({
|
|
90
|
+
admin: {
|
|
91
|
+
description: "The username of the user"
|
|
92
|
+
}
|
|
93
|
+
}),
|
|
94
|
+
displayUsername: ()=>({
|
|
95
|
+
admin: {
|
|
96
|
+
description: "The display username of the user"
|
|
97
|
+
}
|
|
98
|
+
}),
|
|
99
|
+
isAnonymous: ()=>({
|
|
100
|
+
defaultValue: false,
|
|
101
|
+
admin: {
|
|
102
|
+
description: "Whether the user is anonymous."
|
|
103
|
+
}
|
|
104
|
+
}),
|
|
105
|
+
phoneNumber: ()=>({
|
|
106
|
+
admin: {
|
|
107
|
+
description: "The phone number of the user"
|
|
108
|
+
}
|
|
109
|
+
}),
|
|
110
|
+
phoneNumberVerified: ()=>({
|
|
111
|
+
defaultValue: false,
|
|
112
|
+
admin: {
|
|
113
|
+
description: "Whether the phone number of the user has been verified"
|
|
114
|
+
}
|
|
115
|
+
}),
|
|
116
|
+
banned: ()=>({
|
|
117
|
+
defaultValue: false,
|
|
118
|
+
admin: {
|
|
119
|
+
description: "Whether the user is banned from the platform"
|
|
120
|
+
}
|
|
121
|
+
}),
|
|
122
|
+
banReason: ()=>({
|
|
123
|
+
admin: {
|
|
124
|
+
description: "The reason for the ban"
|
|
125
|
+
}
|
|
126
|
+
}),
|
|
127
|
+
banExpires: ()=>({
|
|
128
|
+
admin: {
|
|
129
|
+
description: "The date and time when the ban will expire"
|
|
130
|
+
}
|
|
131
|
+
}),
|
|
132
|
+
normalizedEmail: ()=>({
|
|
133
|
+
admin: {
|
|
134
|
+
readOnly: true,
|
|
135
|
+
description: "The normalized email of the user"
|
|
136
|
+
}
|
|
137
|
+
}),
|
|
138
|
+
stripeCustomerId: ()=>({
|
|
139
|
+
admin: {
|
|
140
|
+
readOnly: true,
|
|
141
|
+
description: "The Stripe customer ID of the user"
|
|
142
|
+
}
|
|
143
|
+
})
|
|
144
|
+
};
|
|
145
|
+
const collectionFields = getCollectionFields({
|
|
146
|
+
schema: userSchema,
|
|
147
|
+
fieldRules: userFieldRules,
|
|
148
|
+
additionalProperties: fieldOverrides
|
|
149
|
+
});
|
|
150
|
+
const joinFields = [
|
|
151
|
+
// Better Auth’s internal adapter renames `account` => `accounts` via
|
|
152
|
+
// `const { account: accounts, ...user } = result`
|
|
153
|
+
// @see https://github.com/better-auth/better-auth/blob/28654734e13dc0bb22d5623722e97b9a8dbc1b37/packages/better-auth/src/db/internal-adapter.ts#L760-L761
|
|
154
|
+
// The join field name must therefore stay exactly `account` to be picked up.
|
|
155
|
+
{
|
|
156
|
+
label: "Accounts",
|
|
157
|
+
name: baModelKey.account,
|
|
158
|
+
type: "join",
|
|
159
|
+
hasMany: true,
|
|
160
|
+
collection: accountSlug,
|
|
161
|
+
on: getSchemaFieldName(resolvedSchemas, baModelKey.account, baModelFieldKeys.account.userId),
|
|
162
|
+
maxDepth: 1,
|
|
163
|
+
saveToJWT: false
|
|
164
|
+
},
|
|
165
|
+
// Sessions use the same pattern; keep the singular model key for the join name.
|
|
166
|
+
{
|
|
167
|
+
label: "Sessions",
|
|
168
|
+
name: baModelKey.session,
|
|
169
|
+
type: "join",
|
|
170
|
+
hasMany: true,
|
|
171
|
+
collection: sessionSlug,
|
|
172
|
+
on: getSchemaFieldName(resolvedSchemas, baModelKey.session, baModelFieldKeys.session.userId),
|
|
173
|
+
maxDepth: 1,
|
|
174
|
+
saveToJWT: false
|
|
175
|
+
}
|
|
176
|
+
];
|
|
177
|
+
let usersCollection = {
|
|
178
|
+
...existingUserCollection,
|
|
179
|
+
slug: userSlug,
|
|
180
|
+
admin: {
|
|
181
|
+
defaultColumns: [
|
|
182
|
+
"email"
|
|
183
|
+
],
|
|
184
|
+
useAsTitle: "email",
|
|
185
|
+
group: pluginOptions?.collectionAdminGroup ?? "Auth",
|
|
186
|
+
...existingUserCollection?.admin,
|
|
187
|
+
hidden: pluginOptions.users?.hidden ?? false,
|
|
188
|
+
components: {
|
|
189
|
+
Description: {
|
|
190
|
+
path: "payload-auth/better-auth/plugin/client#AdminInviteButton",
|
|
191
|
+
clientProps: {
|
|
192
|
+
roles: allRoleOptions
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
views: {
|
|
196
|
+
edit: {
|
|
197
|
+
adminButtons: {
|
|
198
|
+
tab: {
|
|
199
|
+
Component: {
|
|
200
|
+
path: "payload-auth/better-auth/plugin/client#AdminButtons",
|
|
201
|
+
clientProps: {
|
|
202
|
+
userSlug,
|
|
203
|
+
baseURL: pluginOptions.betterAuthOptions?.baseURL,
|
|
204
|
+
basePath: pluginOptions.betterAuthOptions?.basePath
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
condition: ()=>{
|
|
208
|
+
// Only show the impersonate button if the admin plugin is enabled
|
|
209
|
+
return checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.admin);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
access: {
|
|
218
|
+
admin: hasAdminRoles(adminRoles),
|
|
219
|
+
read: isAdminOrCurrentUserWithRoles({
|
|
220
|
+
adminRoles,
|
|
221
|
+
idField: "id"
|
|
222
|
+
}),
|
|
223
|
+
create: isAdminWithRoles({
|
|
224
|
+
adminRoles
|
|
225
|
+
}),
|
|
226
|
+
delete: isAdminOrCurrentUserWithRoles({
|
|
227
|
+
adminRoles,
|
|
228
|
+
idField: "id"
|
|
229
|
+
}),
|
|
230
|
+
update: isAdminOrCurrentUserUpdateWithAllowedFields({
|
|
231
|
+
allowedFields,
|
|
232
|
+
adminRoles,
|
|
233
|
+
userSlug
|
|
234
|
+
}),
|
|
235
|
+
...existingUserCollection?.access ?? {}
|
|
236
|
+
},
|
|
237
|
+
custom: {
|
|
238
|
+
...existingUserCollection?.custom ?? {},
|
|
239
|
+
betterAuthModelKey: baModelKey.user
|
|
240
|
+
},
|
|
241
|
+
endpoints: [
|
|
242
|
+
...existingUserCollection?.endpoints ? existingUserCollection.endpoints : [],
|
|
243
|
+
getRefreshTokenEndpoint(userSlug),
|
|
244
|
+
getSetAdminRoleEndpoint(pluginOptions, userSlug),
|
|
245
|
+
getGenerateInviteUrlEndpoint({
|
|
246
|
+
roles: allRoleOptions,
|
|
247
|
+
pluginOptions
|
|
248
|
+
}),
|
|
249
|
+
getSendInviteUrlEndpoint(pluginOptions)
|
|
250
|
+
],
|
|
251
|
+
hooks: {
|
|
252
|
+
beforeChange: [
|
|
253
|
+
...existingUserCollection?.hooks?.beforeChange ?? [],
|
|
254
|
+
...pluginOptions.disableDefaultPayloadAuth ? [] : [
|
|
255
|
+
getOnVerifiedChangeHook()
|
|
256
|
+
]
|
|
257
|
+
],
|
|
258
|
+
afterChange: [
|
|
259
|
+
...existingUserCollection?.hooks?.afterChange ?? [],
|
|
260
|
+
...pluginOptions.disableDefaultPayloadAuth ? [] : [
|
|
261
|
+
getSyncAccountHook()
|
|
262
|
+
]
|
|
263
|
+
],
|
|
264
|
+
beforeLogin: [
|
|
265
|
+
...existingUserCollection?.hooks?.beforeLogin ?? [],
|
|
266
|
+
...pluginOptions.disableDefaultPayloadAuth ? [] : [
|
|
267
|
+
getBeforeLoginHook(pluginOptions.betterAuthOptions ?? {})
|
|
268
|
+
]
|
|
269
|
+
],
|
|
270
|
+
afterLogin: [
|
|
271
|
+
...existingUserCollection?.hooks?.afterLogin ?? [],
|
|
272
|
+
...pluginOptions.disableDefaultPayloadAuth ? [] : [
|
|
273
|
+
getAfterLoginHook()
|
|
274
|
+
]
|
|
275
|
+
],
|
|
276
|
+
afterLogout: [
|
|
277
|
+
...existingUserCollection?.hooks?.afterLogout ?? [],
|
|
278
|
+
getAfterLogoutHook()
|
|
279
|
+
],
|
|
280
|
+
beforeDelete: [
|
|
281
|
+
...existingUserCollection?.hooks?.beforeDelete ?? [],
|
|
282
|
+
getBeforeDeleteHook()
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
auth: {
|
|
286
|
+
...existingUserCollection && typeof existingUserCollection.auth === "object" ? existingUserCollection.auth : {},
|
|
287
|
+
disableLocalStrategy: pluginOptions.disableDefaultPayloadAuth ? true : undefined,
|
|
288
|
+
...hasUsernamePlugin && {
|
|
289
|
+
loginWithUsername: {
|
|
290
|
+
allowEmailLogin: true,
|
|
291
|
+
requireEmail: true,
|
|
292
|
+
requireUsername: false
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
strategies: [
|
|
296
|
+
betterAuthStrategy(userSlug)
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
fields: [
|
|
300
|
+
...existingUserCollection?.fields ?? [],
|
|
301
|
+
...collectionFields ?? [],
|
|
302
|
+
...joinFields,
|
|
303
|
+
...checkPluginExists(pluginOptions.betterAuthOptions ?? {}, supportedBAPluginIds.passkey) ? [
|
|
304
|
+
{
|
|
305
|
+
name: "managePasskeys",
|
|
306
|
+
type: "ui",
|
|
307
|
+
admin: {
|
|
308
|
+
disableBulkEdit: true,
|
|
309
|
+
components: {
|
|
310
|
+
Field: {
|
|
311
|
+
path: "payload-auth/better-auth/plugin/rsc#Passkeys",
|
|
312
|
+
serverProps: {
|
|
313
|
+
passkeyUserIdFieldName,
|
|
314
|
+
passkeySlug,
|
|
315
|
+
pluginOptions
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
] : []
|
|
322
|
+
]
|
|
323
|
+
};
|
|
324
|
+
if (pluginOptions.users?.collectionOverrides) {
|
|
325
|
+
usersCollection = pluginOptions.users.collectionOverrides({
|
|
326
|
+
collection: usersCollection
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
assertAllSchemaFields(usersCollection, userSchema);
|
|
330
|
+
return usersCollection;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3VzZXJzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXNlciB9IGZyb20gXCJAL2JldHRlci1hdXRoL2dlbmVyYXRlZC10eXBlc1wiO1xuaW1wb3J0IHsgY2hlY2tQbHVnaW5FeGlzdHMgfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vaGVscGVycy9jaGVjay1wbHVnaW4tZXhpc3RzXCI7XG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25Db25maWcsIEpvaW5GaWVsZCwgVUlGaWVsZCB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQge1xuICBiYU1vZGVsRmllbGRLZXlzLFxuICBiYU1vZGVsS2V5LFxuICBkZWZhdWx0cyxcbiAgc3VwcG9ydGVkQkFQbHVnaW5JZHNcbn0gZnJvbSBcIi4uLy4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0QWxsUm9sZU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVycy9nZXQtYWxsLXJvbGVzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJ1aWxkQ29sbGVjdGlvblByb3BzLFxuICBGaWVsZE92ZXJyaWRlcyxcbiAgRmllbGRSdWxlXG59IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYXNzZXJ0QWxsU2NoZW1hRmllbGRzLFxuICBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyxcbiAgZ2V0U2NoZW1hRmllbGROYW1lXG59IGZyb20gXCIuLi91dGlscy9jb2xsZWN0aW9uLXNjaGVtYVwiO1xuaW1wb3J0IHtcbiAgaGFzQWRtaW5Sb2xlcyxcbiAgaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyxcbiAgaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMsXG4gIGlzQWRtaW5XaXRoUm9sZXNcbn0gZnJvbSBcIi4uL3V0aWxzL3BheWxvYWQtYWNjZXNzXCI7XG5pbXBvcnQgeyBnZXRDb2xsZWN0aW9uRmllbGRzIH0gZnJvbSBcIi4uL3V0aWxzL3RyYW5zZm9ybS1zY2hlbWEtZmllbGRzLXRvLXBheWxvYWRcIjtcbmltcG9ydCB7IGJldHRlckF1dGhTdHJhdGVneSB9IGZyb20gXCIuL2JldHRlci1hdXRoLXN0cmF0ZWd5XCI7XG5pbXBvcnQge1xuICBnZXRHZW5lcmF0ZUludml0ZVVybEVuZHBvaW50LFxuICBnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCxcbiAgZ2V0U2VuZEludml0ZVVybEVuZHBvaW50LFxuICBnZXRTZXRBZG1pblJvbGVFbmRwb2ludFxufSBmcm9tIFwiLi9lbmRwb2ludHNcIjtcbmltcG9ydCB7XG4gIGdldEFmdGVyTG9naW5Ib29rLFxuICBnZXRBZnRlckxvZ291dEhvb2ssXG4gIGdldEJlZm9yZURlbGV0ZUhvb2ssXG4gIGdldEJlZm9yZUxvZ2luSG9vayxcbiAgZ2V0T25WZXJpZmllZENoYW5nZUhvb2ssXG4gIGdldFN5bmNBY2NvdW50SG9va1xufSBmcm9tIFwiLi9ob29rc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVc2Vyc0NvbGxlY3Rpb24oe1xuICBpbmNvbWluZ0NvbGxlY3Rpb25zLFxuICBwbHVnaW5PcHRpb25zLFxuICByZXNvbHZlZFNjaGVtYXNcbn06IEJ1aWxkQ29sbGVjdGlvblByb3BzKTogQ29sbGVjdGlvbkNvbmZpZyB7XG4gIGNvbnN0IHVzZXJTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcocmVzb2x2ZWRTY2hlbWFzLCBiYU1vZGVsS2V5LnVzZXIpO1xuICBjb25zdCBwYXNza2V5U2x1ZyA9IGdldFNjaGVtYUNvbGxlY3Rpb25TbHVnKFxuICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICBiYU1vZGVsS2V5LnBhc3NrZXlcbiAgKTtcbiAgY29uc3Qgc2Vzc2lvblNsdWcgPSBnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyhcbiAgICByZXNvbHZlZFNjaGVtYXMsXG4gICAgYmFNb2RlbEtleS5zZXNzaW9uXG4gICk7XG4gIGNvbnN0IGFjY291bnRTbHVnID0gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gICAgcmVzb2x2ZWRTY2hlbWFzLFxuICAgIGJhTW9kZWxLZXkuYWNjb3VudFxuICApO1xuICBjb25zdCBwYXNza2V5VXNlcklkRmllbGROYW1lID0gZ2V0U2NoZW1hRmllbGROYW1lKFxuICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICBiYU1vZGVsS2V5LnBhc3NrZXksXG4gICAgYmFNb2RlbEZpZWxkS2V5cy5wYXNza2V5LnVzZXJJZFxuICApO1xuICBjb25zdCB1c2VyU2NoZW1hID0gcmVzb2x2ZWRTY2hlbWFzW2JhTW9kZWxLZXkudXNlcl07XG4gIGNvbnN0IGFkbWluUm9sZXMgPSBwbHVnaW5PcHRpb25zLnVzZXJzPy5hZG1pblJvbGVzID8/IFtkZWZhdWx0cy5hZG1pblJvbGVdO1xuICBjb25zdCBhbGxSb2xlT3B0aW9ucyA9IGdldEFsbFJvbGVPcHRpb25zKHBsdWdpbk9wdGlvbnMpO1xuICBjb25zdCBoYXNVc2VybmFtZVBsdWdpbiA9IGNoZWNrUGx1Z2luRXhpc3RzKFxuICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sXG4gICAgc3VwcG9ydGVkQkFQbHVnaW5JZHMudXNlcm5hbWVcbiAgKTtcbiAgY29uc3QgZXhpc3RpbmdVc2VyQ29sbGVjdGlvbiA9IGluY29taW5nQ29sbGVjdGlvbnMuZmluZChcbiAgICAoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSB1c2VyU2x1Z1xuICApIGFzIENvbGxlY3Rpb25Db25maWcgfCB1bmRlZmluZWQ7XG5cbiAgLy8gVE9ETzogUkVWSUVXIFRISVNcbiAgY29uc3QgYWxsb3dlZEZpZWxkcyA9IHBsdWdpbk9wdGlvbnMudXNlcnM/LmFsbG93ZWRGaWVsZHMgPz8gW1wibmFtZVwiXTtcblxuICBjb25zdCB1c2VyRmllbGRSdWxlczogRmllbGRSdWxlW10gPSBbXG4gICAge1xuICAgICAgY29uZGl0aW9uOiAoZmllbGQpID0+XG4gICAgICAgIGZpZWxkLmZpZWxkTmFtZSA9PT0gXCJjcmVhdGVkQXRcIiB8fCBmaWVsZC5maWVsZE5hbWUgPT09IFwidXBkYXRlZEF0XCIsXG4gICAgICB0cmFuc2Zvcm06IChmaWVsZCkgPT4gKHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIHNhdmVUb0pXVDogZmFsc2UsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBpbmRleDogdHJ1ZSxcbiAgICAgICAgbGFiZWw6ICh7IHQgfTogYW55KSA9PlxuICAgICAgICAgIGZpZWxkLmZpZWxkTmFtZSA9PT0gXCJjcmVhdGVkQXRcIlxuICAgICAgICAgICAgPyB0KFwiZ2VuZXJhbDpjcmVhdGVkQXRcIilcbiAgICAgICAgICAgIDogdChcImdlbmVyYWw6dXBkYXRlZEF0XCIpXG4gICAgICB9KVxuICAgIH1cbiAgXTtcblxuICBjb25zdCBmaWVsZE92ZXJyaWRlczogRmllbGRPdmVycmlkZXM8a2V5b2YgVXNlcj4gPSB7XG4gICAgcm9sZTogKGZpZWxkKSA9PiAoe1xuICAgICAgdHlwZTogXCJzZWxlY3RcIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBvcHRpb25zOiBhbGxSb2xlT3B0aW9ucyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmllbGQuZGVmYXVsdFZhbHVlID8/IGRlZmF1bHRzLnVzZXJSb2xlLFxuICAgICAgc2F2ZVRvSldUOiB0cnVlLFxuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIHJvbGUvIHJvbGVzIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGVtYWlsOiAoKSA9PiAoe1xuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgZW1haWwgb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgZW1haWxWZXJpZmllZDogKGZpZWxkKSA9PiAoe1xuICAgICAgZGVmYXVsdFZhbHVlOiBmaWVsZC5kZWZhdWx0VmFsdWUgPz8gZmFsc2UsXG4gICAgICBzYXZlVG9KV1Q6IHRydWUsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSBlbWFpbCBvZiB0aGUgdXNlciBoYXMgYmVlbiB2ZXJpZmllZFwiIH1cbiAgICB9KSxcbiAgICBuYW1lOiAoKSA9PiAoe1xuICAgICAgc2F2ZVRvSldUOiB0cnVlLFxuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVXNlcnMgY2hvc2VuIGRpc3BsYXkgbmFtZVwiIH1cbiAgICB9KSxcbiAgICBpbWFnZTogKCkgPT4gKHtcbiAgICAgIHNhdmVUb0pXVDogZmFsc2UsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgaW1hZ2Ugb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgdHdvRmFjdG9yRW5hYmxlZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSB1c2VyIGhhcyB0d28gZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGVuYWJsZWRcIixcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgIEZpZWxkOiB7XG4gICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I1R3b0ZhY3RvckF1dGhcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLFxuICAgIHVzZXJuYW1lOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHsgZGVzY3JpcHRpb246IFwiVGhlIHVzZXJuYW1lIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGRpc3BsYXlVc2VybmFtZTogKCkgPT4gKHtcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIlRoZSBkaXNwbGF5IHVzZXJuYW1lIG9mIHRoZSB1c2VyXCIgfVxuICAgIH0pLFxuICAgIGlzQW5vbnltb3VzOiAoKSA9PiAoe1xuICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgdGhlIHVzZXIgaXMgYW5vbnltb3VzLlwiIH1cbiAgICB9KSxcbiAgICBwaG9uZU51bWJlcjogKCkgPT4gKHtcbiAgICAgIGFkbWluOiB7IGRlc2NyaXB0aW9uOiBcIlRoZSBwaG9uZSBudW1iZXIgb2YgdGhlIHVzZXJcIiB9XG4gICAgfSksXG4gICAgcGhvbmVOdW1iZXJWZXJpZmllZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSBwaG9uZSBudW1iZXIgb2YgdGhlIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWRcIlxuICAgICAgfVxuICAgIH0pLFxuICAgIGJhbm5lZDogKCkgPT4gKHtcbiAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIHRoZSB1c2VyIGlzIGJhbm5lZCBmcm9tIHRoZSBwbGF0Zm9ybVwiIH1cbiAgICB9KSxcbiAgICBiYW5SZWFzb246ICgpID0+ICh7XG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgcmVhc29uIGZvciB0aGUgYmFuXCIgfVxuICAgIH0pLFxuICAgIGJhbkV4cGlyZXM6ICgpID0+ICh7XG4gICAgICBhZG1pbjogeyBkZXNjcmlwdGlvbjogXCJUaGUgZGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBiYW4gd2lsbCBleHBpcmVcIiB9XG4gICAgfSksXG4gICAgbm9ybWFsaXplZEVtYWlsOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBub3JtYWxpemVkIGVtYWlsIG9mIHRoZSB1c2VyXCJcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzdHJpcGVDdXN0b21lcklkOiAoKSA9PiAoe1xuICAgICAgYWRtaW46IHtcbiAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBTdHJpcGUgY3VzdG9tZXIgSUQgb2YgdGhlIHVzZXJcIlxuICAgICAgfVxuICAgIH0pXG4gIH07XG5cbiAgY29uc3QgY29sbGVjdGlvbkZpZWxkcyA9IGdldENvbGxlY3Rpb25GaWVsZHMoe1xuICAgIHNjaGVtYTogdXNlclNjaGVtYSxcbiAgICBmaWVsZFJ1bGVzOiB1c2VyRmllbGRSdWxlcyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmllbGRPdmVycmlkZXNcbiAgfSk7XG5cbiAgY29uc3Qgam9pbkZpZWxkczogSm9pbkZpZWxkW10gPSBbXG4gICAgLy8gQmV0dGVyIEF1dGjigJlzIGludGVybmFsIGFkYXB0ZXIgcmVuYW1lcyBgYWNjb3VudGAgPT4gYGFjY291bnRzYCB2aWFcbiAgICAvLyBgY29uc3QgeyBhY2NvdW50OiBhY2NvdW50cywgLi4udXNlciB9ID0gcmVzdWx0YFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2JldHRlci1hdXRoL2JldHRlci1hdXRoL2Jsb2IvMjg2NTQ3MzRlMTNkYzBiYjIyZDU2MjM3MjJlOTdiOWE4ZGJjMWIzNy9wYWNrYWdlcy9iZXR0ZXItYXV0aC9zcmMvZGIvaW50ZXJuYWwtYWRhcHRlci50cyNMNzYwLUw3NjFcbiAgICAvLyBUaGUgam9pbiBmaWVsZCBuYW1lIG11c3QgdGhlcmVmb3JlIHN0YXkgZXhhY3RseSBgYWNjb3VudGAgdG8gYmUgcGlja2VkIHVwLlxuICAgIHtcbiAgICAgIGxhYmVsOiBcIkFjY291bnRzXCIsXG4gICAgICBuYW1lOiBiYU1vZGVsS2V5LmFjY291bnQsXG4gICAgICB0eXBlOiBcImpvaW5cIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBjb2xsZWN0aW9uOiBhY2NvdW50U2x1ZyxcbiAgICAgIG9uOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5hY2NvdW50LFxuICAgICAgICBiYU1vZGVsRmllbGRLZXlzLmFjY291bnQudXNlcklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfSxcbiAgICAvLyBTZXNzaW9ucyB1c2UgdGhlIHNhbWUgcGF0dGVybjsga2VlcCB0aGUgc2luZ3VsYXIgbW9kZWwga2V5IGZvciB0aGUgam9pbiBuYW1lLlxuICAgIHtcbiAgICAgIGxhYmVsOiBcIlNlc3Npb25zXCIsXG4gICAgICBuYW1lOiBiYU1vZGVsS2V5LnNlc3Npb24sXG4gICAgICB0eXBlOiBcImpvaW5cIixcbiAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICBjb2xsZWN0aW9uOiBzZXNzaW9uU2x1ZyxcbiAgICAgIG9uOiBnZXRTY2hlbWFGaWVsZE5hbWUoXG4gICAgICAgIHJlc29sdmVkU2NoZW1hcyxcbiAgICAgICAgYmFNb2RlbEtleS5zZXNzaW9uLFxuICAgICAgICBiYU1vZGVsRmllbGRLZXlzLnNlc3Npb24udXNlcklkXG4gICAgICApLFxuICAgICAgbWF4RGVwdGg6IDEsXG4gICAgICBzYXZlVG9KV1Q6IGZhbHNlXG4gICAgfVxuICBdO1xuXG4gIGxldCB1c2Vyc0NvbGxlY3Rpb246IENvbGxlY3Rpb25Db25maWcgPSB7XG4gICAgLi4uZXhpc3RpbmdVc2VyQ29sbGVjdGlvbixcbiAgICBzbHVnOiB1c2VyU2x1ZyxcbiAgICBhZG1pbjoge1xuICAgICAgZGVmYXVsdENvbHVtbnM6IFtcImVtYWlsXCJdLFxuICAgICAgdXNlQXNUaXRsZTogXCJlbWFpbFwiLFxuICAgICAgZ3JvdXA6IHBsdWdpbk9wdGlvbnM/LmNvbGxlY3Rpb25BZG1pbkdyb3VwID8/IFwiQXV0aFwiLFxuICAgICAgLi4uZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uYWRtaW4sXG4gICAgICBoaWRkZW46IHBsdWdpbk9wdGlvbnMudXNlcnM/LmhpZGRlbiA/PyBmYWxzZSxcbiAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgRGVzY3JpcHRpb246IHtcbiAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I0FkbWluSW52aXRlQnV0dG9uXCIsXG4gICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHJvbGVzOiBhbGxSb2xlT3B0aW9uc1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdmlld3M6IHtcbiAgICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgICBhZG1pbkJ1dHRvbnM6IHtcbiAgICAgICAgICAgICAgdGFiOiB7XG4gICAgICAgICAgICAgICAgQ29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vY2xpZW50I0FkbWluQnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgY2xpZW50UHJvcHM6IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlclNsdWcsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VVUkw6IHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnM/LmJhc2VVUkwsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VQYXRoOiBwbHVnaW5PcHRpb25zLmJldHRlckF1dGhPcHRpb25zPy5iYXNlUGF0aFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBPbmx5IHNob3cgdGhlIGltcGVyc29uYXRlIGJ1dHRvbiBpZiB0aGUgYWRtaW4gcGx1Z2luIGlzIGVuYWJsZWRcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjaGVja1BsdWdpbkV4aXN0cyhcbiAgICAgICAgICAgICAgICAgICAgcGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSxcbiAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkQkFQbHVnaW5JZHMuYWRtaW5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIGFkbWluOiBoYXNBZG1pblJvbGVzKGFkbWluUm9sZXMpLFxuICAgICAgcmVhZDogaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMoeyBhZG1pblJvbGVzLCBpZEZpZWxkOiBcImlkXCIgfSksXG4gICAgICBjcmVhdGU6IGlzQWRtaW5XaXRoUm9sZXMoeyBhZG1pblJvbGVzIH0pLFxuICAgICAgZGVsZXRlOiBpc0FkbWluT3JDdXJyZW50VXNlcldpdGhSb2xlcyh7IGFkbWluUm9sZXMsIGlkRmllbGQ6IFwiaWRcIiB9KSxcbiAgICAgIHVwZGF0ZTogaXNBZG1pbk9yQ3VycmVudFVzZXJVcGRhdGVXaXRoQWxsb3dlZEZpZWxkcyh7XG4gICAgICAgIGFsbG93ZWRGaWVsZHMsXG4gICAgICAgIGFkbWluUm9sZXMsXG4gICAgICAgIHVzZXJTbHVnXG4gICAgICB9KSxcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5hY2Nlc3MgPz8ge30pXG4gICAgfSxcbiAgICBjdXN0b206IHtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5jdXN0b20gPz8ge30pLFxuICAgICAgYmV0dGVyQXV0aE1vZGVsS2V5OiBiYU1vZGVsS2V5LnVzZXJcbiAgICB9LFxuICAgIGVuZHBvaW50czogW1xuICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/LmVuZHBvaW50c1xuICAgICAgICA/IGV4aXN0aW5nVXNlckNvbGxlY3Rpb24uZW5kcG9pbnRzXG4gICAgICAgIDogW10pLFxuICAgICAgZ2V0UmVmcmVzaFRva2VuRW5kcG9pbnQodXNlclNsdWcpLFxuICAgICAgZ2V0U2V0QWRtaW5Sb2xlRW5kcG9pbnQocGx1Z2luT3B0aW9ucywgdXNlclNsdWcpLFxuICAgICAgZ2V0R2VuZXJhdGVJbnZpdGVVcmxFbmRwb2ludCh7XG4gICAgICAgIHJvbGVzOiBhbGxSb2xlT3B0aW9ucyxcbiAgICAgICAgcGx1Z2luT3B0aW9uc1xuICAgICAgfSksXG4gICAgICBnZXRTZW5kSW52aXRlVXJsRW5kcG9pbnQocGx1Z2luT3B0aW9ucylcbiAgICBdLFxuICAgIGhvb2tzOiB7XG4gICAgICBiZWZvcmVDaGFuZ2U6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW2dldE9uVmVyaWZpZWRDaGFuZ2VIb29rKCldKVxuICAgICAgXSxcbiAgICAgIGFmdGVyQ2hhbmdlOiBbXG4gICAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uPy5ob29rcz8uYWZ0ZXJDaGFuZ2UgPz8gW10pLFxuICAgICAgICAuLi4ocGx1Z2luT3B0aW9ucy5kaXNhYmxlRGVmYXVsdFBheWxvYWRBdXRoXG4gICAgICAgICAgPyBbXVxuICAgICAgICAgIDogW2dldFN5bmNBY2NvdW50SG9vaygpXSlcbiAgICAgIF0sXG4gICAgICBiZWZvcmVMb2dpbjogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmJlZm9yZUxvZ2luID8/IFtdKSxcbiAgICAgICAgLi4uKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFtnZXRCZWZvcmVMb2dpbkhvb2socGx1Z2luT3B0aW9ucy5iZXR0ZXJBdXRoT3B0aW9ucyA/PyB7fSldKVxuICAgICAgXSxcbiAgICAgIGFmdGVyTG9naW46IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5hZnRlckxvZ2luID8/IFtdKSxcbiAgICAgICAgLi4uKHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFtnZXRBZnRlckxvZ2luSG9vaygpXSlcbiAgICAgIF0sXG4gICAgICBhZnRlckxvZ291dDogW1xuICAgICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uaG9va3M/LmFmdGVyTG9nb3V0ID8/IFtdKSxcbiAgICAgICAgZ2V0QWZ0ZXJMb2dvdXRIb29rKClcbiAgICAgIF0sXG4gICAgICBiZWZvcmVEZWxldGU6IFtcbiAgICAgICAgLi4uKGV4aXN0aW5nVXNlckNvbGxlY3Rpb24/Lmhvb2tzPy5iZWZvcmVEZWxldGUgPz8gW10pLFxuICAgICAgICBnZXRCZWZvcmVEZWxldGVIb29rKClcbiAgICAgIF1cbiAgICB9LFxuICAgIGF1dGg6IHtcbiAgICAgIC4uLihleGlzdGluZ1VzZXJDb2xsZWN0aW9uICYmXG4gICAgICB0eXBlb2YgZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoID09PSBcIm9iamVjdFwiXG4gICAgICAgID8gZXhpc3RpbmdVc2VyQ29sbGVjdGlvbi5hdXRoXG4gICAgICAgIDoge30pLFxuICAgICAgZGlzYWJsZUxvY2FsU3RyYXRlZ3k6IHBsdWdpbk9wdGlvbnMuZGlzYWJsZURlZmF1bHRQYXlsb2FkQXV0aFxuICAgICAgICA/IHRydWVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAuLi4oaGFzVXNlcm5hbWVQbHVnaW4gJiYge1xuICAgICAgICBsb2dpbldpdGhVc2VybmFtZToge1xuICAgICAgICAgIGFsbG93RW1haWxMb2dpbjogdHJ1ZSxcbiAgICAgICAgICByZXF1aXJlRW1haWw6IHRydWUsXG4gICAgICAgICAgcmVxdWlyZVVzZXJuYW1lOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHN0cmF0ZWdpZXM6IFtiZXR0ZXJBdXRoU3RyYXRlZ3kodXNlclNsdWcpXVxuICAgIH0sXG4gICAgZmllbGRzOiBbXG4gICAgICAuLi4oZXhpc3RpbmdVc2VyQ29sbGVjdGlvbj8uZmllbGRzID8/IFtdKSxcbiAgICAgIC4uLihjb2xsZWN0aW9uRmllbGRzID8/IFtdKSxcbiAgICAgIC4uLmpvaW5GaWVsZHMsXG4gICAgICAuLi4oY2hlY2tQbHVnaW5FeGlzdHMoXG4gICAgICAgIHBsdWdpbk9wdGlvbnMuYmV0dGVyQXV0aE9wdGlvbnMgPz8ge30sXG4gICAgICAgIHN1cHBvcnRlZEJBUGx1Z2luSWRzLnBhc3NrZXlcbiAgICAgIClcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwibWFuYWdlUGFzc2tleXNcIixcbiAgICAgICAgICAgICAgdHlwZTogXCJ1aVwiIGFzIGNvbnN0LFxuICAgICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICAgIGRpc2FibGVCdWxrRWRpdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICBGaWVsZDoge1xuICAgICAgICAgICAgICAgICAgICBwYXRoOiBcInBheWxvYWQtYXV0aC9iZXR0ZXItYXV0aC9wbHVnaW4vcnNjI1Bhc3NrZXlzXCIsXG4gICAgICAgICAgICAgICAgICAgIHNlcnZlclByb3BzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcGFzc2tleVVzZXJJZEZpZWxkTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICBwYXNza2V5U2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5PcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gYXMgVUlGaWVsZFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSlcbiAgICBdXG4gIH07XG5cbiAgaWYgKHBsdWdpbk9wdGlvbnMudXNlcnM/LmNvbGxlY3Rpb25PdmVycmlkZXMpIHtcbiAgICB1c2Vyc0NvbGxlY3Rpb24gPSBwbHVnaW5PcHRpb25zLnVzZXJzLmNvbGxlY3Rpb25PdmVycmlkZXMoe1xuICAgICAgY29sbGVjdGlvbjogdXNlcnNDb2xsZWN0aW9uXG4gICAgfSk7XG4gIH1cblxuICBhc3NlcnRBbGxTY2hlbWFGaWVsZHModXNlcnNDb2xsZWN0aW9uLCB1c2VyU2NoZW1hKTtcblxuICByZXR1cm4gdXNlcnNDb2xsZWN0aW9uO1xufVxuIl0sIm5hbWVzIjpbImNoZWNrUGx1Z2luRXhpc3RzIiwiYmFNb2RlbEZpZWxkS2V5cyIsImJhTW9kZWxLZXkiLCJkZWZhdWx0cyIsInN1cHBvcnRlZEJBUGx1Z2luSWRzIiwiZ2V0QWxsUm9sZU9wdGlvbnMiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsImdldFNjaGVtYUZpZWxkTmFtZSIsImhhc0FkbWluUm9sZXMiLCJpc0FkbWluT3JDdXJyZW50VXNlclVwZGF0ZVdpdGhBbGxvd2VkRmllbGRzIiwiaXNBZG1pbk9yQ3VycmVudFVzZXJXaXRoUm9sZXMiLCJpc0FkbWluV2l0aFJvbGVzIiwiZ2V0Q29sbGVjdGlvbkZpZWxkcyIsImJldHRlckF1dGhTdHJhdGVneSIsImdldEdlbmVyYXRlSW52aXRlVXJsRW5kcG9pbnQiLCJnZXRSZWZyZXNoVG9rZW5FbmRwb2ludCIsImdldFNlbmRJbnZpdGVVcmxFbmRwb2ludCIsImdldFNldEFkbWluUm9sZUVuZHBvaW50IiwiZ2V0QWZ0ZXJMb2dpbkhvb2siLCJnZXRBZnRlckxvZ291dEhvb2siLCJnZXRCZWZvcmVEZWxldGVIb29rIiwiZ2V0QmVmb3JlTG9naW5Ib29rIiwiZ2V0T25WZXJpZmllZENoYW5nZUhvb2siLCJnZXRTeW5jQWNjb3VudEhvb2siLCJidWlsZFVzZXJzQ29sbGVjdGlvbiIsImluY29taW5nQ29sbGVjdGlvbnMiLCJwbHVnaW5PcHRpb25zIiwicmVzb2x2ZWRTY2hlbWFzIiwidXNlclNsdWciLCJ1c2VyIiwicGFzc2tleVNsdWciLCJwYXNza2V5Iiwic2Vzc2lvblNsdWciLCJzZXNzaW9uIiwiYWNjb3VudFNsdWciLCJhY2NvdW50IiwicGFzc2tleVVzZXJJZEZpZWxkTmFtZSIsInVzZXJJZCIsInVzZXJTY2hlbWEiLCJhZG1pblJvbGVzIiwidXNlcnMiLCJhZG1pblJvbGUiLCJhbGxSb2xlT3B0aW9ucyIsImhhc1VzZXJuYW1lUGx1Z2luIiwiYmV0dGVyQXV0aE9wdGlvbnMiLCJ1c2VybmFtZSIsImV4aXN0aW5nVXNlckNvbGxlY3Rpb24iLCJmaW5kIiwiY29sbGVjdGlvbiIsInNsdWciLCJhbGxvd2VkRmllbGRzIiwidXNlckZpZWxkUnVsZXMiLCJjb25kaXRpb24iLCJmaWVsZCIsImZpZWxkTmFtZSIsInRyYW5zZm9ybSIsInNhdmVUb0pXVCIsImFkbWluIiwiZGlzYWJsZUJ1bGtFZGl0IiwiaGlkZGVuIiwiaW5kZXgiLCJsYWJlbCIsInQiLCJmaWVsZE92ZXJyaWRlcyIsInJvbGUiLCJ0eXBlIiwiaGFzTWFueSIsIm9wdGlvbnMiLCJkZWZhdWx0VmFsdWUiLCJ1c2VyUm9sZSIsImRlc2NyaXB0aW9uIiwiZW1haWwiLCJlbWFpbFZlcmlmaWVkIiwibmFtZSIsImltYWdlIiwidHdvRmFjdG9yRW5hYmxlZCIsImNvbXBvbmVudHMiLCJGaWVsZCIsInBhdGgiLCJkaXNwbGF5VXNlcm5hbWUiLCJpc0Fub255bW91cyIsInBob25lTnVtYmVyIiwicGhvbmVOdW1iZXJWZXJpZmllZCIsImJhbm5lZCIsImJhblJlYXNvbiIsImJhbkV4cGlyZXMiLCJub3JtYWxpemVkRW1haWwiLCJyZWFkT25seSIsInN0cmlwZUN1c3RvbWVySWQiLCJjb2xsZWN0aW9uRmllbGRzIiwic2NoZW1hIiwiZmllbGRSdWxlcyIsImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiwiam9pbkZpZWxkcyIsIm9uIiwibWF4RGVwdGgiLCJ1c2Vyc0NvbGxlY3Rpb24iLCJkZWZhdWx0Q29sdW1ucyIsInVzZUFzVGl0bGUiLCJncm91cCIsImNvbGxlY3Rpb25BZG1pbkdyb3VwIiwiRGVzY3JpcHRpb24iLCJjbGllbnRQcm9wcyIsInJvbGVzIiwidmlld3MiLCJlZGl0IiwiYWRtaW5CdXR0b25zIiwidGFiIiwiQ29tcG9uZW50IiwiYmFzZVVSTCIsImJhc2VQYXRoIiwiYWNjZXNzIiwicmVhZCIsImlkRmllbGQiLCJjcmVhdGUiLCJkZWxldGUiLCJ1cGRhdGUiLCJjdXN0b20iLCJiZXR0ZXJBdXRoTW9kZWxLZXkiLCJlbmRwb2ludHMiLCJob29rcyIsImJlZm9yZUNoYW5nZSIsImRpc2FibGVEZWZhdWx0UGF5bG9hZEF1dGgiLCJhZnRlckNoYW5nZSIsImJlZm9yZUxvZ2luIiwiYWZ0ZXJMb2dpbiIsImFmdGVyTG9nb3V0IiwiYmVmb3JlRGVsZXRlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwidW5kZWZpbmVkIiwibG9naW5XaXRoVXNlcm5hbWUiLCJhbGxvd0VtYWlsTG9naW4iLCJyZXF1aXJlRW1haWwiLCJyZXF1aXJlVXNlcm5hbWUiLCJzdHJhdGVnaWVzIiwiZmllbGRzIiwic2VydmVyUHJvcHMiLCJjb2xsZWN0aW9uT3ZlcnJpZGVzIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxpQkFBaUIsUUFBUSx1Q0FBbUQ7QUFFckYsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxVQUFVLEVBQ1ZDLFFBQVEsRUFDUkMsb0JBQW9CLFFBQ2YscUJBQXFCO0FBQzVCLFNBQVNDLGlCQUFpQixRQUFRLGlDQUFpQztBQU1uRSxTQUNFQyxxQkFBcUIsRUFDckJDLHVCQUF1QixFQUN2QkMsa0JBQWtCLFFBQ2IsNkJBQTZCO0FBQ3BDLFNBQ0VDLGFBQWEsRUFDYkMsMkNBQTJDLEVBQzNDQyw2QkFBNkIsRUFDN0JDLGdCQUFnQixRQUNYLDBCQUEwQjtBQUNqQyxTQUFT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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type CollectionConfig } from "payload";
|
|
2
|
+
import type { BetterAuthFullSchema, ModelKey } from "@/better-auth/generated-types";
|
|
3
|
+
import type { BetterAuthSchemas, BuiltBetterAuthSchema } from "@/better-auth/types";
|
|
4
|
+
export declare function getSchemaCollectionSlug(resolvedSchemas: BetterAuthSchemas, model: ModelKey): string;
|
|
5
|
+
export declare function getSchemaFieldName<M extends ModelKey>(resolvedSchemas: BetterAuthSchemas, model: M, fieldKey: Extract<keyof BetterAuthFullSchema[M], string>): string;
|
|
6
|
+
/**
|
|
7
|
+
* Asserts that all field keys that exist in the schema exist in the collection
|
|
8
|
+
*
|
|
9
|
+
* It checks based on the custom.betterAuthFieldKey property.
|
|
10
|
+
*
|
|
11
|
+
* @param collection - The collection object
|
|
12
|
+
* @param schema - The schema object containing field definitions
|
|
13
|
+
* @throws {Error} If any required field is missing from the schema
|
|
14
|
+
*/
|
|
15
|
+
export declare function assertAllSchemaFields(collection: CollectionConfig, schema: BuiltBetterAuthSchema): void;
|
|
16
|
+
//# sourceMappingURL=collection-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collection-schema.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/collection-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,QAAQ,GACd,MAAM,CAER;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnD,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,OAAO,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GACvD,MAAM,CAER;AAED;;;;;;;;GAQG;AAEH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,qBAAqB,GAC5B,IAAI,CAgBN"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { flattenAllFields } from "payload";
|
|
2
|
+
export function getSchemaCollectionSlug(resolvedSchemas, model) {
|
|
3
|
+
return resolvedSchemas?.[model]?.modelName ?? model;
|
|
4
|
+
}
|
|
5
|
+
export function getSchemaFieldName(resolvedSchemas, model, fieldKey) {
|
|
6
|
+
return resolvedSchemas?.[model]?.fields?.[fieldKey]?.fieldName ?? fieldKey;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Asserts that all field keys that exist in the schema exist in the collection
|
|
10
|
+
*
|
|
11
|
+
* It checks based on the custom.betterAuthFieldKey property.
|
|
12
|
+
*
|
|
13
|
+
* @param collection - The collection object
|
|
14
|
+
* @param schema - The schema object containing field definitions
|
|
15
|
+
* @throws {Error} If any required field is missing from the schema
|
|
16
|
+
*/ export function assertAllSchemaFields(collection, schema) {
|
|
17
|
+
const schemaFieldKeys = Object.keys(schema.fields);
|
|
18
|
+
const collectionConfigBetterAuthKeys = new Set(flattenAllFields(collection).map((field)=>field.custom?.betterAuthFieldKey).filter((key)=>typeof key === "string"));
|
|
19
|
+
const missingFields = schemaFieldKeys.filter((key)=>!collectionConfigBetterAuthKeys.has(key));
|
|
20
|
+
if (missingFields.length === 0) return;
|
|
21
|
+
throw new Error(`Missing required custom.betterAuthFieldKeys in collection "${collection.slug}": ${missingFields.join(", ")}`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2NvbGxlY3Rpb24tc2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29sbGVjdGlvbkNvbmZpZywgZmxhdHRlbkFsbEZpZWxkcyB9IGZyb20gXCJwYXlsb2FkXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEJldHRlckF1dGhGdWxsU2NoZW1hLFxuICBNb2RlbEtleVxufSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9nZW5lcmF0ZWQtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHtcbiAgQmV0dGVyQXV0aFNjaGVtYXMsXG4gIEJ1aWx0QmV0dGVyQXV0aFNjaGVtYVxufSBmcm9tIFwiQC9iZXR0ZXItYXV0aC90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hQ29sbGVjdGlvblNsdWcoXG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXMsXG4gIG1vZGVsOiBNb2RlbEtleVxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hcz8uW21vZGVsXT8ubW9kZWxOYW1lID8/IG1vZGVsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hRmllbGROYW1lPE0gZXh0ZW5kcyBNb2RlbEtleT4oXG4gIHJlc29sdmVkU2NoZW1hczogQmV0dGVyQXV0aFNjaGVtYXMsXG4gIG1vZGVsOiBNLFxuICBmaWVsZEtleTogRXh0cmFjdDxrZXlvZiBCZXR0ZXJBdXRoRnVsbFNjaGVtYVtNXSwgc3RyaW5nPlxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmVkU2NoZW1hcz8uW21vZGVsXT8uZmllbGRzPy5bZmllbGRLZXldPy5maWVsZE5hbWUgPz8gZmllbGRLZXk7XG59XG5cbi8qKlxuICogQXNzZXJ0cyB0aGF0IGFsbCBmaWVsZCBrZXlzIHRoYXQgZXhpc3QgaW4gdGhlIHNjaGVtYSBleGlzdCBpbiB0aGUgY29sbGVjdGlvblxuICpcbiAqIEl0IGNoZWNrcyBiYXNlZCBvbiB0aGUgY3VzdG9tLmJldHRlckF1dGhGaWVsZEtleSBwcm9wZXJ0eS5cbiAqXG4gKiBAcGFyYW0gY29sbGVjdGlvbiAtIFRoZSBjb2xsZWN0aW9uIG9iamVjdFxuICogQHBhcmFtIHNjaGVtYSAtIFRoZSBzY2hlbWEgb2JqZWN0IGNvbnRhaW5pbmcgZmllbGQgZGVmaW5pdGlvbnNcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBmcm9tIHRoZSBzY2hlbWFcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0QWxsU2NoZW1hRmllbGRzKFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uQ29uZmlnLFxuICBzY2hlbWE6IEJ1aWx0QmV0dGVyQXV0aFNjaGVtYVxuKTogdm9pZCB7XG4gIGNvbnN0IHNjaGVtYUZpZWxkS2V5cyA9IE9iamVjdC5rZXlzKHNjaGVtYS5maWVsZHMpO1xuICBjb25zdCBjb2xsZWN0aW9uQ29uZmlnQmV0dGVyQXV0aEtleXMgPSBuZXcgU2V0KFxuICAgIGZsYXR0ZW5BbGxGaWVsZHMoY29sbGVjdGlvbilcbiAgICAgIC5tYXAoKGZpZWxkKSA9PiBmaWVsZC5jdXN0b20/LmJldHRlckF1dGhGaWVsZEtleSlcbiAgICAgIC5maWx0ZXIoKGtleSk6IGtleSBpcyBzdHJpbmcgPT4gdHlwZW9mIGtleSA9PT0gXCJzdHJpbmdcIilcbiAgKTtcblxuICBjb25zdCBtaXNzaW5nRmllbGRzID0gc2NoZW1hRmllbGRLZXlzLmZpbHRlcihcbiAgICAoa2V5KSA9PiAhY29sbGVjdGlvbkNvbmZpZ0JldHRlckF1dGhLZXlzLmhhcyhrZXkpXG4gICk7XG4gIGlmIChtaXNzaW5nRmllbGRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gIHRocm93IG5ldyBFcnJvcihcbiAgICBgTWlzc2luZyByZXF1aXJlZCBjdXN0b20uYmV0dGVyQXV0aEZpZWxkS2V5cyBpbiBjb2xsZWN0aW9uIFwiJHtjb2xsZWN0aW9uLnNsdWd9XCI6ICR7bWlzc2luZ0ZpZWxkcy5qb2luKFwiLCBcIil9YFxuICApO1xufVxuIl0sIm5hbWVzIjpbImZsYXR0ZW5BbGxGaWVsZHMiLCJnZXRTY2hlbWFDb2xsZWN0aW9uU2x1ZyIsInJlc29sdmVkU2NoZW1hcyIsIm1vZGVsIiwibW9kZWxOYW1lIiwiZ2V0U2NoZW1hRmllbGROYW1lIiwiZmllbGRLZXkiLCJmaWVsZHMiLCJmaWVsZE5hbWUiLCJhc3NlcnRBbGxTY2hlbWFGaWVsZHMiLCJjb2xsZWN0aW9uIiwic2NoZW1hIiwic2NoZW1hRmllbGRLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImNvbGxlY3Rpb25Db25maWdCZXR0ZXJBdXRoS2V5cyIsIlNldCIsIm1hcCIsImZpZWxkIiwiY3VzdG9tIiwiYmV0dGVyQXV0aEZpZWxkS2V5IiwiZmlsdGVyIiwia2V5IiwibWlzc2luZ0ZpZWxkcyIsImhhcyIsImxlbmd0aCIsIkVycm9yIiwic2x1ZyIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWdDQSxnQkFBZ0IsUUFBUSxVQUFVO0FBVWxFLE9BQU8sU0FBU0Msd0JBQ2RDLGVBQWtDLEVBQ2xDQyxLQUFlO0lBRWYsT0FBT0QsaUJBQWlCLENBQUNDLE1BQU0sRUFBRUMsYUFBYUQ7QUFDaEQ7QUFFQSxPQUFPLFNBQVNFLG1CQUNkSCxlQUFrQyxFQUNsQ0MsS0FBUSxFQUNSRyxRQUF3RDtJQUV4RCxPQUFPSixpQkFBaUIsQ0FBQ0MsTUFBTSxFQUFFSSxRQUFRLENBQUNELFNBQVMsRUFBRUUsYUFBYUY7QUFDcEU7QUFFQTs7Ozs7Ozs7Q0FRQyxHQUVELE9BQU8sU0FBU0csc0JBQ2RDLFVBQTRCLEVBQzVCQyxNQUE2QjtJQUU3QixNQUFNQyxrQkFBa0JDLE9BQU9DLElBQUksQ0FBQ0gsT0FBT0osTUFBTTtJQUNqRCxNQUFNUSxpQ0FBaUMsSUFBSUMsSUFDekNoQixpQkFBaUJVLFlBQ2RPLEdBQUcsQ0FBQyxDQUFDQyxRQUFVQSxNQUFNQyxNQUFNLEVBQUVDLG9CQUM3QkMsTUFBTSxDQUFDLENBQUNDLE1BQXVCLE9BQU9BLFFBQVE7SUFHbkQsTUFBTUMsZ0JBQWdCWCxnQkFBZ0JTLE1BQU0sQ0FDMUMsQ0FBQ0MsTUFBUSxDQUFDUCwrQkFBK0JTLEdBQUcsQ0FBQ0Y7SUFFL0MsSUFBSUMsY0FBY0UsTUFBTSxLQUFLLEdBQUc7SUFFaEMsTUFBTSxJQUFJQyxNQUNSLENBQUMsMkRBQTJELEVBQUVoQixXQUFXaUIsSUFBSSxDQUFDLEdBQUcsRUFBRUosY0FBY0ssSUFBSSxDQUFDLE9BQU87QUFFakgifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Field } from "payload";
|
|
2
|
+
export declare const COMMON_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized"];
|
|
3
|
+
export declare const TEXT_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "type", "maxLength", "maxRows", "minLength", "minRows", "hasMany"];
|
|
4
|
+
export declare const NUMBER_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "max", "min", "hasMany"];
|
|
5
|
+
export declare const DATE_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "timezone"];
|
|
6
|
+
export declare const CHECKBOX_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized"];
|
|
7
|
+
export declare const RELATIONSHIP_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "filterOptions", "graphQL", "hasMany", "max", "maxDepth", "maxRows", "min", "minRows", "relationTo", "type"];
|
|
8
|
+
export declare const SELECT_FIELD_KEYS: readonly ["access", "admin", "custom", "defaultValue", "hidden", "hooks", "index", "label", "localized", "name", "required", "saveToJWT", "typescriptSchema", "unique", "validate", "virtual", "_sanitized", "type", "options", "hasMany", "interfaceName", "enumName", "dbName", "validate", "defaultValue", "filterOptions"];
|
|
9
|
+
export declare function getValidFieldPropertyKeysForType(type: Field["type"]): ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "graphQL" | "relationTo" | "filterOptions" | "maxRows" | "minRows" | "maxDepth" | "hasMany" | "max" | "min")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "maxRows" | "minRows" | "maxLength" | "minLength" | "hasMany")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "timezone")[] | ("admin" | "validate" | "_sanitized" | "access" | "custom" | "defaultValue" | "hidden" | "hooks" | "index" | "label" | "localized" | "name" | "required" | "saveToJWT" | "typescriptSchema" | "unique" | "virtual" | "type" | "options" | "dbName" | "filterOptions" | "interfaceName" | "hasMany" | "enumName")[];
|
|
10
|
+
export declare function filterProps<T extends object, K extends readonly (keyof T)[]>(obj: Partial<T>, allowed: K, extra?: readonly string[]): Partial<T>;
|
|
11
|
+
//# sourceMappingURL=filter-properties.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-properties.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/filter-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,KAAK,EAMN,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,iBAAiB,8MAkBmB,CAAC;AAElD,eAAO,MAAM,eAAe,iRAQqB,CAAC;AAElD,eAAO,MAAM,iBAAiB,uOAKqB,CAAC;AAEpD,eAAO,MAAM,eAAe,0NAGqB,CAAC;AAElD,eAAO,MAAM,mBAAmB,8MAEqB,CAAC;AAEtD,eAAO,MAAM,uBAAuB,2TAYqB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,gUAWqB,CAAC;AAEpD,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,2oCAiBnE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAC1E,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EACf,OAAO,EAAE,CAAC,EACV,KAAK,GAAE,SAAS,MAAM,EAAO,GAC5B,OAAO,CAAC,CAAC,CAAC,CAQZ"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
export const COMMON_FIELD_KEYS = [
|
|
2
|
+
"access",
|
|
3
|
+
"admin",
|
|
4
|
+
"custom",
|
|
5
|
+
"defaultValue",
|
|
6
|
+
"hidden",
|
|
7
|
+
"hooks",
|
|
8
|
+
"index",
|
|
9
|
+
"label",
|
|
10
|
+
"localized",
|
|
11
|
+
"name",
|
|
12
|
+
"required",
|
|
13
|
+
"saveToJWT",
|
|
14
|
+
"typescriptSchema",
|
|
15
|
+
"unique",
|
|
16
|
+
"validate",
|
|
17
|
+
"virtual",
|
|
18
|
+
"_sanitized"
|
|
19
|
+
];
|
|
20
|
+
export const TEXT_FIELD_KEYS = [
|
|
21
|
+
...COMMON_FIELD_KEYS,
|
|
22
|
+
"type",
|
|
23
|
+
"maxLength",
|
|
24
|
+
"maxRows",
|
|
25
|
+
"minLength",
|
|
26
|
+
"minRows",
|
|
27
|
+
"hasMany"
|
|
28
|
+
];
|
|
29
|
+
export const NUMBER_FIELD_KEYS = [
|
|
30
|
+
...COMMON_FIELD_KEYS,
|
|
31
|
+
"max",
|
|
32
|
+
"min",
|
|
33
|
+
"hasMany"
|
|
34
|
+
];
|
|
35
|
+
export const DATE_FIELD_KEYS = [
|
|
36
|
+
...COMMON_FIELD_KEYS,
|
|
37
|
+
"timezone"
|
|
38
|
+
];
|
|
39
|
+
export const CHECKBOX_FIELD_KEYS = [
|
|
40
|
+
...COMMON_FIELD_KEYS
|
|
41
|
+
];
|
|
42
|
+
export const RELATIONSHIP_FIELD_KEYS = [
|
|
43
|
+
...COMMON_FIELD_KEYS,
|
|
44
|
+
"filterOptions",
|
|
45
|
+
"graphQL",
|
|
46
|
+
"hasMany",
|
|
47
|
+
"max",
|
|
48
|
+
"maxDepth",
|
|
49
|
+
"maxRows",
|
|
50
|
+
"min",
|
|
51
|
+
"minRows",
|
|
52
|
+
"relationTo",
|
|
53
|
+
"type"
|
|
54
|
+
];
|
|
55
|
+
export const SELECT_FIELD_KEYS = [
|
|
56
|
+
...COMMON_FIELD_KEYS,
|
|
57
|
+
"type",
|
|
58
|
+
"options",
|
|
59
|
+
"hasMany",
|
|
60
|
+
"interfaceName",
|
|
61
|
+
"enumName",
|
|
62
|
+
"dbName",
|
|
63
|
+
"validate",
|
|
64
|
+
"defaultValue",
|
|
65
|
+
"filterOptions"
|
|
66
|
+
];
|
|
67
|
+
export function getValidFieldPropertyKeysForType(type) {
|
|
68
|
+
switch(type){
|
|
69
|
+
case "relationship":
|
|
70
|
+
return [
|
|
71
|
+
...RELATIONSHIP_FIELD_KEYS
|
|
72
|
+
];
|
|
73
|
+
case "text":
|
|
74
|
+
return [
|
|
75
|
+
...TEXT_FIELD_KEYS
|
|
76
|
+
];
|
|
77
|
+
case "number":
|
|
78
|
+
return [
|
|
79
|
+
...NUMBER_FIELD_KEYS
|
|
80
|
+
];
|
|
81
|
+
case "date":
|
|
82
|
+
return [
|
|
83
|
+
...DATE_FIELD_KEYS
|
|
84
|
+
];
|
|
85
|
+
case "checkbox":
|
|
86
|
+
return [
|
|
87
|
+
...CHECKBOX_FIELD_KEYS
|
|
88
|
+
];
|
|
89
|
+
case "select":
|
|
90
|
+
return [
|
|
91
|
+
...SELECT_FIELD_KEYS
|
|
92
|
+
];
|
|
93
|
+
default:
|
|
94
|
+
return [
|
|
95
|
+
...COMMON_FIELD_KEYS
|
|
96
|
+
];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export function filterProps(obj, allowed, extra = []) {
|
|
100
|
+
const allow = new Set([
|
|
101
|
+
...allowed.map(String),
|
|
102
|
+
...extra
|
|
103
|
+
]);
|
|
104
|
+
const out = {};
|
|
105
|
+
for (const [k, v] of Object.entries(obj)){
|
|
106
|
+
if (!allow.has(k)) continue;
|
|
107
|
+
out[k] = v;
|
|
108
|
+
}
|
|
109
|
+
return out;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2ZpbHRlci1wcm9wZXJ0aWVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ2hlY2tib3hGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBGaWVsZCxcbiAgRmllbGRCYXNlLFxuICBOdW1iZXJGaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUZXh0RmllbGRcbn0gZnJvbSBcInBheWxvYWRcIjtcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9GSUVMRF9LRVlTID0gW1xuICBcImFjY2Vzc1wiLFxuICBcImFkbWluXCIsXG4gIFwiY3VzdG9tXCIsXG4gIFwiZGVmYXVsdFZhbHVlXCIsXG4gIFwiaGlkZGVuXCIsXG4gIFwiaG9va3NcIixcbiAgXCJpbmRleFwiLFxuICBcImxhYmVsXCIsXG4gIFwibG9jYWxpemVkXCIsXG4gIFwibmFtZVwiLFxuICBcInJlcXVpcmVkXCIsXG4gIFwic2F2ZVRvSldUXCIsXG4gIFwidHlwZXNjcmlwdFNjaGVtYVwiLFxuICBcInVuaXF1ZVwiLFxuICBcInZhbGlkYXRlXCIsXG4gIFwidmlydHVhbFwiLFxuICBcIl9zYW5pdGl6ZWRcIlxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgKGtleW9mIEZpZWxkQmFzZSlbXTtcblxuZXhwb3J0IGNvbnN0IFRFWFRfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVMsXG4gIFwidHlwZVwiLFxuICBcIm1heExlbmd0aFwiLFxuICBcIm1heFJvd3NcIixcbiAgXCJtaW5MZW5ndGhcIixcbiAgXCJtaW5Sb3dzXCIsXG4gIFwiaGFzTWFueVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgVGV4dEZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgTlVNQkVSX0ZJRUxEX0tFWVMgPSBbXG4gIC4uLkNPTU1PTl9GSUVMRF9LRVlTLFxuICBcIm1heFwiLFxuICBcIm1pblwiLFxuICBcImhhc01hbnlcIlxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgKGtleW9mIE51bWJlckZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgREFURV9GSUVMRF9LRVlTID0gW1xuICAuLi5DT01NT05fRklFTERfS0VZUyxcbiAgXCJ0aW1lem9uZVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgRGF0ZUZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgQ0hFQ0tCT1hfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVNcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IChrZXlvZiBDaGVja2JveEZpZWxkKVtdO1xuXG5leHBvcnQgY29uc3QgUkVMQVRJT05TSElQX0ZJRUxEX0tFWVMgPSBbXG4gIC4uLkNPTU1PTl9GSUVMRF9LRVlTLFxuICBcImZpbHRlck9wdGlvbnNcIixcbiAgXCJncmFwaFFMXCIsXG4gIFwiaGFzTWFueVwiLFxuICBcIm1heFwiLFxuICBcIm1heERlcHRoXCIsXG4gIFwibWF4Um93c1wiLFxuICBcIm1pblwiLFxuICBcIm1pblJvd3NcIixcbiAgXCJyZWxhdGlvblRvXCIsXG4gIFwidHlwZVwiXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSAoa2V5b2YgUmVsYXRpb25zaGlwRmllbGQpW107XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfRklFTERfS0VZUyA9IFtcbiAgLi4uQ09NTU9OX0ZJRUxEX0tFWVMsXG4gIFwidHlwZVwiLFxuICBcIm9wdGlvbnNcIixcbiAgXCJoYXNNYW55XCIsXG4gIFwiaW50ZXJmYWNlTmFtZVwiLFxuICBcImVudW1OYW1lXCIsXG4gIFwiZGJOYW1lXCIsXG4gIFwidmFsaWRhdGVcIixcbiAgXCJkZWZhdWx0VmFsdWVcIixcbiAgXCJmaWx0ZXJPcHRpb25zXCJcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IChrZXlvZiBTZWxlY3RGaWVsZClbXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkRmllbGRQcm9wZXJ0eUtleXNGb3JUeXBlKHR5cGU6IEZpZWxkW1widHlwZVwiXSkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFwicmVsYXRpb25zaGlwXCI6XG4gICAgICByZXR1cm4gWy4uLlJFTEFUSU9OU0hJUF9GSUVMRF9LRVlTXTtcbiAgICBjYXNlIFwidGV4dFwiOlxuICAgICAgcmV0dXJuIFsuLi5URVhUX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgIHJldHVybiBbLi4uTlVNQkVSX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICByZXR1cm4gWy4uLkRBVEVfRklFTERfS0VZU107XG4gICAgY2FzZSBcImNoZWNrYm94XCI6XG4gICAgICByZXR1cm4gWy4uLkNIRUNLQk9YX0ZJRUxEX0tFWVNdO1xuICAgIGNhc2UgXCJzZWxlY3RcIjpcbiAgICAgIHJldHVybiBbLi4uU0VMRUNUX0ZJRUxEX0tFWVNdO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gWy4uLkNPTU1PTl9GSUVMRF9LRVlTXTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUHJvcHM8VCBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIHJlYWRvbmx5IChrZXlvZiBUKVtdPihcbiAgb2JqOiBQYXJ0aWFsPFQ+LFxuICBhbGxvd2VkOiBLLFxuICBleHRyYTogcmVhZG9ubHkgc3RyaW5nW10gPSBbXVxuKTogUGFydGlhbDxUPiB7XG4gIGNvbnN0IGFsbG93ID0gbmV3IFNldDxzdHJpbmc+KFsuLi5hbGxvd2VkLm1hcChTdHJpbmcpLCAuLi5leHRyYV0pO1xuICBjb25zdCBvdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAoIWFsbG93LmhhcyhrKSkgY29udGludWU7XG4gICAgb3V0W2tdID0gdjtcbiAgfVxuICByZXR1cm4gb3V0IGFzIFBhcnRpYWw8VD47XG59XG4iXSwibmFtZXMiOlsiQ09NTU9OX0ZJRUxEX0tFWVMiLCJURVhUX0ZJRUxEX0tFWVMiLCJOVU1CRVJfRklFTERfS0VZUyIsIkRBVEVfRklFTERfS0VZUyIsIkNIRUNLQk9YX0ZJRUxEX0tFWVMiLCJSRUxBVElPTlNISVBfRklFTERfS0VZUyIsIlNFTEVDVF9GSUVMRF9LRVlTIiwiZ2V0VmFsaWRGaWVsZFByb3BlcnR5S2V5c0ZvclR5cGUiLCJ0eXBlIiwiZmlsdGVyUHJvcHMiLCJvYmoiLCJhbGxvd2VkIiwiZXh0cmEiLCJhbGxvdyIsIlNldCIsIm1hcCIsIlN0cmluZyIsIm91dCIsImsiLCJ2IiwiT2JqZWN0IiwiZW50cmllcyIsImhhcyJdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxNQUFNQSxvQkFBb0I7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQWlEO0FBRWxELE9BQU8sTUFBTUMsa0JBQWtCO09BQzFCRDtJQUNIO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNELENBQWlEO0FBRWxELE9BQU8sTUFBTUUsb0JBQW9CO09BQzVCRjtJQUNIO0lBQ0E7SUFDQTtDQUNELENBQW1EO0FBRXBELE9BQU8sTUFBTUcsa0JBQWtCO09BQzFCSDtJQUNIO0NBQ0QsQ0FBaUQ7QUFFbEQsT0FBTyxNQUFNSSxzQkFBc0I7T0FDOUJKO0NBQ0osQ0FBcUQ7QUFFdEQsT0FBTyxNQUFNSywwQkFBMEI7T0FDbENMO0lBQ0g7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUF5RDtBQUUxRCxPQUFPLE1BQU1NLG9CQUFvQjtPQUM1Qk47SUFDSDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDRCxDQUFtRDtBQUVwRCxPQUFPLFNBQVNPLGlDQUFpQ0MsSUFBbUI7SUFDbEUsT0FBUUE7UUFDTixLQUFLO1lBQ0gsT0FBTzttQkFBSUg7YUFBd0I7UUFDckMsS0FBSztZQUNILE9BQU87bUJBQUlKO2FBQWdCO1FBQzdCLEtBQUs7WUFDSCxPQUFPO21CQUFJQzthQUFrQjtRQUMvQixLQUFLO1lBQ0gsT0FBTzttQkFBSUM7YUFBZ0I7UUFDN0IsS0FBSztZQUNILE9BQU87bUJBQUlDO2FBQW9CO1FBQ2pDLEtBQUs7WUFDSCxPQUFPO21CQUFJRTthQUFrQjtRQUMvQjtZQUNFLE9BQU87bUJBQUlOO2FBQWtCO0lBQ2pDO0FBQ0Y7QUFFQSxPQUFPLFNBQVNTLFlBQ2RDLEdBQWUsRUFDZkMsT0FBVSxFQUNWQyxRQUEyQixFQUFFO0lBRTdCLE1BQU1DLFFBQVEsSUFBSUMsSUFBWTtXQUFJSCxRQUFRSSxHQUFHLENBQUNDO1dBQVlKO0tBQU07SUFDaEUsTUFBTUssTUFBK0IsQ0FBQztJQUN0QyxLQUFLLE1BQU0sQ0FBQ0MsR0FBR0MsRUFBRSxJQUFJQyxPQUFPQyxPQUFPLENBQUNYLEtBQU07UUFDeEMsSUFBSSxDQUFDRyxNQUFNUyxHQUFHLENBQUNKLElBQUk7UUFDbkJELEdBQUcsQ0FBQ0MsRUFBRSxHQUFHQztJQUNYO0lBQ0EsT0FBT0Y7QUFDVCJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Field } from "payload";
|
|
2
|
+
interface GetTimestampFieldsOptions {
|
|
3
|
+
saveUpdatedAtToJWT?: boolean;
|
|
4
|
+
saveCreatedAtToJWT?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function getTimestampFields(options?: GetTimestampFieldsOptions): Field[];
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=get-timestamp-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-timestamp-fields.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,UAAU,yBAAyB;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE,yBAGR,GACA,KAAK,EAAE,CAyBT"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export function getTimestampFields(options = {
|
|
2
|
+
saveUpdatedAtToJWT: true,
|
|
3
|
+
saveCreatedAtToJWT: true
|
|
4
|
+
}) {
|
|
5
|
+
return [
|
|
6
|
+
{
|
|
7
|
+
name: "updatedAt",
|
|
8
|
+
type: "date",
|
|
9
|
+
saveToJWT: options.saveUpdatedAtToJWT,
|
|
10
|
+
admin: {
|
|
11
|
+
disableBulkEdit: true,
|
|
12
|
+
hidden: true
|
|
13
|
+
},
|
|
14
|
+
index: true,
|
|
15
|
+
label: ({ t })=>t("general:updatedAt")
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: "createdAt",
|
|
19
|
+
saveToJWT: options.saveCreatedAtToJWT,
|
|
20
|
+
admin: {
|
|
21
|
+
disableBulkEdit: true,
|
|
22
|
+
hidden: true
|
|
23
|
+
},
|
|
24
|
+
type: "date",
|
|
25
|
+
index: true,
|
|
26
|
+
label: ({ t })=>t("general:createdAt")
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vbGliL2J1aWxkLWNvbGxlY3Rpb25zL3V0aWxzL2dldC10aW1lc3RhbXAtZmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwicGF5bG9hZFwiO1xuXG5pbnRlcmZhY2UgR2V0VGltZXN0YW1wRmllbGRzT3B0aW9ucyB7XG4gIHNhdmVVcGRhdGVkQXRUb0pXVD86IGJvb2xlYW47XG4gIHNhdmVDcmVhdGVkQXRUb0pXVD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lc3RhbXBGaWVsZHMoXG4gIG9wdGlvbnM6IEdldFRpbWVzdGFtcEZpZWxkc09wdGlvbnMgPSB7XG4gICAgc2F2ZVVwZGF0ZWRBdFRvSldUOiB0cnVlLFxuICAgIHNhdmVDcmVhdGVkQXRUb0pXVDogdHJ1ZVxuICB9XG4pOiBGaWVsZFtdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBuYW1lOiBcInVwZGF0ZWRBdFwiLFxuICAgICAgdHlwZTogXCJkYXRlXCIsXG4gICAgICBzYXZlVG9KV1Q6IG9wdGlvbnMuc2F2ZVVwZGF0ZWRBdFRvSldULFxuICAgICAgYWRtaW46IHtcbiAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgIH0sXG4gICAgICBpbmRleDogdHJ1ZSxcbiAgICAgIGxhYmVsOiAoeyB0IH0pID0+IHQoXCJnZW5lcmFsOnVwZGF0ZWRBdFwiKVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJjcmVhdGVkQXRcIixcbiAgICAgIHNhdmVUb0pXVDogb3B0aW9ucy5zYXZlQ3JlYXRlZEF0VG9KV1QsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgIGhpZGRlbjogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHR5cGU6IFwiZGF0ZVwiLFxuICAgICAgaW5kZXg6IHRydWUsXG4gICAgICBsYWJlbDogKHsgdCB9KSA9PiB0KFwiZ2VuZXJhbDpjcmVhdGVkQXRcIilcbiAgICB9XG4gIF07XG59XG4iXSwibmFtZXMiOlsiZ2V0VGltZXN0YW1wRmllbGRzIiwib3B0aW9ucyIsInNhdmVVcGRhdGVkQXRUb0pXVCIsInNhdmVDcmVhdGVkQXRUb0pXVCIsIm5hbWUiLCJ0eXBlIiwic2F2ZVRvSldUIiwiYWRtaW4iLCJkaXNhYmxlQnVsa0VkaXQiLCJoaWRkZW4iLCJpbmRleCIsImxhYmVsIiwidCJdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxTQUFTQSxtQkFDZEMsVUFBcUM7SUFDbkNDLG9CQUFvQjtJQUNwQkMsb0JBQW9CO0FBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0w7WUFDRUMsTUFBTTtZQUNOQyxNQUFNO1lBQ05DLFdBQVdMLFFBQVFDLGtCQUFrQjtZQUNyQ0ssT0FBTztnQkFDTEMsaUJBQWlCO2dCQUNqQkMsUUFBUTtZQUNWO1lBQ0FDLE9BQU87WUFDUEMsT0FBTyxDQUFDLEVBQUVDLENBQUMsRUFBRSxHQUFLQSxFQUFFO1FBQ3RCO1FBQ0E7WUFDRVIsTUFBTTtZQUNORSxXQUFXTCxRQUFRRSxrQkFBa0I7WUFDckNJLE9BQU87Z0JBQ0xDLGlCQUFpQjtnQkFDakJDLFFBQVE7WUFDVjtZQUNBSixNQUFNO1lBQ05LLE9BQU87WUFDUEMsT0FBTyxDQUFDLEVBQUVDLENBQUMsRUFBRSxHQUFLQSxFQUFFO1FBQ3RCO0tBQ0Q7QUFDSCJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DBFieldAttribute } from "better-auth/db";
|
|
2
|
+
import type { Field } from "payload";
|
|
3
|
+
import { FieldRule } from "@/better-auth/plugin/types";
|
|
4
|
+
export declare const getAdditionalFieldProperties: ({ field, fieldKey, fieldRules, additionalProperties }: {
|
|
5
|
+
field: DBFieldAttribute;
|
|
6
|
+
fieldKey: string;
|
|
7
|
+
fieldRules?: FieldRule[];
|
|
8
|
+
additionalProperties?: {
|
|
9
|
+
[key: string]: (field: DBFieldAttribute) => Partial<Field>;
|
|
10
|
+
};
|
|
11
|
+
}) => Partial<Field>;
|
|
12
|
+
//# sourceMappingURL=model-field-transformations.d.ts.map
|