allow no referrer_record
This commit is contained in:
parent
c560a59ef0
commit
dffff65950
@ -153,10 +153,6 @@ pub async fn user_shared_referral_stats(
|
|||||||
.all(db_replica.as_ref())
|
.all(db_replica.as_ref())
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
debug_assert_eq!(query_result.len(), 1);
|
|
||||||
|
|
||||||
let (referrer_record, referral_records) = query_result.into_iter().next().unwrap();
|
|
||||||
|
|
||||||
// collect info about each referral
|
// collect info about each referral
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
struct Info {
|
struct Info {
|
||||||
@ -168,24 +164,27 @@ pub async fn user_shared_referral_stats(
|
|||||||
|
|
||||||
let mut used_referral_code = None;
|
let mut used_referral_code = None;
|
||||||
let mut referral_info = vec![];
|
let mut referral_info = vec![];
|
||||||
for referral_record in referral_records.into_iter() {
|
|
||||||
used_referral_code = Some(referrer_record.referral_code.as_str());
|
|
||||||
|
|
||||||
// The foreign key is never optional
|
if let Some((referrer_record, referral_records)) = query_result.into_iter().next() {
|
||||||
let referred_user = user::Entity::find_by_id(referral_record.user_id)
|
for referral_record in referral_records.into_iter() {
|
||||||
.one(db_replica.as_ref())
|
used_referral_code = Some(referrer_record.referral_code.as_str());
|
||||||
.await?
|
|
||||||
.context("Database error, no foreign key found for referring user")?;
|
|
||||||
|
|
||||||
let info = Info {
|
// The foreign key is never optional
|
||||||
credits_applied_for_referee: referral_record.credits_applied_for_referee,
|
let referred_user = user::Entity::find_by_id(referral_record.user_id)
|
||||||
credits_applied_for_referrer: referral_record.credits_applied_for_referrer,
|
.one(db_replica.as_ref())
|
||||||
referral_start_date: referral_record.referral_start_date,
|
.await?
|
||||||
referred_address: Address::from_slice(&referred_user.address),
|
.context("Database error, no foreign key found for referring user")?;
|
||||||
};
|
|
||||||
|
|
||||||
// Start inserting json's into this
|
let info = Info {
|
||||||
referral_info.push(info);
|
credits_applied_for_referee: referral_record.credits_applied_for_referee,
|
||||||
|
credits_applied_for_referrer: referral_record.credits_applied_for_referrer,
|
||||||
|
referral_start_date: referral_record.referral_start_date,
|
||||||
|
referred_address: Address::from_slice(&referred_user.address),
|
||||||
|
};
|
||||||
|
|
||||||
|
// Start inserting json's into this
|
||||||
|
referral_info.push(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Turn this into a response
|
// Turn this into a response
|
||||||
|
Loading…
Reference in New Issue
Block a user