{"version":3,"file":"__federation_expose_Authentication-BUBACABP.js","sources":["../../src/features/authentication/mutations/useUpdateAuthenticatedUser.ts","../../src/features/authentication/mutations/useRequestOTP.ts","../../src/features/authentication/mutations/useLogin.ts","../../src/features/authentication/mutations/useLogout.ts","../../src/features/authentication/mutations/useInvitation.ts"],"sourcesContent":["import { useToast } from 'mysaiva-web-components'\nimport { type AxiosInstance } from 'axios'\nimport { type QueryClient, useMutation } from '@tanstack/react-query'\nimport { AuthenticatedUser } from '../types'\nimport { authenticatedUserQueryKey } from '../queries'\nimport { ApiError } from '../../../services/api'\n\ntype UpdateAuthenticatedUserArgs = Partial\n\nexport type UseUpdateAuthenticatedUserArgs = {\n queryClient: QueryClient\n apiClient: AxiosInstance\n}\n\nexport function useUpdateAuthenticatedUser(\n args: UseUpdateAuthenticatedUserArgs\n) {\n const { queryClient, apiClient } = args\n\n const toast = useToast()\n\n function onError(error: ApiError) {\n toast.error({ message: error.localizedError })\n }\n\n async function updateAuthenticatedUser(\n args: UpdateAuthenticatedUserArgs\n ): Promise {\n const res = await apiClient.patch('v2/users/me', {\n payload: args\n })\n return res.data\n }\n\n async function onSuccess(): Promise {\n await queryClient.invalidateQueries({ queryKey: authenticatedUserQueryKey })\n }\n\n return useMutation({\n onError,\n mutationFn: updateAuthenticatedUser,\n onSuccess\n })\n}\n","import { useToast } from 'mysaiva-web-components'\nimport { useMutation } from '@tanstack/react-query'\nimport type { AxiosInstance } from 'axios'\nimport { MutationOptions } from '@utils/queries'\nimport { ApiError } from '../../../services/api'\nimport { OtpLogin, OtpPhrase } from '../../../types/api'\n\nexport type UseRequestOTPArgs = {\n apiClient: AxiosInstance\n}\n\nexport type UseRequestOTPOptions = MutationOptions<\n OtpLogin,\n OtpPhrase,\n null,\n ApiError\n>\n\nexport function useRequestOTP(\n args: UseRequestOTPArgs,\n options: UseRequestOTPOptions = {}\n) {\n const { apiClient } = args\n\n const toast = useToast()\n\n function onError(error: ApiError) {\n toast.error({ message: error.localizedError })\n }\n\n async function requestOTP(args: OtpLogin) {\n const res = await apiClient.post(`v2/auth/otp`, {\n ...args,\n platform: 'web'\n })\n\n return res.data\n }\n\n return useMutation({\n onError,\n mutationFn: requestOTP,\n ...options\n })\n}\n","import { useMutation } from '@tanstack/react-query'\nimport { MutationOptions } from '@utils/queries'\nimport { useToast } from 'mysaiva-web-components'\nimport { type ApiError } from '../../../services/api'\nimport { apiClient } from '../../../services/api'\nimport { OtpLoginWithPassword, LoginTokens } from '../../../types/api'\n\nexport function useLogin(\n options: MutationOptions = {}\n) {\n const toast = useToast()\n\n function onError(\n error: ApiError,\n vars: OtpLoginWithPassword,\n ctx: unknown\n ): void {\n options.onError?.(error, vars, ctx)\n toast.error({ message: error.localizedError })\n }\n\n async function login(args: OtpLoginWithPassword): Promise {\n const res = await apiClient.post(`v2/auth/otp/token`, args)\n return res.data\n }\n\n return useMutation({\n ...options,\n mutationFn: login,\n onError\n })\n}\n","import { type AxiosInstance } from 'axios'\nimport { useMutation } from '@tanstack/react-query'\nimport { type IUserStorage } from '../../../services/utils/local-storage'\nimport { useLocation, useNavigate, useSearchParams } from 'react-router-dom'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { mixpanelInstance } from '@utils/mixpanel'\n\nexport type UseLogoutArgs = {\n apiClient: AxiosInstance\n savedUser: IUserStorage\n}\n\nexport function useLogout({ savedUser, apiClient }: UseLogoutArgs) {\n const { pathname } = useLocation()\n const queryClient = useQueryClient()\n const [searchParams, setSearchParams] = useSearchParams()\n const navigate = useNavigate()\n async function logout() {\n const refreshToken = savedUser.getRefresh()\n\n if (refreshToken) {\n await apiClient.post('v2/auth/jwt/logout', {\n refresh_token: refreshToken\n })\n } else {\n return Promise.resolve()\n }\n }\n\n function onSuccessfulLogout() {\n queryClient.removeQueries({ queryKey: ['me'] })\n }\n\n function onLogoutSettled() {\n setSearchParams((prev) => {\n prev.set('redirect', pathname.toString())\n return prev\n })\n navigate(`/login/?${searchParams.toString()}`, { replace: true })\n savedUser.clear()\n mixpanelInstance.logout()\n queryClient.clear()\n }\n\n return useMutation({\n mutationFn: logout,\n onSuccess: onSuccessfulLogout,\n onSettled: onLogoutSettled\n })\n}\n","import { type AxiosInstance } from 'axios'\nimport { useMutation } from '@tanstack/react-query'\n\nimport { MutationOptions } from '@utils/queries'\nimport { useToast } from 'mysaiva-web-components'\nimport { ApiError } from '../../../services/api'\n\nexport type InvitationPayload = {\n payload: {\n token: string\n }\n}\n\nexport type UseInvitationArgs = {\n apiClient: AxiosInstance\n}\n\nexport function useInvitation(\n args: UseInvitationArgs,\n options: MutationOptions = {}\n) {\n const { apiClient } = args\n\n const toast = useToast()\n\n function onError(error: ApiError): void {\n toast.error({ message: error.localizedError })\n }\n\n async function acceptInvitation(payload: InvitationPayload): Promise {\n const res = await apiClient.post(\n `v2/invitations/accept`,\n payload.payload\n )\n return res.data\n }\n\n return useMutation({\n ...options,\n mutationFn: acceptInvitation,\n onError\n })\n}\n"],"names":["importShared","useToast","useMutation","useRequestOTP","args","options","apiClient","toast","onError","error","requestOTP","useLogin","vars","ctx","login","useLocation","useNavigate","useSearchParams","useQueryClient","useLogout","savedUser","pathname","queryClient","searchParams","setSearchParams","navigate","logout","refreshToken","onSuccessfulLogout","onLogoutSettled","prev","mixpanelInstance","useInvitation","acceptInvitation","payload"],"mappings":"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"}