summaryrefslogtreecommitdiff
path: root/src/oauth/types.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-06-09 16:43:16 -0600
committermo khan <mo@mokhan.ca>2025-06-09 16:43:16 -0600
commit2ef774d4c52b9fb0ae0d1717b7a3568b76bccf3d (patch)
treefde8c20a9333e68d7e798ec5936630375da2a1f9 /src/oauth/types.rs
parentb39a50e3ec622294cc0b6f271f1996a89f1849d6 (diff)
refactor: split types into separate files
Diffstat (limited to 'src/oauth/types.rs')
-rw-r--r--src/oauth/types.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/oauth/types.rs b/src/oauth/types.rs
new file mode 100644
index 0000000..685af02
--- /dev/null
+++ b/src/oauth/types.rs
@@ -0,0 +1,39 @@
+use serde::{Deserialize, Serialize};
+
+#[derive(Debug, Serialize, Deserialize)]
+pub struct Claims {
+ pub sub: String,
+ pub iss: String,
+ pub aud: String,
+ pub exp: u64,
+ pub iat: u64,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub scope: Option<String>,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+pub struct TokenResponse {
+ pub access_token: String,
+ pub token_type: String,
+ pub expires_in: u64,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub refresh_token: Option<String>,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub scope: Option<String>,
+}
+
+#[derive(Debug, Serialize, Deserialize)]
+pub struct ErrorResponse {
+ pub error: String,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub error_description: Option<String>,
+}
+
+#[derive(Debug, Clone)]
+pub struct AuthCode {
+ pub client_id: String,
+ pub redirect_uri: String,
+ pub scope: Option<String>,
+ pub expires_at: u64,
+ pub user_id: String,
+} \ No newline at end of file