All files / services/api/auth refreshToken.ts

83.33% Statements 5/6
100% Branches 0/0
100% Functions 1/1
83.33% Lines 5/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                125x 63x 63x                     60x   60x          
import axios from 'axios'
import { TokensResponse } from '../../../types/auth'
 
/**
 * Refresh the access token using the refresh token.
 * @param refreshToken refresh token
 * @returns new access and refresh tokens
 */
export const refreshTokenApi = async (refreshToken: string): Promise<TokensResponse | null> => {
	try {
		const response = await axios.post<TokensResponse>(
			`${process.env.NEXT_PUBLIC_API_BASE_URL}/auth/refresh-token`,
			{
				refresh_token: refreshToken,
			},
			{
				headers: {
					Authorization: 'Bearer ' + refreshToken,
				},
			}
		)
		const tokens = response.data
 
		return tokens
	} catch (error) {
		return null
	}
}