Initial commit
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
namespace SharepointToolbox.Web.Core.Models;
|
||||
|
||||
public record SiteInfo(string Url, string Title)
|
||||
{
|
||||
public long StorageUsedMb { get; init; }
|
||||
public long StorageQuotaMb { get; init; }
|
||||
public string Template { get; init; } = string.Empty;
|
||||
|
||||
public SiteKind Kind => SiteKindHelper.FromTemplate(Template);
|
||||
}
|
||||
|
||||
public enum SiteKind
|
||||
{
|
||||
Unknown,
|
||||
TeamSite,
|
||||
CommunicationSite,
|
||||
Classic
|
||||
}
|
||||
|
||||
public static class SiteKindHelper
|
||||
{
|
||||
public static SiteKind FromTemplate(string template)
|
||||
{
|
||||
if (string.IsNullOrEmpty(template)) return SiteKind.Unknown;
|
||||
if (template.StartsWith("GROUP#", StringComparison.OrdinalIgnoreCase)) return SiteKind.TeamSite;
|
||||
if (template.StartsWith("SITEPAGEPUBLISHING#", StringComparison.OrdinalIgnoreCase)) return SiteKind.CommunicationSite;
|
||||
if (template.StartsWith("STS#", StringComparison.OrdinalIgnoreCase)) return SiteKind.Classic;
|
||||
return SiteKind.Unknown;
|
||||
}
|
||||
|
||||
public static string DisplayName(SiteKind kind) => kind switch
|
||||
{
|
||||
SiteKind.TeamSite => "Team site",
|
||||
SiteKind.CommunicationSite => "Communication site",
|
||||
SiteKind.Classic => "Classic site",
|
||||
_ => "Other"
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user