public IHttpActionResult CreateApplication([FromBody] SaveApplicationModel value) { try { return(Ok(controller.CreateApplication(value.Name, value.Description, value.DirectoryName, value.DirectoryDescription))); } catch (Exception ex) { return(Error(ex)); } }
public IHttpActionResult UpdateApplication(string applicationName, [FromBody] SaveApplicationModel value) { try { controller.UpdateApplication(applicationName, value.Name, value.Description); return(Ok()); } catch (Exception ex) { return(Error(ex)); } }
//GET : /api/UserProfile public async Task <Object> SaveApplication(SaveApplicationModel input) { var result = 0; var createClientResponse = new CreateClientResponse(); string userId = User.Claims.First(c => c.Type == "UserID").Value; input.UserId = userId; var user = await _userManager.FindByIdAsync(userId); #region Create Client Id, Secret From Identity Server using (var _httpClient = new HttpClient()) { string message = JsonConvert.SerializeObject(input); byte[] messageBytes = Encoding.UTF8.GetBytes(message); var content = new ByteArrayContent(messageBytes); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpRequestMessage requestMessage = new HttpRequestMessage() { RequestUri = new Uri(_configuration["RackleUrls:IdentityServer"].ToString() + "/api/Client/Save"), Method = HttpMethod.Post, Content = content }; var response = await _httpClient.SendAsync(requestMessage); var data = response.Content.ReadAsStringAsync().Result; createClientResponse = string.IsNullOrEmpty(data) ? null : JsonConvert.DeserializeObject <CreateClientResponse>(data); } #endregion var UserApplicationContext = _dataContext.Set <UserApplications>(); var ApplicationRedirectUrisContext = _dataContext.Set <ApplicationRedirectUris>(); var ApplicationScopesContext = _dataContext.Set <ApplicationScopes>(); UserApplications UserApplicationEntity = new UserApplications(); if (!string.IsNullOrWhiteSpace(createClientResponse?.ClientId)) // Identity Create Request atılacak response'una göre kayıt atılacak { var applicationEntity = await UserApplicationContext.Include(x => x.RedirectUris).SingleOrDefaultAsync(x => x.ClientId == input.ClientId); var redirectURiList = await ApplicationRedirectUrisContext.Where(x => x.ApplicationId == applicationEntity.Id).ToListAsync(); foreach (var item in redirectURiList) { if (!input.RedirectUris.Contains(item.RedirectUri)) { ApplicationRedirectUrisContext.Remove(item); } } foreach (var item in input.RedirectUris) { if (!redirectURiList.Any(x => x.RedirectUri == item)) { ApplicationRedirectUrisContext.Add(new ApplicationRedirectUris { Id = Guid.NewGuid(), RedirectUri = item, ApplicationId = applicationEntity.Id }); } } result = await _dataContext.SaveChangesAsync(); } if (result > 0 && !string.IsNullOrWhiteSpace(createClientResponse?.ClientId)) { UserApplicationEntity = await UserApplicationContext.Include(x => x.RedirectUris).SingleOrDefaultAsync(x => x.ClientId == input.ClientId); return (new { Success = true, UserApplication = new { ApplicationName = UserApplicationEntity.ApplicationName, ClientId = UserApplicationEntity.ClientId, RedirectUris = UserApplicationEntity.RedirectUris.Select(x => x.RedirectUri).ToList(), Scopes = UserApplicationEntity.Scopes.Select(x => x.Scope).ToList(), Secret = UserApplicationEntity.Secret } }); } return(new { Success = false }); }
public IHttpActionResult DeleteApplication(string applicationName, int copyVersion, [FromBody] SaveApplicationModel value) { try { controller.CopyApplication(applicationName, value.Name, value.Description, copyVersion); return(Ok()); } catch (Exception ex) { return(Error(ex)); } }