add: store coin transfer source
This commit is contained in:
parent
a08552338b
commit
98426d0989
11 changed files with 105 additions and 9 deletions
|
@ -58,6 +58,16 @@ pub enum CoinTransferMethod {
|
|||
Purchase(usize),
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub enum CoinTransferSource {
|
||||
/// An unknown source, such as a transfer request.
|
||||
General,
|
||||
/// A product sale.
|
||||
Sale,
|
||||
/// A purchase of coins through Stripe.
|
||||
Purchase,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
pub struct CoinTransfer {
|
||||
pub id: usize,
|
||||
|
@ -67,11 +77,18 @@ pub struct CoinTransfer {
|
|||
pub amount: i32,
|
||||
pub is_pending: bool,
|
||||
pub method: CoinTransferMethod,
|
||||
pub source: CoinTransferSource,
|
||||
}
|
||||
|
||||
impl CoinTransfer {
|
||||
/// Create a new [`CoinTransfer`].
|
||||
pub fn new(sender: usize, receiver: usize, amount: i32, method: CoinTransferMethod) -> Self {
|
||||
pub fn new(
|
||||
sender: usize,
|
||||
receiver: usize,
|
||||
amount: i32,
|
||||
method: CoinTransferMethod,
|
||||
source: CoinTransferSource,
|
||||
) -> Self {
|
||||
Self {
|
||||
id: Snowflake::new().to_string().parse::<usize>().unwrap(),
|
||||
created: unix_epoch_timestamp(),
|
||||
|
@ -80,6 +97,7 @@ impl CoinTransfer {
|
|||
amount,
|
||||
is_pending: false,
|
||||
method,
|
||||
source,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue