23 lines
754 B
C#
23 lines
754 B
C#
using BuildingBlock.Identity.Contracts.Requests;
|
|
using BuildingBlock.Identity.Contracts.Responses;
|
|
using Thalos.Service.Application.Ports;
|
|
using Thalos.Domain.Decisions;
|
|
|
|
namespace Thalos.Service.Application.UseCases;
|
|
|
|
/// <summary>
|
|
/// Default orchestration implementation for identity token issuance.
|
|
/// </summary>
|
|
public sealed class IssueIdentityTokenUseCase(
|
|
IIdentityTokenReadPort readPort,
|
|
IIdentityTokenDecisionService decisionService)
|
|
: IIssueIdentityTokenUseCase
|
|
{
|
|
/// <inheritdoc />
|
|
public async Task<IssueIdentityTokenResponse> HandleAsync(IssueIdentityTokenRequest request)
|
|
{
|
|
var tokenData = await readPort.ReadTokenAsync(request);
|
|
return decisionService.BuildIssuedTokenResponse(tokenData);
|
|
}
|
|
}
|