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