Update beer like button to use custom hook to load like status

This commit is contained in:
Aaron William Po
2023-04-02 21:51:10 -04:00
parent de3964dbfa
commit f8ecaa51b5
3 changed files with 51 additions and 55 deletions

View File

@@ -1,31 +0,0 @@
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
import { z } from 'zod';
const sendCheckIfUserLikesBeerPostRequest = async (beerPostId: string) => {
const response = await fetch(`/api/beers/${beerPostId}/like/is-liked`);
const data = await response.json();
const parsed = APIResponseValidationSchema.safeParse(data);
if (!parsed.success) {
throw new Error('Invalid API response.');
}
const { payload } = parsed.data;
const parsedPayload = z
.object({
isLiked: z.boolean(),
})
.safeParse(payload);
if (!parsedPayload.success) {
throw new Error('Invalid API response.');
}
const { isLiked } = parsedPayload.data;
return isLiked;
};
export default sendCheckIfUserLikesBeerPostRequest;