Skip to content

Commit 8f93db8

Browse files
authored
Merge pull request #682 from fossa-app/fix-employee-retrieval-endpoint
Fix employee retrieval endpoint
2 parents 26735ed + fd61777 commit 8f93db8

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
using Fossa.API.Core.Entities;
2+
using Fossa.API.Core.Messages.Queries;
3+
using Fossa.API.Core.Tenant;
4+
using Fossa.API.Core.User;
5+
using Fossa.API.Web.ApiModels;
6+
using TIKSN.Mapping;
7+
8+
namespace Fossa.API.Web.Messages.Queries;
9+
10+
public class EmployeeRetrievalApiQueryHandler :
11+
ApiMessageHandler<EmployeeId, EmployeeRetrievalApiQuery, EmployeeRetrievalModel, EmployeeRetrievalQuery, EmployeeEntity>
12+
{
13+
private readonly IMapper<EmployeeEntity, EmployeeRetrievalModel> _domainResponseToApiResponseMapper;
14+
15+
public EmployeeRetrievalApiQueryHandler(
16+
IMapper<EmployeeEntity, EmployeeRetrievalModel> domainResponseToApiResponseMapper,
17+
ISender sender,
18+
ITenantIdProvider<Guid> tenantIdProvider,
19+
IUserIdProvider<Guid> userIdProvider,
20+
IMapper<EmployeeId, long> domainIdentityToDataIdentityMapper,
21+
IMapper<long, EmployeeId> dataIdentityToDomainIdentityMapper)
22+
: base(
23+
sender,
24+
tenantIdProvider,
25+
userIdProvider,
26+
domainIdentityToDataIdentityMapper,
27+
dataIdentityToDomainIdentityMapper)
28+
{
29+
_domainResponseToApiResponseMapper = domainResponseToApiResponseMapper ?? throw new ArgumentNullException(nameof(domainResponseToApiResponseMapper));
30+
}
31+
32+
protected override EmployeeRetrievalModel MapToApiResponse(EmployeeEntity domainResponse)
33+
{
34+
return _domainResponseToApiResponseMapper.Map(domainResponse);
35+
}
36+
37+
protected override EmployeeRetrievalQuery MapToDomainRequest(EmployeeRetrievalApiQuery apiRequest)
38+
{
39+
var tenantId = _tenantIdProvider.GetTenantId();
40+
var userId = _userIdProvider.GetUserId();
41+
42+
return new EmployeeRetrievalQuery(
43+
_dataIdentityToDomainIdentityMapper.Map(apiRequest.Id),
44+
tenantId,
45+
userId);
46+
}
47+
}

tests/API.UnitTests/PublicAPITests.WebAssemblyHasNoPublicAPIChangesAsync.verified.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,4 +745,10 @@ namespace Fossa.API.Web.Messages.Queries
745745
public EmployeeRetrievalApiQuery(long Id) { }
746746
public long Id { get; init; }
747747
}
748+
public class EmployeeRetrievalApiQueryHandler : Fossa.API.Web.Messages.ApiMessageHandler<Fossa.API.Core.Entities.EmployeeId, Fossa.API.Web.Messages.Queries.EmployeeRetrievalApiQuery, Fossa.API.Web.ApiModels.EmployeeRetrievalModel, Fossa.API.Core.Messages.Queries.EmployeeRetrievalQuery, Fossa.API.Core.Entities.EmployeeEntity>
749+
{
750+
public EmployeeRetrievalApiQueryHandler(TIKSN.Mapping.IMapper<Fossa.API.Core.Entities.EmployeeEntity, Fossa.API.Web.ApiModels.EmployeeRetrievalModel> domainResponseToApiResponseMapper, MediatR.ISender sender, Fossa.API.Core.Tenant.ITenantIdProvider<System.Guid> tenantIdProvider, Fossa.API.Core.User.IUserIdProvider<System.Guid> userIdProvider, TIKSN.Mapping.IMapper<Fossa.API.Core.Entities.EmployeeId, long> domainIdentityToDataIdentityMapper, TIKSN.Mapping.IMapper<long, Fossa.API.Core.Entities.EmployeeId> dataIdentityToDomainIdentityMapper) { }
751+
protected override Fossa.API.Web.ApiModels.EmployeeRetrievalModel MapToApiResponse(Fossa.API.Core.Entities.EmployeeEntity domainResponse) { }
752+
protected override Fossa.API.Core.Messages.Queries.EmployeeRetrievalQuery MapToDomainRequest(Fossa.API.Web.Messages.Queries.EmployeeRetrievalApiQuery apiRequest) { }
753+
}
748754
}

0 commit comments

Comments
 (0)