33 lines
1.5 KiB
C#
33 lines
1.5 KiB
C#
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"),
|
|
};
|
|
}
|