mirror of
https://tangled.org/tranquil.farm/tranquil-pds
synced 2026-09-20 01:04:14 +00:00
Add back some whitespaces
This commit is contained in:
@@ -12,6 +12,7 @@ use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::{error, info, warn};
|
||||
use uuid::Uuid;
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CheckAccountStatusOutput {
|
||||
@@ -25,6 +26,7 @@ pub struct CheckAccountStatusOutput {
|
||||
pub expected_blobs: i64,
|
||||
pub imported_blobs: i64,
|
||||
}
|
||||
|
||||
pub async fn check_account_status(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -94,6 +96,7 @@ pub async fn check_account_status(
|
||||
)
|
||||
.into_response()
|
||||
}
|
||||
|
||||
pub async fn activate_account(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -133,11 +136,13 @@ pub async fn activate_account(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct DeactivateAccountInput {
|
||||
pub delete_after: Option<String>,
|
||||
}
|
||||
|
||||
pub async fn deactivate_account(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -178,6 +183,7 @@ pub async fn deactivate_account(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn request_account_delete(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -232,12 +238,14 @@ pub async fn request_account_delete(
|
||||
info!("Account deletion requested for user {}", did);
|
||||
(StatusCode::OK, Json(json!({}))).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct DeleteAccountInput {
|
||||
pub did: String,
|
||||
pub password: String,
|
||||
pub token: String,
|
||||
}
|
||||
|
||||
pub async fn delete_account(
|
||||
State(state): State<AppState>,
|
||||
Json(input): Json<DeleteAccountInput>,
|
||||
|
||||
@@ -11,6 +11,7 @@ use axum::{
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::{error, warn};
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct AppPassword {
|
||||
@@ -18,10 +19,12 @@ pub struct AppPassword {
|
||||
pub created_at: String,
|
||||
pub privileged: bool,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct ListAppPasswordsOutput {
|
||||
pub passwords: Vec<AppPassword>,
|
||||
}
|
||||
|
||||
pub async fn list_app_passwords(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
@@ -54,11 +57,13 @@ pub async fn list_app_passwords(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct CreateAppPasswordInput {
|
||||
pub name: String,
|
||||
pub privileged: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CreateAppPasswordOutput {
|
||||
@@ -67,6 +72,7 @@ pub struct CreateAppPasswordOutput {
|
||||
pub created_at: String,
|
||||
pub privileged: bool,
|
||||
}
|
||||
|
||||
pub async fn create_app_password(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
@@ -146,10 +152,12 @@ pub async fn create_app_password(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct RevokeAppPasswordInput {
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
pub async fn revoke_app_password(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
|
||||
@@ -10,14 +10,17 @@ use chrono::{Duration, Utc};
|
||||
use serde::Deserialize;
|
||||
use serde_json::json;
|
||||
use tracing::{error, info, warn};
|
||||
|
||||
fn generate_confirmation_code() -> String {
|
||||
crate::util::generate_token_code()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct RequestEmailUpdateInput {
|
||||
pub email: String,
|
||||
}
|
||||
|
||||
pub async fn request_email_update(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -119,12 +122,14 @@ pub async fn request_email_update(
|
||||
info!("Email update requested for user {}", user_id);
|
||||
(StatusCode::OK, Json(json!({ "tokenRequired": true }))).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ConfirmEmailInput {
|
||||
pub email: String,
|
||||
pub token: String,
|
||||
}
|
||||
|
||||
pub async fn confirm_email(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -236,6 +241,7 @@ pub async fn confirm_email(
|
||||
info!("Email updated for user {}", user_id);
|
||||
(StatusCode::OK, Json(json!({}))).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct UpdateEmailInput {
|
||||
@@ -244,6 +250,7 @@ pub struct UpdateEmailInput {
|
||||
pub email_auth_factor: Option<bool>,
|
||||
pub token: Option<String>,
|
||||
}
|
||||
|
||||
pub async fn update_email(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
|
||||
@@ -10,16 +10,19 @@ use axum::{
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tracing::error;
|
||||
use uuid::Uuid;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CreateInviteCodeInput {
|
||||
pub use_count: i32,
|
||||
pub for_account: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct CreateInviteCodeOutput {
|
||||
pub code: String,
|
||||
}
|
||||
|
||||
pub async fn create_invite_code(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
@@ -81,6 +84,7 @@ pub async fn create_invite_code(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CreateInviteCodesInput {
|
||||
@@ -88,15 +92,18 @@ pub struct CreateInviteCodesInput {
|
||||
pub use_count: i32,
|
||||
pub for_accounts: Option<Vec<String>>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct CreateInviteCodesOutput {
|
||||
pub codes: Vec<AccountCodes>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct AccountCodes {
|
||||
pub account: String,
|
||||
pub codes: Vec<String>,
|
||||
}
|
||||
|
||||
pub async fn create_invite_codes(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
@@ -172,12 +179,14 @@ pub async fn create_invite_codes(
|
||||
}
|
||||
Json(CreateInviteCodesOutput { codes: result_codes }).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct GetAccountInviteCodesParams {
|
||||
pub include_used: Option<bool>,
|
||||
pub create_available: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct InviteCode {
|
||||
@@ -189,16 +198,19 @@ pub struct InviteCode {
|
||||
pub created_at: String,
|
||||
pub uses: Vec<InviteCodeUse>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct InviteCodeUse {
|
||||
pub used_by: String,
|
||||
pub used_at: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct GetAccountInviteCodesOutput {
|
||||
pub codes: Vec<InviteCode>,
|
||||
}
|
||||
|
||||
pub async fn get_account_invite_codes(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
|
||||
@@ -7,6 +7,7 @@ pub mod password;
|
||||
pub mod service_auth;
|
||||
pub mod session;
|
||||
pub mod signing_key;
|
||||
|
||||
pub use account_status::{
|
||||
activate_account, check_account_status, deactivate_account, delete_account,
|
||||
request_account_delete,
|
||||
|
||||
@@ -10,6 +10,7 @@ use chrono::{Duration, Utc};
|
||||
use serde::Deserialize;
|
||||
use serde_json::json;
|
||||
use tracing::{error, info, warn};
|
||||
|
||||
fn generate_reset_code() -> String {
|
||||
crate::util::generate_token_code()
|
||||
}
|
||||
@@ -28,10 +29,12 @@ fn extract_client_ip(headers: &HeaderMap) -> String {
|
||||
}
|
||||
"unknown".to_string()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct RequestPasswordResetInput {
|
||||
pub email: String,
|
||||
}
|
||||
|
||||
pub async fn request_password_reset(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
@@ -102,11 +105,13 @@ pub async fn request_password_reset(
|
||||
info!("Password reset requested for user {}", user_id);
|
||||
(StatusCode::OK, Json(json!({}))).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct ResetPasswordInput {
|
||||
pub token: String,
|
||||
pub password: String,
|
||||
}
|
||||
|
||||
pub async fn reset_password(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
|
||||
@@ -9,16 +9,19 @@ use axum::{
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::error;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct GetServiceAuthParams {
|
||||
pub aud: String,
|
||||
pub lxm: Option<String>,
|
||||
pub exp: Option<i64>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
pub struct GetServiceAuthOutput {
|
||||
pub token: String,
|
||||
}
|
||||
|
||||
pub async fn get_service_auth(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
|
||||
@@ -12,6 +12,7 @@ use chrono::Utc;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::{error, info, warn};
|
||||
|
||||
fn extract_client_ip(headers: &HeaderMap) -> String {
|
||||
if let Some(forwarded) = headers.get("x-forwarded-for") {
|
||||
if let Ok(value) = forwarded.to_str() {
|
||||
@@ -27,11 +28,13 @@ fn extract_client_ip(headers: &HeaderMap) -> String {
|
||||
}
|
||||
"unknown".to_string()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct CreateSessionInput {
|
||||
pub identifier: String,
|
||||
pub password: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct CreateSessionOutput {
|
||||
@@ -40,6 +43,7 @@ pub struct CreateSessionOutput {
|
||||
pub handle: String,
|
||||
pub did: String,
|
||||
}
|
||||
|
||||
pub async fn create_session(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
@@ -155,6 +159,7 @@ pub async fn create_session(
|
||||
did: row.did,
|
||||
}).into_response()
|
||||
}
|
||||
|
||||
pub async fn get_session(
|
||||
State(state): State<AppState>,
|
||||
BearerAuth(auth_user): BearerAuth,
|
||||
@@ -194,6 +199,7 @@ pub async fn get_session(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn delete_session(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -227,6 +233,7 @@ pub async fn delete_session(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn refresh_session(
|
||||
State(state): State<AppState>,
|
||||
headers: axum::http::HeaderMap,
|
||||
@@ -395,12 +402,14 @@ pub async fn refresh_session(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ConfirmSignupInput {
|
||||
pub did: String,
|
||||
pub verification_code: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ConfirmSignupOutput {
|
||||
@@ -413,6 +422,7 @@ pub struct ConfirmSignupOutput {
|
||||
pub preferred_channel: String,
|
||||
pub preferred_channel_verified: bool,
|
||||
}
|
||||
|
||||
pub async fn confirm_signup(
|
||||
State(state): State<AppState>,
|
||||
Json(input): Json<ConfirmSignupInput>,
|
||||
@@ -535,11 +545,13 @@ pub async fn confirm_signup(
|
||||
preferred_channel_verified: true,
|
||||
}).into_response()
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ResendVerificationInput {
|
||||
pub did: String,
|
||||
}
|
||||
|
||||
pub async fn resend_verification(
|
||||
State(state): State<AppState>,
|
||||
Json(input): Json<ResendVerificationInput>,
|
||||
|
||||
@@ -10,7 +10,9 @@ use k256::ecdsa::SigningKey;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::{error, info};
|
||||
|
||||
const SECP256K1_MULTICODEC_PREFIX: [u8; 2] = [0xe7, 0x01];
|
||||
|
||||
fn public_key_to_did_key(signing_key: &SigningKey) -> String {
|
||||
let verifying_key = signing_key.verifying_key();
|
||||
let compressed_pubkey = verifying_key.to_sec1_bytes();
|
||||
@@ -20,15 +22,18 @@ fn public_key_to_did_key(signing_key: &SigningKey) -> String {
|
||||
let encoded = multibase::encode(multibase::Base::Base58Btc, &multicodec_key);
|
||||
format!("did:key:{}", encoded)
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
pub struct ReserveSigningKeyInput {
|
||||
pub did: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct ReserveSigningKeyOutput {
|
||||
pub signing_key: String,
|
||||
}
|
||||
|
||||
pub async fn reserve_signing_key(
|
||||
State(state): State<AppState>,
|
||||
Json(input): Json<ReserveSigningKeyInput>,
|
||||
|
||||
Reference in New Issue
Block a user