31 lines
978 B
C#
31 lines
978 B
C#
using MoonlightServers.Frontend.UI.Components.Servers.ServerTabs;
|
|
using MoonlightServers.Shared.Enums;
|
|
|
|
namespace MoonlightServers.Frontend.Models;
|
|
|
|
public record ServerTab
|
|
{
|
|
public string Name { get; private set; }
|
|
public string Path { get; private set; }
|
|
public string PermissionId { get; set; }
|
|
public ServerPermissionLevel PermissionLevel { get; set; }
|
|
public int Priority { get; private set; }
|
|
public Type ComponentType { get; private set; }
|
|
|
|
public static ServerTab CreateFromComponent<T>(
|
|
string name,
|
|
string path,
|
|
int priority,
|
|
string permissionId = "", ServerPermissionLevel permissionLevel = ServerPermissionLevel.None) where T : BaseServerTab
|
|
{
|
|
return new()
|
|
{
|
|
Name = name,
|
|
Path = path,
|
|
Priority = priority,
|
|
ComponentType = typeof(T),
|
|
PermissionLevel = permissionLevel,
|
|
PermissionId = permissionId
|
|
};
|
|
}
|
|
} |