meals-made-easy-app/src/api/removeStar.ts
2024-08-19 21:21:06 -05:00

28 lines
809 B
TypeScript

import AccessToken from '../types/AccessToken'
import { ApiError } from './ApiError'
import ExpiredTokenError from './ExpiredTokenError'
import { addBearer } from './util'
export interface RemoveStarDeps {
accessToken: AccessToken
username: string
slug: string
}
const removeStar = async ({ accessToken, username, slug }: RemoveStarDeps) => {
const headers = new Headers()
addBearer(headers, accessToken)
const response = await fetch(import.meta.env.VITE_MME_API_URL + `/recipes/${username}/${slug}/star`, {
headers,
method: 'DELETE',
mode: 'cors'
})
if (response.status === 401) {
throw new ExpiredTokenError()
} else if (!response.ok) {
throw new ApiError(response.status, response.statusText)
}
}
export default removeStar