farm_member_claim.rs (3410B)
1 use radroots_types::types::{IResult, IResultList}; 2 use serde::{Deserialize, Serialize}; 3 use serde_json::Value; 4 5 #[derive(Serialize, Deserialize)] 6 pub struct FarmMemberClaim { 7 pub id: String, 8 pub created_at: String, 9 pub updated_at: String, 10 pub member_pubkey: String, 11 pub farm_pubkey: String, 12 } 13 14 #[derive(Clone, Deserialize, Serialize)] 15 pub struct IFarmMemberClaimFields { 16 pub member_pubkey: String, 17 pub farm_pubkey: String, 18 } 19 20 #[derive(Clone, Deserialize, Serialize)] 21 pub struct IFarmMemberClaimFieldsPartial { 22 pub member_pubkey: Option<serde_json::Value>, 23 pub farm_pubkey: Option<serde_json::Value>, 24 } 25 26 #[derive(Clone, Deserialize, Serialize)] 27 pub struct IFarmMemberClaimFieldsFilter { 28 pub id: Option<String>, 29 pub created_at: Option<String>, 30 pub updated_at: Option<String>, 31 pub member_pubkey: Option<String>, 32 pub farm_pubkey: Option<String>, 33 } 34 35 #[derive(Clone, Deserialize, Serialize)] 36 #[serde(untagged)] 37 pub enum FarmMemberClaimQueryBindValues { 38 Id { id: String }, 39 MemberPubkey { member_pubkey: String }, 40 FarmPubkey { farm_pubkey: String }, 41 } 42 impl FarmMemberClaimQueryBindValues { 43 pub fn to_filter_param(&self) -> (&'static str, Value) { 44 match self { 45 Self::Id { id } => ("id", Value::from(id.clone())), 46 Self::MemberPubkey { member_pubkey } => { 47 ("member_pubkey", Value::from(member_pubkey.clone())) 48 } 49 Self::FarmPubkey { farm_pubkey } => ("farm_pubkey", Value::from(farm_pubkey.clone())), 50 } 51 } 52 53 pub fn primary_key(&self) -> Option<String> { 54 match self { 55 Self::Id { id } => Some(id.clone()), 56 _ => None, 57 } 58 } 59 60 pub fn lookup_key(&self) -> String { 61 match self { 62 Self::Id { id } => id.clone(), 63 Self::MemberPubkey { member_pubkey } => member_pubkey.clone(), 64 Self::FarmPubkey { farm_pubkey } => farm_pubkey.clone(), 65 } 66 } 67 } 68 69 pub struct IFarmMemberClaimCreateTs; 70 pub type IFarmMemberClaimCreate = IFarmMemberClaimFields; 71 pub struct IFarmMemberClaimCreateResolveTs; 72 pub type IFarmMemberClaimCreateResolve = IResult<FarmMemberClaim>; 73 #[derive(Deserialize, Serialize)] 74 pub struct IFarmMemberClaimFindOneArgs { 75 pub on: FarmMemberClaimQueryBindValues, 76 } 77 78 #[derive(Deserialize, Serialize)] 79 #[serde(untagged)] 80 pub enum IFarmMemberClaimFindOne { 81 On(IFarmMemberClaimFindOneArgs), 82 } 83 84 pub struct IFarmMemberClaimFindOneResolveTs; 85 pub type IFarmMemberClaimFindOneResolve = IResult<Option<FarmMemberClaim>>; 86 #[derive(Deserialize, Serialize)] 87 pub struct IFarmMemberClaimFindManyArgs { 88 pub filter: Option<IFarmMemberClaimFieldsFilter>, 89 } 90 pub type IFarmMemberClaimFindMany = IFarmMemberClaimFindManyArgs; 91 pub struct IFarmMemberClaimFindManyResolveTs; 92 pub type IFarmMemberClaimFindManyResolve = IResultList<FarmMemberClaim>; 93 pub struct IFarmMemberClaimDeleteTs; 94 pub type IFarmMemberClaimDelete = IFarmMemberClaimFindOne; 95 pub struct IFarmMemberClaimDeleteResolveTs; 96 pub type IFarmMemberClaimDeleteResolve = IResult<String>; 97 #[derive(Deserialize, Serialize)] 98 pub struct IFarmMemberClaimUpdateArgs { 99 pub on: FarmMemberClaimQueryBindValues, 100 pub fields: IFarmMemberClaimFieldsPartial, 101 } 102 pub type IFarmMemberClaimUpdate = IFarmMemberClaimUpdateArgs; 103 pub struct IFarmMemberClaimUpdateResolveTs; 104 pub type IFarmMemberClaimUpdateResolve = IResult<FarmMemberClaim>;