public string AddRetentionPolicy(string tenantName, string productName, string componentName, ComponentRetention retention) { List <TenantConfiguration> tenants = TenantIOReader.ReadTenantsFromConfigFile(); var tenant = tenants.Find(x => x.Name == tenantName); if (tenant == null) { return(null); } var product = tenant.Products.Find(x => x.Name == productName); if (product == null) { return(null); } var component = product.Components.Find(x => x.Name == componentName); if (component == null) { return(null); } component.Settings.RetentionPolicy = retention; // store token in memory! _tenantRepository.AddComponentRetention(tenantName, productName, componentName, retention); // Write into file if (TenantIOWriter.WriteTenantsConfiguration(tenants) == true) { return(retention.Name); } return(null); }
public ActionResult <Component> PostComponentRetentionPolicy(string tenantName, string productName, string componentName, [FromBody] ComponentRetention retention) { var isFromCli = HttpContext.Request.Headers["x-called-by"].ToString(); if (isFromCli != "") { _logger.LogInformation($"{isFromCli} POST '{HttpContext.Request.Path}' is called"); } else { _logger.LogInformation($"POST '{HttpContext.Request.Path}' is called"); } var retentionName = _componentService.AddRetentionPolicy(tenantName, productName, componentName, retention); if (retentionName == null) { return(BadRequest("Something went wrong, try to create Token one more time")); } return(Ok($"Retention Policy '{retentionName}' has been modified for component '{componentName}'")); }
public bool AddComponentRetention(string tenant, string product, string component, ComponentRetention componentRetention) { var componentDetail = GetComponent(tenant, product, component); if (componentDetail == null) { return(false); } componentDetail.Settings.RetentionPolicy = componentRetention; return(true); }