From ff6d27df8edf9f7134cbdfce785fb719b699635a Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 10 Dec 2024 20:32:09 +0100 Subject: [PATCH] =?UTF-8?q?feat(DTOExtensions):=20Erstellt,=20um=20Erweite?= =?UTF-8?q?rungsmethoden=20f=C3=BCr=20DTOs=20hinzuzuf=C3=BCgen.=20=20-=20I?= =?UTF-8?q?sTotpSecretExpired,=20IsTotpSecretInvalid=20und=20IsTotpSecretV?= =?UTF-8?q?alid=20Erweiterungsmethoden=20f=C3=BCr=20ReceiverReadDto=20hinz?= =?UTF-8?q?ugef=C3=BCgt,=20um=20den=20Zustand=20des=20geheimen=20Schl?= =?UTF-8?q?=C3=BCssels=20zu=20behandeln.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/DTOExtensions.cs | 14 ++++++++++++++ .../Extensions/MappingExtensions.cs | 3 +-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 EnvelopeGenerator.Application/Extensions/DTOExtensions.cs 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 {