@@ -43,9 +43,14 @@ router.get("/friends", jwtMiddleware, asyncHandler(async (req, res) => {
4343 const { xuid} = req . user ;
4444 const xboxliveToken = req . headers [ "x-xbl-token" ] ;
4545 if ( ! xboxliveToken ) throw badRequest ( "Missing x-xbl-token header" ) ;
46- const maxItems = Math . max ( 1 , Math . min ( parseInt ( req . query . maxItems || "200" , 10 ) , 2000 ) ) ;
46+ const schema = Joi . object ( {
47+ maxItems : Joi . number ( ) . integer ( ) . min ( 1 ) . max ( 2000 ) . default ( 200 )
48+ } ) ;
49+ const { value, error} = schema . validate ( req . query ) ;
50+ if ( error ) throw badRequest ( error . message ) ;
51+
4752 const locale = req . headers [ "accept-language" ] ;
48- const data = await getPeopleSocial ( xuid , xboxliveToken , maxItems , locale ) ;
53+ const data = await getPeopleSocial ( xuid , xboxliveToken , value . maxItems , locale ) ;
4954
5055 const list = ( data ?. people || data ?. People || [ ] ) ;
5156 const people = list . filter ( p => ( p ?. isFollowingCaller === true ) && ( p ?. isFollowedByCaller === true ) ) ;
@@ -82,9 +87,14 @@ router.get("/followers", jwtMiddleware, asyncHandler(async (req, res) => {
8287 const { xuid} = req . user ;
8388 const xboxliveToken = req . headers [ "x-xbl-token" ] ;
8489 if ( ! xboxliveToken ) throw badRequest ( "Missing x-xbl-token header" ) ;
85- const maxItems = Math . max ( 1 , Math . min ( parseInt ( req . query . maxItems || "200" , 10 ) , 2000 ) ) ;
90+ const schema = Joi . object ( {
91+ maxItems : Joi . number ( ) . integer ( ) . min ( 1 ) . max ( 2000 ) . default ( 200 )
92+ } ) ;
93+ const { value, error} = schema . validate ( req . query ) ;
94+ if ( error ) throw badRequest ( error . message ) ;
95+
8696 const locale = req . headers [ "accept-language" ] ;
87- const data = await getPeopleFollowers ( xuid , xboxliveToken , maxItems , locale ) ;
97+ const data = await getPeopleFollowers ( xuid , xboxliveToken , value . maxItems , locale ) ;
8898 const people = ( data ?. people || data ?. People || [ ] ) ;
8999 res . json ( { count : people . length , people} ) ;
90100} ) ) ;
0 commit comments