paas_api/
sessions.rs

1use libpep::distributed::key_blinding::SessionKeyShares;
2use libpep::high_level::contexts::EncryptionContext;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Debug)]
6/// Return all sessions of a user
7pub struct SessionResponse {
8    pub sessions: Vec<EncryptionContext>,
9}
10
11#[derive(Serialize, Deserialize, Debug)]
12/// Start a new PEP session
13pub struct StartSessionResponse {
14    /// A session id
15    pub session_id: EncryptionContext,
16    /// The secret session key share for this session. Will be provided just once.
17    pub session_key_shares: SessionKeyShares,
18}
19
20#[derive(Serialize, Deserialize, Debug)]
21/// Terminate a session
22pub struct EndSessionRequest {
23    pub session_id: EncryptionContext,
24}