public async Task <IActionResult> AddClaim([FromRoute] string id, [FromBody] CreateClaimModel model) { if (!Valid(model, out var error)) { return(error); } var role = await _roleService.FindByIdAsync(id); if (role?.Data == null) { return(NotFound()); } var issuer = _security.Value.Tokens.Issuer; var claim = new Claim(model.Type, model.Value, model.ValueType ?? ClaimValueTypes.String, issuer); var result = await _roleService.AddClaimAsync(role.Data, claim); return(result.Succeeded ? Created($"/api/roles/{role.Data.Id}/claims", claim) : (IActionResult)BadRequest(result.Errors)); }
public async Task <IActionResult> AddClaim([FromRoute] string id, [FromBody] CreateClaimModel model) { if (!this.TryValidateModelOrError(model, ErrorEvents.ValidationFailed, ErrorStrings.ValidationFailed, out var error)) { return(error); } var role = await _roleService.FindByIdAsync(id); if (role?.Data == null) { return(NotFound()); } var issuer = _tokenInfoProvider.Issuer; var claim = new Claim(model.Type, model.Value, model.ValueType ?? ClaimValueTypes.String, issuer); var result = await _roleService.AddClaimAsync(role.Data, claim); return(result.Succeeded ? Created($"/api/roles/{role.Data.Id}/claims", claim) : (IActionResult)BadRequest(result.Errors)); }