public async Task <IActionResult> AddApiResourceScopeAsync(string subject, ApiResourceScopeValue model)
        {
            if (string.IsNullOrWhiteSpace(subject))
            {
                ModelState["subject.String"].Errors.Clear();
                ModelState.AddModelError("", Messages.SubjectRequired);
            }

            if (model == null)
            {
                ModelState.AddModelError("", Messages.ApiResourceScopeNeeded);
            }

            if (ModelState.IsValid)
            {
                var result = await _service.AddScopeAsync(subject, model.Name);

                if (result.IsSuccess)
                {
                    return(NoContent());
                }

                ModelState.AddErrors(result);
            }

            return(BadRequest(ModelState.ToError()));
        }
示例#2
0
 private IEnumerable <object> GetScopeClaims(ApiResourceDetail apiResource, ApiResourceScopeValue apiResourceScope, UrlHelper url)
 {
     if (apiResourceScope.Claims != null)
     {
         return(from c in apiResourceScope.Claims
                select new
         {
             Data = c,
             Links = new
             {
                 delete = url.RelativeLink(Constants.RouteNames.RemoveApiResourceScopeClaim, new
                 {
                     subject = apiResource.Subject,
                     id = apiResourceScope.Id,
                     claimId = c.Id
                 })
             }
         });
     }
     return(new object[0]);
 }
示例#3
0
        public async Task <IHttpActionResult> UpdateApiResourceScopeAsync(string subject, ApiResourceScopeValue model)
        {
            if (string.IsNullOrWhiteSpace(subject))
            {
                ModelState["subject.String"].Errors.Clear();
                ModelState.AddModelError("", Messages.SubjectRequired);
            }

            if (model == null)
            {
                ModelState.AddModelError("", Messages.ApiResourceScopeNeeded);
            }

            if (ModelState.IsValid)
            {
                var result = await _service.UpdateScopeAsync(subject, model.Id, model.Name, model.Description, model.Emphasize, model.Required, model.ShowInDiscoveryDocument);

                if (result.IsSuccess)
                {
                    return(NoContent());
                }

                ModelState.AddErrors(result);
            }

            return(BadRequest(ModelState.ToError()));
        }