ln.identities/Role.cs

28 lines
942 B
C#

using System;
namespace ln.identities
{
public class Role
{
public static readonly Role SuperUser = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000000}"),"SuperUser");
public static readonly Role Owner = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000001}"), "Owner");
public static readonly Role Editor = new Role(Guid.Parse("{eefca5e2-2295-44d5-9b24-000000000002}"), "Editor");
public Guid UniqueID { get; }
public String Name { get; set; }
private Role()
{}
public Role(string roleName):this(Guid.NewGuid(),roleName){}
public Role(Guid uniqueID,string roleName)
{
UniqueID = uniqueID;
Name = roleName;
}
public override bool Equals(object obj) => (obj is Role other) && other.UniqueID.Equals(UniqueID);
public override int GetHashCode() => UniqueID.GetHashCode();
}
}