using System.ComponentModel.DataAnnotations; namespace Distribution.Features.User; public record CreateUserRequest( [EmailAddress] string Username, string Password, string FullName, Guid RoleId, Guid? ReportsToUserId); public record UpdateUserRequest( string FullName, string? Username = null, Guid? RoleId = null, string? CurrentPassword = null, string? NewPassword = null); public record AssignUserRoleRequest(Guid RoleId); public record AssignUserScopeRequest( List RegionIds, List RouteIds, List StoreIds); public record UserResponse( Guid Id, string Username, string FullName, Guid RoleId, string RoleName, Guid? ReportsToUserId, bool IsActive, DateTime CreatedAt, DateTime? UpdatedAt);