using BuildingBlock.Identity.Contracts.Responses; using Thalos.Domain.Contracts; namespace Thalos.Domain.Decisions; /// /// Default domain implementation for token issuance fallback semantics. /// public sealed class IdentityTokenDecisionService : IIdentityTokenDecisionService { /// public IssueIdentityTokenResponse BuildIssuedTokenResponse(IdentityTokenData tokenData) { if (string.IsNullOrWhiteSpace(tokenData.Token) || !tokenData.ExpiresInSeconds.HasValue) { return new IssueIdentityTokenResponse(string.Empty, 0); } return new IssueIdentityTokenResponse(tokenData.Token, tokenData.ExpiresInSeconds.Value); } }