Skip to main content

hessra_client/
types.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4pub struct TokenRequest {
5    pub resource: String,
6    pub operation: String,
7}
8
9#[derive(Serialize, Deserialize, Debug, Clone)]
10pub struct TokenResponse {
11    pub response_msg: String,
12    pub token: Option<String>,
13}
14
15#[derive(Serialize, Deserialize, Debug, Clone)]
16pub struct VerifyTokenRequest {
17    pub token: String,
18    pub subject: String,
19    pub resource: String,
20    pub operation: String,
21}
22
23#[derive(Serialize, Deserialize, Debug, Clone)]
24pub struct VerifyTokenResponse {
25    pub response_msg: String,
26}
27
28#[derive(Serialize, Deserialize, Debug, Clone)]
29pub struct PublicKeyResponse {
30    pub response_msg: String,
31    pub public_key: String,
32}
33
34#[derive(Serialize, Deserialize, Debug, Clone)]
35pub struct HealthResponse {
36    pub status: String,
37    pub version: String,
38}
39
40#[derive(Serialize, Deserialize, Debug, Clone)]
41pub struct IdentityTokenRequest {
42    pub identifier: Option<String>,
43}
44
45#[derive(Serialize, Deserialize, Debug, Clone)]
46pub struct IdentityTokenResponse {
47    pub response_msg: String,
48    pub token: Option<String>,
49    pub expires_in: Option<u64>,
50    pub identity: Option<String>,
51}
52
53#[derive(Serialize, Deserialize, Debug, Clone)]
54pub struct RefreshIdentityTokenRequest {
55    pub current_token: String,
56    pub identifier: Option<String>,
57}