feat(push): add service-owned firebase channels and delivery
Add push contracts, provider delivery and channel diagnostics. Link email channels to services and document migration and validation. Ref: IT-1074
This commit is contained in:
+3
-1
@@ -9,7 +9,9 @@ public class EmailChannelEditViewModel
|
||||
|
||||
// ── Channel fields ─────────────────────────────────────────────────
|
||||
[Required]
|
||||
public string ServiceName { get; set; } = "";
|
||||
public Guid? ServiceId { get; set; }
|
||||
|
||||
public IReadOnlyList<Microsoft.AspNetCore.Mvc.Rendering.SelectListItem> Services { get; set; } = [];
|
||||
|
||||
public int Priority { get; set; } = 1;
|
||||
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
|
||||
namespace HrynCo.NotificationService.Web.Controllers.Admin.ViewModels;
|
||||
|
||||
public sealed class PushChannelEditViewModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
[Required]
|
||||
public Guid? ServiceId { get; set; }
|
||||
[Required, StringLength(30)]
|
||||
public string FirebaseProjectId { get; set; } = string.Empty;
|
||||
[StringLength(32768)]
|
||||
public string? CredentialsJson { get; set; }
|
||||
public bool IsActive { get; set; } = true;
|
||||
[BindNever]
|
||||
public IReadOnlyList<SelectListItem> Services { get; set; } = [];
|
||||
public bool IsNew => Id == Guid.Empty;
|
||||
public string PageTitle => IsNew ? "Create Push Channel" : "Edit Push Channel";
|
||||
}
|
||||
Reference in New Issue
Block a user