1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3use utoipa::ToSchema;
4
5#[derive(Debug, Deserialize, ToSchema)]
6pub struct PasswordRegisterRequest {
7 pub identifier: String,
8 pub password: String,
9 #[serde(default)]
10 pub device_id: Option<String>,
11}
12
13#[derive(Debug, Deserialize, ToSchema)]
14pub struct PasswordLoginRequest {
15 pub identifier: String,
16 pub password: String,
17 #[serde(default)]
18 pub device_id: Option<String>,
19}
20
21#[derive(Debug, Serialize, ToSchema)]
22pub struct PasswordSessionResponse {
23 pub user_id: String,
24 #[serde(skip_serializing_if = "Option::is_none")]
25 pub session_id: Option<String>,
26 pub token: String,
27 pub expires_at: DateTime<Utc>,
28}