Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -125,20 +125,6 @@ public async Task PostRemoveDomain(Guid orgId, Guid id)
await RemoveDomain(orgId, id);
}

[AllowAnonymous]
[HttpPost("domain/sso/details")] // must be post to accept email cleanly
public async Task<OrganizationDomainSsoDetailsResponseModel> GetOrgDomainSsoDetails(
[FromBody] OrganizationDomainSsoDetailsRequestModel model)
{
var ssoResult = await _organizationDomainRepository.GetOrganizationDomainSsoDetailsAsync(model.Email);
if (ssoResult is null)
{
throw new NotFoundException("Claimed org domain not found");
}

return new OrganizationDomainSsoDetailsResponseModel(ssoResult);
}

[AllowAnonymous]
[HttpPost("domain/sso/verified")]
public async Task<VerifiedOrganizationDomainSsoDetailsResponseModel> GetVerifiedOrgDomainSsoDetailsAsync(
Expand Down

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion src/Core/Repositories/IOrganizationDomainRepository.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ public interface IOrganizationDomainRepository : IRepository<OrganizationDomain,
Task<ICollection<OrganizationDomain>> GetClaimedDomainsByDomainNameAsync(string domainName);
Task<ICollection<OrganizationDomain>> GetDomainsByOrganizationIdAsync(Guid orgId);
Task<ICollection<OrganizationDomain>> GetManyByNextRunDateAsync(DateTime date);
Task<OrganizationDomainSsoDetailsData?> GetOrganizationDomainSsoDetailsAsync(string email);
Task<IEnumerable<VerifiedOrganizationDomainSsoDetail>> GetVerifiedOrganizationDomainSsoDetailsAsync(string email);
Task<IEnumerable<OrganizationDomain>> GetVerifiedDomainsByOrganizationIdsAsync(IEnumerable<Guid> organizationIds);
Task<OrganizationDomain?> GetDomainByIdOrganizationIdAsync(Guid id, Guid organizationId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,6 @@ public async Task<ICollection<OrganizationDomain>> GetManyByNextRunDateAsync(Dat
return results.ToList();
}

public async Task<OrganizationDomainSsoDetailsData?> GetOrganizationDomainSsoDetailsAsync(string email)
{
using (var connection = new SqlConnection(ConnectionString))
{
var results = await connection
.QueryAsync<OrganizationDomainSsoDetailsData>(
$"[{Schema}].[OrganizationDomainSsoDetails_ReadByEmail]",
new { Email = email },
commandType: CommandType.StoredProcedure);

return results.SingleOrDefault();
}
}

public async Task<IEnumerable<VerifiedOrganizationDomainSsoDetail>> GetVerifiedOrganizationDomainSsoDetailsAsync(string email)
{
await using var connection = new SqlConnection(ConnectionString);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,32 +59,6 @@ public OrganizationDomainRepository(IServiceScopeFactory serviceScopeFactory, IM
return Mapper.Map<List<Core.Entities.OrganizationDomain>>(pastDomains);
}

public async Task<OrganizationDomainSsoDetailsData?> GetOrganizationDomainSsoDetailsAsync(string email)
{
var domainName = new MailAddress(email).Host;

using var scope = ServiceScopeFactory.CreateScope();
var dbContext = GetDatabaseContext(scope);
var ssoDetails = await (from o in dbContext.Organizations
from od in o.Domains
join s in dbContext.SsoConfigs on o.Id equals s.OrganizationId into sJoin
from s in sJoin.DefaultIfEmpty()
where od.DomainName == domainName && o.Enabled
select new OrganizationDomainSsoDetailsData
{
OrganizationId = o.Id,
OrganizationName = o.Name,
SsoAvailable = o.SsoConfigs.Any(sc => sc.Enabled),
OrganizationIdentifier = o.Identifier,
VerifiedDate = od.VerifiedDate,
DomainName = od.DomainName
})
.AsNoTracking()
.SingleOrDefaultAsync();

return ssoDetails;
}

public async Task<IEnumerable<VerifiedOrganizationDomainSsoDetail>> GetVerifiedOrganizationDomainSsoDetailsAsync(string email)
{
var domainName = new MailAddress(email).Host;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -294,37 +294,15 @@ await sutProvider.GetDependency<IDeleteOrganizationDomainCommand>().Received(1)
}

[Theory, BitAutoData]
public async Task GetOrgDomainSsoDetails_ShouldThrowNotFound_WhenEmailHasNotClaimedDomain(
OrganizationDomainSsoDetailsRequestModel model, SutProvider<OrganizationDomainController> sutProvider)
{
sutProvider.GetDependency<IOrganizationDomainRepository>()
.GetOrganizationDomainSsoDetailsAsync(model.Email).ReturnsNull();

var requestAction = async () => await sutProvider.Sut.GetOrgDomainSsoDetails(model);

await Assert.ThrowsAsync<NotFoundException>(requestAction);
}

[Theory, BitAutoData]
public async Task GetOrgDomainSsoDetails_ShouldReturnOrganizationDomainSsoDetails_WhenEmailHasClaimedDomain(
OrganizationDomainSsoDetailsRequestModel model, OrganizationDomainSsoDetailsData ssoDetailsData, SutProvider<OrganizationDomainController> sutProvider)
{
sutProvider.GetDependency<IOrganizationDomainRepository>()
.GetOrganizationDomainSsoDetailsAsync(model.Email).Returns(ssoDetailsData);

var result = await sutProvider.Sut.GetOrgDomainSsoDetails(model);

Assert.IsType<OrganizationDomainSsoDetailsResponseModel>(result);
}

[Theory, BitAutoData]
public async Task GetVerifiedOrgDomainSsoDetails_ShouldThrowNotFound_WhenEmailHasNotClaimedDomain(
public async Task GetVerifiedOrgDomainSsoDetails_ShouldReturnEmptyList_WhenEmailHasNoVerifiedDomain(
OrganizationDomainSsoDetailsRequestModel model, SutProvider<OrganizationDomainController> sutProvider)
{
sutProvider.GetDependency<IOrganizationDomainRepository>()
.GetVerifiedOrganizationDomainSsoDetailsAsync(model.Email).Returns(Array.Empty<VerifiedOrganizationDomainSsoDetail>());

await Assert.ThrowsAsync<NotFoundException>(() => sutProvider.Sut.GetOrgDomainSsoDetails(model));
var result = await sutProvider.Sut.GetVerifiedOrgDomainSsoDetailsAsync(model);

Assert.IsType<VerifiedOrganizationDomainSsoDetailsResponseModel>(result);
}

[Theory, BitAutoData]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
IF OBJECT_ID('[dbo].[OrganizationDomainSsoDetails_ReadByEmail]') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[OrganizationDomainSsoDetails_ReadByEmail]
END
GO
Loading