mz_frontegg_mock/models/
token.rs
1use chrono::{DateTime, Utc};
11use mz_frontegg_auth::ClaimMetadata;
12use serde::{Deserialize, Serialize};
13use uuid::Uuid;
14
15#[derive(Deserialize)]
16pub struct AuthUserRequest {
17 pub email: String,
18 pub password: String,
19}
20
21#[derive(Deserialize)]
22#[serde(rename_all = "camelCase")]
23pub struct RefreshTokenRequest {
24 pub refresh_token: String,
25}
26
27#[derive(Serialize, Clone)]
30#[serde(rename_all = "camelCase")]
31pub struct UserProfileResponse {
32 pub tenant_id: Uuid,
33}
34
35#[derive(Serialize, Deserialize, Clone, PartialEq, Eq, PartialOrd, Ord)]
36#[serde(rename_all = "camelCase")]
37pub struct ApiToken {
38 #[serde(alias = "client_id")]
39 pub client_id: Uuid,
40 pub secret: Uuid,
41 #[serde(default)]
42 pub description: Option<String>,
43 #[serde(alias = "created_at", skip_deserializing)]
44 pub created_at: DateTime<Utc>,
45}
46
47#[derive(Serialize, Deserialize, Clone)]
48pub struct UserApiTokenResponse {
49 #[serde(rename = "clientId")]
50 pub client_id: String,
51 pub description: String,
52 #[serde(rename = "created_at")]
53 pub created_at: DateTime<Utc>,
54 pub secret: String,
55}
56
57#[derive(Deserialize)]
58pub struct UserApiTokenRequest {
59 pub description: Option<String>,
60}
61
62#[derive(Serialize, Deserialize)]
63pub struct CreateTenantApiTokenRequest {
64 pub description: String,
65 pub metadata: Option<ClaimMetadata>,
66 #[serde(rename = "roleIds")]
67 pub role_ids: Vec<String>,
68}
69
70#[derive(Serialize, Deserialize, Clone)]
71pub struct TenantApiTokenConfig {
72 pub tenant_id: Uuid,
73 pub metadata: Option<ClaimMetadata>,
74 pub roles: Vec<String>,
75 pub description: Option<String>,
76 pub created_by_user_id: Uuid,
77 pub created_at: DateTime<Utc>,
78}
79
80#[derive(Serialize, Deserialize, Clone)]
81pub struct TenantApiTokenResponse {
82 #[serde(rename = "clientId")]
83 pub client_id: Uuid,
84 pub description: String,
85 pub secret: Uuid,
86 #[serde(rename = "createdByUserId")]
87 pub created_by_user_id: Uuid,
88 pub metadata: Option<ClaimMetadata>,
89 #[serde(rename = "createdAt")]
90 pub created_at: DateTime<Utc>,
91 #[serde(rename = "roleIds")]
92 pub role_ids: Vec<String>,
93}