private IEnumerable <Principal> FindByWildcard(CPN principal) { var all = GetQuery().ToList(); return(all .Where(p => principal.IsWildcardMatch(CPN.FromValue(p.CanonicalName))) .Select(ToModel)); }
public IEnumerable <DataProvider> All() { return(this.context.DataProviders.Include(p => p.Principal).ToList().Select(p => new DataProvider() { Principal = CPN.FromValue(p.Principal.CanonicalName), Identifier = CRN.FromValue(p.CanonicalName), Name = p.Name })); }
private Principal ToModel(Persistance.Models.Principal entity) { if (entity == null) { return(null); } return(Principal.From(CPN.FromValue(entity.CanonicalName)) .WithChildren(entity.ChildRelations.Select(r => CPN.FromValue(r.Child.CanonicalName)).ToArray())); }
private PermissionGrant ToModel(Persistance.Models.PermissionGrant entity) { return(new PermissionGrant() { Id = entity.PermissionGrantId, Principal = CPN.FromValue(entity.Principal.CanonicalName), Schema = CSN.FromValue(entity.Schema.CanonicalName), Actions = entity.Actions.Select(a => ResourceAction.FromValue(a.Action.CanonicalName)).ToList(), Resource = entity.Resources.Select(r => CRN.FromValue(r.Resource.CanonicalName)).ToList() }); }
public IActionResult AddRelation([FromRoute] string id, [FromBody] string relation) { var parent = CPN.FromValue(id); var found = this.storage.Find(parent).FirstOrDefault(); if (found == null) { return(NotFound()); } var child = CPN.FromValue(relation); if (!this.storage.AddRelation(parent, child)) { return(NoContent()); } return(Created(Url.RouteUrl(new { controller = "Principal", action = "Get", id = found.Id }), found)); }
public IEnumerable <DataProviderPolicy> GetPoliciesForSchema(CSN schema) { return(this.context.DataProviderPolicies .Include(p => p.Provider) .Include(p => p.Schema) .Include(p => p.PolicyItems) .ThenInclude(i => i.Principal) .Where(p => p.Schema.CanonicalName == schema.ToString()) .ToList() .Select(p => new DataProviderPolicy() { Provider = CRN.FromValue(p.Provider.CanonicalName), Schema = CSN.FromValue(p.Schema.CanonicalName), Rule = p.PolicyItems.Select(i => new DataProviderPolicyRule() { Principal = CPN.FromValue(i.Principal.CanonicalName), Allow = i.Allow, Deny = i.Deny }).ToList() })); }
public IActionResult Get([FromRoute] string principal, [FromQuery] string schema = null) { IEnumerable <PermissionGrant> results; var principalRn = CPN.FromValue(HttpUtility.UrlDecode(principal)); if (schema == null) { results = this.grantFinder.Find(principalRn); } else { var schemaRn = CSN.FromValue(HttpUtility.UrlDecode(schema)); results = this.grantFinder.Find(principalRn, schemaRn); } if (!results.Any()) { return(NotFound()); } return(Ok(results)); }