diff --git a/backend/src/main/java/com/park/utmstack/domain/shared_types/enums/SectionType.java b/backend/src/main/java/com/park/utmstack/domain/shared_types/enums/SectionType.java index 820176c14..29fe3a75a 100644 --- a/backend/src/main/java/com/park/utmstack/domain/shared_types/enums/SectionType.java +++ b/backend/src/main/java/com/park/utmstack/domain/shared_types/enums/SectionType.java @@ -10,7 +10,7 @@ public enum SectionType { SYSTEM_LICENSE, INSTANCE_UPDATE_FREQUENCY, INSTANCE_ENABLE_SEND_LOGS, - THREATWINDS_CREDENTIALS + THREAT_INTELLIGENCE } diff --git a/backend/src/main/java/com/park/utmstack/service/UtmConfigurationParameterService.java b/backend/src/main/java/com/park/utmstack/service/UtmConfigurationParameterService.java index 49dd9aca6..bd9810b21 100644 --- a/backend/src/main/java/com/park/utmstack/service/UtmConfigurationParameterService.java +++ b/backend/src/main/java/com/park/utmstack/service/UtmConfigurationParameterService.java @@ -5,6 +5,7 @@ import com.park.utmstack.domain.application_events.enums.ApplicationEventType; import com.park.utmstack.domain.tfa.TfaMethod; import com.park.utmstack.repository.UtmConfigurationParameterRepository; +import com.park.utmstack.security.SecurityUtils; import com.park.utmstack.service.application_events.ApplicationEventService; import com.park.utmstack.service.tfa.TfaService; import com.park.utmstack.util.CipherUtil; @@ -20,6 +21,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.time.Instant; import java.util.*; import java.util.stream.Collectors; @@ -102,6 +104,8 @@ public void saveAll(List params) throws UtmMailExcept Map cfg = new HashMap<>(); List toSave = new ArrayList<>(); + Instant now = Instant.now(); + String user = SecurityUtils.getCurrentUserLogin().orElse(Constants.SYSTEM_ACCOUNT); for (UtmConfigurationParameter p : params) { boolean isPassword = Constants.CONF_TYPE_PASSWORD.equalsIgnoreCase(p.getConfParamDatatype()); if (isPassword && Constants.MASKED_VALUE.equals(p.getConfParamValue())) { @@ -110,6 +114,8 @@ public void saveAll(List params) throws UtmMailExcept cfg.put(p.getConfParamShort(), p.getConfParamValue()); if (StringUtils.hasText(p.getConfParamValue()) && isPassword) p.setConfParamValue(CipherUtil.encrypt(p.getConfParamValue(), System.getenv(Constants.ENV_ENCRYPTION_KEY))); + p.setModificationTime(now); + p.setModificationUser(user); toSave.add(p); } configParamRepository.saveAll(toSave); diff --git a/backend/src/main/java/com/park/utmstack/service/validators/tw_config/TwConfigValidatorService.java b/backend/src/main/java/com/park/utmstack/service/validators/tw_config/TwConfigValidatorService.java deleted file mode 100644 index 6feef35c7..000000000 --- a/backend/src/main/java/com/park/utmstack/service/validators/tw_config/TwConfigValidatorService.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.park.utmstack.service.validators.tw_config; - -import com.park.utmstack.domain.UtmConfigurationParameter; -import com.park.utmstack.service.app_info.AppInfoService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.validation.Errors; -import org.springframework.validation.Validator; - -@Service -@RequiredArgsConstructor -public class TwConfigValidatorService implements Validator { - - private final AppInfoService infoService; - - @Override - public boolean supports(Class clazz) { - return UtmConfigurationParameter.class.equals(clazz); - } - - @Override - public void validate(Object target, Errors errors) { - UtmConfigurationParameter parameter = (UtmConfigurationParameter) target; - - String value = parameter.getConfParamValue(); - if (value == null) { - errors.rejectValue("confParamValue", "null", "Value cannot be null"); - return; - } - - String edition; - try { - edition = infoService.loadVersionInfo().getEdition(); - } catch (Exception e) { - errors.reject("appInfo.error", "Could not determine application edition"); - return; - } - - if (!Boolean.parseBoolean(value) && "community".equals(edition)) { - errors.rejectValue("confParamValue", "forbidden", "Forbidden to disable in COMMUNITY edition"); - } - } -} diff --git a/backend/src/main/java/com/park/utmstack/web/rest/UtmConfigurationParameterResource.java b/backend/src/main/java/com/park/utmstack/web/rest/UtmConfigurationParameterResource.java index 0e0668104..5853a3ec2 100644 --- a/backend/src/main/java/com/park/utmstack/web/rest/UtmConfigurationParameterResource.java +++ b/backend/src/main/java/com/park/utmstack/web/rest/UtmConfigurationParameterResource.java @@ -10,7 +10,6 @@ import com.park.utmstack.service.dto.UtmConfigurationParameterCriteria; import com.park.utmstack.service.mail_config.MailConfigService; import com.park.utmstack.service.validators.email.EmailValidatorService; -import com.park.utmstack.service.validators.tw_config.TwConfigValidatorService; import com.park.utmstack.util.ResponseUtil; import com.park.utmstack.util.exceptions.UtmMailException; import com.park.utmstack.web.rest.util.PaginationUtil; @@ -52,7 +51,6 @@ public class UtmConfigurationParameterResource { private final EmailValidatorService emailValidatorService; private final MailConfigService mailConfigService; private final UtmStackService utmStackService; - private final TwConfigValidatorService twConfigValidatorService; /** * PUT /utm-configuration-parameters : Updates an existing utmConfigurationParameter. @@ -70,10 +68,6 @@ public ResponseEntity updateConfigurationParameters(@Valid @RequestBody Li for (UtmConfigurationParameter parameter : parameters) { Errors errors = new BeanPropertyBindingResult(parameter, "utmConfigurationParameter"); - if(parameter.getConfParamShort().equals("utmstack.tw.enable")){ - twConfigValidatorService.validate(parameter, errors); - } - if(StringUtils.hasText(parameter.getConfParamRegexp())){ emailValidatorService.validate(parameter, errors); } diff --git a/backend/src/main/resources/config/liquibase/changelog/20260910001_cleanup_threatwinds_params.xml b/backend/src/main/resources/config/liquibase/changelog/20260910001_cleanup_threatwinds_params.xml new file mode 100644 index 000000000..d4cce9d37 --- /dev/null +++ b/backend/src/main/resources/config/liquibase/changelog/20260910001_cleanup_threatwinds_params.xml @@ -0,0 +1,21 @@ + + + + + + + id IN (40, 41) + + + + + + + id = 10 + + + + diff --git a/backend/src/main/resources/config/liquibase/master.xml b/backend/src/main/resources/config/liquibase/master.xml index 506b2b9f4..e629d8868 100644 --- a/backend/src/main/resources/config/liquibase/master.xml +++ b/backend/src/main/resources/config/liquibase/master.xml @@ -604,5 +604,7 @@ - + + + diff --git a/frontend/src/app/shared/components/utm/config/app-config-sections/app-config-sections.component.html b/frontend/src/app/shared/components/utm/config/app-config-sections/app-config-sections.component.html index bc3288290..d48caf357 100644 --- a/frontend/src/app/shared/components/utm/config/app-config-sections/app-config-sections.component.html +++ b/frontend/src/app/shared/components/utm/config/app-config-sections/app-config-sections.component.html @@ -48,7 +48,7 @@
{{section.section | titlecase}}
+ class="form-group mb-4">