namespace ZB.MOM.WW.ScadaBridge.Commons.Messages.Management; public record ListSitesCommand; public record GetSiteCommand(int SiteId); public record CreateSiteCommand(string Name, string SiteIdentifier, string? Description, string? NodeAAddress = null, string? NodeBAddress = null, string? GrpcNodeAAddress = null, string? GrpcNodeBAddress = null); public record UpdateSiteCommand(int SiteId, string Name, string? Description, string? NodeAAddress = null, string? NodeBAddress = null, string? GrpcNodeAAddress = null, string? GrpcNodeBAddress = null); public record DeleteSiteCommand(int SiteId); public record ListAreasCommand(int SiteId); public record CreateAreaCommand(int SiteId, string Name, int? ParentAreaId); public record DeleteAreaCommand(int AreaId); public record UpdateAreaCommand(int AreaId, string Name); /// /// Re-parents an area within its own site. NewParentAreaId == null moves the /// area to the site root. Rejected by the handler for self-parent, descendant-parent /// (cycle), cross-site parent, and sibling name collision at the target level. /// public record MoveAreaCommand(int AreaId, int? NewParentAreaId);