app_store_server_library/primitives/advanced_commerce/
offer_reason.rs

1use serde::{Deserialize, Serialize};
2
3/// The reason for the offer.
4///
5/// [Offer](https://developer.apple.com/documentation/advancedcommerceapi/offer)
6#[derive(Debug, Clone, Deserialize, Serialize, Hash, PartialEq, Eq)]
7#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
8pub enum OfferReason {
9    Acquisition,
10    WinBack,
11    Retention,
12}
13
14impl OfferReason {
15    pub fn as_str(&self) -> &str {
16        match self {
17            OfferReason::Acquisition => "ACQUISITION",
18            OfferReason::WinBack => "WIN_BACK",
19            OfferReason::Retention => "RETENTION",
20        }
21    }
22}