public virtual async Task <bool> CreateRoleAsync(IPermissionRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } if (await GetRoleAsync(role.Id) != null) { return(false); } m_PermissionRolesDataStore.Roles.Add(new PermissionRoleData { Priority = role.Priority, Id = role.Id, DisplayName = role.DisplayName, Parents = new HashSet <string>(role.Parents, StringComparer.InvariantCultureIgnoreCase), Permissions = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase), IsAutoAssigned = role.IsAutoAssigned }); await m_PermissionRolesDataStore.SaveChangesAsync(); return(true); }
public virtual async Task <bool> UpdateRoleAsync(IPermissionRole role) { if (await GetRoleAsync(role.Id) == null) { return(false); } if (m_PermissionRolesDataStore.Roles == null) { return(false); } var roleData = m_PermissionRolesDataStore.Roles.First(d => d.Id.EndsWith(role.Id)); roleData.DisplayName = role.DisplayName; roleData.IsAutoAssigned = role.IsAutoAssigned; roleData.Parents = role.Parents; roleData.Permissions = role.Parents; roleData.Priority = role.Priority; roleData.Data ??= new Dictionary <string, object>(); await m_PermissionRolesDataStore.SaveChangesAsync(); return(true); }
public virtual async Task <bool> UpdateRoleAsync(IPermissionRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } if (await GetRoleAsync(role.Id) == null) { return(false); } var roleData = m_PermissionRolesDataStore.Roles.FirstOrDefault(d => d?.Id?.EndsWith(role.Id) ?? false); if (roleData == null) { throw new Exception($"Role does not exist: {role.Id}"); } roleData.DisplayName = role.DisplayName; roleData.IsAutoAssigned = role.IsAutoAssigned; roleData.Parents = role.Parents; roleData.Permissions = role.Parents; roleData.Priority = role.Priority; roleData.Data ??= new Dictionary <string, object?>(); await m_PermissionRolesDataStore.SaveChangesAsync(); return(true); }
public Task <bool> CreateRoleAsync(IPermissionRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } return(m_BasePermissionRoleStore.CreateRoleAsync(role)); }
public async Task <bool> UpdateRoleAsync(IPermissionRole role) { if (IsRocketModRole(role.Id)) { throw new System.NotSupportedException(); } return(await m_BasePermissionRoleStore.UpdateRoleAsync(role)); }
protected override async Task ExecuteUpdateAsync(IPermissionActor target, IPermissionRole permissionRole) { if (await m_PermissionRoleStore.AddRoleToActorAsync(target, permissionRole.Id)) { await Context.Actor.PrintMessageAsync($"Added \"{target.DisplayName}\" to \"{permissionRole.DisplayName}\".", Color.DarkGreen); } else { await Context.Actor.PrintMessageAsync($"Failed to add \"{target.DisplayName}\" to \"{permissionRole.DisplayName}\".", Color.DarkRed); } }
public Task <bool> UpdateRoleAsync(IPermissionRole role) { if (role == null) { throw new ArgumentNullException(nameof(role)); } if (RocketModIntegrationEnabled() && IsRocketModRole(role.Id)) { Task.FromException(new NotSupportedException("Updating RocketMod roles from OpenMod is not supported.")); } return(m_BasePermissionRoleStore.UpdateRoleAsync(role)); }
private bool UpdateGroupPermission(IPermissionRole role, string permission, bool add) { var group = R.Permissions.GetGroup(role.Id); if (group == null) { return(false); } if (add) { group.Permissions.Add(new Permission(permission)); } else { group.Permissions.Remove(new Permission(permission)); } R.Permissions.SaveGroup(group); return(true); }
protected abstract Task ExecuteUpdateAsync(IPermissionActor target, IPermissionRole permissionRole);
public Task <bool> CreateRoleAsync(IPermissionRole role) { return(m_BasePermissionRoleStore.CreateRoleAsync(role)); }