using FindAndDrive.Domain.Interfaces.Repositories; using FindAndDrive.Domain.Interfaces.Services; using FindAndDrive.Domain.Models.DTO.Response; using FindAndDrive.Domain.Models.Entities; namespace FindAndDrive.Domain.Services; public class RoleService : IRoleService { private readonly IRoleRepository _roleRepository; public RoleService(IRoleRepository roleRepository) { _roleRepository = roleRepository; } public async Task GetRole(Guid roleId) { return await _roleRepository.FindFirst(w => w.RoleId == roleId); } public async Task GetRole(string roleId) { var roleGuid = Guid.Parse(roleId); return await _roleRepository.FindFirst(w => w.RoleId == roleGuid); } public async Task> GetRoles() { var roles = await _roleRepository.GetAllRoles(); return roles.Select(s => new RoleResponse { Permissions = s.Permissions.Select(permission => permission.ToString()).ToList(), ModifiedAt = s.ModifiedAt, RoleId = s.RoleId, CreatedAt = s.CreatedAt, RoleName = s.RoleName }).ToList(); } }