import DBClient from '@/prisma/DBClient'; import { z } from 'zod'; import CreateCommentValidationSchema from '../../schema/CommentSchema/CreateCommentValidationSchema'; import CommentQueryResult from '../../schema/CommentSchema/CommentQueryResult'; const CreateNewBeerStyleCommentServiceSchema = CreateCommentValidationSchema.extend({ userId: z.string().cuid(), beerStyleId: z.string().cuid(), }); type CreateNewBeerCommentArgs = z.infer; const createNewBeerStyleComment = async ({ content, rating, userId, beerStyleId, }: CreateNewBeerCommentArgs): Promise> => { return DBClient.instance.beerStyleComment.create({ data: { content, rating, beerStyle: { connect: { id: beerStyleId } }, postedBy: { connect: { id: userId } }, }, select: { id: true, content: true, rating: true, createdAt: true, updatedAt: true, postedBy: { select: { id: true, username: true, createdAt: true, userAvatar: true }, }, }, }); }; export default createNewBeerStyleComment;