namespace SharepointToolbox.Web.Core.Helpers; public enum SharingLinkRisk { Low, Medium, High, Unknown } public static class SharingLinkLabels { public static (string Label, SharingLinkRisk Risk) Describe(string? rawLinkType) { if (string.IsNullOrWhiteSpace(rawLinkType)) return (string.Empty, SharingLinkRisk.Unknown); return rawLinkType.Trim() switch { "OrganizationView" => ("Org link · View", SharingLinkRisk.Low), "OrganizationEdit" => ("Org link · Edit", SharingLinkRisk.Medium), "AnonymousView" => ("Anyone · View", SharingLinkRisk.High), "AnonymousEdit" => ("Anyone · Edit", SharingLinkRisk.High), "Flexible" => ("Custom link", SharingLinkRisk.Medium), "Direct" => ("Specific people", SharingLinkRisk.Low), "Existing" => ("Existing access", SharingLinkRisk.Low), "Review" => ("Review only", SharingLinkRisk.Low), "Embed" => ("Embedded link", SharingLinkRisk.Medium), _ => (rawLinkType, SharingLinkRisk.Unknown) }; } public static (string Background, string Foreground) Colors(SharingLinkRisk risk) => risk switch { SharingLinkRisk.Low => ("#D1FAE5", "#065F46"), SharingLinkRisk.Medium => ("#FEF3C7", "#92400E"), SharingLinkRisk.High => ("#FEE2E2", "#991B1B"), _ => ("#F3F4F6", "#374151"), }; }