1use libpep::high_level::contexts::{EncryptionContext, PseudonymizationDomain};
2use libpep::high_level::data_types::{EncryptedAttribute, EncryptedPseudonym};
3use libpep::high_level::ops::EncryptedData;
4use serde::{Deserialize, Serialize};
5#[derive(Serialize, Deserialize, Debug)]
6pub struct PseudonymizationRequest {
8 pub encrypted_pseudonym: EncryptedPseudonym,
10 pub domain_from: PseudonymizationDomain,
12 pub domain_to: PseudonymizationDomain,
14 pub session_from: EncryptionContext,
16 pub session_to: EncryptionContext,
18}
19#[derive(Serialize, Deserialize)]
20pub struct PseudonymizationResponse {
21 pub encrypted_pseudonym: EncryptedPseudonym,
23}
24
25#[derive(Serialize, Deserialize, Debug)]
26pub struct PseudonymizationBatchRequest {
28 pub encrypted_pseudonyms: Vec<EncryptedPseudonym>,
30 pub domain_from: PseudonymizationDomain,
32 pub domain_to: PseudonymizationDomain,
34 pub session_from: EncryptionContext,
36 pub session_to: EncryptionContext,
38}
39
40#[derive(Serialize, Deserialize)]
41pub struct PseudonymizationBatchResponse {
42 pub encrypted_pseudonyms: Vec<EncryptedPseudonym>,
45}
46
47#[derive(Serialize, Deserialize, Debug)]
48pub struct RekeyRequest {
50 pub encrypted_attribute: EncryptedAttribute,
52 pub session_from: EncryptionContext,
54 pub session_to: EncryptionContext,
56}
57#[derive(Serialize, Deserialize)]
58pub struct RekeyResponse {
59 pub encrypted_attribute: EncryptedAttribute,
61}
62
63#[derive(Serialize, Deserialize, Debug)]
64pub struct RekeyBatchRequest {
66 pub encrypted_attributes: Vec<EncryptedAttribute>,
68 pub session_from: EncryptionContext,
70 pub session_to: EncryptionContext,
72}
73#[derive(Serialize, Deserialize)]
74pub struct RekeyBatchResponse {
75 pub encrypted_attributes: Vec<EncryptedAttribute>,
77}
78
79#[derive(Serialize, Deserialize, Debug)]
80pub struct TranscryptionRequest {
82 pub encrypted: Vec<EncryptedData>,
84 pub domain_from: PseudonymizationDomain,
86 pub domain_to: PseudonymizationDomain,
88 pub session_from: EncryptionContext,
90 pub session_to: EncryptionContext,
92}
93#[derive(Serialize, Deserialize)]
94pub struct TranscryptionResponse {
95 pub encrypted: Vec<EncryptedData>,
97}