namespace SeaHaven.Services.Exceptions; /// Another live site of the same client already uses the requested site code. public sealed class SiteCodeConflictException : Exception { public const string ErrorCode = "DuplicateSiteCode"; public const string PublicMessage = "This site code already exists."; public SiteCodeConflictException() : base(PublicMessage) { } } /// The caller lacks the permission required for a site mutation. public sealed class SiteForbiddenException : Exception { public const string DeleteDeniedMessage = "You are not allowed to delete sites."; public SiteForbiddenException(string message) : base(message) { } }