import { z } from 'zod';

export const loginSchema = z.object({
  username: z.string().min(3, 'Usuário é obrigatório'),
  password: z.string().min(4, 'Senha deve ter no mínimo 4 caracteres'),
});

/**
 * Schema de resposta de autenticação
 *
 * Arquitetura Híbrida:
 * - accessToken: Retornado no body, armazenado em memória
 * - refreshToken: Enviado via cookie HTTP-only (não acessível ao JS)
 */
export const tokenResponseSchema = z.object({
  token: z.string(),
  type: z.string(),
  expiresIn: z.number().positive(),
  username: z.string(),
  // refreshToken removido - agora apenas em cookie HTTP-only
});

export const logoutResponseSchema = z.object({
  message: z.string(),
});
