reevit 0.2.0

Official Rust SDK for the Reevit payments API
Documentation
use reqwest::Method;

use crate::{Client, FraudPolicy, RequestOptions, Result};

/// Fraud policy operations.
#[derive(Debug, Clone)]
pub struct Fraud {
    client: Client,
}

impl Fraud {
    pub(crate) fn new(client: Client) -> Self {
        Self { client }
    }

    /// Retrieves the organization's fraud policy.
    pub async fn get(&self) -> Result<FraudPolicy> {
        let request = self.client.request(Method::GET, "/v1/policies/fraud")?;
        self.client.send(request, RequestOptions::default()).await
    }

    /// Replaces the organization's fraud policy.
    pub async fn update(
        &self,
        policy: &FraudPolicy,
        options: RequestOptions,
    ) -> Result<FraudPolicy> {
        let request = self
            .client
            .request(Method::POST, "/v1/policies/fraud")?
            .json(policy);
        self.client.send(request, options).await
    }
}