Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export async function nextReferralMovesYouUpBy(referralCount: number, createdAt: any) {
- const rows = await db.query(`
- WITH referrals
- AS (SELECT
- r."createdAt",
- COUNT(*) AS referral_count
- FROM reservations r
- INNER JOIN reservations rr
- ON rr."createdAt" = r."createdAt"
- GROUP BY r."createdAt"),
- current_spot
- AS (SELECT
- r.id,
- r.email,
- r."createdAt",
- COALESCE(referrals.referral_count, 0) as referral_count
- FROM reservations r
- LEFT JOIN referrals
- ON r."createdAt" = referrals."createdAt")
- SELECT
- COUNT(*)
- FROM current_spot
- WHERE referral_count > :referral_count
- OR (referral_count = :referral_count AND "createdAt" < :created_at)
- `, { type: Sequelize.QueryTypes.SELECT, replacements: {
- referral_count: referralCount,
- created_at: createdAt,
- } })
- return parseInt(rows[0].count)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement