@@ -16,17 +16,22 @@ const router = new Hono().get(
1616 exchangeQuery : z . enum ( [ "exchange" , "japanese" , "all" ] ) . default ( "all" ) ,
1717 searchQuery : z . string ( ) . default ( "" ) ,
1818 marker : z . union ( [ MarkerSchema , z . literal ( "notBlocked" ) ] ) . optional ( ) ,
19+ wantsToMatch : z . enum ( [ "true" ] ) . optional ( ) ,
1920 } ) ,
2021 ) ,
2122 zValidator ( "header" , z . object ( { Authorization : z . string ( ) } ) ) ,
2223 async ( c ) => {
2324 const requester = await getUserID ( c ) ;
24- const { except, page, exchangeQuery, searchQuery, marker : markerQuery } = c . req . valid ( "query" ) ;
25+ const { except, page, exchangeQuery, searchQuery, marker : markerQuery , wantsToMatch } = c . req . valid ( "query" ) ;
2526 const take = 15 ; //TODO: web側で指定できるようにする
2627 const skip = ( page - 1 ) * take ;
2728
2829 const whereCondition : Prisma . UserWhereInput = { } ;
2930
31+ if ( wantsToMatch ) {
32+ whereCondition . wantToMatch = wantsToMatch === "true" ;
33+ }
34+
3035 // 言語交換フィルター
3136 if ( exchangeQuery === "exchange" ) {
3237 whereCondition . isForeignStudent = true ;
@@ -111,6 +116,7 @@ const router = new Hono().get(
111116 gender : true ,
112117 isForeignStudent : true ,
113118 imageUrl : true ,
119+ wantToMatch : true ,
114120 campus : {
115121 select : { university : true , id : true , jaName : true , enName : true } ,
116122 } ,
0 commit comments