diff --git a/EnvelopeGenerator.API/Controllers/EmailTemplateController.cs b/EnvelopeGenerator.API/Controllers/EmailTemplateController.cs
index 9aba9315..8a81b49b 100644
--- a/EnvelopeGenerator.API/Controllers/EmailTemplateController.cs
+++ b/EnvelopeGenerator.API/Controllers/EmailTemplateController.cs
@@ -1,17 +1,15 @@
using AutoMapper;
using EnvelopeGenerator.Application.EmailTemplates;
-using EnvelopeGenerator.Application.EmailTemplates.Commands.Reset;
-using EnvelopeGenerator.Application.EmailTemplates.Queries.Read;
+using EnvelopeGenerator.Application.EmailTemplates.Commands;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using MediatR;
-using System.Threading.Tasks;
using EnvelopeGenerator.Application.Common.Dto;
using DigitalData.Core.Abstraction.Application.Repository;
using EnvelopeGenerator.Domain.Entities;
using Microsoft.EntityFrameworkCore;
using EnvelopeGenerator.Domain.Constants;
-using EnvelopeGenerator.Application.EmailTemplates.Commands;
+using EnvelopeGenerator.Application.EmailTemplates.Queries;
namespace EnvelopeGenerator.API.Controllers;
diff --git a/EnvelopeGenerator.Application/EmailTemplates/Queries/ReadEmailTemplateQuery.cs b/EnvelopeGenerator.Application/EmailTemplates/Queries/ReadEmailTemplateQuery.cs
index 6138736a..a64f4778 100644
--- a/EnvelopeGenerator.Application/EmailTemplates/Queries/ReadEmailTemplateQuery.cs
+++ b/EnvelopeGenerator.Application/EmailTemplates/Queries/ReadEmailTemplateQuery.cs
@@ -4,21 +4,42 @@ using EnvelopeGenerator.Application.Common.Dto;
using DigitalData.Core.Abstraction.Application.Repository;
using EnvelopeGenerator.Domain.Entities;
using Microsoft.EntityFrameworkCore;
+using EnvelopeGenerator.Domain.Constants;
+using DigitalData.Core.Exceptions;
-namespace EnvelopeGenerator.Application.EmailTemplates.Queries.Read;
+namespace EnvelopeGenerator.Application.EmailTemplates.Queries;
///
/// Stellt eine Abfrage dar, um eine E-Mail-Vorlage zu lesen.
/// Diese Klasse erbt von .
///
-public record ReadEmailTemplateQuery : IEmailTemplateQuery, IRequest
+public record ReadEmailTemplateQuery : IEmailTemplateQuery, IRequest
{
+ ///
+ /// Die eindeutige Kennung der E-Mail-Vorlage (optional).
+ ///
+ public int? Id { get; set; }
+
+ ///
+ /// Der Typ der E-Mail-Vorlage, z. B. (optional). Beispiele:
+ /// 0 - DocumentReceived: Benachrichtigung über den Empfang eines Dokuments.
+ /// 1 - DocumentSigned: Benachrichtigung über die Unterzeichnung eines Dokuments.
+ /// 2 - DocumentDeleted: Benachrichtigung über das Löschen eines Dokuments.
+ /// 3 - DocumentCompleted: Benachrichtigung über den Abschluss eines Dokuments.
+ /// 4 - DocumentAccessCodeReceived: Benachrichtigung über den Erhalt eines Zugangscodes.
+ /// 5 - DocumentShared: Benachrichtigung über das Teilen eines Dokuments.
+ /// 6 - TotpSecret: Benachrichtigung über ein TOTP-Geheimnis.
+ /// 7 - DocumentRejected_ADM (für den Absender): Mail an den Absender, wenn das Dokument abgelehnt wird.
+ /// 8 - DocumentRejected_REC (für den ablehnenden Empfänger): Mail an den ablehnenden Empfänger, wenn das Dokument abgelehnt wird.
+ /// 9 - DocumentRejected_REC_2 (für sonstige Empfänger): Mail an andere Empfänger (Brief), wenn das Dokument abgelehnt wird.
+ ///
+ public EmailTemplateType? Type { get; set; }
}
///
///
///
-public class ReadEmailTemplateQueryHandler : IRequestHandler
+public class ReadEmailTemplateQueryHandler : IRequestHandler
{
private readonly IMapper _mapper;
@@ -44,12 +65,14 @@ public class ReadEmailTemplateQueryHandler : IRequestHandler
///
///
- public async Task Handle(ReadEmailTemplateQuery request, CancellationToken cancel)
+ public async Task Handle(ReadEmailTemplateQuery request, CancellationToken cancel)
{
var query = request.Id is int id
? _repo.Query.Where(temp => temp.Id == id)
: _repo.Query.Where(temp => temp.Name == request.Type!.ToString());
- return _mapper.Map(await query.FirstOrDefaultAsync(cancel));
+ var entity = await query.FirstOrDefaultAsync(cancel) ?? throw new NotFoundException();
+
+ return _mapper.Map(entity);
}
}
\ No newline at end of file