feat(templates): add localized push templates and actions

Share template keys across email and push with independent editors and revisions. Render localized actions and preserve version-one delivery.

Ref: IT-1627
This commit is contained in:
2026-10-31 09:38:05 +02:00
parent d4ee8fc0c8
commit aba4173827
79 changed files with 3906 additions and 104 deletions
@@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
namespace HrynCo.NotificationService.Web.Controllers.Admin.ViewModels;
public sealed class PushTemplateEditViewModel
{
public Guid? Id { get; set; }
public Guid ServiceId { get; set; }
public Guid Revision { get; set; }
public string ServiceName { get; set; } = "";
[Required, StringLength(100)]
public string Key { get; set; } = "";
[Required]
public string VariablesJson { get; set; } = "[]";
public List<PushTemplateLanguageEditViewModel> Languages { get; set; } = [];
public int ActiveLanguageIndex { get; set; }
public string? KeyFilter { get; set; }
public bool LockKey { get; set; }
public bool ConfirmDelete { get; set; }
public bool IsNew => Id is null;
public string PageTitle => IsNew ? "Create Template" : "Template: " + Key;
}