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 Services { get; set; } = []; public bool IsNew => Id == Guid.Empty; public string PageTitle => IsNew ? "Create Push Channel" : "Edit Push Channel"; }