51 lines
1.6 KiB
SQL
51 lines
1.6 KiB
SQL
-- -- name: CreateReferralCode :one
|
|
-- INSERT INTO referral_codes (
|
|
-- referral_code,
|
|
-- referrer_id,
|
|
-- company_id,
|
|
-- number_of_referrals,
|
|
-- reward_amount
|
|
-- )
|
|
-- VALUES ($1, $2, $3, $4, $5)
|
|
-- RETURNING *;
|
|
-- -- name: CreateUserReferral :one
|
|
-- INSERT INTO user_referrals (referred_id, referral_code_id)
|
|
-- VALUES ($1, $2)
|
|
-- RETURNING *;
|
|
-- -- name: GetReferralCodeByUser :many
|
|
-- SELECt *
|
|
-- FROM referral_codes
|
|
-- WHERE referrer_id = $1;
|
|
-- -- name: GetReferralCode :one
|
|
-- SELECT *
|
|
-- FROM referral_codes
|
|
-- WHERE referral_code = $1;
|
|
-- -- name: UpdateReferralCode :exec
|
|
-- UPDATE referral_codes
|
|
-- SET is_active = $2,
|
|
-- referral_code = $3,
|
|
-- number_of_referrals = $4,
|
|
-- reward_amount = $5,
|
|
-- updated_at = CURRENT_TIMESTAMP
|
|
-- WHERE id = $1;
|
|
-- -- name: GetReferralStats :one
|
|
-- SELECT COUNT(*) AS total_referrals,
|
|
-- COALESCE(SUM(reward_amount), 0)::bigint AS total_reward_earned
|
|
-- FROM user_referrals
|
|
-- JOIN referral_codes ON referral_codes.id = referral_code_id
|
|
-- WHERE referrer_id = $1
|
|
-- AND company_id = $2;
|
|
-- -- name: GetUserReferral :one
|
|
-- SELECT *
|
|
-- FROM user_referrals
|
|
-- WHERE referred_id = $1;
|
|
-- -- name: GetUserReferralsByCode :many
|
|
-- SELECT user_referrals.*
|
|
-- FROM user_referrals
|
|
-- JOIN referral_codes ON referral_codes.id = referral_code_id
|
|
-- WHERE referral_code = $1;
|
|
-- -- name: GetUserReferralsCount :one
|
|
-- SELECT COUNT(*)
|
|
-- FROM user_referrals
|
|
-- JOIN referral_codes ON referral_codes.id = referral_code_id
|
|
-- WHERE referrer_id = $1; |