import { API_URL, CLIENT_ID, CLIENT_SECRET, OAUTH_URL } from '../constants'; import { OAuth2TokenDto } from '../types/token-response.interface'; export async function fetchBearer( accessToken: string, url: string, ...options: any[] ): Promise { return fetch(url, { headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json', }, ...options, }).then((res) => res.json()); } export async function fetchToken(code: string): Promise { return fetch(`${OAUTH_URL}/token`, { headers: { Authorization: `Basic ${Buffer.from( `${CLIENT_ID}:${CLIENT_SECRET}` ).toString('base64')}`, 'Content-Type': 'application/json', }, method: 'POST', body: JSON.stringify({ grant_type: 'authorization_code', code, }), }).then((res) => res.json()); }