feature: flag permissions
feature: flag permissions
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using Disco.Models.Repository;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Disco.Web.Areas.API.Models.Shared
|
||||
{
|
||||
public class FlagPermissionModel
|
||||
{
|
||||
public bool IsOverride { get; set; }
|
||||
public bool Inherit { get; set; }
|
||||
public List<string> CanShow { get; set; }
|
||||
public List<string> CanAssign { get; set; }
|
||||
public List<string> CanEdit { get; set; }
|
||||
public List<string> CanRemove { get; set; }
|
||||
|
||||
public FlagPermission ToFlagPermission(UserFlag userFlag)
|
||||
=> FlagPermission.Create(userFlag, Inherit, CanShow, CanAssign, CanEdit, CanRemove);
|
||||
|
||||
public FlagPermission ToFlagPermission(DeviceFlag deviceFlag)
|
||||
=> FlagPermission.Create(deviceFlag, Inherit, CanShow, CanAssign, CanEdit, CanRemove);
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Disco.Services.Interop.ActiveDirectory;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Services.Interop.ActiveDirectory;
|
||||
|
||||
namespace Disco.Web.Areas.API.Models.Shared
|
||||
{
|
||||
@@ -43,5 +44,19 @@ namespace Disco.Web.Areas.API.Models.Shared
|
||||
|
||||
return item;
|
||||
}
|
||||
|
||||
public static SubjectDescriptorModel FromAuthorizationRole(int roleId, string roleName)
|
||||
{
|
||||
return new SubjectDescriptorModel()
|
||||
{
|
||||
Id = $"[{roleId}]",
|
||||
Name = roleName,
|
||||
Type = "role",
|
||||
IsGroup = true
|
||||
};
|
||||
}
|
||||
|
||||
public static SubjectDescriptorModel FromAuthorizationRole(AuthorizationRole role)
|
||||
=> FromAuthorizationRole(role.Id, role.Name);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user