public async Task CreateApiResourceAsync(MApiResourceDto dto) { var resource = _mapper.Map <ApiResource>(dto); await DbContext.ApiResources.AddAsync(resource); await DbContext.SaveChangesAsync(); EventDispatcher.DispatchCreatedEvent("IDPApiResources", _mapper.Map <MApiResourceListDto>(resource)); }
public async Task <IActionResult> UpdateApiResource(MApiResourceDto dto) { var resourceInDB = await ApiResourcesService.GetApiResourceAsync(dto.Id); var secrets = resourceInDB.Secrets.ToDictionary(sec => sec.Id, sec => sec); var newSecrets = new List <ApiResourceSecret>(); foreach (var dtoSecret in dto.Secrets) { ApiResourceSecret sec = null; if (dtoSecret.Id != Guid.Empty) { sec = secrets[dtoSecret.Id]; if (sec.Description != dtoSecret.Description) { sec.Description = dtoSecret.Description; } if (sec.Expiration != dtoSecret.Expiration) { sec.Expiration = dtoSecret.Expiration; } } else { dtoSecret.Value = dtoSecret.Value.ToSha512(); sec = _mapper.Map <ApiResourceSecret>(dtoSecret); } if (sec != null) { newSecrets.Add(sec); } } var updated = _mapper.Map(dto, resourceInDB); updated.Secrets = newSecrets; await ApiResourcesService.UpdateApiResourceAsync(updated); return(Ok()); }
public async Task <IActionResult> CreateApiResource(MApiResourceDto dto) { await ApiResourcesService.CreateApiResourceAsync(dto); return(Ok()); }