@@ -2,6 +2,7 @@ import { NextRequest, NextResponse } from 'next/server'
22import { z } from 'zod'
33import { prisma } from '~/prisma'
44import { kunParseGetQuery } from '../utils/parseQuery'
5+ import type { PatchPersonDetail } from '~/types/api/person'
56
67const personIdSchema = z . object ( { personId : z . coerce . number ( ) . min ( 1 ) } )
78
@@ -20,22 +21,26 @@ export const getPersonById = async (input: z.infer<typeof personIdSchema>) => {
2021 } )
2122 const patches = patchRelations . map ( ( pr ) => ( {
2223 id : pr . patch . id ,
23- name : pr . patch . name ,
24+ name_zh_cn : pr . patch . name_zh_cn ,
25+ name_ja_jp : pr . patch . name_ja_jp ,
26+ name_en_us : pr . patch . name_en_us ,
2427 banner : pr . patch . banner
2528 } ) )
2629
2730 return {
2831 id : person . id ,
2932 image : person . image ,
3033 roles : person . roles ,
31- language : person . language ,
32- links : person . links ,
33- name_zh_cn : person . name_zh_cn ,
34- name_ja_jp : person . name_ja_jp ,
35- name_en_us : person . name_en_us ,
36- description_zh_cn : person . description_zh_cn ,
37- description_ja_jp : person . description_ja_jp ,
38- description_en_us : person . description_en_us ,
34+ name : {
35+ 'zh-cn' : person . name_zh_cn ,
36+ 'ja-jp' : person . name_ja_jp ,
37+ 'en-us' : person . name_en_us
38+ } ,
39+ description : {
40+ 'zh-cn' : person . description_zh_cn ,
41+ 'ja-jp' : person . description_ja_jp ,
42+ 'en-us' : person . description_en_us
43+ } ,
3944 birthday : person . birthday ,
4045 blood_type : person . blood_type ,
4146 birthplace : person . birthplace ,
@@ -45,8 +50,16 @@ export const getPersonById = async (input: z.infer<typeof personIdSchema>) => {
4550 official_website : person . official_website ,
4651 blog : person . blog ,
4752 alias : aliases ,
48- patches
49- }
53+ patches : patches . map ( ( p ) => ( {
54+ id : p . id ,
55+ name : {
56+ 'zh-cn' : p . name_zh_cn ,
57+ 'ja-jp' : p . name_ja_jp ,
58+ 'en-us' : p . name_en_us
59+ } ,
60+ banner : p . banner
61+ } ) )
62+ } satisfies PatchPersonDetail
5063}
5164
5265export const GET = async ( req : NextRequest ) => {
0 commit comments