ironflow_api/entities/
auth.rs1use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5use validator::Validate;
6
7#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
9#[derive(Debug, Deserialize, Validate)]
10pub struct SignUpRequest {
11 #[validate(email)]
13 pub email: String,
14 #[validate(length(min = 3, message = "username must be at least 3 characters"))]
16 pub username: String,
17 #[validate(length(min = 8, message = "password must be at least 8 characters"))]
19 pub password: String,
20}
21
22#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
24#[derive(Debug, Deserialize)]
25pub struct SignInRequest {
26 pub email: String,
28 pub password: String,
30}
31
32#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
34#[derive(Debug, Serialize)]
35pub struct MeResponse {
36 pub user_id: Uuid,
38 pub email: String,
40 pub username: String,
42 pub is_admin: bool,
44}