1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
* Appwrite
*
* Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)
*
* The version of the OpenAPI document: 1.4.9
* Contact: team@appwrite.io
* Generated by: https://openapi-generator.tech
*/
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DatabasesCreateIndexRequest {
/// Index Key.
#[serde(rename = "key")]
pub key: String,
/// Index type.
#[serde(rename = "type")]
pub r#type: Type,
/// Array of attributes to index. Maximum of 100 attributes are allowed, each 32 characters long.
#[serde(rename = "attributes")]
pub attributes: Vec<String>,
/// Array of index orders. Maximum of 100 orders are allowed.
#[serde(rename = "orders", skip_serializing_if = "Option::is_none")]
pub orders: Option<Vec<String>>,
}
impl DatabasesCreateIndexRequest {
pub fn new(key: String, r#type: Type, attributes: Vec<String>) -> DatabasesCreateIndexRequest {
DatabasesCreateIndexRequest {
key,
r#type,
attributes,
orders: None,
}
}
}
/// Index type.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "key")]
Key,
#[serde(rename = "fulltext")]
Fulltext,
#[serde(rename = "unique")]
Unique,
#[serde(rename = "spatial")]
Spatial,
#[serde(rename = "array")]
Array,
}
impl Default for Type {
fn default() -> Type {
Self::Key
}
}