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