/*
 * photon-indexer
 *
 * Solana indexer for general compression
 *
 * The version of the OpenAPI document: 0.50.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetCompressedAccountsByOwnerPostRequestParams {
    /// A 32-byte hash represented as a base58 string.
    #[serde(rename = "cursor", default, skip_serializing_if = "Option::is_none")]
    pub cursor: Option<String>,
    #[serde(rename = "dataSlice", default, skip_serializing_if = "Option::is_none")]
    pub data_slice: Option<Box<models::DataSlice>>,
    #[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
    pub filters: Option<Vec<models::FilterSelector>>,
    #[serde(rename = "limit", default, skip_serializing_if = "Option::is_none")]
    pub limit: Option<u16>,
    /// A Solana public key represented as a base58 string.
    #[serde(rename = "owner")]
    pub owner: String,
}

impl GetCompressedAccountsByOwnerPostRequestParams {
    pub fn new(owner: String) -> GetCompressedAccountsByOwnerPostRequestParams {
        GetCompressedAccountsByOwnerPostRequestParams {
            cursor: None,
            data_slice: None,
            filters: None,
            limit: None,
            owner,
        }
    }
}
