diff --git a/EnvelopeGenerator.Application/Extensions/DTOExtensions.cs b/EnvelopeGenerator.Application/Extensions/DTOExtensions.cs new file mode 100644 index 00000000..753a08cc --- /dev/null +++ b/EnvelopeGenerator.Application/Extensions/DTOExtensions.cs @@ -0,0 +1,14 @@ +using EnvelopeGenerator.Application.DTOs.Receiver; + +namespace EnvelopeGenerator.Application.Extensions +{ + public static class DTOExtensions + { + public static bool IsTotpSecretExpired(this ReceiverReadDto dto, int minutesBeforeExpiration = 30) + => dto.TotpExpiration < DateTime.Now.AddMinutes(minutesBeforeExpiration * -1); + + public static bool IsTotpSecretInvalid(this ReceiverReadDto dto) => dto.IsTotpSecretExpired() || dto.TotpSecretkey is null; + + public static bool IsTotpSecretValid(this ReceiverReadDto dto) => !dto.IsTotpSecretInvalid(); + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Application/Extensions/MappingExtensions.cs b/EnvelopeGenerator.Application/Extensions/MappingExtensions.cs index d2ebb946..0d7f19c8 100644 --- a/EnvelopeGenerator.Application/Extensions/MappingExtensions.cs +++ b/EnvelopeGenerator.Application/Extensions/MappingExtensions.cs @@ -1,5 +1,4 @@ -using EnvelopeGenerator.Application.DTOs.EnvelopeReceiver; -using EnvelopeGenerator.Domain.HttpResponse; +using EnvelopeGenerator.Domain.HttpResponse; namespace EnvelopeGenerator.Application.Extensions {