Skip to main content

person_api/
management.rs

1//! Space members manage one representative card per group.
2pub 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}