paas_api/
sessions.rs

1use libpep::core::transcryption::EncryptionContext;
2use libpep::distributed::server::keys::SessionKeyShares;
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}