package com.dne.ems.dto;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;

/**
 * 登录请求数据传输对象
 * 
 * <p>该类用于封装用户登录请求的数据，包含邮箱和密码信息。
 * 主要用于用户认证流程中的登录请求处理。</p>
 *
 * <p>验证规则：
 * <ul>
 *   <li>邮箱不能为空且必须符合邮箱格式</li>
 *   <li>密码不能为空</li>
 * </ul>
 *
 * @param email 用户邮箱，作为登录标识
 * @param password 用户密码，用于验证身份
 * @version 1.0
 * @since 2024
 */
public record LoginRequest(
        @NotEmpty(message = "Email cannot be empty.")
        @Email(message = "Invalid email format.")
        String email,

        @NotEmpty(message = "Password cannot be empty.")
        String password
) {}