1use libpep::data::json::EncryptedPEPJSONValue;
2use libpep::data::long::{LongEncryptedAttribute, LongEncryptedPseudonym};
3use libpep::data::records::{EncryptedRecord, LongEncryptedRecord};
4use libpep::data::simple::{EncryptedAttribute, EncryptedPseudonym};
5use libpep::factors::{EncryptionContext, PseudonymizationDomain};
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize, Debug)]
9pub struct PseudonymizationRequest {
11 pub encrypted_pseudonym: EncryptedPseudonym,
13 pub domain_from: PseudonymizationDomain,
15 pub domain_to: PseudonymizationDomain,
17 pub session_from: EncryptionContext,
19 pub session_to: EncryptionContext,
21}
22#[derive(Serialize, Deserialize)]
23pub struct PseudonymizationResponse {
24 pub encrypted_pseudonym: EncryptedPseudonym,
26}
27
28#[derive(Serialize, Deserialize, Debug)]
29pub struct LongPseudonymizationRequest {
31 pub encrypted_pseudonym: LongEncryptedPseudonym,
33 pub domain_from: PseudonymizationDomain,
35 pub domain_to: PseudonymizationDomain,
37 pub session_from: EncryptionContext,
39 pub session_to: EncryptionContext,
41}
42#[derive(Serialize, Deserialize)]
43pub struct LongPseudonymizationResponse {
44 pub encrypted_pseudonym: LongEncryptedPseudonym,
46}
47
48#[derive(Serialize, Deserialize, Debug)]
49pub struct PseudonymizationBatchRequest {
51 pub encrypted_pseudonyms: Vec<EncryptedPseudonym>,
53 pub domain_from: PseudonymizationDomain,
55 pub domain_to: PseudonymizationDomain,
57 pub session_from: EncryptionContext,
59 pub session_to: EncryptionContext,
61}
62
63#[derive(Serialize, Deserialize)]
64pub struct PseudonymizationBatchResponse {
65 pub encrypted_pseudonyms: Vec<EncryptedPseudonym>,
68}
69
70#[derive(Serialize, Deserialize, Debug)]
71pub struct LongPseudonymizationBatchRequest {
73 pub encrypted_pseudonyms: Vec<LongEncryptedPseudonym>,
75 pub domain_from: PseudonymizationDomain,
77 pub domain_to: PseudonymizationDomain,
79 pub session_from: EncryptionContext,
81 pub session_to: EncryptionContext,
83}
84
85#[derive(Serialize, Deserialize)]
86pub struct LongPseudonymizationBatchResponse {
87 pub encrypted_pseudonyms: Vec<LongEncryptedPseudonym>,
90}
91
92#[derive(Serialize, Deserialize, Debug)]
93pub struct RekeyRequest {
95 pub encrypted_attribute: EncryptedAttribute,
97 pub session_from: EncryptionContext,
99 pub session_to: EncryptionContext,
101}
102#[derive(Serialize, Deserialize)]
103pub struct RekeyResponse {
104 pub encrypted_attribute: EncryptedAttribute,
106}
107
108#[derive(Serialize, Deserialize, Debug)]
109pub struct LongRekeyRequest {
111 pub encrypted_attribute: LongEncryptedAttribute,
113 pub session_from: EncryptionContext,
115 pub session_to: EncryptionContext,
117}
118#[derive(Serialize, Deserialize)]
119pub struct LongRekeyResponse {
120 pub encrypted_attribute: LongEncryptedAttribute,
122}
123
124#[derive(Serialize, Deserialize, Debug)]
125pub struct RekeyBatchRequest {
127 pub encrypted_attributes: Vec<EncryptedAttribute>,
129 pub session_from: EncryptionContext,
131 pub session_to: EncryptionContext,
133}
134#[derive(Serialize, Deserialize)]
135pub struct RekeyBatchResponse {
136 pub encrypted_attributes: Vec<EncryptedAttribute>,
138}
139
140#[derive(Serialize, Deserialize, Debug)]
141pub struct LongRekeyBatchRequest {
143 pub encrypted_attributes: Vec<LongEncryptedAttribute>,
145 pub session_from: EncryptionContext,
147 pub session_to: EncryptionContext,
149}
150#[derive(Serialize, Deserialize)]
151pub struct LongRekeyBatchResponse {
152 pub encrypted_attributes: Vec<LongEncryptedAttribute>,
154}
155
156#[derive(Serialize, Deserialize, Debug)]
157pub struct TranscryptionRequest {
159 pub encrypted: EncryptedRecord,
161 pub domain_from: PseudonymizationDomain,
163 pub domain_to: PseudonymizationDomain,
165 pub session_from: EncryptionContext,
167 pub session_to: EncryptionContext,
169}
170#[derive(Serialize, Deserialize)]
171pub struct TranscryptionResponse {
172 pub encrypted: EncryptedRecord,
174}
175
176#[derive(Serialize, Deserialize, Debug)]
177pub struct LongTranscryptionRequest {
179 pub encrypted: LongEncryptedRecord,
181 pub domain_from: PseudonymizationDomain,
183 pub domain_to: PseudonymizationDomain,
185 pub session_from: EncryptionContext,
187 pub session_to: EncryptionContext,
189}
190#[derive(Serialize, Deserialize)]
191pub struct LongTranscryptionResponse {
192 pub encrypted: LongEncryptedRecord,
194}
195
196#[derive(Serialize, Deserialize, Debug)]
197pub struct TranscryptionBatchRequest {
199 pub encrypted: Vec<EncryptedRecord>,
201 pub domain_from: PseudonymizationDomain,
203 pub domain_to: PseudonymizationDomain,
205 pub session_from: EncryptionContext,
207 pub session_to: EncryptionContext,
209}
210#[derive(Serialize, Deserialize)]
211pub struct TranscryptionBatchResponse {
212 pub encrypted: Vec<EncryptedRecord>,
214}
215
216#[derive(Serialize, Deserialize, Debug)]
217pub struct LongTranscryptionBatchRequest {
219 pub encrypted: Vec<LongEncryptedRecord>,
221 pub domain_from: PseudonymizationDomain,
223 pub domain_to: PseudonymizationDomain,
225 pub session_from: EncryptionContext,
227 pub session_to: EncryptionContext,
229}
230#[derive(Serialize, Deserialize)]
231pub struct LongTranscryptionBatchResponse {
232 pub encrypted: Vec<LongEncryptedRecord>,
234}
235
236#[derive(Serialize, Deserialize, Debug)]
237pub struct JsonTranscryptionRequest {
239 pub encrypted: EncryptedPEPJSONValue,
241 pub domain_from: PseudonymizationDomain,
243 pub domain_to: PseudonymizationDomain,
245 pub session_from: EncryptionContext,
247 pub session_to: EncryptionContext,
249}
250#[derive(Serialize, Deserialize)]
251pub struct JsonTranscryptionResponse {
252 pub encrypted: EncryptedPEPJSONValue,
254}
255
256#[derive(Serialize, Deserialize, Debug)]
257pub struct JsonTranscryptionBatchRequest {
259 pub encrypted: Vec<EncryptedPEPJSONValue>,
261 pub domain_from: PseudonymizationDomain,
263 pub domain_to: PseudonymizationDomain,
265 pub session_from: EncryptionContext,
267 pub session_to: EncryptionContext,
269}
270#[derive(Serialize, Deserialize)]
271pub struct JsonTranscryptionBatchResponse {
272 pub encrypted: Vec<EncryptedPEPJSONValue>,
274}