import { client } from '@/api' import { CallbackResponse, OAuthProvider, UserSession } from './types' export const getAuthUrl = async (provider: OAuthProvider, redirectUrl: string): Promise => { const response = await client.get(`/v1/auth/${provider}/url`, { params: { redirect_url: redirectUrl }, }) if (response.status !== 200) { throw new Error(`Failed to get auth URL for ${provider}`) } return response.data.auth_url } export const fetchUserSession = async (accessToken: string): Promise => { const response = await client.get(`/v1/auth/session`, { headers: { Authorization: `${accessToken}`, }, }) if (response.status !== 200) { throw new Error(`Failed to fetch user session`) } return response.data?.user } export const logout = async (accessToken: string): Promise => { await client.get(`/v1/auth/logout`, { headers: { Authorization: `${accessToken}` } }) }