Example #1
0
        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}'"));
        }
Example #3
0
        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);
        }