@@ -3,6 +3,7 @@ import { getPartners } from "@/lib/api/partners/get-partners";
33import { getDefaultProgramIdOrThrow } from "@/lib/api/programs/get-default-program-id-or-throw" ;
44import { getProgramOrThrow } from "@/lib/api/programs/get-program-or-throw" ;
55import { parseRequestBody } from "@/lib/api/utils" ;
6+ import { applicationEventSchema } from "@/lib/application-events/schema" ;
67import { withWorkspace } from "@/lib/auth" ;
78import { throwIfPartnersLimitExceeded } from "@/lib/partners/throw-if-partners-limit-exceeded" ;
89import { polyfillSocialMediaFields } from "@/lib/social-utils" ;
@@ -50,25 +51,22 @@ export const GET = withWorkspace(
5051 country : filterOverrides . country ,
5152 } ) ,
5253 } ;
53- const {
54- sortBy : sortByWithOldFields ,
55- includePartnerPlatforms,
56- ...parsedParams
57- } = getPartnersQuerySchemaExtended
58- . extend ( {
59- // add old fields for backward compatibility
60- sortBy : getPartnersQuerySchemaExtended . shape . sortBy . or (
61- z . enum ( [
62- "clicks" ,
63- "leads" ,
64- "conversions" ,
65- "sales" ,
66- "saleAmount" ,
67- "totalSales" ,
68- ] ) ,
69- ) ,
70- } )
71- . parse ( paramsToParse ) ;
54+ const { sortBy : sortByWithOldFields , ...parsedParams } =
55+ getPartnersQuerySchemaExtended
56+ . extend ( {
57+ // add old fields for backward compatibility
58+ sortBy : getPartnersQuerySchemaExtended . shape . sortBy . or (
59+ z . enum ( [
60+ "clicks" ,
61+ "leads" ,
62+ "conversions" ,
63+ "sales" ,
64+ "saleAmount" ,
65+ "totalSales" ,
66+ ] ) ,
67+ ) ,
68+ } )
69+ . parse ( paramsToParse ) ;
7270
7371 // get the final sortBy field (replace old fields with new fields)
7472 const sortBy =
@@ -104,11 +102,16 @@ export const GET = withWorkspace(
104102 saleAmount : z . number ( ) . default ( 0 ) ,
105103 } ) ;
106104
107- const responseSchema = includePartnerPlatforms
108- ? baseSchema . extend ( {
109- platforms : z . array ( partnerPlatformSchema ) ,
110- } )
111- : baseSchema ;
105+ const responseSchema =
106+ parsedParams . includeApplicationEvent ||
107+ parsedParams . includePartnerPlatforms
108+ ? baseSchema . extend ( {
109+ platforms : z . array ( partnerPlatformSchema ) ,
110+ applicationEvent : applicationEventSchema
111+ . pick ( { referralSource : true } )
112+ . nullish ( ) ,
113+ } )
114+ : baseSchema ;
112115
113116 return NextResponse . json (
114117 z . array ( responseSchema ) . parse (
0 commit comments