Extract beer post, beer image, and beer like controller logic

This commit is contained in:
Aaron William Po
2023-12-03 22:19:27 -05:00
parent 57c70c2292
commit da8d5806bc
12 changed files with 317 additions and 273 deletions

View File

@@ -6,24 +6,8 @@ import APIResponseValidationSchema from '@/validation/APIResponseValidationSchem
import { NextApiResponse } from 'next';
import { createRouter } from 'next-connect';
import { z } from 'zod';
import findBeerPostLikeById from '@/services/BeerPostLike/findBeerPostLikeById';
const checkIfLiked = async (
req: UserExtendedNextApiRequest,
res: NextApiResponse<z.infer<typeof APIResponseValidationSchema>>,
) => {
const user = req.user!;
const beerPostId = req.query.id as string;
const alreadyLiked = await findBeerPostLikeById({ beerPostId, likedById: user.id });
res.status(200).json({
success: true,
message: alreadyLiked ? 'Beer post is liked.' : 'Beer post is not liked.',
statusCode: 200,
payload: { isLiked: !!alreadyLiked },
});
};
import { checkIfLiked } from '@/controllers/beerPostLikes';
const router = createRouter<
UserExtendedNextApiRequest,