1pub use crate::{FaceCluster, Person, PersonStatus};
3use serde::{Deserialize, Serialize};
4#[derive(Debug, Clone, Default, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase", deny_unknown_fields)]
6pub struct ListInput {
7 pub cursor: Option<String>,
8 pub limit: Option<u32>,
9}
10#[derive(Debug, Clone, Serialize, Deserialize)]
11#[serde(rename_all = "camelCase")]
12pub struct Page<T> {
13 pub items: Vec<T>,
14 pub next_cursor: Option<String>,
15}
16#[derive(Debug, Clone, Serialize, Deserialize)]
17#[serde(rename_all = "camelCase")]
18pub struct ClusterPage {
19 pub epoch: String,
20 pub items: Vec<FaceCluster>,
21 pub next_cursor: Option<String>,
22}
23#[derive(Debug, Clone, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase", deny_unknown_fields)]
25pub struct IdInput {
26 pub id: String,
27}
28#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(rename_all = "camelCase", deny_unknown_fields)]
30pub struct ClusterName {
31 pub expected_epoch: String,
32 pub id: String,
33 pub expected_revision: String,
34 pub representative_sample_id: String,
35 pub name: String,
36}
37#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(rename_all = "camelCase", deny_unknown_fields)]
39pub struct RevisionInput {
40 pub expected_epoch: String,
41 pub id: String,
42 pub expected_revision: String,
43}
44#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(rename_all = "camelCase", deny_unknown_fields)]
46pub struct ResetInput {
47 pub expected_epoch: String,
48}
49#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(rename_all = "camelCase")]
51pub struct MutationResult {
52 pub epoch: String,
53 pub revision: String,
54}
55#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(rename_all = "camelCase")]
57pub struct ImageOutput {
58 pub mime_type: String,
59 pub data_base64: String,
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
63#[serde(rename_all = "camelCase", deny_unknown_fields)]
64pub struct ExportInput {
65 pub password: String,
66}
67#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(rename_all = "camelCase", deny_unknown_fields)]
69pub struct ReadInput {
70 pub id: String,
71 pub offset: usize,
72}
73#[derive(Debug, Clone, Serialize, Deserialize)]
74#[serde(rename_all = "camelCase", deny_unknown_fields)]
75pub struct ImportStart {
76 pub size_bytes: usize,
77}
78#[derive(Debug, Clone, Serialize, Deserialize)]
79#[serde(rename_all = "camelCase", deny_unknown_fields)]
80pub struct ImportWrite {
81 pub id: String,
82 pub offset: usize,
83 pub data_base64: String,
84}
85#[derive(Debug, Clone, Serialize, Deserialize)]
86#[serde(rename_all = "camelCase", deny_unknown_fields)]
87pub struct ImportCommit {
88 pub id: String,
89 pub password: String,
90 pub expected_epoch: String,
91}
92#[derive(Debug, Clone, Serialize, Deserialize)]
93#[serde(rename_all = "camelCase")]
94pub struct TransferInfo {
95 pub id: String,
96 pub size_bytes: usize,
97 pub chunk_bytes: usize,
98}
99#[derive(Debug, Clone, Serialize, Deserialize)]
100#[serde(rename_all = "camelCase")]
101pub struct Chunk {
102 pub data_base64: String,
103 pub next_offset: usize,
104 pub done: bool,
105}
106
107#[derive(Debug, Clone, Serialize, Deserialize)]
108#[serde(rename_all = "camelCase", deny_unknown_fields)]
109pub struct ImageInput {
110 pub id: String,
111 pub representative_sample_id: String,
112}