Skip to content

Commit dd2461c

Browse files
Brandon ChenBrandon Chen
authored andcommitted
fix: sql query for checking max referrals
1 parent a8e1a89 commit dd2461c

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

common/src/util/server/referral.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,30 @@ export async function hasMaxedReferrals(userId: string): Promise<
1515
referralLink: string
1616
}
1717
> {
18-
const referral = await db
18+
const limitReached = await db
1919
.select({
20-
referralCode: schema.user.referral_code,
2120
limitReached: sql<boolean>`count(*) >= ${MAX_REFERRALS}`,
2221
})
2322
.from(schema.referral)
24-
.leftJoin(schema.user, eq(schema.referral.referrer_id, schema.user.id))
2523
.where(eq(schema.referral.referrer_id, userId))
26-
.groupBy(schema.user.referral_code)
27-
.then((result) => (result.length > 0 ? result[0] : undefined))
28-
29-
if (!referral || !referral.referralCode) {
30-
return { reason: "Your user isn't in our system" }
24+
.then((result) => (result.length > 0 ? result[0].limitReached : false))
25+
if (limitReached) {
26+
return { reason: 'You have reached your usage limit' }
3127
}
3228

33-
if (referral.limitReached) {
34-
return { reason: 'You have reached your usage limit' }
29+
const user = await db.query.user.findFirst({
30+
where: eq(schema.user.id, userId),
31+
columns: {
32+
referral_code: true,
33+
},
34+
})
35+
36+
if (!user || !user.referral_code) {
37+
return { reason: "Your user isn't in our system" }
3538
}
3639

3740
return {
3841
reason: undefined,
39-
referralLink: getReferralLink(referral.referralCode),
42+
referralLink: getReferralLink(user.referral_code),
4043
}
4144
}

0 commit comments

Comments
 (0)