- Backend API: Autenticación y autorización básicas con JWT implementadas. Cambio de contraseña funcional. Módulo "Tipos de Pago" (CRUD completo) implementado en el backend (Controlador, Servicio, Repositorio) usando Dapper, transacciones y con lógica de historial. Se incluyen permisos en el token JWT. - Frontend React: Estructura base con Vite, TypeScript, MUI. Contexto de autenticación (AuthContext) que maneja el estado del usuario y el token. Página de Login. Modal de Cambio de Contraseña (forzado y opcional). Hook usePermissions para verificar permisos. Página GestionarTiposPagoPage con tabla, paginación, filtro, modal para crear/editar, y menú de acciones, respetando permisos. Layout principal (MainLayout) con navegación por Tabs (funcionalidad básica de navegación). Estructura de enrutamiento (AppRoutes) que maneja rutas públicas, protegidas y anidadas para módulos.
18 lines
599 B
C#
18 lines
599 B
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace GestionIntegral.Api.Dtos
|
|
{
|
|
public class ChangePasswordRequestDto
|
|
{
|
|
[Required]
|
|
public string CurrentPassword { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[StringLength(50, MinimumLength = 6)] // Validaciones
|
|
public string NewPassword { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[Compare("NewPassword", ErrorMessage = "La nueva contraseña y la confirmación no coinciden.")] // Validación de confirmación
|
|
public string ConfirmNewPassword { get; set; } = string.Empty;
|
|
}
|
|
} |