orthanc_client_ogen 1.12.8

Orthanc API client library produced by OpenAPI Generator
Documentation
/*
 * Orthanc API
 *
 * This is the full documentation of the [REST API](https://orthanc.uclouvain.be/book/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://orthanc.uclouvain.be/book/users/rest-cheatsheet.html) is part of the Orthanc Book.<p>An earlier, manually crafted version from August 2019, is [still available](2019-08-orthanc-openapi.html), but is not up-to-date anymore ([source](https://groups.google.com/g/orthanc-users/c/NUiJTEICSl8/m/xKeqMrbqAAAJ)).
 *
 * The version of the OpenAPI document: 1.12.8
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// ToolsFindPostRequest : 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ToolsFindPostRequest {
    /// Enable case-sensitive search for PN value representations (defaults to configuration option `CaseSensitivePN`)
    #[serde(rename = "CaseSensitive", skip_serializing_if = "Option::is_none")]
    pub case_sensitive: Option<bool>,
    /// If set to \"true\", retrieve detailed information about the individual resources, not only their Orthanc identifiers
    #[serde(rename = "Expand", skip_serializing_if = "Option::is_none")]
    pub expand: Option<bool>,
    /// If set to `true`, report the DICOM tags in full format (tags indexed by their hexadecimal format, associated with their symbolic name and their value)
    #[serde(rename = "Full", skip_serializing_if = "Option::is_none")]
    pub full: Option<bool>,
    /// List of strings specifying which labels to look for in the resources (new in Orthanc 1.12.0)
    #[serde(rename = "Labels", skip_serializing_if = "Option::is_none")]
    pub labels: Option<Vec<String>>,
    /// Constraint on the labels, can be `All`, `Any`, or `None` (defaults to `All`, new in Orthanc 1.12.0)
    #[serde(rename = "LabelsConstraint", skip_serializing_if = "Option::is_none")]
    pub labels_constraint: Option<String>,
    /// Level of the query (`Patient`, `Study`, `Series` or `Instance`)
    #[serde(rename = "Level", skip_serializing_if = "Option::is_none")]
    pub level: Option<String>,
    /// Limit the number of reported resources
    #[serde(rename = "Limit", skip_serializing_if = "Option::is_none")]
    pub limit: Option<f64>,
    /// Associative array containing the filter on the values of the metadata (new in Orthanc 1.12.5)
    #[serde(rename = "MetadataQuery", skip_serializing_if = "Option::is_none")]
    pub metadata_query: Option<serde_json::Value>,
    /// Array of associative arrays containing the requested ordering (new in Orthanc 1.12.5)
    #[serde(rename = "OrderBy", skip_serializing_if = "Option::is_none")]
    pub order_by: Option<Vec<serde_json::Value>>,
    /// Limit the reported resources to descendants of this patient (new in Orthanc 1.12.5)
    #[serde(rename = "ParentPatient", skip_serializing_if = "Option::is_none")]
    pub parent_patient: Option<String>,
    /// Limit the reported resources to descendants of this series (new in Orthanc 1.12.5)
    #[serde(rename = "ParentSeries", skip_serializing_if = "Option::is_none")]
    pub parent_series: Option<String>,
    /// Limit the reported resources to descendants of this study (new in Orthanc 1.12.5)
    #[serde(rename = "ParentStudy", skip_serializing_if = "Option::is_none")]
    pub parent_study: Option<String>,
    /// Associative array containing the filter on the values of the DICOM tags
    #[serde(rename = "Query", skip_serializing_if = "Option::is_none")]
    pub query: Option<serde_json::Value>,
    /// A list of DICOM tags to include in the response (applicable only if \"Expand\" is set to true).  The tags requested tags are returned in the 'RequestedTags' field in the response.  Note that, if you are requesting tags that are not listed in the Main Dicom Tags stored in DB, building the response might be slow since Orthanc will need to access the DICOM files.  If not specified, Orthanc will return all Main Dicom Tags to keep backward compatibility with Orthanc prior to 1.11.0.
    #[serde(rename = "RequestedTags", skip_serializing_if = "Option::is_none")]
    pub requested_tags: Option<Vec<String>>,
    /// Defines the content of response for each returned resource. (this field, if present, overrides the \"Expand\" field).  Allowed values are `MainDicomTags`, `Metadata`, `Children`, `Parent`, `Labels`, `Status`, `IsStable`, `IsProtected`, `Attachments`.  If not specified, Orthanc will return `MainDicomTags`, `Metadata`, `Children`, `Parent`, `Labels`, `Status`, `IsStable`, `IsProtected`.(new in Orthanc 1.12.5)
    #[serde(rename = "ResponseContent", skip_serializing_if = "Option::is_none")]
    pub response_content: Option<Vec<String>>,
    /// If set to `true`, report the DICOM tags in hexadecimal format
    #[serde(rename = "Short", skip_serializing_if = "Option::is_none")]
    pub short: Option<bool>,
    /// Show only the resources since the provided index (in conjunction with `Limit`)
    #[serde(rename = "Since", skip_serializing_if = "Option::is_none")]
    pub since: Option<f64>,
}

impl ToolsFindPostRequest {
    /// 
    pub fn new() -> ToolsFindPostRequest {
        ToolsFindPostRequest {
            case_sensitive: None,
            expand: None,
            full: None,
            labels: None,
            labels_constraint: None,
            level: None,
            limit: None,
            metadata_query: None,
            order_by: None,
            parent_patient: None,
            parent_series: None,
            parent_study: None,
            query: None,
            requested_tags: None,
            response_content: None,
            short: None,
            since: None,
        }
    }
}