@contember/react-client-tenant 2.1.0-alpha.9 → 2.1.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +80 -80
- package/dist/development/index.js +31 -31
- package/dist/development/src/components/IdentityProvider.cjs +3 -3
- package/dist/development/src/components/IdentityProvider.cjs.map +1 -1
- package/dist/development/src/components/IdentityProvider.js +3 -3
- package/dist/development/src/components/IdentityProvider.js.map +1 -1
- package/dist/development/src/components/IdentityState.cjs.map +1 -1
- package/dist/development/src/components/IdentityState.js.map +1 -1
- package/dist/development/src/components/forms/ChangeMyPasswordForm.cjs.map +1 -1
- package/dist/development/src/components/forms/ChangeMyPasswordForm.js.map +1 -1
- package/dist/development/src/components/forms/CreateApiKeyForm.cjs.map +1 -1
- package/dist/development/src/components/forms/CreateApiKeyForm.js.map +1 -1
- package/dist/development/src/components/forms/CreateSessionTokenForm.cjs.map +1 -1
- package/dist/development/src/components/forms/CreateSessionTokenForm.js.map +1 -1
- package/dist/development/src/components/forms/InviteForm.cjs.map +1 -1
- package/dist/development/src/components/forms/InviteForm.js.map +1 -1
- package/dist/development/src/components/forms/LoginForm.cjs +3 -1
- package/dist/development/src/components/forms/LoginForm.cjs.map +1 -1
- package/dist/development/src/components/forms/LoginForm.js +3 -1
- package/dist/development/src/components/forms/LoginForm.js.map +1 -1
- package/dist/development/src/components/forms/OtpConfirmForm.cjs.map +1 -1
- package/dist/development/src/components/forms/OtpConfirmForm.js.map +1 -1
- package/dist/development/src/components/forms/OtpPrepareForm.cjs +1 -1
- package/dist/development/src/components/forms/OtpPrepareForm.cjs.map +1 -1
- package/dist/development/src/components/forms/OtpPrepareForm.js +1 -1
- package/dist/development/src/components/forms/OtpPrepareForm.js.map +1 -1
- package/dist/development/src/components/forms/PasswordResetForm.cjs.map +1 -1
- package/dist/development/src/components/forms/PasswordResetForm.js.map +1 -1
- package/dist/development/src/components/forms/PasswordResetRequestForm.cjs +1 -1
- package/dist/development/src/components/forms/PasswordResetRequestForm.cjs.map +1 -1
- package/dist/development/src/components/forms/PasswordResetRequestForm.js +2 -2
- package/dist/development/src/components/forms/PasswordResetRequestForm.js.map +1 -1
- package/dist/development/src/components/forms/PasswordlessSignInForm.cjs +3 -3
- package/dist/development/src/components/forms/PasswordlessSignInForm.cjs.map +1 -1
- package/dist/development/src/components/forms/PasswordlessSignInForm.js +4 -4
- package/dist/development/src/components/forms/PasswordlessSignInForm.js.map +1 -1
- package/dist/development/src/components/forms/PasswordlessSignInInitForm.cjs +6 -1
- package/dist/development/src/components/forms/PasswordlessSignInInitForm.cjs.map +1 -1
- package/dist/development/src/components/forms/PasswordlessSignInInitForm.js +7 -2
- package/dist/development/src/components/forms/PasswordlessSignInInitForm.js.map +1 -1
- package/dist/development/src/components/forms/TenantForm.cjs +25 -15
- package/dist/development/src/components/forms/TenantForm.cjs.map +1 -1
- package/dist/development/src/components/forms/TenantForm.js +25 -15
- package/dist/development/src/components/forms/TenantForm.js.map +1 -1
- package/dist/development/src/components/forms/UpdateProjectMemberForm.cjs.map +1 -1
- package/dist/development/src/components/forms/UpdateProjectMemberForm.js.map +1 -1
- package/dist/development/src/components/idp/IDP.cjs +5 -5
- package/dist/development/src/components/idp/IDP.cjs.map +1 -1
- package/dist/development/src/components/idp/IDP.js +5 -5
- package/dist/development/src/components/idp/IDP.js.map +1 -1
- package/dist/development/src/components/idp/IDPInitTrigger.cjs +2 -2
- package/dist/development/src/components/idp/IDPInitTrigger.cjs.map +1 -1
- package/dist/development/src/components/idp/IDPInitTrigger.js +2 -2
- package/dist/development/src/components/idp/IDPInitTrigger.js.map +1 -1
- package/dist/development/src/components/idp/IDPState.cjs.map +1 -1
- package/dist/development/src/components/idp/IDPState.js.map +1 -1
- package/dist/development/src/components/triggers/DisableOtpTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/DisableOtpTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/LogoutTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/LogoutTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.cjs +1 -1
- package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.js +1 -1
- package/dist/development/src/components/triggers/RemoveProjectMemberTrigger.js.map +1 -1
- package/dist/development/src/components/triggers/TenantActionTrigger.cjs +1 -1
- package/dist/development/src/components/triggers/TenantActionTrigger.cjs.map +1 -1
- package/dist/development/src/components/triggers/TenantActionTrigger.js +1 -1
- package/dist/development/src/components/triggers/TenantActionTrigger.js.map +1 -1
- package/dist/development/src/contexts.cjs.map +1 -1
- package/dist/development/src/contexts.js +1 -1
- package/dist/development/src/contexts.js.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateApiKeyMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateApiKeyMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useDisableApiKeyMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/apiKey/useDisableApiKeyMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useChangeMyPasswordMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useChangeMyPasswordMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useSignInMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useSignInMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useSignOutMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/auth/useSignOutMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/idp/useInitSignInIDPMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/idp/useInitSignInIDPMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.cjs +6 -3
- package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.js +6 -3
- package/dist/development/src/hooks/mutations/idp/useSignInIdpMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/invite/useInviteMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/invite/useInviteMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useAddProjectMemberMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useAddProjectMemberMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/otp/useConfirmOtpMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/otp/useConfirmOtpMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/otp/useDisableOtpMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/otp/useDisableOtpMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/otp/usePrepareOtpMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/otp/usePrepareOtpMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordReset/useResetPasswordMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordReset/useResetPasswordMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.js.map +1 -1
- package/dist/development/src/hooks/mutations/profile/useChangeMyProfile.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/profile/useChangeMyProfile.js.map +1 -1
- package/dist/development/src/hooks/mutations/profile/useChangeProfile.cjs.map +1 -1
- package/dist/development/src/hooks/mutations/profile/useChangeProfile.js.map +1 -1
- package/dist/development/src/hooks/queries/useMeQuery.cjs.map +1 -1
- package/dist/development/src/hooks/queries/useMeQuery.js.map +1 -1
- package/dist/development/src/hooks/queries/useProjectMembersQuery.cjs +15 -9
- package/dist/development/src/hooks/queries/useProjectMembersQuery.cjs.map +1 -1
- package/dist/development/src/hooks/queries/useProjectMembersQuery.js +15 -9
- package/dist/development/src/hooks/queries/useProjectMembersQuery.js.map +1 -1
- package/dist/development/src/hooks/queries/useProjectMembershipsQuery.cjs.map +1 -1
- package/dist/development/src/hooks/queries/useProjectMembershipsQuery.js.map +1 -1
- package/dist/development/src/hooks/queries/useProjectRolesDefinitionQuery.cjs.map +1 -1
- package/dist/development/src/hooks/queries/useProjectRolesDefinitionQuery.js.map +1 -1
- package/dist/development/src/hooks/useFetchIdentity.cjs +4 -1
- package/dist/development/src/hooks/useFetchIdentity.cjs.map +1 -1
- package/dist/development/src/hooks/useFetchIdentity.js +4 -1
- package/dist/development/src/hooks/useFetchIdentity.js.map +1 -1
- package/dist/development/src/hooks/useLogout.cjs.map +1 -1
- package/dist/development/src/hooks/useLogout.js.map +1 -1
- package/dist/development/src/hooks/usePasswordlessOtpActivator.cjs.map +1 -1
- package/dist/development/src/hooks/usePasswordlessOtpActivator.js.map +1 -1
- package/dist/development/src/hooks/useTenantApi.cjs +1 -1
- package/dist/development/src/hooks/useTenantApi.cjs.map +1 -1
- package/dist/development/src/hooks/useTenantApi.js +1 -1
- package/dist/development/src/hooks/useTenantApi.js.map +1 -1
- package/dist/development/src/hooks/useTenantMutation.cjs.map +1 -1
- package/dist/development/src/hooks/useTenantMutation.js +1 -1
- package/dist/development/src/hooks/useTenantMutation.js.map +1 -1
- package/dist/development/src/hooks/useTenantQueryLoader.cjs.map +1 -1
- package/dist/development/src/hooks/useTenantQueryLoader.js.map +1 -1
- package/dist/development/src/internal/hooks/useHandleIDPResponse.cjs +3 -3
- package/dist/development/src/internal/hooks/useHandleIDPResponse.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useHandleIDPResponse.js +3 -3
- package/dist/development/src/internal/hooks/useHandleIDPResponse.js.map +1 -1
- package/dist/development/src/internal/hooks/useIDPAutoInit.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useIDPAutoInit.js.map +1 -1
- package/dist/development/src/internal/hooks/useIDPStateStore.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useIDPStateStore.js.map +1 -1
- package/dist/development/src/internal/hooks/useInitIDPRedirect.cjs +3 -3
- package/dist/development/src/internal/hooks/useInitIDPRedirect.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useInitIDPRedirect.js +3 -3
- package/dist/development/src/internal/hooks/useInitIDPRedirect.js.map +1 -1
- package/dist/development/src/internal/hooks/useLogoutInternal.cjs +1 -1
- package/dist/development/src/internal/hooks/useLogoutInternal.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useLogoutInternal.js +1 -1
- package/dist/development/src/internal/hooks/useLogoutInternal.js.map +1 -1
- package/dist/development/src/internal/hooks/useRedirectToBacklink.cjs +9 -4
- package/dist/development/src/internal/hooks/useRedirectToBacklink.cjs.map +1 -1
- package/dist/development/src/internal/hooks/useRedirectToBacklink.js +9 -4
- package/dist/development/src/internal/hooks/useRedirectToBacklink.js.map +1 -1
- package/dist/development/src/internal/utils/getBaseHref.cjs.map +1 -1
- package/dist/development/src/internal/utils/getBaseHref.js.map +1 -1
- package/dist/development/src/internal/utils/hashing.cjs.map +1 -1
- package/dist/development/src/internal/utils/hashing.js.map +1 -1
- package/dist/development/src/internal/utils/randomInt.cjs.map +1 -1
- package/dist/development/src/internal/utils/randomInt.js.map +1 -1
- package/dist/production/index.cjs +80 -80
- package/dist/production/index.js +31 -31
- package/dist/production/src/components/IdentityProvider.cjs.map +1 -1
- package/dist/production/src/components/IdentityProvider.js.map +1 -1
- package/dist/production/src/components/IdentityState.cjs.map +1 -1
- package/dist/production/src/components/IdentityState.js.map +1 -1
- package/dist/production/src/components/forms/ChangeMyPasswordForm.cjs.map +1 -1
- package/dist/production/src/components/forms/ChangeMyPasswordForm.js.map +1 -1
- package/dist/production/src/components/forms/CreateApiKeyForm.cjs.map +1 -1
- package/dist/production/src/components/forms/CreateApiKeyForm.js.map +1 -1
- package/dist/production/src/components/forms/CreateSessionTokenForm.cjs.map +1 -1
- package/dist/production/src/components/forms/CreateSessionTokenForm.js.map +1 -1
- package/dist/production/src/components/forms/InviteForm.cjs.map +1 -1
- package/dist/production/src/components/forms/InviteForm.js.map +1 -1
- package/dist/production/src/components/forms/LoginForm.cjs +2 -0
- package/dist/production/src/components/forms/LoginForm.cjs.map +1 -1
- package/dist/production/src/components/forms/LoginForm.js +2 -0
- package/dist/production/src/components/forms/LoginForm.js.map +1 -1
- package/dist/production/src/components/forms/OtpConfirmForm.cjs.map +1 -1
- package/dist/production/src/components/forms/OtpConfirmForm.js.map +1 -1
- package/dist/production/src/components/forms/OtpPrepareForm.cjs.map +1 -1
- package/dist/production/src/components/forms/OtpPrepareForm.js.map +1 -1
- package/dist/production/src/components/forms/PasswordResetForm.cjs.map +1 -1
- package/dist/production/src/components/forms/PasswordResetForm.js.map +1 -1
- package/dist/production/src/components/forms/PasswordResetRequestForm.cjs.map +1 -1
- package/dist/production/src/components/forms/PasswordResetRequestForm.js +1 -1
- package/dist/production/src/components/forms/PasswordResetRequestForm.js.map +1 -1
- package/dist/production/src/components/forms/PasswordlessSignInForm.cjs +2 -2
- package/dist/production/src/components/forms/PasswordlessSignInForm.cjs.map +1 -1
- package/dist/production/src/components/forms/PasswordlessSignInForm.js +3 -3
- package/dist/production/src/components/forms/PasswordlessSignInForm.js.map +1 -1
- package/dist/production/src/components/forms/PasswordlessSignInInitForm.cjs +5 -0
- package/dist/production/src/components/forms/PasswordlessSignInInitForm.cjs.map +1 -1
- package/dist/production/src/components/forms/PasswordlessSignInInitForm.js +6 -1
- package/dist/production/src/components/forms/PasswordlessSignInInitForm.js.map +1 -1
- package/dist/production/src/components/forms/TenantForm.cjs +13 -7
- package/dist/production/src/components/forms/TenantForm.cjs.map +1 -1
- package/dist/production/src/components/forms/TenantForm.js +13 -7
- package/dist/production/src/components/forms/TenantForm.js.map +1 -1
- package/dist/production/src/components/forms/UpdateProjectMemberForm.cjs.map +1 -1
- package/dist/production/src/components/forms/UpdateProjectMemberForm.js.map +1 -1
- package/dist/production/src/components/idp/IDP.cjs +3 -3
- package/dist/production/src/components/idp/IDP.cjs.map +1 -1
- package/dist/production/src/components/idp/IDP.js +3 -3
- package/dist/production/src/components/idp/IDP.js.map +1 -1
- package/dist/production/src/components/idp/IDPInitTrigger.cjs.map +1 -1
- package/dist/production/src/components/idp/IDPInitTrigger.js.map +1 -1
- package/dist/production/src/components/idp/IDPState.cjs.map +1 -1
- package/dist/production/src/components/idp/IDPState.js.map +1 -1
- package/dist/production/src/components/triggers/DisableOtpTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/DisableOtpTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/LogoutTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/LogoutTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/RemoveProjectMemberTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/RemoveProjectMemberTrigger.js.map +1 -1
- package/dist/production/src/components/triggers/TenantActionTrigger.cjs.map +1 -1
- package/dist/production/src/components/triggers/TenantActionTrigger.js.map +1 -1
- package/dist/production/src/contexts.cjs.map +1 -1
- package/dist/production/src/contexts.js +1 -1
- package/dist/production/src/contexts.js.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateApiKeyMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateApiKeyMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useCreateSessionTokenMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useDisableApiKeyMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/apiKey/useDisableApiKeyMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useChangeMyPasswordMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useChangeMyPasswordMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useSignInMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useSignInMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useSignOutMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/auth/useSignOutMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/idp/useInitSignInIDPMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/idp/useInitSignInIDPMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.cjs +6 -3
- package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.js +6 -3
- package/dist/production/src/hooks/mutations/idp/useSignInIdpMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/invite/useInviteMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/invite/useInviteMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useAddProjectMemberMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useAddProjectMemberMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useRemoveProjectMemberMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/memberships/useUpdateProjectMemberMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/otp/useConfirmOtpMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/otp/useConfirmOtpMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/otp/useDisableOtpMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/otp/useDisableOtpMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/otp/usePrepareOtpMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/otp/usePrepareOtpMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordReset/useResetPasswordMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordReset/useResetPasswordMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/passwordless/useSignInPasswordlessMutation.js.map +1 -1
- package/dist/production/src/hooks/mutations/profile/useChangeMyProfile.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/profile/useChangeMyProfile.js.map +1 -1
- package/dist/production/src/hooks/mutations/profile/useChangeProfile.cjs.map +1 -1
- package/dist/production/src/hooks/mutations/profile/useChangeProfile.js.map +1 -1
- package/dist/production/src/hooks/queries/useMeQuery.cjs.map +1 -1
- package/dist/production/src/hooks/queries/useMeQuery.js.map +1 -1
- package/dist/production/src/hooks/queries/useProjectMembersQuery.cjs +15 -9
- package/dist/production/src/hooks/queries/useProjectMembersQuery.cjs.map +1 -1
- package/dist/production/src/hooks/queries/useProjectMembersQuery.js +15 -9
- package/dist/production/src/hooks/queries/useProjectMembersQuery.js.map +1 -1
- package/dist/production/src/hooks/queries/useProjectMembershipsQuery.cjs.map +1 -1
- package/dist/production/src/hooks/queries/useProjectMembershipsQuery.js.map +1 -1
- package/dist/production/src/hooks/queries/useProjectRolesDefinitionQuery.cjs.map +1 -1
- package/dist/production/src/hooks/queries/useProjectRolesDefinitionQuery.js.map +1 -1
- package/dist/production/src/hooks/useFetchIdentity.cjs +4 -1
- package/dist/production/src/hooks/useFetchIdentity.cjs.map +1 -1
- package/dist/production/src/hooks/useFetchIdentity.js +4 -1
- package/dist/production/src/hooks/useFetchIdentity.js.map +1 -1
- package/dist/production/src/hooks/useLogout.cjs.map +1 -1
- package/dist/production/src/hooks/useLogout.js.map +1 -1
- package/dist/production/src/hooks/usePasswordlessOtpActivator.cjs.map +1 -1
- package/dist/production/src/hooks/usePasswordlessOtpActivator.js.map +1 -1
- package/dist/production/src/hooks/useTenantApi.cjs +1 -1
- package/dist/production/src/hooks/useTenantApi.cjs.map +1 -1
- package/dist/production/src/hooks/useTenantApi.js +1 -1
- package/dist/production/src/hooks/useTenantApi.js.map +1 -1
- package/dist/production/src/hooks/useTenantMutation.cjs.map +1 -1
- package/dist/production/src/hooks/useTenantMutation.js +1 -1
- package/dist/production/src/hooks/useTenantMutation.js.map +1 -1
- package/dist/production/src/hooks/useTenantQueryLoader.cjs.map +1 -1
- package/dist/production/src/hooks/useTenantQueryLoader.js.map +1 -1
- package/dist/production/src/internal/hooks/useHandleIDPResponse.cjs +3 -3
- package/dist/production/src/internal/hooks/useHandleIDPResponse.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useHandleIDPResponse.js +3 -3
- package/dist/production/src/internal/hooks/useHandleIDPResponse.js.map +1 -1
- package/dist/production/src/internal/hooks/useIDPAutoInit.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useIDPAutoInit.js.map +1 -1
- package/dist/production/src/internal/hooks/useIDPStateStore.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useIDPStateStore.js.map +1 -1
- package/dist/production/src/internal/hooks/useInitIDPRedirect.cjs +3 -3
- package/dist/production/src/internal/hooks/useInitIDPRedirect.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useInitIDPRedirect.js +3 -3
- package/dist/production/src/internal/hooks/useInitIDPRedirect.js.map +1 -1
- package/dist/production/src/internal/hooks/useLogoutInternal.cjs +1 -1
- package/dist/production/src/internal/hooks/useLogoutInternal.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useLogoutInternal.js +1 -1
- package/dist/production/src/internal/hooks/useLogoutInternal.js.map +1 -1
- package/dist/production/src/internal/hooks/useRedirectToBacklink.cjs +9 -4
- package/dist/production/src/internal/hooks/useRedirectToBacklink.cjs.map +1 -1
- package/dist/production/src/internal/hooks/useRedirectToBacklink.js +9 -4
- package/dist/production/src/internal/hooks/useRedirectToBacklink.js.map +1 -1
- package/dist/production/src/internal/utils/getBaseHref.cjs.map +1 -1
- package/dist/production/src/internal/utils/getBaseHref.js.map +1 -1
- package/dist/production/src/internal/utils/hashing.cjs.map +1 -1
- package/dist/production/src/internal/utils/hashing.js.map +1 -1
- package/dist/production/src/internal/utils/randomInt.cjs.map +1 -1
- package/dist/production/src/internal/utils/randomInt.js.map +1 -1
- package/dist/types/components/IdentityProvider.d.ts.map +1 -1
- package/dist/types/components/forms/ChangeMyPasswordForm.d.ts.map +1 -1
- package/dist/types/components/forms/LoginForm.d.ts.map +1 -1
- package/dist/types/components/forms/OtpPrepareForm.d.ts.map +1 -1
- package/dist/types/components/forms/PasswordResetForm.d.ts.map +1 -1
- package/dist/types/components/forms/PasswordResetRequestForm.d.ts.map +1 -1
- package/dist/types/components/forms/PasswordlessSignInForm.d.ts +1 -1
- package/dist/types/components/forms/PasswordlessSignInForm.d.ts.map +1 -1
- package/dist/types/components/forms/PasswordlessSignInInitForm.d.ts.map +1 -1
- package/dist/types/components/forms/TenantForm.d.ts.map +1 -1
- package/dist/types/components/forms/UpdateProjectMemberForm.d.ts +1 -1
- package/dist/types/components/forms/UpdateProjectMemberForm.d.ts.map +1 -1
- package/dist/types/components/idp/IDP.d.ts +3 -1
- package/dist/types/components/idp/IDP.d.ts.map +1 -1
- package/dist/types/components/idp/IDPInitTrigger.d.ts.map +1 -1
- package/dist/types/components/triggers/DisableOtpTrigger.d.ts.map +1 -1
- package/dist/types/components/triggers/RemoveProjectMemberTrigger.d.ts.map +1 -1
- package/dist/types/components/triggers/TenantActionTrigger.d.ts.map +1 -1
- package/dist/types/contexts.d.ts.map +1 -1
- package/dist/types/hooks/mutations/apiKey/useCreateApiKeyMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/apiKey/useCreateGlobalApiKeyMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/apiKey/useCreateSessionTokenMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/apiKey/useDisableApiKeyMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/apiKey/useDisableApiKeyMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/auth/useChangeMyPasswordMutation.d.ts +3 -1
- package/dist/types/hooks/mutations/auth/useChangeMyPasswordMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/auth/useSignInMutation.d.ts +4 -2
- package/dist/types/hooks/mutations/auth/useSignInMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/auth/useSignOutMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/auth/useSignOutMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/idp/useInitSignInIDPMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/idp/useInitSignInIDPMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/idp/useSignInIdpMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/idp/useSignInIdpMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/invite/useInviteMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/memberships/useAddProjectMemberMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/memberships/useAddProjectMemberMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/memberships/useRemoveProjectMemberMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/memberships/useRemoveProjectMemberMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/memberships/useUpdateProjectMemberMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/memberships/useUpdateProjectMemberMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/otp/useConfirmOtpMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/otp/useConfirmOtpMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/otp/useDisableOtpMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/otp/useDisableOtpMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/otp/usePrepareOtpMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/otp/usePrepareOtpMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.d.ts +2 -2
- package/dist/types/hooks/mutations/passwordReset/useCreateResetPasswordRequestMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordReset/useResetPasswordMutation.d.ts +4 -2
- package/dist/types/hooks/mutations/passwordReset/useResetPasswordMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.d.ts +2 -2
- package/dist/types/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.d.ts +1 -1
- package/dist/types/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.d.ts.map +1 -1
- package/dist/types/hooks/mutations/passwordless/useInitSignInPasswordlessMutation.d.ts +2 -2
- package/dist/types/hooks/mutations/passwordless/useSignInPasswordlessMutation.d.ts +2 -2
- package/dist/types/hooks/mutations/profile/useChangeMyProfile.d.ts +1 -1
- package/dist/types/hooks/mutations/profile/useChangeMyProfile.d.ts.map +1 -1
- package/dist/types/hooks/mutations/profile/useChangeProfile.d.ts +1 -1
- package/dist/types/hooks/mutations/profile/useChangeProfile.d.ts.map +1 -1
- package/dist/types/hooks/queries/useMeQuery.d.ts.map +1 -1
- package/dist/types/hooks/queries/useProjectMembersQuery.d.ts.map +1 -1
- package/dist/types/hooks/queries/useProjectMembershipsQuery.d.ts.map +1 -1
- package/dist/types/hooks/queries/useProjectRolesDefinitionQuery.d.ts.map +1 -1
- package/dist/types/hooks/useFetchIdentity.d.ts.map +1 -1
- package/dist/types/hooks/usePasswordlessOtpActivator.d.ts.map +1 -1
- package/dist/types/hooks/useTenantApi.d.ts.map +1 -1
- package/dist/types/hooks/useTenantMutation.d.ts.map +1 -1
- package/dist/types/hooks/useTenantQueryLoader.d.ts.map +1 -1
- package/dist/types/internal/hooks/useHandleIDPResponse.d.ts +2 -1
- package/dist/types/internal/hooks/useHandleIDPResponse.d.ts.map +1 -1
- package/dist/types/internal/hooks/useIDPStateStore.d.ts.map +1 -1
- package/dist/types/internal/hooks/useInitIDPRedirect.d.ts +2 -1
- package/dist/types/internal/hooks/useInitIDPRedirect.d.ts.map +1 -1
- package/dist/types/internal/hooks/useRedirectToBacklink.d.ts +3 -1
- package/dist/types/internal/hooks/useRedirectToBacklink.d.ts.map +1 -1
- package/dist/types/internal/utils/randomInt.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/idp.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/components/IdentityProvider.tsx +0 -2
- package/src/components/forms/ChangeMyPasswordForm.tsx +0 -1
- package/src/components/forms/LoginForm.tsx +2 -2
- package/src/components/forms/OtpConfirmForm.tsx +1 -2
- package/src/components/forms/OtpPrepareForm.tsx +1 -3
- package/src/components/forms/PasswordResetForm.tsx +0 -1
- package/src/components/forms/PasswordResetRequestForm.tsx +0 -3
- package/src/components/forms/PasswordlessSignInForm.tsx +12 -9
- package/src/components/forms/PasswordlessSignInInitForm.tsx +6 -3
- package/src/components/forms/TenantForm.tsx +14 -10
- package/src/components/forms/UpdateProjectMemberForm.tsx +2 -2
- package/src/components/idp/IDP.tsx +5 -5
- package/src/components/idp/IDPInitTrigger.tsx +1 -3
- package/src/components/triggers/DisableOtpTrigger.tsx +2 -1
- package/src/components/triggers/RemoveProjectMemberTrigger.tsx +0 -1
- package/src/components/triggers/TenantActionTrigger.tsx +4 -2
- package/src/contexts.ts +0 -2
- package/src/hooks/mutations/apiKey/useDisableApiKeyMutation.tsx +0 -1
- package/src/hooks/mutations/auth/useSignInMutation.ts +0 -1
- package/src/hooks/mutations/idp/useInitSignInIDPMutation.ts +5 -2
- package/src/hooks/mutations/idp/useSignInIdpMutation.ts +6 -4
- package/src/hooks/mutations/otp/useConfirmOtpMutation.ts +5 -5
- package/src/hooks/mutations/otp/usePrepareOtpMutation.ts +0 -1
- package/src/hooks/mutations/passwordless/useActivatePasswordlessOtpMutation.ts +0 -1
- package/src/hooks/mutations/passwordless/useDisableMyPasswordlessMutation.ts +0 -1
- package/src/hooks/mutations/passwordless/useEnableMyPasswordlessMutation.ts +0 -1
- package/src/hooks/mutations/profile/useChangeMyProfile.ts +2 -2
- package/src/hooks/mutations/profile/useChangeProfile.ts +2 -2
- package/src/hooks/queries/useMeQuery.ts +5 -4
- package/src/hooks/queries/useProjectMembersQuery.ts +19 -14
- package/src/hooks/queries/useProjectMembershipsQuery.ts +0 -1
- package/src/hooks/queries/useProjectRolesDefinitionQuery.ts +1 -2
- package/src/hooks/useFetchIdentity.ts +4 -1
- package/src/hooks/usePasswordlessOtpActivator.ts +4 -3
- package/src/hooks/useTenantApi.ts +0 -1
- package/src/hooks/useTenantMutation.ts +8 -6
- package/src/hooks/useTenantQueryLoader.ts +4 -3
- package/src/internal/hooks/useHandleIDPResponse.ts +6 -3
- package/src/internal/hooks/useIDPAutoInit.ts +0 -1
- package/src/internal/hooks/useIDPStateStore.ts +1 -1
- package/src/internal/hooks/useInitIDPRedirect.ts +4 -3
- package/src/internal/hooks/useLogoutInternal.ts +1 -1
- package/src/internal/hooks/useRedirectToBacklink.ts +11 -5
- package/src/internal/utils/randomInt.ts +0 -1
- package/src/types/idp.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMeQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useMeQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst identityFragment = TenantApi\n\t.identity$$\n\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t.projects(
|
|
1
|
+
{"version":3,"file":"useMeQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useMeQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst identityFragment = TenantApi\n\t.identity$$\n\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t.projects(\n\t\tTenantApi\n\t\t\t.identityProjectRelation$\n\t\t\t.project(TenantApi.project$$)\n\t\t\t.memberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$)),\n\t)\n\t.permissions(TenantApi.identityGlobalPermissions$$)\n\nexport type MeQueryData = ModelType<typeof identityFragment>\n\nexport const useMeQuery = (options: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi(options)\n\treturn useCallback(async ({}: {}): Promise<MeQueryData> => {\n\t\treturn (await executor(TenantApi.query$.me(identityFragment))).me\n\t}, [executor])\n}\n"],"names":["TenantApi","useTenantApi","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,mBAAmBA,qBACvB,WACA,OAAOA,qBAAU,QAAQ,GAAG,MAAM,KAAK,UAAU,EACjD;AAAA,EACAA,qBACE,yBACA,QAAQA,qBAAU,SAAS,EAC3B,YAAYA,qBAAU,aAAa,UAAUA,qBAAU,eAAe,CAAC;AAC1E,EACC,YAAYA,qBAAU,2BAA2B;AAI5C,MAAM,aAAa,CAAC,UAA4B,OAAO;AAC7D,QAAM,WAAWC,aAAAA,aAAa,OAAO;AACrC,SAAOC,MAAAA,YAAY,OAAO,OAAiC;AAC1D,YAAQ,MAAM,SAASF,qBAAU,OAAO,GAAG,gBAAgB,CAAC,GAAG;AAAA,EAChE,GAAG,CAAC,QAAQ,CAAC;AACd;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMeQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useMeQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst identityFragment = TenantApi\n\t.identity$$\n\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t.projects(
|
|
1
|
+
{"version":3,"file":"useMeQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useMeQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst identityFragment = TenantApi\n\t.identity$$\n\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t.projects(\n\t\tTenantApi\n\t\t\t.identityProjectRelation$\n\t\t\t.project(TenantApi.project$$)\n\t\t\t.memberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$)),\n\t)\n\t.permissions(TenantApi.identityGlobalPermissions$$)\n\nexport type MeQueryData = ModelType<typeof identityFragment>\n\nexport const useMeQuery = (options: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi(options)\n\treturn useCallback(async ({}: {}): Promise<MeQueryData> => {\n\t\treturn (await executor(TenantApi.query$.me(identityFragment))).me\n\t}, [executor])\n}\n"],"names":[],"mappings":";;;AAKA,MAAM,mBAAmB,UACvB,WACA,OAAO,UAAU,QAAQ,GAAG,MAAM,KAAK,UAAU,EACjD;AAAA,EACA,UACE,yBACA,QAAQ,UAAU,SAAS,EAC3B,YAAY,UAAU,aAAa,UAAU,UAAU,eAAe,CAAC;AAC1E,EACC,YAAY,UAAU,2BAA2B;AAI5C,MAAM,aAAa,CAAC,UAA4B,OAAO;AAC7D,QAAM,WAAW,aAAa,OAAO;AACrC,SAAO,YAAY,OAAO,OAAiC;AAC1D,YAAQ,MAAM,SAAS,UAAU,OAAO,GAAG,gBAAgB,CAAC,GAAG;AAAA,EAChE,GAAG,CAAC,QAAQ,CAAC;AACd;"}
|
|
@@ -30,16 +30,22 @@ const useProjectMembersQuery = ({ headers, apiToken } = {}) => {
|
|
|
30
30
|
apiToken
|
|
31
31
|
});
|
|
32
32
|
return React.useCallback(async ({ projectSlug, ...membersInput }) => {
|
|
33
|
-
const result = await executor(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
const result = await executor(
|
|
34
|
+
TenantApi__namespace.query$.projectBySlug(
|
|
35
|
+
{
|
|
36
|
+
slug: graphqlTsClientApi.ParameterRef.of("projectSlug")
|
|
37
|
+
},
|
|
38
|
+
TenantApi__namespace.project$.members({
|
|
39
|
+
input: graphqlTsClientApi.ParameterRef.of("membersInput")
|
|
40
|
+
}, projectIdentityRelationFragment)
|
|
41
|
+
),
|
|
42
|
+
{
|
|
43
|
+
variables: {
|
|
44
|
+
projectSlug,
|
|
45
|
+
membersInput
|
|
46
|
+
}
|
|
41
47
|
}
|
|
42
|
-
|
|
48
|
+
);
|
|
43
49
|
return result.projectBySlug?.members ?? [];
|
|
44
50
|
}, [executor]);
|
|
45
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectMembersQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembersQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectIdentityRelationFragment = TenantApi\n\t.projectIdentityRelation$\n\t.identity(
|
|
1
|
+
{"version":3,"file":"useProjectMembersQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembersQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectIdentityRelationFragment = TenantApi\n\t.projectIdentityRelation$\n\t.identity(\n\t\tTenantApi.identity$$\n\t\t\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t\t\t.apiKey(TenantApi.apiKey$$),\n\t)\n\t.memberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$))\n\nexport type ProjectMembersQueryResult = readonly ModelType<typeof projectIdentityRelationFragment>[]\n\nexport type ProjectMembersQueryVariables =\n\t& {\n\t\tprojectSlug: string\n\t}\n\t& TenantApi.ProjectMembersInput\n\nexport const useProjectMembersQuery = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi({\n\t\theaders,\n\t\tapiToken,\n\t})\n\treturn useCallback(async ({ projectSlug, ...membersInput }: ProjectMembersQueryVariables): Promise<ProjectMembersQueryResult> => {\n\t\tconst result = await executor(\n\t\t\tTenantApi.query$.projectBySlug(\n\t\t\t\t{\n\t\t\t\t\tslug: ParameterRef.of('projectSlug'),\n\t\t\t\t},\n\t\t\t\tTenantApi.project$.members({\n\t\t\t\t\tinput: ParameterRef.of('membersInput'),\n\t\t\t\t}, projectIdentityRelationFragment),\n\t\t\t),\n\t\t\t{\n\t\t\t\tvariables: {\n\t\t\t\t\tprojectSlug,\n\t\t\t\t\tmembersInput,\n\t\t\t\t},\n\t\t\t},\n\t\t)\n\n\t\treturn result.projectBySlug?.members ?? []\n\t}, [executor])\n}\n"],"names":["TenantApi","useTenantApi","useCallback","ParameterRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,kCAAkCA,qBACtC,yBACA;AAAA,EACAA,qBAAU,WACR,OAAOA,qBAAU,QAAQ,GAAG,MAAM,KAAK,UAAU,EACjD,OAAOA,qBAAU,QAAQ;AAC5B,EACC,YAAYA,qBAAU,aAAa,UAAUA,qBAAU,eAAe,CAAC;AAUlE,MAAM,yBAAyB,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AACvF,QAAM,WAAWC,aAAAA,aAAa;AAAA,IAC7B;AAAA,IACA;AAAA,EAAA,CACA;AACD,SAAOC,MAAAA,YAAY,OAAO,EAAE,aAAa,GAAG,mBAAqF;AAChI,UAAM,SAAS,MAAM;AAAA,MACpBF,qBAAU,OAAO;AAAA,QAChB;AAAA,UACC,MAAMG,mBAAAA,aAAa,GAAG,aAAa;AAAA,QAAA;AAAA,QAEpCH,qBAAU,SAAS,QAAQ;AAAA,UAC1B,OAAOG,mBAAAA,aAAa,GAAG,cAAc;AAAA,QAAA,GACnC,+BAA+B;AAAA,MAAA;AAAA,MAEnC;AAAA,QACC,WAAW;AAAA,UACV;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IACD;AAGD,WAAO,OAAO,eAAe,WAAW,CAAA;AAAA,EACzC,GAAG,CAAC,QAAQ,CAAC;AACd;;"}
|
|
@@ -11,16 +11,22 @@ const useProjectMembersQuery = ({ headers, apiToken } = {}) => {
|
|
|
11
11
|
apiToken
|
|
12
12
|
});
|
|
13
13
|
return useCallback(async ({ projectSlug, ...membersInput }) => {
|
|
14
|
-
const result = await executor(
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
const result = await executor(
|
|
15
|
+
TenantApi.query$.projectBySlug(
|
|
16
|
+
{
|
|
17
|
+
slug: ParameterRef.of("projectSlug")
|
|
18
|
+
},
|
|
19
|
+
TenantApi.project$.members({
|
|
20
|
+
input: ParameterRef.of("membersInput")
|
|
21
|
+
}, projectIdentityRelationFragment)
|
|
22
|
+
),
|
|
23
|
+
{
|
|
24
|
+
variables: {
|
|
25
|
+
projectSlug,
|
|
26
|
+
membersInput
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
|
-
|
|
29
|
+
);
|
|
24
30
|
return result.projectBySlug?.members ?? [];
|
|
25
31
|
}, [executor]);
|
|
26
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectMembersQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembersQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectIdentityRelationFragment = TenantApi\n\t.projectIdentityRelation$\n\t.identity(
|
|
1
|
+
{"version":3,"file":"useProjectMembersQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembersQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectIdentityRelationFragment = TenantApi\n\t.projectIdentityRelation$\n\t.identity(\n\t\tTenantApi.identity$$\n\t\t\t.person(TenantApi.person$.id.email.name.otpEnabled)\n\t\t\t.apiKey(TenantApi.apiKey$$),\n\t)\n\t.memberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$))\n\nexport type ProjectMembersQueryResult = readonly ModelType<typeof projectIdentityRelationFragment>[]\n\nexport type ProjectMembersQueryVariables =\n\t& {\n\t\tprojectSlug: string\n\t}\n\t& TenantApi.ProjectMembersInput\n\nexport const useProjectMembersQuery = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi({\n\t\theaders,\n\t\tapiToken,\n\t})\n\treturn useCallback(async ({ projectSlug, ...membersInput }: ProjectMembersQueryVariables): Promise<ProjectMembersQueryResult> => {\n\t\tconst result = await executor(\n\t\t\tTenantApi.query$.projectBySlug(\n\t\t\t\t{\n\t\t\t\t\tslug: ParameterRef.of('projectSlug'),\n\t\t\t\t},\n\t\t\t\tTenantApi.project$.members({\n\t\t\t\t\tinput: ParameterRef.of('membersInput'),\n\t\t\t\t}, projectIdentityRelationFragment),\n\t\t\t),\n\t\t\t{\n\t\t\t\tvariables: {\n\t\t\t\t\tprojectSlug,\n\t\t\t\t\tmembersInput,\n\t\t\t\t},\n\t\t\t},\n\t\t)\n\n\t\treturn result.projectBySlug?.members ?? []\n\t}, [executor])\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,kCAAkC,UACtC,yBACA;AAAA,EACA,UAAU,WACR,OAAO,UAAU,QAAQ,GAAG,MAAM,KAAK,UAAU,EACjD,OAAO,UAAU,QAAQ;AAC5B,EACC,YAAY,UAAU,aAAa,UAAU,UAAU,eAAe,CAAC;AAUlE,MAAM,yBAAyB,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AACvF,QAAM,WAAW,aAAa;AAAA,IAC7B;AAAA,IACA;AAAA,EAAA,CACA;AACD,SAAO,YAAY,OAAO,EAAE,aAAa,GAAG,mBAAqF;AAChI,UAAM,SAAS,MAAM;AAAA,MACpB,UAAU,OAAO;AAAA,QAChB;AAAA,UACC,MAAM,aAAa,GAAG,aAAa;AAAA,QAAA;AAAA,QAEpC,UAAU,SAAS,QAAQ;AAAA,UAC1B,OAAO,aAAa,GAAG,cAAc;AAAA,QAAA,GACnC,+BAA+B;AAAA,MAAA;AAAA,MAEnC;AAAA,QACC,WAAW;AAAA,UACV;AAAA,UACA;AAAA,QAAA;AAAA,MACD;AAAA,IACD;AAGD,WAAO,OAAO,eAAe,WAAW,CAAA;AAAA,EACzC,GAAG,CAAC,QAAQ,CAAC;AACd;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectMembershipsQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembershipsQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectMembershipsFragment = TenantApi.membership$$.variables(TenantApi.variableEntry$$)\n\nexport type ProjectMembershipsQueryResult = readonly ModelType<typeof projectMembershipsFragment>[]\n\nexport type ProjectMembershipsQueryVariables = {\n\tprojectSlug: string\n\tidentityId: string\n}\n\
|
|
1
|
+
{"version":3,"file":"useProjectMembershipsQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembershipsQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectMembershipsFragment = TenantApi.membership$$.variables(TenantApi.variableEntry$$)\n\nexport type ProjectMembershipsQueryResult = readonly ModelType<typeof projectMembershipsFragment>[]\n\nexport type ProjectMembershipsQueryVariables = {\n\tprojectSlug: string\n\tidentityId: string\n}\n\nexport const useProjectMembershipsQuery = (options: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi(options)\n\treturn useCallback(async (input: ProjectMembershipsQueryVariables): Promise<ProjectMembershipsQueryResult> => {\n\t\tconst result = await executor(TenantApi.query$.projectMemberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$)), {\n\t\t\tvariables: input,\n\t\t})\n\n\t\treturn result.projectMemberships ?? []\n\t}, [executor])\n}\n"],"names":["TenantApi","useTenantApi","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKmCA,qBAAU,aAAa,UAAUA,qBAAU,eAAe;AAStF,MAAM,6BAA6B,CAAC,UAA4B,OAAO;AAC7E,QAAM,WAAWC,aAAAA,aAAa,OAAO;AACrC,SAAOC,MAAAA,YAAY,OAAO,UAAoF;AAC7G,UAAM,SAAS,MAAM,SAASF,qBAAU,OAAO,mBAAmBA,qBAAU,aAAa,UAAUA,qBAAU,eAAe,CAAC,GAAG;AAAA,MAC/H,WAAW;AAAA,IAAA,CACX;AAED,WAAO,OAAO,sBAAsB,CAAA;AAAA,EACrC,GAAG,CAAC,QAAQ,CAAC;AACd;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectMembershipsQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembershipsQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectMembershipsFragment = TenantApi.membership$$.variables(TenantApi.variableEntry$$)\n\nexport type ProjectMembershipsQueryResult = readonly ModelType<typeof projectMembershipsFragment>[]\n\nexport type ProjectMembershipsQueryVariables = {\n\tprojectSlug: string\n\tidentityId: string\n}\n\
|
|
1
|
+
{"version":3,"file":"useProjectMembershipsQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectMembershipsQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType, ParameterRef } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectMembershipsFragment = TenantApi.membership$$.variables(TenantApi.variableEntry$$)\n\nexport type ProjectMembershipsQueryResult = readonly ModelType<typeof projectMembershipsFragment>[]\n\nexport type ProjectMembershipsQueryVariables = {\n\tprojectSlug: string\n\tidentityId: string\n}\n\nexport const useProjectMembershipsQuery = (options: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi(options)\n\treturn useCallback(async (input: ProjectMembershipsQueryVariables): Promise<ProjectMembershipsQueryResult> => {\n\t\tconst result = await executor(TenantApi.query$.projectMemberships(TenantApi.membership$$.variables(TenantApi.variableEntry$$)), {\n\t\t\tvariables: input,\n\t\t})\n\n\t\treturn result.projectMemberships ?? []\n\t}, [executor])\n}\n"],"names":[],"mappings":";;;AAKmC,UAAU,aAAa,UAAU,UAAU,eAAe;AAStF,MAAM,6BAA6B,CAAC,UAA4B,OAAO;AAC7E,QAAM,WAAW,aAAa,OAAO;AACrC,SAAO,YAAY,OAAO,UAAoF;AAC7G,UAAM,SAAS,MAAM,SAAS,UAAU,OAAO,mBAAmB,UAAU,aAAa,UAAU,UAAU,eAAe,CAAC,GAAG;AAAA,MAC/H,WAAW;AAAA,IAAA,CACX;AAED,WAAO,OAAO,sBAAsB,CAAA;AAAA,EACrC,GAAG,CAAC,QAAQ,CAAC;AACd;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectRolesDefinitionQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectRolesDefinitionQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectRolesDefinitionFragment = TenantApi.roleDefinition$$\n\t.variables(\n\t\tTenantApi.roleVariableDefinition$$\n\t\t\t.on(TenantApi.roleConditionVariableDefinition$$)\n\t\t\t.on(TenantApi.roleEntityVariableDefinition$$)\n\t\t\t.on(TenantApi.rolePredefinedVariableDefinition$$)
|
|
1
|
+
{"version":3,"file":"useProjectRolesDefinitionQuery.cjs","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectRolesDefinitionQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectRolesDefinitionFragment = TenantApi.roleDefinition$$\n\t.variables(\n\t\tTenantApi.roleVariableDefinition$$\n\t\t\t.on(TenantApi.roleConditionVariableDefinition$$)\n\t\t\t.on(TenantApi.roleEntityVariableDefinition$$)\n\t\t\t.on(TenantApi.rolePredefinedVariableDefinition$$),\n\t)\n\nexport type ProjectRoleDefinition = ModelType<typeof projectRolesDefinitionFragment>\nexport type ProjectRolesDefinitionQueryResult = readonly ProjectRoleDefinition[]\n\nconst projectRolesDefinitionQuery = TenantApi.query$\n\t.projectBySlug(\n\t\tTenantApi\n\t\t\t.project$\n\t\t\t.roles(projectRolesDefinitionFragment),\n\t)\n\nexport interface ProjectRolesDefinitionQueryVariables {\n\tslug: string\n}\n\nexport const useProjectRolesDefinitionQuery = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi()\n\treturn useCallback(async (variables: ProjectRolesDefinitionQueryVariables): Promise<ProjectRolesDefinitionQueryResult> => {\n\t\treturn (await executor(projectRolesDefinitionQuery, { headers, apiToken, variables })).projectBySlug?.roles ?? []\n\t}, [apiToken, executor, headers])\n}\n"],"names":["TenantApi","useTenantApi","useCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,iCAAiCA,qBAAU,iBAC/C;AAAA,EACAA,qBAAU,yBACR,GAAGA,qBAAU,iCAAiC,EAC9C,GAAGA,qBAAU,8BAA8B,EAC3C,GAAGA,qBAAU,kCAAkC;AAClD;AAKD,MAAM,8BAA8BA,qBAAU,OAC5C;AAAA,EACAA,qBACE,SACA,MAAM,8BAA8B;AACvC;AAMM,MAAM,iCAAiC,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AAC/F,QAAM,WAAWC,aAAAA,aAAA;AACjB,SAAOC,MAAAA,YAAY,OAAO,cAAgG;AACzH,YAAQ,MAAM,SAAS,6BAA6B,EAAE,SAAS,UAAU,WAAW,GAAG,eAAe,SAAS,CAAA;AAAA,EAChH,GAAG,CAAC,UAAU,UAAU,OAAO,CAAC;AACjC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProjectRolesDefinitionQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectRolesDefinitionQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectRolesDefinitionFragment = TenantApi.roleDefinition$$\n\t.variables(\n\t\tTenantApi.roleVariableDefinition$$\n\t\t\t.on(TenantApi.roleConditionVariableDefinition$$)\n\t\t\t.on(TenantApi.roleEntityVariableDefinition$$)\n\t\t\t.on(TenantApi.rolePredefinedVariableDefinition$$)
|
|
1
|
+
{"version":3,"file":"useProjectRolesDefinitionQuery.js","sources":["../../../../../../packages/react-client-tenant/src/hooks/queries/useProjectRolesDefinitionQuery.ts"],"sourcesContent":["import * as TenantApi from '@contember/graphql-client-tenant'\nimport { ModelType } from 'graphql-ts-client-api'\nimport { TenantApiOptions, useTenantApi } from '../useTenantApi'\nimport { useCallback } from 'react'\n\nconst projectRolesDefinitionFragment = TenantApi.roleDefinition$$\n\t.variables(\n\t\tTenantApi.roleVariableDefinition$$\n\t\t\t.on(TenantApi.roleConditionVariableDefinition$$)\n\t\t\t.on(TenantApi.roleEntityVariableDefinition$$)\n\t\t\t.on(TenantApi.rolePredefinedVariableDefinition$$),\n\t)\n\nexport type ProjectRoleDefinition = ModelType<typeof projectRolesDefinitionFragment>\nexport type ProjectRolesDefinitionQueryResult = readonly ProjectRoleDefinition[]\n\nconst projectRolesDefinitionQuery = TenantApi.query$\n\t.projectBySlug(\n\t\tTenantApi\n\t\t\t.project$\n\t\t\t.roles(projectRolesDefinitionFragment),\n\t)\n\nexport interface ProjectRolesDefinitionQueryVariables {\n\tslug: string\n}\n\nexport const useProjectRolesDefinitionQuery = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst executor = useTenantApi()\n\treturn useCallback(async (variables: ProjectRolesDefinitionQueryVariables): Promise<ProjectRolesDefinitionQueryResult> => {\n\t\treturn (await executor(projectRolesDefinitionQuery, { headers, apiToken, variables })).projectBySlug?.roles ?? []\n\t}, [apiToken, executor, headers])\n}\n"],"names":[],"mappings":";;;AAKA,MAAM,iCAAiC,UAAU,iBAC/C;AAAA,EACA,UAAU,yBACR,GAAG,UAAU,iCAAiC,EAC9C,GAAG,UAAU,8BAA8B,EAC3C,GAAG,UAAU,kCAAkC;AAClD;AAKD,MAAM,8BAA8B,UAAU,OAC5C;AAAA,EACA,UACE,SACA,MAAM,8BAA8B;AACvC;AAMM,MAAM,iCAAiC,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AAC/F,QAAM,WAAW,aAAA;AACjB,SAAO,YAAY,OAAO,cAAgG;AACzH,YAAQ,MAAM,SAAS,6BAA6B,EAAE,SAAS,UAAU,WAAW,GAAG,eAAe,SAAS,CAAA;AAAA,EAChH,GAAG,CAAC,UAAU,UAAU,OAAO,CAAC;AACjC;"}
|
|
@@ -7,7 +7,10 @@ const useMeQuery = require("./queries/useMeQuery.cjs");
|
|
|
7
7
|
const useFetchIdentity = () => {
|
|
8
8
|
const sessionToken = reactClient.useSessionToken();
|
|
9
9
|
const fetchMe = useMeQuery.useMeQuery();
|
|
10
|
-
const [identityState, setIdentityState] = React.useState({
|
|
10
|
+
const [identityState, setIdentityState] = React.useState({
|
|
11
|
+
state: sessionToken ? "loading" : "none",
|
|
12
|
+
identity: void 0
|
|
13
|
+
});
|
|
11
14
|
const clearIdentity = React.useCallback(() => setIdentityState({ state: "cleared", identity: void 0 }), []);
|
|
12
15
|
const logout = useLogoutInternal.useLogoutInternal(clearIdentity);
|
|
13
16
|
const fetch = React.useCallback(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchIdentity.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({
|
|
1
|
+
{"version":3,"file":"useFetchIdentity.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useMeQuery","useState","useCallback","useLogoutInternal","it","GraphQlClientError","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA,gBAAA;AACrB,QAAM,UAAUC,WAAAA,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,eAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAASC,kBAAAA,kBAAkB,aAAa;AAE9C,QAAM,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAaC,YAAAA,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACAC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
|
|
@@ -5,7 +5,10 @@ import { useMeQuery } from "./queries/useMeQuery.js";
|
|
|
5
5
|
const useFetchIdentity = () => {
|
|
6
6
|
const sessionToken = useSessionToken();
|
|
7
7
|
const fetchMe = useMeQuery();
|
|
8
|
-
const [identityState, setIdentityState] = useState({
|
|
8
|
+
const [identityState, setIdentityState] = useState({
|
|
9
|
+
state: sessionToken ? "loading" : "none",
|
|
10
|
+
identity: void 0
|
|
11
|
+
});
|
|
9
12
|
const clearIdentity = useCallback(() => setIdentityState({ state: "cleared", identity: void 0 }), []);
|
|
10
13
|
const logout = useLogoutInternal(clearIdentity);
|
|
11
14
|
const fetch = useCallback(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchIdentity.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({
|
|
1
|
+
{"version":3,"file":"useFetchIdentity.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { GraphQlClientError, useSessionToken } from '@contember/react-client'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\nimport { useMeQuery } from './queries'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue; identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useMeQuery()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({\n\t\tstate: sessionToken ? 'loading' : 'none',\n\t\tidentity: undefined,\n\t})\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe({})\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\troles: response.roles ?? [],\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (e instanceof GraphQlClientError && e.response?.status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["it"],"mappings":";;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAe,gBAAA;AACrB,QAAM,UAAU,WAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAiD;AAAA,IAC1F,OAAO,eAAe,YAAY;AAAA,IAClC,UAAU;AAAA,EAAA,CACV;AAED,QAAM,gBAAgB,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,EAAE;AACvG,QAAM,SAAS,kBAAkB,aAAa;AAE9C,QAAM,QAAQ,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAC1D,QAAI;AACH,YAAM,WAAW,MAAM,QAAQ,EAAE;AACjC,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAA;AAEhE,uBAAiB;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,OAAO,SAAS,SAAS,CAAA;AAAA,UACzB,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAA,QAAO;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAA,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,aAAa,sBAAsB,EAAE,UAAU,WAAW,KAAK;AAClE,eAAO,EAAE,YAAY,MAAM;AAAA,MAC5B,OAAO;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EACD,GAAG,CAAC,SAAS,MAAM,CAAC;AAEpB,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogout.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":["useIdentityMethods","useLogoutInternal"],"mappings":";;;;AAGO,MAAM,YAAY,MAAM;
|
|
1
|
+
{"version":3,"file":"useLogout.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":["useIdentityMethods","useLogoutInternal"],"mappings":";;;;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkBA,4BAAA;AAC1B,SAAOC,kBAAAA,kBAAkB,aAAa;AACvC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogout.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":[],"mappings":";;AAGO,MAAM,YAAY,MAAM;
|
|
1
|
+
{"version":3,"file":"useLogout.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useLogout.ts"],"sourcesContent":["import { useIdentityMethods } from '../contexts'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useLogout = () => {\n\tconst { clearIdentity } = useIdentityMethods()\n\treturn useLogoutInternal(clearIdentity)\n}\n"],"names":[],"mappings":";;AAGO,MAAM,YAAY,MAAM;AAC9B,QAAM,EAAE,cAAA,IAAkB,mBAAA;AAC1B,SAAO,kBAAkB,aAAa;AACvC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePasswordlessOtpActivator.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): {localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null} => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR'}\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":["PASSWORDLESS_REQUEST_STORAGE_KEY","useActivatePasswordlessOtpMutation","useState","useEffect","randomString","calculateHash"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"usePasswordlessOtpActivator.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":["PASSWORDLESS_REQUEST_STORAGE_KEY","useActivatePasswordlessOtpMutation","useState","useEffect","randomString","calculateHash"],"mappings":";;;;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQA,OAAAA,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAcC,mCAAAA,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGDC,QAAAA,UAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAUC,UAAAA,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAMC,sBAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePasswordlessOtpActivator.js","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): {localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null} => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR'}\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"usePasswordlessOtpActivator.js","sources":["../../../../../packages/react-client-tenant/src/hooks/usePasswordlessOtpActivator.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { PASSWORDLESS_REQUEST_STORAGE_KEY } from '../consts'\nimport { useActivatePasswordlessOtpMutation } from './mutations'\nimport { randomString } from '../internal/utils/randomInt'\nimport { calculateHash } from '../internal/utils/hashing'\nimport { ActivatePasswordlessOtpErrorCode } from '@contember/graphql-client-tenant'\n\nconst usePasswordlessParams = (): { localStorageRequestId: string | null; urlRequestId: string | null; urlToken: string | null } => {\n\tconst localStorageValue = localStorage.getItem(PASSWORDLESS_REQUEST_STORAGE_KEY) ?? null\n\tconst urlParams = new URLSearchParams(window.location.search)\n\tconst requestId = urlParams.get('request_id')\n\tconst token = urlParams.get('token')\n\n\treturn { localStorageRequestId: localStorageValue, urlRequestId: requestId, urlToken: token }\n}\n\nexport type PasswordlessResponseHandlerState =\n\t| { type: 'empty' }\n\t| { type: 'otp_activating' }\n\t| { type: 'otp_activated'; otp: string }\n\t| { type: 'otp_activation_failed'; error: ActivatePasswordlessOtpErrorCode | 'UNKNOWN_ERROR' }\n\t| { type: 'can_proceed_to_login' }\n\nexport const usePasswordlessOtpActivator = ({ otpLength = 6, otpChars = '0123456789ABCDEF' }: {\n\totpLength?: number\n\totpChars?: string\n} = {}) => {\n\tconst { localStorageRequestId, urlRequestId, urlToken } = usePasswordlessParams()\n\tconst activateOtp = useActivatePasswordlessOtpMutation()\n\n\tconst [state, setState] = useState<PasswordlessResponseHandlerState>(() => {\n\t\tif (urlRequestId && urlToken) {\n\t\t\tif (localStorageRequestId !== urlRequestId) {\n\t\t\t\treturn { type: 'otp_activating' }\n\t\t\t} else {\n\t\t\t\treturn { type: 'can_proceed_to_login' }\n\t\t\t}\n\t\t}\n\t\treturn { type: 'empty' }\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\n\tuseEffect(() => {\n\t\t;(async () => {\n\t\t\tif (state.type === 'otp_activating') {\n\t\t\t\tconst otpCode = randomString(otpLength, otpChars)\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await activateOtp({\n\t\t\t\t\t\trequestId: urlRequestId!,\n\t\t\t\t\t\ttoken: urlToken!,\n\t\t\t\t\t\totpHash: await calculateHash('SHA-256', otpCode),\n\t\t\t\t\t})\n\t\t\t\t\tif (!result.ok) {\n\t\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: result.error })\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetState({ type: 'otp_activated', otp: otpCode })\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tconsole.error(e)\n\t\t\t\t\tsetState({ type: 'otp_activation_failed', error: 'UNKNOWN_ERROR' })\n\t\t\t\t}\n\t\t\t}\n\t\t})()\n\t}, [activateOtp, localStorageRequestId, otpChars, otpLength, state.type, urlRequestId, urlToken])\n\n\treturn state\n}\n"],"names":[],"mappings":";;;;;AAOA,MAAM,wBAAwB,MAAsG;AACnI,QAAM,oBAAoB,aAAa,QAAQ,gCAAgC,KAAK;AACpF,QAAM,YAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC5D,QAAM,YAAY,UAAU,IAAI,YAAY;AAC5C,QAAM,QAAQ,UAAU,IAAI,OAAO;AAEnC,SAAO,EAAE,uBAAuB,mBAAmB,cAAc,WAAW,UAAU,MAAA;AACvF;AASO,MAAM,8BAA8B,CAAC,EAAE,YAAY,GAAG,WAAW,mBAAA,IAGpE,OAAO;AACV,QAAM,EAAE,uBAAuB,cAAc,SAAA,IAAa,sBAAA;AAC1D,QAAM,cAAc,mCAAA;AAEpB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2C,MAAM;AAC1E,QAAI,gBAAgB,UAAU;AAC7B,UAAI,0BAA0B,cAAc;AAC3C,eAAO,EAAE,MAAM,iBAAA;AAAA,MAChB,OAAO;AACN,eAAO,EAAE,MAAM,uBAAA;AAAA,MAChB;AAAA,IACD;AACA,WAAO,EAAE,MAAM,QAAA;AAAA,EAChB,CAAC;AAGD,YAAU,MAAM;AACd,KAAC,YAAY;AACb,UAAI,MAAM,SAAS,kBAAkB;AACpC,cAAM,UAAU,aAAa,WAAW,QAAQ;AAChD,YAAI;AACH,gBAAM,SAAS,MAAM,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,OAAO;AAAA,YACP,SAAS,MAAM,cAAc,WAAW,OAAO;AAAA,UAAA,CAC/C;AACD,cAAI,CAAC,OAAO,IAAI;AACf,qBAAS,EAAE,MAAM,yBAAyB,OAAO,OAAO,OAAO;AAAA,UAChE,OAAO;AACN,qBAAS,EAAE,MAAM,iBAAiB,KAAK,SAAS;AAAA,UACjD;AAAA,QACD,SAAS,GAAG;AACX,kBAAQ,MAAM,CAAC;AACf,mBAAS,EAAE,MAAM,yBAAyB,OAAO,iBAAiB;AAAA,QACnE;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,aAAa,uBAAuB,UAAU,WAAW,MAAM,MAAM,cAAc,QAAQ,CAAC;AAEhG,SAAO;AACR;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const reactClient = require("@contember/react-client");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const graphqlTsClientApi = require("graphql-ts-client-api");
|
|
6
|
-
const LoginToken = Symbol("LoginToken");
|
|
6
|
+
const LoginToken = /* @__PURE__ */ Symbol("LoginToken");
|
|
7
7
|
const useTenantApi = ({ headers, apiToken } = {}) => {
|
|
8
8
|
const client = reactClient.useTenantGraphQlClient();
|
|
9
9
|
const loginToken = reactClient.useLoginToken();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantApi.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantApi.ts"],"sourcesContent":["import { useLoginToken, useTenantGraphQlClient } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { Fetcher, TextWriter, util } from 'graphql-ts-client-api'\n\nexport const LoginToken = Symbol('LoginToken')\n\nexport type TenantApiOptions = {\n\treadonly headers?: Record<string, string>\n\treadonly apiToken?: string | typeof LoginToken\n}\n\nexport const useTenantApi = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst client = useTenantGraphQlClient()\n\tconst loginToken = useLoginToken()\n\n\treturn useCallback(<TData extends object, TVariables extends object>(\n\t\tfetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\n\t\toptions?: {\n\t\t\treadonly variables?: TVariables\n\t\t\treadonly headers?: Record<string, string>\n\t\t\treadonly apiToken?: string | typeof LoginToken\n\t\t},\n\t): Promise<TData> => {\n\
|
|
1
|
+
{"version":3,"file":"useTenantApi.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantApi.ts"],"sourcesContent":["import { useLoginToken, useTenantGraphQlClient } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { Fetcher, TextWriter, util } from 'graphql-ts-client-api'\n\nexport const LoginToken = Symbol('LoginToken')\n\nexport type TenantApiOptions = {\n\treadonly headers?: Record<string, string>\n\treadonly apiToken?: string | typeof LoginToken\n}\n\nexport const useTenantApi = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst client = useTenantGraphQlClient()\n\tconst loginToken = useLoginToken()\n\n\treturn useCallback(<TData extends object, TVariables extends object>(\n\t\tfetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\n\t\toptions?: {\n\t\t\treadonly variables?: TVariables\n\t\t\treadonly headers?: Record<string, string>\n\t\t\treadonly apiToken?: string | typeof LoginToken\n\t\t},\n\t): Promise<TData> => {\n\t\tconst writer = new TextWriter()\n\t\twriter.text(`${fetcher.fetchableType.name.toLowerCase()}`)\n\t\tif (fetcher.variableTypeMap.size !== 0) {\n\t\t\twriter.scope({ type: 'ARGUMENTS', multiLines: fetcher.variableTypeMap.size > 2, suffix: ' ' }, () => {\n\t\t\t\tutil.iterateMap(fetcher.variableTypeMap, ([name, type]) => {\n\t\t\t\t\twriter.seperator()\n\t\t\t\t\twriter.text(`$${name}: ${type}`)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\twriter.text(fetcher.toString())\n\t\twriter.text(fetcher.toFragmentString())\n\n\t\tconst apiTokenResolved = apiToken ?? options?.apiToken\n\t\treturn client.execute(writer.toString(), {\n\t\t\tvariables: options?.variables,\n\t\t\theaders: {\n\t\t\t\t...headers,\n\t\t\t\t...options?.headers,\n\t\t\t},\n\t\t\tapiToken: apiTokenResolved === LoginToken ? loginToken : apiTokenResolved,\n\t\t})\n\t}, [apiToken, client, headers, loginToken])\n}\n"],"names":["useTenantGraphQlClient","useLoginToken","useCallback","TextWriter","util"],"mappings":";;;;;AAIO,MAAM,oCAAoB,YAAY;AAOtC,MAAM,eAAe,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AAC7E,QAAM,SAASA,YAAAA,uBAAA;AACf,QAAM,aAAaC,YAAAA,cAAA;AAEnB,SAAOC,MAAAA,YAAY,CAClB,SACA,YAKoB;AACpB,UAAM,SAAS,IAAIC,8BAAA;AACnB,WAAO,KAAK,GAAG,QAAQ,cAAc,KAAK,YAAA,CAAa,EAAE;AACzD,QAAI,QAAQ,gBAAgB,SAAS,GAAG;AACvC,aAAO,MAAM,EAAE,MAAM,aAAa,YAAY,QAAQ,gBAAgB,OAAO,GAAG,QAAQ,IAAA,GAAO,MAAM;AACpGC,2BAAAA,KAAK,WAAW,QAAQ,iBAAiB,CAAC,CAAC,MAAM,IAAI,MAAM;AAC1D,iBAAO,UAAA;AACP,iBAAO,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE;AAAA,QAChC,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AACA,WAAO,KAAK,QAAQ,UAAU;AAC9B,WAAO,KAAK,QAAQ,kBAAkB;AAEtC,UAAM,mBAAmB,YAAY,SAAS;AAC9C,WAAO,OAAO,QAAQ,OAAO,SAAA,GAAY;AAAA,MACxC,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,QACR,GAAG;AAAA,QACH,GAAG,SAAS;AAAA,MAAA;AAAA,MAEb,UAAU,qBAAqB,aAAa,aAAa;AAAA,IAAA,CACzD;AAAA,EACF,GAAG,CAAC,UAAU,QAAQ,SAAS,UAAU,CAAC;AAC3C;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useTenantGraphQlClient, useLoginToken } from "@contember/react-client";
|
|
2
2
|
import { useCallback } from "react";
|
|
3
3
|
import { TextWriter, util } from "graphql-ts-client-api";
|
|
4
|
-
const LoginToken = Symbol("LoginToken");
|
|
4
|
+
const LoginToken = /* @__PURE__ */ Symbol("LoginToken");
|
|
5
5
|
const useTenantApi = ({ headers, apiToken } = {}) => {
|
|
6
6
|
const client = useTenantGraphQlClient();
|
|
7
7
|
const loginToken = useLoginToken();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantApi.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantApi.ts"],"sourcesContent":["import { useLoginToken, useTenantGraphQlClient } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { Fetcher, TextWriter, util } from 'graphql-ts-client-api'\n\nexport const LoginToken = Symbol('LoginToken')\n\nexport type TenantApiOptions = {\n\treadonly headers?: Record<string, string>\n\treadonly apiToken?: string | typeof LoginToken\n}\n\nexport const useTenantApi = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst client = useTenantGraphQlClient()\n\tconst loginToken = useLoginToken()\n\n\treturn useCallback(<TData extends object, TVariables extends object>(\n\t\tfetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\n\t\toptions?: {\n\t\t\treadonly variables?: TVariables\n\t\t\treadonly headers?: Record<string, string>\n\t\t\treadonly apiToken?: string | typeof LoginToken\n\t\t},\n\t): Promise<TData> => {\n\
|
|
1
|
+
{"version":3,"file":"useTenantApi.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantApi.ts"],"sourcesContent":["import { useLoginToken, useTenantGraphQlClient } from '@contember/react-client'\nimport { useCallback } from 'react'\nimport { Fetcher, TextWriter, util } from 'graphql-ts-client-api'\n\nexport const LoginToken = Symbol('LoginToken')\n\nexport type TenantApiOptions = {\n\treadonly headers?: Record<string, string>\n\treadonly apiToken?: string | typeof LoginToken\n}\n\nexport const useTenantApi = ({ headers, apiToken }: TenantApiOptions = {}) => {\n\tconst client = useTenantGraphQlClient()\n\tconst loginToken = useLoginToken()\n\n\treturn useCallback(<TData extends object, TVariables extends object>(\n\t\tfetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\n\t\toptions?: {\n\t\t\treadonly variables?: TVariables\n\t\t\treadonly headers?: Record<string, string>\n\t\t\treadonly apiToken?: string | typeof LoginToken\n\t\t},\n\t): Promise<TData> => {\n\t\tconst writer = new TextWriter()\n\t\twriter.text(`${fetcher.fetchableType.name.toLowerCase()}`)\n\t\tif (fetcher.variableTypeMap.size !== 0) {\n\t\t\twriter.scope({ type: 'ARGUMENTS', multiLines: fetcher.variableTypeMap.size > 2, suffix: ' ' }, () => {\n\t\t\t\tutil.iterateMap(fetcher.variableTypeMap, ([name, type]) => {\n\t\t\t\t\twriter.seperator()\n\t\t\t\t\twriter.text(`$${name}: ${type}`)\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\twriter.text(fetcher.toString())\n\t\twriter.text(fetcher.toFragmentString())\n\n\t\tconst apiTokenResolved = apiToken ?? options?.apiToken\n\t\treturn client.execute(writer.toString(), {\n\t\t\tvariables: options?.variables,\n\t\t\theaders: {\n\t\t\t\t...headers,\n\t\t\t\t...options?.headers,\n\t\t\t},\n\t\t\tapiToken: apiTokenResolved === LoginToken ? loginToken : apiTokenResolved,\n\t\t})\n\t}, [apiToken, client, headers, loginToken])\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,oCAAoB,YAAY;AAOtC,MAAM,eAAe,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MAAO;AAC7E,QAAM,SAAS,uBAAA;AACf,QAAM,aAAa,cAAA;AAEnB,SAAO,YAAY,CAClB,SACA,YAKoB;AACpB,UAAM,SAAS,IAAI,WAAA;AACnB,WAAO,KAAK,GAAG,QAAQ,cAAc,KAAK,YAAA,CAAa,EAAE;AACzD,QAAI,QAAQ,gBAAgB,SAAS,GAAG;AACvC,aAAO,MAAM,EAAE,MAAM,aAAa,YAAY,QAAQ,gBAAgB,OAAO,GAAG,QAAQ,IAAA,GAAO,MAAM;AACpG,aAAK,WAAW,QAAQ,iBAAiB,CAAC,CAAC,MAAM,IAAI,MAAM;AAC1D,iBAAO,UAAA;AACP,iBAAO,KAAK,IAAI,IAAI,KAAK,IAAI,EAAE;AAAA,QAChC,CAAC;AAAA,MACF,CAAC;AAAA,IACF;AACA,WAAO,KAAK,QAAQ,UAAU;AAC9B,WAAO,KAAK,QAAQ,kBAAkB;AAEtC,UAAM,mBAAmB,YAAY,SAAS;AAC9C,WAAO,OAAO,QAAQ,OAAO,SAAA,GAAY;AAAA,MACxC,WAAW,SAAS;AAAA,MACpB,SAAS;AAAA,QACR,GAAG;AAAA,QACH,GAAG,SAAS;AAAA,MAAA;AAAA,MAEb,UAAU,qBAAqB,aAAa,aAAa;AAAA,IAAA,CACzD;AAAA,EACF,GAAG,CAAC,UAAU,QAAQ,SAAS,UAAU,CAAC;AAC3C;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantMutation.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {
|
|
1
|
+
{"version":3,"file":"useTenantMutation.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":["useTenantApi","useCallback","useMemo"],"mappings":";;;;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAYA,aAAAA,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAOC,MAAAA,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAASC,MAAAA,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTenantApi } from "./useTenantApi.js";
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo, useCallback } from "react";
|
|
3
3
|
const useTenantMutation = (fetcher, { headers, apiToken } = {}) => {
|
|
4
4
|
const tenantApi = useTenantApi({ headers, apiToken });
|
|
5
5
|
return useCallback(async (variables) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantMutation.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {
|
|
1
|
+
{"version":3,"file":"useTenantMutation.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantMutation.ts"],"sourcesContent":["import { TenantApiOptions, useTenantApi } from './useTenantApi'\nimport { useCallback, useMemo } from 'react'\nimport { MutationFetcher } from '@contember/graphql-client-tenant'\n\nexport type TenantMutationOkResponse<Result> = { ok: true; result: Result }\nexport type TenantMutationErrorResponse<Error> = { ok: false; error: Error; developerMessage?: string }\nexport type TenantMutationResponse<Result, Error> = TenantMutationOkResponse<Result> | TenantMutationErrorResponse<Error>\n\nexport type TenantMutation<Result, Error> = {\n\treadonly mutation?: { readonly ok: boolean; readonly error?: { readonly code: Error; readonly developerMessage: string }; readonly result?: Result }\n}\n\nexport const useTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\t{ headers, apiToken }: TenantApiOptions = {},\n) => {\n\tconst tenantApi = useTenantApi({ headers, apiToken })\n\n\treturn useCallback(async (variables: TVariables): Promise<TenantMutationResponse<TResult, TError>> => {\n\t\tconst result = await tenantApi(\n\t\t\tfetcher,\n\t\t\t{\n\t\t\t\tvariables,\n\t\t\t},\n\t\t)\n\t\tif (!result.mutation?.ok) {\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\terror: result.mutation?.error?.code as TError,\n\t\t\t\tdeveloperMessage: result.mutation?.error?.developerMessage,\n\t\t\t}\n\t\t} else {\n\t\t\treturn { ok: true, result: result.mutation.result as TResult }\n\t\t}\n\t}, [fetcher, tenantApi])\n}\n\nexport const createTenantMutation = <TResult, TError extends string = never, TVariables extends object = {}>(\n\tfetcher: MutationFetcher<TenantMutation<TResult, TError>, TVariables>,\n\tdefaultOptions?: TenantApiOptions,\n) => {\n\treturn ({ headers, apiToken }: TenantApiOptions = {}) =>\n\t\tuseTenantMutation(fetcher, {\n\t\t\theaders: useMemo(() => ({ ...defaultOptions?.headers, ...headers }), [headers]),\n\t\t\tapiToken: apiToken ?? defaultOptions?.apiToken,\n\t\t})\n}\n"],"names":[],"mappings":";;AAYO,MAAM,oBAAoB,CAChC,SACA,EAAE,SAAS,SAAA,IAA+B,CAAA,MACtC;AACJ,QAAM,YAAY,aAAa,EAAE,SAAS,UAAU;AAEpD,SAAO,YAAY,OAAO,cAA4E;AACrG,UAAM,SAAS,MAAM;AAAA,MACpB;AAAA,MACA;AAAA,QACC;AAAA,MAAA;AAAA,IACD;AAED,QAAI,CAAC,OAAO,UAAU,IAAI;AACzB,aAAO;AAAA,QACN,IAAI;AAAA,QACJ,OAAO,OAAO,UAAU,OAAO;AAAA,QAC/B,kBAAkB,OAAO,UAAU,OAAO;AAAA,MAAA;AAAA,IAE5C,OAAO;AACN,aAAO,EAAE,IAAI,MAAM,QAAQ,OAAO,SAAS,OAAA;AAAA,IAC5C;AAAA,EACD,GAAG,CAAC,SAAS,SAAS,CAAC;AACxB;AAEO,MAAM,uBAAuB,CACnC,SACA,mBACI;AACJ,SAAO,CAAC,EAAE,SAAS,SAAA,IAA+B,CAAA,MACjD,kBAAkB,SAAS;AAAA,IAC1B,SAAS,QAAQ,OAAO,EAAE,GAAG,gBAAgB,SAAS,GAAG,QAAA,IAAY,CAAC,OAAO,CAAC;AAAA,IAC9E,UAAU,YAAY,gBAAgB;AAAA,EAAA,CACtC;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantQueryLoader.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantQueryLoader.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useObjectMemo } from '@contember/react-utils'\n\nexport type TenantQueryLoaderState<Result> =\n\t| { state: 'loading' }\n\t| { state: 'error'; error: unknown }\n\t| { state: 'success'; data: Result }\n\t| { state: 'refreshing'; data: Result }\n\nexport type TenantQueryLoaderMethods = {\n\trefresh: () => void\n}\n\nexport const useTenantQueryLoader = <TVariables extends object, Result>(
|
|
1
|
+
{"version":3,"file":"useTenantQueryLoader.cjs","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantQueryLoader.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useObjectMemo } from '@contember/react-utils'\n\nexport type TenantQueryLoaderState<Result> =\n\t| { state: 'loading' }\n\t| { state: 'error'; error: unknown }\n\t| { state: 'success'; data: Result }\n\t| { state: 'refreshing'; data: Result }\n\nexport type TenantQueryLoaderMethods = {\n\trefresh: () => void\n}\n\nexport const useTenantQueryLoader = <TVariables extends object, Result>(\n\tfetcher: (variables: TVariables) => Promise<Result>,\n\tvariables: TVariables,\n): [TenantQueryLoaderState<Result>, TenantQueryLoaderMethods] => {\n\tconst [state, setState] = useState<TenantQueryLoaderState<Result>>({ state: 'loading' })\n\tconst stateRef = useRef(state)\n\tstateRef.current = state\n\tconst variablesMemo = useObjectMemo(variables)\n\n\tconst reqId = useRef(0)\n\n\tconst triggerLoad = useCallback(async () => {\n\t\tconst currentReqId = ++reqId.current\n\t\ttry {\n\t\t\tif (stateRef.current.state === 'success') {\n\t\t\t\tsetState({ state: 'refreshing', data: stateRef.current.data })\n\t\t\t}\n\t\t\tconst data = await fetcher(variablesMemo)\n\t\t\tif (reqId.current !== currentReqId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsetState({ state: 'success', data })\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (reqId.current !== currentReqId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsetState({ state: 'error', error: e })\n\t\t}\n\t}, [fetcher, variablesMemo])\n\n\tuseEffect(() => {\n\t\ttriggerLoad()\n\t}, [triggerLoad])\n\n\treturn [state, { refresh: triggerLoad }]\n}\n"],"names":["useState","useRef","useObjectMemo","useCallback","useEffect"],"mappings":";;;;AAaO,MAAM,uBAAuB,CACnC,SACA,cACgE;AAChE,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAyC,EAAE,OAAO,WAAW;AACvF,QAAM,WAAWC,MAAAA,OAAO,KAAK;AAC7B,WAAS,UAAU;AACnB,QAAM,gBAAgBC,WAAAA,cAAc,SAAS;AAE7C,QAAM,QAAQD,MAAAA,OAAO,CAAC;AAEtB,QAAM,cAAcE,MAAAA,YAAY,YAAY;AAC3C,UAAM,eAAe,EAAE,MAAM;AAC7B,QAAI;AACH,UAAI,SAAS,QAAQ,UAAU,WAAW;AACzC,iBAAS,EAAE,OAAO,cAAc,MAAM,SAAS,QAAQ,MAAM;AAAA,MAC9D;AACA,YAAM,OAAO,MAAM,QAAQ,aAAa;AACxC,UAAI,MAAM,YAAY,cAAc;AACnC;AAAA,MACD;AACA,eAAS,EAAE,OAAO,WAAW,KAAA,CAAM;AAAA,IACpC,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,MAAM,YAAY,cAAc;AACnC;AAAA,MACD;AACA,eAAS,EAAE,OAAO,SAAS,OAAO,GAAG;AAAA,IACtC;AAAA,EACD,GAAG,CAAC,SAAS,aAAa,CAAC;AAE3BC,QAAAA,UAAU,MAAM;AACf,gBAAA;AAAA,EACD,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO,CAAC,OAAO,EAAE,SAAS,aAAa;AACxC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTenantQueryLoader.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantQueryLoader.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useObjectMemo } from '@contember/react-utils'\n\nexport type TenantQueryLoaderState<Result> =\n\t| { state: 'loading' }\n\t| { state: 'error'; error: unknown }\n\t| { state: 'success'; data: Result }\n\t| { state: 'refreshing'; data: Result }\n\nexport type TenantQueryLoaderMethods = {\n\trefresh: () => void\n}\n\nexport const useTenantQueryLoader = <TVariables extends object, Result>(
|
|
1
|
+
{"version":3,"file":"useTenantQueryLoader.js","sources":["../../../../../packages/react-client-tenant/src/hooks/useTenantQueryLoader.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react'\nimport { useObjectMemo } from '@contember/react-utils'\n\nexport type TenantQueryLoaderState<Result> =\n\t| { state: 'loading' }\n\t| { state: 'error'; error: unknown }\n\t| { state: 'success'; data: Result }\n\t| { state: 'refreshing'; data: Result }\n\nexport type TenantQueryLoaderMethods = {\n\trefresh: () => void\n}\n\nexport const useTenantQueryLoader = <TVariables extends object, Result>(\n\tfetcher: (variables: TVariables) => Promise<Result>,\n\tvariables: TVariables,\n): [TenantQueryLoaderState<Result>, TenantQueryLoaderMethods] => {\n\tconst [state, setState] = useState<TenantQueryLoaderState<Result>>({ state: 'loading' })\n\tconst stateRef = useRef(state)\n\tstateRef.current = state\n\tconst variablesMemo = useObjectMemo(variables)\n\n\tconst reqId = useRef(0)\n\n\tconst triggerLoad = useCallback(async () => {\n\t\tconst currentReqId = ++reqId.current\n\t\ttry {\n\t\t\tif (stateRef.current.state === 'success') {\n\t\t\t\tsetState({ state: 'refreshing', data: stateRef.current.data })\n\t\t\t}\n\t\t\tconst data = await fetcher(variablesMemo)\n\t\t\tif (reqId.current !== currentReqId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsetState({ state: 'success', data })\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (reqId.current !== currentReqId) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tsetState({ state: 'error', error: e })\n\t\t}\n\t}, [fetcher, variablesMemo])\n\n\tuseEffect(() => {\n\t\ttriggerLoad()\n\t}, [triggerLoad])\n\n\treturn [state, { refresh: triggerLoad }]\n}\n"],"names":[],"mappings":";;AAaO,MAAM,uBAAuB,CACnC,SACA,cACgE;AAChE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAyC,EAAE,OAAO,WAAW;AACvF,QAAM,WAAW,OAAO,KAAK;AAC7B,WAAS,UAAU;AACnB,QAAM,gBAAgB,cAAc,SAAS;AAE7C,QAAM,QAAQ,OAAO,CAAC;AAEtB,QAAM,cAAc,YAAY,YAAY;AAC3C,UAAM,eAAe,EAAE,MAAM;AAC7B,QAAI;AACH,UAAI,SAAS,QAAQ,UAAU,WAAW;AACzC,iBAAS,EAAE,OAAO,cAAc,MAAM,SAAS,QAAQ,MAAM;AAAA,MAC9D;AACA,YAAM,OAAO,MAAM,QAAQ,aAAa;AACxC,UAAI,MAAM,YAAY,cAAc;AACnC;AAAA,MACD;AACA,eAAS,EAAE,OAAO,WAAW,KAAA,CAAM;AAAA,IACpC,SAAS,GAAG;AACX,cAAQ,MAAM,CAAC;AACf,UAAI,MAAM,YAAY,cAAc;AACnC;AAAA,MACD;AACA,eAAS,EAAE,OAAO,SAAS,OAAO,GAAG;AAAA,IACtC;AAAA,EACD,GAAG,CAAC,SAAS,aAAa,CAAC;AAE3B,YAAU,MAAM;AACf,gBAAA;AAAA,EACD,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO,CAAC,OAAO,EAAE,SAAS,aAAa;AACxC;"}
|
|
@@ -10,7 +10,7 @@ const headers = {
|
|
|
10
10
|
"X-Contember-Token-Path": "data.mutation.result.token"
|
|
11
11
|
};
|
|
12
12
|
const DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60;
|
|
13
|
-
const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse }) => {
|
|
13
|
+
const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }) => {
|
|
14
14
|
const idpSignIn = useSignInIdpMutation.useSignInIDPMutation({ headers });
|
|
15
15
|
const setSessionToken = reactClient.useSetSessionToken();
|
|
16
16
|
const firstRenderRef = React.useRef(true);
|
|
@@ -30,7 +30,7 @@ const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION,
|
|
|
30
30
|
const response = await idpSignIn({
|
|
31
31
|
data: {
|
|
32
32
|
url: window.location.href,
|
|
33
|
-
redirectUrl: getBaseHref.getBaseHref(),
|
|
33
|
+
redirectUrl: redirectUrl || getBaseHref.getBaseHref(),
|
|
34
34
|
sessionData: idpState.sessionData
|
|
35
35
|
},
|
|
36
36
|
identityProvider: idpState.provider,
|
|
@@ -45,7 +45,7 @@ const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION,
|
|
|
45
45
|
redirectToBackLink();
|
|
46
46
|
}
|
|
47
47
|
})();
|
|
48
|
-
}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink]);
|
|
48
|
+
}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl]);
|
|
49
49
|
};
|
|
50
50
|
exports.useHandleIDPResponse = useHandleIDPResponse;
|
|
51
51
|
//# sourceMappingURL=useHandleIDPResponse.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHandleIDPResponse.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse }: UseHandleIDPResponseProps): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink])\n}\n"],"names":["useSignInIDPMutation","useSetSessionToken","useRef","useIDPStateStore","useRedirectToBacklinkCallback","useEffect","getBaseHref"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"useHandleIDPResponse.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":["useSignInIDPMutation","useSetSessionToken","useRef","useIDPStateStore","useRedirectToBacklinkCallback","useEffect","getBaseHref"],"mappings":";;;;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAYA,qBAAAA,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkBC,YAAAA,mBAAA;AAExB,QAAM,iBAAiBC,MAAAA,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiBC,kCAAA;AAC9B,QAAM,qBAAqBC,sBAAAA,8BAAA;AAE3BC,QAAAA,UAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAeC,wBAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;;"}
|
|
@@ -8,7 +8,7 @@ const headers = {
|
|
|
8
8
|
"X-Contember-Token-Path": "data.mutation.result.token"
|
|
9
9
|
};
|
|
10
10
|
const DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60;
|
|
11
|
-
const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse }) => {
|
|
11
|
+
const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }) => {
|
|
12
12
|
const idpSignIn = useSignInIDPMutation({ headers });
|
|
13
13
|
const setSessionToken = useSetSessionToken();
|
|
14
14
|
const firstRenderRef = useRef(true);
|
|
@@ -28,7 +28,7 @@ const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION,
|
|
|
28
28
|
const response = await idpSignIn({
|
|
29
29
|
data: {
|
|
30
30
|
url: window.location.href,
|
|
31
|
-
redirectUrl: getBaseHref(),
|
|
31
|
+
redirectUrl: redirectUrl || getBaseHref(),
|
|
32
32
|
sessionData: idpState.sessionData
|
|
33
33
|
},
|
|
34
34
|
identityProvider: idpState.provider,
|
|
@@ -43,7 +43,7 @@ const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION,
|
|
|
43
43
|
redirectToBackLink();
|
|
44
44
|
}
|
|
45
45
|
})();
|
|
46
|
-
}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink]);
|
|
46
|
+
}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl]);
|
|
47
47
|
};
|
|
48
48
|
export {
|
|
49
49
|
useHandleIDPResponse
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHandleIDPResponse.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = ({ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse }: UseHandleIDPResponseProps): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink])\n}\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"useHandleIDPResponse.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useHandleIDPResponse.ts"],"sourcesContent":["import { SetStateAction, useEffect, useRef } from 'react'\nimport { useSetSessionToken } from '@contember/react-client'\nimport { useIDPStateStore } from './useIDPStateStore'\nimport { getBaseHref } from '../utils/getBaseHref'\nimport { IDPStateValue } from '../../types/idp'\nimport { useSignInIDPMutation } from '../../hooks'\nimport { useRedirectToBacklinkCallback } from './useRedirectToBacklink'\n\nexport interface UseHandleIDPResponseProps {\n\tonLogin?: () => void\n\texpiration?: number\n\n\tsetState: (state: SetStateAction<IDPStateValue>) => void\n\thasOauthResponse: boolean\n\tredirectUrl?: string\n}\n\nconst headers = {\n\t'X-Contember-Token-Path': 'data.mutation.result.token',\n}\n\nconst DEFAULT_LOGIN_EXPIRATION = 14 * 24 * 60 // 14 days\n\nexport const useHandleIDPResponse = (\n\t{ onLogin, expiration = DEFAULT_LOGIN_EXPIRATION, setState, hasOauthResponse, redirectUrl }: UseHandleIDPResponseProps,\n): void => {\n\tconst idpSignIn = useSignInIDPMutation({ headers })\n\tconst setSessionToken = useSetSessionToken()\n\n\tconst firstRenderRef = useRef(true)\n\n\tconst { get: loadIdpState } = useIDPStateStore()\n\tconst redirectToBackLink = useRedirectToBacklinkCallback()\n\n\tuseEffect(() => {\n\t\tif (!hasOauthResponse || !firstRenderRef.current) {\n\t\t\treturn\n\t\t}\n\t\tfirstRenderRef.current = false\n\t\t;(async () => {\n\t\t\tconst idpState = loadIdpState()\n\t\t\tif (!idpState) {\n\t\t\t\tsetState({ type: 'response_failed', error: 'INVALID_LOCAL_STATE' })\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst response = await idpSignIn({\n\t\t\t\tdata: {\n\t\t\t\t\turl: window.location.href,\n\t\t\t\t\tredirectUrl: redirectUrl || getBaseHref(),\n\t\t\t\t\tsessionData: idpState.sessionData,\n\t\t\t\t},\n\t\t\t\tidentityProvider: idpState.provider,\n\t\t\t\texpiration,\n\t\t\t})\n\t\t\tif (!response.ok) {\n\t\t\t\tsetState({ type: 'response_failed', error: response.error || 'UNKNOWN_ERROR' })\n\t\t\t} else {\n\t\t\t\tsetSessionToken(response.result.token)\n\t\t\t\tsetState({ type: 'success' })\n\n\t\t\t\tonLogin?.()\n\t\t\t\tredirectToBackLink()\n\t\t\t}\n\t\t})()\n\t}, [idpSignIn, onLogin, setSessionToken, hasOauthResponse, loadIdpState, expiration, setState, redirectToBackLink, redirectUrl])\n}\n"],"names":[],"mappings":";;;;;;AAiBA,MAAM,UAAU;AAAA,EACf,0BAA0B;AAC3B;AAEA,MAAM,2BAA2B,KAAK,KAAK;AAEpC,MAAM,uBAAuB,CACnC,EAAE,SAAS,aAAa,0BAA0B,UAAU,kBAAkB,kBACpE;AACV,QAAM,YAAY,qBAAqB,EAAE,SAAS;AAClD,QAAM,kBAAkB,mBAAA;AAExB,QAAM,iBAAiB,OAAO,IAAI;AAElC,QAAM,EAAE,KAAK,aAAA,IAAiB,iBAAA;AAC9B,QAAM,qBAAqB,8BAAA;AAE3B,YAAU,MAAM;AACf,QAAI,CAAC,oBAAoB,CAAC,eAAe,SAAS;AACjD;AAAA,IACD;AACA,mBAAe,UAAU;AACxB,KAAC,YAAY;AACb,YAAM,WAAW,aAAA;AACjB,UAAI,CAAC,UAAU;AACd,iBAAS,EAAE,MAAM,mBAAmB,OAAO,uBAAuB;AAClE;AAAA,MACD;AAEA,YAAM,WAAW,MAAM,UAAU;AAAA,QAChC,MAAM;AAAA,UACL,KAAK,OAAO,SAAS;AAAA,UACrB,aAAa,eAAe,YAAA;AAAA,UAC5B,aAAa,SAAS;AAAA,QAAA;AAAA,QAEvB,kBAAkB,SAAS;AAAA,QAC3B;AAAA,MAAA,CACA;AACD,UAAI,CAAC,SAAS,IAAI;AACjB,iBAAS,EAAE,MAAM,mBAAmB,OAAO,SAAS,SAAS,iBAAiB;AAAA,MAC/E,OAAO;AACN,wBAAgB,SAAS,OAAO,KAAK;AACrC,iBAAS,EAAE,MAAM,WAAW;AAE5B,kBAAA;AACA,2BAAA;AAAA,MACD;AAAA,IACD,GAAA;AAAA,EACD,GAAG,CAAC,WAAW,SAAS,iBAAiB,kBAAkB,cAAc,YAAY,UAAU,oBAAoB,WAAW,CAAC;AAChI;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIDPAutoInit.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useIDPAutoInit.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nexport const useIDPAutoInitProvider = () => {\n\treturn useMemo(() => {\n\t\tconst params = new URLSearchParams(window.location.search)\n\t\tconst idp = params.get('idp')\n\t\tif (idp !== null) {\n\t\t\treturn idp\n\t\t}\n\t\tconst backlink = params.get('backlink')\n\n\t\tif (backlink !== null) {\n\t\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\t\treturn resolvedBacklink.searchParams.get('idp')\n\t\t}\n\t}, [])\n}\n
|
|
1
|
+
{"version":3,"file":"useIDPAutoInit.cjs","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useIDPAutoInit.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nexport const useIDPAutoInitProvider = () => {\n\treturn useMemo(() => {\n\t\tconst params = new URLSearchParams(window.location.search)\n\t\tconst idp = params.get('idp')\n\t\tif (idp !== null) {\n\t\t\treturn idp\n\t\t}\n\t\tconst backlink = params.get('backlink')\n\n\t\tif (backlink !== null) {\n\t\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\t\treturn resolvedBacklink.searchParams.get('idp')\n\t\t}\n\t}, [])\n}\n"],"names":["useMemo"],"mappings":";;;AAEO,MAAM,yBAAyB,MAAM;AAC3C,SAAOA,MAAAA,QAAQ,MAAM;AACpB,UAAM,SAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM;AACzD,UAAM,MAAM,OAAO,IAAI,KAAK;AAC5B,QAAI,QAAQ,MAAM;AACjB,aAAO;AAAA,IACR;AACA,UAAM,WAAW,OAAO,IAAI,UAAU;AAEtC,QAAI,aAAa,MAAM;AACtB,YAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,aAAO,iBAAiB,aAAa,IAAI,KAAK;AAAA,IAC/C;AAAA,EACD,GAAG,CAAA,CAAE;AACN;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIDPAutoInit.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useIDPAutoInit.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nexport const useIDPAutoInitProvider = () => {\n\treturn useMemo(() => {\n\t\tconst params = new URLSearchParams(window.location.search)\n\t\tconst idp = params.get('idp')\n\t\tif (idp !== null) {\n\t\t\treturn idp\n\t\t}\n\t\tconst backlink = params.get('backlink')\n\n\t\tif (backlink !== null) {\n\t\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\t\treturn resolvedBacklink.searchParams.get('idp')\n\t\t}\n\t}, [])\n}\n
|
|
1
|
+
{"version":3,"file":"useIDPAutoInit.js","sources":["../../../../../../packages/react-client-tenant/src/internal/hooks/useIDPAutoInit.ts"],"sourcesContent":["import { useMemo } from 'react'\n\nexport const useIDPAutoInitProvider = () => {\n\treturn useMemo(() => {\n\t\tconst params = new URLSearchParams(window.location.search)\n\t\tconst idp = params.get('idp')\n\t\tif (idp !== null) {\n\t\t\treturn idp\n\t\t}\n\t\tconst backlink = params.get('backlink')\n\n\t\tif (backlink !== null) {\n\t\t\tconst resolvedBacklink = new URL(backlink, window.location.href)\n\t\t\treturn resolvedBacklink.searchParams.get('idp')\n\t\t}\n\t}, [])\n}\n"],"names":[],"mappings":";AAEO,MAAM,yBAAyB,MAAM;AAC3C,SAAO,QAAQ,MAAM;AACpB,UAAM,SAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM;AACzD,UAAM,MAAM,OAAO,IAAI,KAAK;AAC5B,QAAI,QAAQ,MAAM;AACjB,aAAO;AAAA,IACR;AACA,UAAM,WAAW,OAAO,IAAI,UAAU;AAEtC,QAAI,aAAa,MAAM;AACtB,YAAM,mBAAmB,IAAI,IAAI,UAAU,OAAO,SAAS,IAAI;AAC/D,aAAO,iBAAiB,aAAa,IAAI,KAAK;AAAA,IAC/C;AAAA,EACD,GAAG,CAAA,CAAE;AACN;"}
|