thalos-service/src/Thalos.Service.Application/UseCases/IssueIdentityTokenUseCase.cs
2026-02-24 05:26:54 -06:00

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);
}
}