Skip to main content

mistral_openapi_client/models/
base_field_definition.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct BaseFieldDefinition {
16    #[serde(rename = "name")]
17    pub name: String,
18    #[serde(rename = "label")]
19    pub label: String,
20    #[serde(rename = "type")]
21    pub r#type: Type,
22    #[serde(rename = "group", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23    pub group: Option<Option<String>>,
24    #[serde(rename = "supported_operators")]
25    pub supported_operators: Vec<SupportedOperators>,
26}
27
28impl BaseFieldDefinition {
29    pub fn new(name: String, label: String, r#type: Type, supported_operators: Vec<SupportedOperators>) -> BaseFieldDefinition {
30        BaseFieldDefinition {
31            name,
32            label,
33            r#type,
34            group: None,
35            supported_operators,
36        }
37    }
38}
39/// 
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
41pub enum Type {
42    #[serde(rename = "ENUM")]
43    Enum,
44    #[serde(rename = "TEXT")]
45    Text,
46    #[serde(rename = "INT")]
47    Int,
48    #[serde(rename = "FLOAT")]
49    Float,
50    #[serde(rename = "BOOL")]
51    Bool,
52    #[serde(rename = "TIMESTAMP")]
53    Timestamp,
54    #[serde(rename = "ARRAY")]
55    Array,
56}
57
58impl Default for Type {
59    fn default() -> Type {
60        Self::Enum
61    }
62}
63/// 
64#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
65pub enum SupportedOperators {
66    #[serde(rename = "lt")]
67    Lt,
68    #[serde(rename = "lte")]
69    Lte,
70    #[serde(rename = "gt")]
71    Gt,
72    #[serde(rename = "gte")]
73    Gte,
74    #[serde(rename = "startswith")]
75    Startswith,
76    #[serde(rename = "istartswith")]
77    Istartswith,
78    #[serde(rename = "endswith")]
79    Endswith,
80    #[serde(rename = "iendswith")]
81    Iendswith,
82    #[serde(rename = "contains")]
83    Contains,
84    #[serde(rename = "icontains")]
85    Icontains,
86    #[serde(rename = "matches")]
87    Matches,
88    #[serde(rename = "notcontains")]
89    Notcontains,
90    #[serde(rename = "inotcontains")]
91    Inotcontains,
92    #[serde(rename = "eq")]
93    Eq,
94    #[serde(rename = "neq")]
95    Neq,
96    #[serde(rename = "isnull")]
97    Isnull,
98    #[serde(rename = "includes")]
99    Includes,
100    #[serde(rename = "excludes")]
101    Excludes,
102    #[serde(rename = "len_eq")]
103    LenEq,
104}
105
106impl Default for SupportedOperators {
107    fn default() -> SupportedOperators {
108        Self::Lt
109    }
110}
111