Skip to content
Snippets Groups Projects
Commit 4621600b authored by Lucca Santangelo Dodera's avatar Lucca Santangelo Dodera
Browse files

Merge branch 'feature/tenant-login' into 'develop'

tenant in login

See merge request !38
parents 1d50cdca fcfe5678
No related branches found
No related tags found
1 merge request!38tenant in login
Pipeline #10620 passed
...@@ -52,14 +52,14 @@ namespace Tsi1.Api.Controllers ...@@ -52,14 +52,14 @@ namespace Tsi1.Api.Controllers
var userName = resultSplit[0]; var userName = resultSplit[0];
var tenantName = resultSplit[1]; var tenantName = resultSplit[1];
var tenantId = await _tenantService.GetByName(tenantName); var tenant = await _tenantService.GetByName(tenantName);
if (tenantId.HasError) if (tenant.HasError)
{ {
return BadRequest(tenantId.Message); return BadRequest(tenant.Message);
} }
var result = await _userService.Authenticate(userName, request.Password, tenantId.Data); var result = await _userService.Authenticate(userName, request.Password, tenant.Data.Id);
if (result.HasError) if (result.HasError)
{ {
return BadRequest(result.Message); return BadRequest(result.Message);
...@@ -83,7 +83,8 @@ namespace Tsi1.Api.Controllers ...@@ -83,7 +83,8 @@ namespace Tsi1.Api.Controllers
UserName = user.Username, UserName = user.Username,
Role = user.UserType.Name, Role = user.UserType.Name,
AccessToken = jwtResult.AccessToken, AccessToken = jwtResult.AccessToken,
RefreshToken = jwtResult.RefreshToken.TokenString RefreshToken = jwtResult.RefreshToken.TokenString,
Tenant = tenant.Data
}); });
} }
...@@ -392,14 +393,14 @@ namespace Tsi1.Api.Controllers ...@@ -392,14 +393,14 @@ namespace Tsi1.Api.Controllers
username = resultSplit[0]; username = resultSplit[0];
var tenantName = resultSplit[1]; var tenantName = resultSplit[1];
var tenantId = await _tenantService.GetByName(tenantName); var tenant = await _tenantService.GetByName(tenantName);
if (tenantId.HasError) if (tenant.HasError)
{ {
return BadRequest(tenantId.Message); return BadRequest(tenant.Message);
} }
var userResult = await _userService.GetByUsername(username, tenantId.Data); var userResult = await _userService.GetByUsername(username, tenant.Data.Id);
if (userResult.HasError) if (userResult.HasError)
{ {
...@@ -430,11 +431,11 @@ namespace Tsi1.Api.Controllers ...@@ -430,11 +431,11 @@ namespace Tsi1.Api.Controllers
username = resultSplit[0]; username = resultSplit[0];
var tenantName = resultSplit[1]; var tenantName = resultSplit[1];
var tenantId = await _tenantService.GetByName(tenantName); var tenant = await _tenantService.GetByName(tenantName);
if (tenantId.HasError) if (tenant.HasError)
{ {
return BadRequest(tenantId.Message); return BadRequest(tenant.Message);
} }
if (!_jwtAuthManager.ValidateVerificationCode(username, code)) if (!_jwtAuthManager.ValidateVerificationCode(username, code))
...@@ -442,7 +443,7 @@ namespace Tsi1.Api.Controllers ...@@ -442,7 +443,7 @@ namespace Tsi1.Api.Controllers
return BadRequest("Código de verificación incorrecto"); return BadRequest("Código de verificación incorrecto");
} }
var userResult = await _userService.GetByUsername(username, tenantId.Data); var userResult = await _userService.GetByUsername(username, tenant.Data.Id);
if (userResult.HasError) if (userResult.HasError)
{ {
return BadRequest(userResult.Message); return BadRequest(userResult.Message);
......
...@@ -3,6 +3,7 @@ using System.Collections.Generic; ...@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Threading.Tasks; using System.Threading.Tasks;
using Tsi1.BusinessLayer.Dtos;
namespace Tsi1.Api.Models namespace Tsi1.Api.Models
{ {
...@@ -22,5 +23,6 @@ namespace Tsi1.Api.Models ...@@ -22,5 +23,6 @@ namespace Tsi1.Api.Models
[JsonPropertyName("refreshToken")] [JsonPropertyName("refreshToken")]
public string RefreshToken { get; set; } public string RefreshToken { get; set; }
public TenantDetailDto Tenant { get; set; }
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
namespace Tsi1.BusinessLayer.Dtos
{
public class TenantDetailDto
{
public int Id { get; set; }
public string Name { get; set; }
public string Theme { get; set; }
}
}
...@@ -32,6 +32,7 @@ namespace Tsi1.BusinessLayer.Helpers ...@@ -32,6 +32,7 @@ namespace Tsi1.BusinessLayer.Helpers
CreateMap<Professor, ProfessorPreviewDto>(); CreateMap<Professor, ProfessorPreviewDto>();
CreateMap<Course, CourseCreateDto>(); CreateMap<Course, CourseCreateDto>();
CreateMap<Course, CoursePreviewDto>(); CreateMap<Course, CoursePreviewDto>();
CreateMap<Tenant, TenantDetailDto>();
CreateMap<Tenant, TenantPreviewDto>(); CreateMap<Tenant, TenantPreviewDto>();
CreateMap<Tenant, TenantCreateDto>(); CreateMap<Tenant, TenantCreateDto>();
CreateMap<Tenant, TenantCourseDto>().ForMember(x => x.Courses, opt => opt.Ignore()); CreateMap<Tenant, TenantCourseDto>().ForMember(x => x.Courses, opt => opt.Ignore());
...@@ -84,6 +85,7 @@ namespace Tsi1.BusinessLayer.Helpers ...@@ -84,6 +85,7 @@ namespace Tsi1.BusinessLayer.Helpers
CreateMap<ProfessorPreviewDto, Professor>(); CreateMap<ProfessorPreviewDto, Professor>();
CreateMap<CourseCreateDto, Course>(); CreateMap<CourseCreateDto, Course>();
CreateMap<CoursePreviewDto, Course>(); CreateMap<CoursePreviewDto, Course>();
CreateMap<TenantDetailDto, Tenant>();
CreateMap<TenantPreviewDto, Tenant>(); CreateMap<TenantPreviewDto, Tenant>();
CreateMap<TenantCreateDto, Tenant>(); CreateMap<TenantCreateDto, Tenant>();
CreateMap<TenantCourseDto, Tenant>(); CreateMap<TenantCourseDto, Tenant>();
......
...@@ -9,7 +9,7 @@ namespace Tsi1.BusinessLayer.Interfaces ...@@ -9,7 +9,7 @@ namespace Tsi1.BusinessLayer.Interfaces
{ {
public interface ITenantService public interface ITenantService
{ {
Task<ServiceResult<int>> GetByName(string tenantName); Task<ServiceResult<TenantDetailDto>> GetByName(string tenantName);
Task<ServiceResult<int>> GetById(int tenantId); Task<ServiceResult<int>> GetById(int tenantId);
......
...@@ -38,9 +38,9 @@ namespace Tsi1.BusinessLayer.Services ...@@ -38,9 +38,9 @@ namespace Tsi1.BusinessLayer.Services
return result; return result;
} }
public async Task<ServiceResult<int>> GetByName(string tenantName) public async Task<ServiceResult<TenantDetailDto>> GetByName(string tenantName)
{ {
var result = new ServiceResult<int>(); var result = new ServiceResult<TenantDetailDto>();
var tenant = await _context.Tenants var tenant = await _context.Tenants
.FirstOrDefaultAsync(x => x.Name == tenantName); .FirstOrDefaultAsync(x => x.Name == tenantName);
...@@ -52,7 +52,7 @@ namespace Tsi1.BusinessLayer.Services ...@@ -52,7 +52,7 @@ namespace Tsi1.BusinessLayer.Services
return result; return result;
} }
result.Data = tenant.Id; result.Data = _mapper.Map<TenantDetailDto>(tenant);
return result; return result;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment