typesense_rs/models/
api_key.rs1use serde::{Deserialize, Serialize};
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct ApiKey {
15 #[serde(rename = "actions")]
16 pub actions: Vec<String>,
17 #[serde(rename = "collections")]
18 pub collections: Vec<String>,
19 #[serde(rename = "description")]
20 pub description: String,
21 #[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
22 pub expires_at: Option<i64>,
23 #[serde(rename = "value", skip_serializing_if = "Option::is_none")]
24 pub value: Option<String>,
25 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
26 pub id: Option<i64>,
27 #[serde(rename = "value_prefix", skip_serializing_if = "Option::is_none")]
28 pub value_prefix: Option<String>,
29}
30
31impl ApiKey {
32 pub fn new(actions: Vec<String>, collections: Vec<String>, description: String) -> ApiKey {
33 ApiKey {
34 actions,
35 collections,
36 description,
37 expires_at: None,
38 value: None,
39 id: None,
40 value_prefix: None,
41 }
42 }
43}