feat: add auth

This commit is contained in:
2025-12-25 22:32:04 +01:00
parent 71d915ff0f
commit e7fe00c48d
17 changed files with 1654 additions and 35 deletions

60
src/models/auth.rs Normal file
View File

@@ -0,0 +1,60 @@
use serde::Deserialize;
use serde_derive::Serialize;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct User {
pub autologin_token_used: String,
pub sub: String,
#[serde(rename = "email_verified")]
pub email_verified: bool,
pub webservice_password_used: String,
pub secure_mode_active: String,
pub roles: Vec<String>,
pub name: String,
pub id: String,
#[serde(rename = "preferred_username")]
pub preferred_username: String,
#[serde(rename = "given_name")]
pub given_name: String,
#[serde(rename = "family_name")]
pub family_name: String,
pub email: String,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OpenidResponse {
#[serde(rename = "device_code")]
pub device_code: String,
#[serde(rename = "user_code")]
pub user_code: String,
#[serde(rename = "verification_uri")]
pub verification_uri: String,
#[serde(rename = "verification_uri_complete")]
pub verification_uri_complete: String,
#[serde(rename = "expires_in")]
pub expires_in: i64,
pub interval: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OpenidTokenResponse {
#[serde(rename = "access_token")]
pub access_token: String,
#[serde(rename = "expires_in")]
pub expires_in: i64,
#[serde(rename = "refresh_expires_in")]
pub refresh_expires_in: i64,
#[serde(rename = "refresh_token")]
pub refresh_token: String,
#[serde(rename = "token_type")]
pub token_type: String,
#[serde(rename = "not-before-policy")]
pub not_before_policy: i64,
#[serde(rename = "session_state")]
pub session_state: String,
pub scope: String,
}

1
src/models/mod.rs Normal file
View File

@@ -0,0 +1 @@
pub mod auth;