use {
carbon_core::graphql::primitives::{Pubkey, U64},
juniper::GraphQLObject,
};
#[derive(Debug, Clone, GraphQLObject)]
#[graphql(name = "UserClaim")]
pub struct UserClaimGraphQL {
pub account_metadata: crate::accounts::graphql::AccountMetadataGraphQL,
pub user: Pubkey,
pub amount: U64,
pub mint: Pubkey,
}
impl TryFrom<crate::accounts::postgres::UserClaimRow> for UserClaimGraphQL {
type Error = carbon_core::error::Error;
fn try_from(row: crate::accounts::postgres::UserClaimRow) -> Result<Self, Self::Error> {
Ok(Self {
account_metadata: row.account_metadata.into(),
user: carbon_core::graphql::primitives::Pubkey(row.user.0),
amount: carbon_core::graphql::primitives::U64(*row.amount),
mint: carbon_core::graphql::primitives::Pubkey(row.mint.0),
})
}
}