feat: add MVC Razor admin UI for email templates
- GetAllEmailTemplatesQuery + handler (new GetAll use case) - IEmailTemplateRepository.GetAllAsync + EF implementation - AdminTemplatesController: Index, Create, Edit, Save, Delete - EmailTemplateEditViewModel with IsNew/PageTitle helpers - Views/_ViewStart, _ViewImports, Shared/_Layout (Bootstrap 5) - Shared/_EditorLayout (chained layout for all edit screens) - Views/AdminTemplates/Index (table with edit/delete actions) - Views/AdminTemplates/Edit (card form, readonly composite key on edit) - Program.cs: AddControllersWithViews, UseStaticFiles, MapDefaultControllerRoute Ref: IT-634 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace HrynCo.NotificationService.Web.Controllers.Admin.ViewModels;
|
||||
|
||||
public class EmailTemplateEditViewModel
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
[Required]
|
||||
public string ServiceName { get; set; } = "";
|
||||
|
||||
[Required]
|
||||
public string Key { get; set; } = "";
|
||||
|
||||
[Required]
|
||||
public string LanguageCode { get; set; } = "";
|
||||
|
||||
[Required]
|
||||
public string Subject { get; set; } = "";
|
||||
|
||||
[Required]
|
||||
public string HtmlBody { get; set; } = "";
|
||||
|
||||
public string TextBody { get; set; } = "";
|
||||
|
||||
// JSON array: [{"name":"UserName","required":true}, ...]
|
||||
public string VariablesJson { get; set; } = "[]";
|
||||
|
||||
public bool IsNew => Id == null;
|
||||
public string PageTitle => IsNew ? "Create Email Template" : "Edit Email Template";
|
||||
}
|
||||
Reference in New Issue
Block a user