covert_types/methods/kv/
mod.rs

1use std::collections::HashMap;
2
3use chrono::{DateTime, Utc};
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Deserialize, Serialize)]
7pub struct SetConfigParams {
8    pub max_versions: u32,
9}
10
11#[derive(Debug, Deserialize, Serialize)]
12pub struct SetConfigResponse {
13    pub max_versions: u32,
14}
15
16#[derive(Debug, Deserialize, Serialize)]
17pub struct ReadConfigResponse {
18    pub max_versions: u32,
19}
20
21#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
22pub struct CreateSecretParams {
23    pub data: HashMap<String, String>,
24}
25
26#[derive(Debug, Deserialize, Serialize)]
27pub struct CreateSecretResponse {
28    pub version: u32,
29    pub min_version: u32,
30    pub max_version: u32,
31    pub created_time: DateTime<Utc>,
32    pub deleted: bool,
33    pub destroyed: bool,
34}
35
36#[derive(Debug, Deserialize, Serialize)]
37pub struct ReadSecretQuery {
38    #[serde(default)]
39    pub version: Option<u32>,
40}
41
42#[derive(Debug, Deserialize, Serialize)]
43pub struct ReadSecretResponse {
44    pub data: Option<HashMap<String, String>>,
45    pub metadata: CreateSecretResponse,
46}
47
48#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
49pub struct HardDeleteSecretParams {
50    pub versions: Vec<u32>,
51}
52
53#[derive(Debug, Deserialize, Serialize)]
54pub struct HardDeleteSecretResponse {
55    pub not_deleted: Vec<u32>,
56}
57
58#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
59pub struct SoftDeleteSecretParams {
60    pub versions: Vec<u32>,
61}
62
63#[derive(Debug, Deserialize, Serialize)]
64pub struct SoftDeleteSecretResponse {
65    pub not_deleted: Vec<u32>,
66}
67
68#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
69pub struct RecoverSecretParams {
70    pub versions: Vec<u32>,
71}
72
73#[derive(Debug, Deserialize, Serialize)]
74pub struct RecoverSecretResponse {
75    pub not_recovered: Vec<u32>,
76}