11import { z } from 'zod'
22import { prisma } from '~/prisma/index'
33import { patchRatingUpdateSchema } from '~/validations/patch'
4+ import type { KunPatchRating } from '~/types/api/galgame'
45
56export const updatePatchRating = async (
67input :z . infer < typeof patchRatingUpdateSchema > ,
@@ -28,7 +29,7 @@ export const updatePatchRating = async (
2829return '您没有权限更新该评价'
2930}
3031
31- await prisma . patch_rating . update ( {
32+ const data = await prisma . patch_rating . update ( {
3233where :{ id :ratingId , user_id :ratingUserUid } ,
3334data :{
3435patch_id :patchId ,
@@ -37,8 +38,41 @@ export const updatePatchRating = async (
3738play_status :playStatus ,
3839short_summary :shortSummary ,
3940spoiler_level :spoilerLevel
41+ } ,
42+ include :{
43+ patch :{ select :{ unique_id :true } } ,
44+ user :{
45+ select :{
46+ id :true ,
47+ name :true ,
48+ avatar :true
49+ }
50+ } ,
51+ _count :{
52+ select :{ like :true }
53+ } ,
54+ like :{
55+ where :{
56+ user_id :uid
57+ }
58+ }
4059}
4160} )
4261
43- return { }
62+ return {
63+ id :data . id ,
64+ uniqueId :data . patch . unique_id ,
65+ recommend :data . recommend ,
66+ overall :data . overall ,
67+ playStatus :data . play_status ,
68+ shortSummary :data . short_summary ,
69+ spoilerLevel :data . spoiler_level ,
70+ isLike :data . like . length > 0 ,
71+ likeCount :data . _count . like ,
72+ userId :data . user_id ,
73+ patchId :data . patch_id ,
74+ created :data . created ,
75+ updated :data . updated ,
76+ user :data . user
77+ } satisfies KunPatchRating
4478}