(&mut self)
| 687 | } |
| 688 | |
| 689 | async fn fetch_premium_tier(&mut self) { |
| 690 | self.premium_tier = PremiumTierState::Unknown; |
| 691 | |
| 692 | let slots = if let Ok(slots) = self.stores.get_guild_premium_slots(self.guild_id).await { |
| 693 | slots |
| 694 | } else { |
| 695 | return; |
| 696 | }; |
| 697 | |
| 698 | let mut highest_tier = Option::<PremiumSlotTier>::None; |
| 699 | for slot in slots { |
| 700 | if let Some(current_highest) = highest_tier { |
| 701 | if slot.tier.is_higher_than(current_highest) { |
| 702 | highest_tier = Some(slot.tier); |
| 703 | } |
| 704 | } else { |
| 705 | highest_tier = Some(slot.tier); |
| 706 | } |
| 707 | } |
| 708 | |
| 709 | self.premium_tier = PremiumTierState::Fetched(highest_tier); |
| 710 | } |
| 711 | |
| 712 | pub(crate) fn set_premium_tier(&mut self, tier: PremiumTierState) { |
| 713 | self.premium_tier = tier; |
no test coverage detected