feat: enhance album and media management with update and delete functionalities

This commit is contained in:
2025-11-02 18:46:26 +01:00
parent a36b59a5fb
commit 13bb9e6b3e
14 changed files with 334 additions and 43 deletions

View File

@@ -1,9 +1,8 @@
use axum::{Json, extract::State, http::StatusCode};
use libertas_core::schema::{CreateUserData, LoginUserData};
use libertas_core::schema::{CreateUserData, LoginUserData, UserResponse};
use serde::{Deserialize, Serialize};
use uuid::Uuid;
use crate::{error::ApiError, middleware::auth::UserId, state::AppState};
use crate::{error::ApiError, state::AppState};
#[derive(Deserialize)]
pub struct RegisterRequest {
@@ -12,13 +11,6 @@ pub struct RegisterRequest {
pub password: String,
}
#[derive(Serialize)]
pub struct UserResponse {
id: Uuid,
username: String,
email: String,
}
pub async fn register(
State(state): State<AppState>,
Json(payload): Json<RegisterRequest>,
@@ -64,16 +56,8 @@ pub async fn login(
Ok(Json(LoginResponse { token }))
}
pub async fn get_me(
State(state): State<AppState>,
UserId(user_id): UserId,
) -> Result<Json<UserResponse>, ApiError> {
let user = state.user_service.get_user_details(user_id).await?;
let response = UserResponse {
id: user.id,
username: user.username,
email: user.email,
};
Ok(Json(response))
pub fn auth_routes() -> axum::Router<AppState> {
axum::Router::new()
.route("/register", axum::routing::post(register))
.route("/login", axum::routing::post(login))
}