public async Task <IActionResult> RequestCredentialGeneration(string id) { var capabilityId = Guid.Empty; Guid.TryParse(id, out capabilityId); if (capabilityId == Guid.Empty) { return(BadRequest(new { Message = $"the capability id: {id} is malformed" })); } var capability = await _capabilityRepository.Get(capabilityId); await _kafkaJanitorRestClient.RequestCredentialGeneration(capability); return(Ok()); }
public async Task <IActionResult> AddTopicToCapability(string id, [FromBody] TopicInput input) { var capabilityId = Guid.Empty; Guid.TryParse(id, out capabilityId); if (capabilityId == Guid.Empty) { return(BadRequest(new { Message = $"the capability id: {id} is malformed" })); } var capability = await _capabilityRepository.Get(capabilityId); IActionResult actionResult; try { var configurations = new Dictionary <string, object>(); if (input.Configurations != null) { foreach (var(key, value) in input.Configurations) { var jsonElement = (JsonElement)value; configurations[key] = JsonObjectTools.GetValueFromJsonElement(jsonElement); } } var topic = Topic.Create( capabilityId, capability.RootId, input.Name, input.Description, input.Partitions, input.Availability, configurations ); await _topicDomainService.CreateTopic( topic : topic, dryRun : true ); if (input.DryRun) { return(Ok(DTOs.Topic.CreateFrom(topic))); } TaskFactoryExtensions.StartActionWithConsoleExceptions(async() => { await _kafkaJanitorRestClient.CreateTopic(topic, capability); await _topicDomainService.CreateTopic( topic: topic, dryRun: input.DryRun ); }); var topicDto = DTOs.Topic.CreateFrom(topic); actionResult = Ok(topicDto); } catch (Exception exception) when(ExceptionToStatusCode.CanConvert(exception, out actionResult)) { } return(actionResult); }
public Task <Capability> GetCapability(Guid id) => _capabilityRepository.Get(id);