in ddm-bpm-extension/src/main/java/com/epam/digital/data/platform/bpms/extension/delegate/connector/UserSettingsConnectorUpdateDelegate.java [65:102]
public void executeInternal(DelegateExecution execution) throws Exception {
responseVariable.on(execution).set(ConnectorResponse.builder().build());
var payload = payloadVariable.from(execution).getOptional();
log.debug("Start creating or updating user settings");
var requestBodyOpt = payload.map(node -> node.mapTo(DelegateInputDto.class));
var headers = headerBuilderFactory.builder()
.contentTypeJson()
.accessTokenHeader()
.csrfProtectionHeaders()
.build();
var emailDeactivationDto =
requestBodyOpt
.map(
input -> {
var deactivationDto = new SettingsDeactivateChannelInputDto();
deactivationDto.setAddress(input.getEmail());
deactivationDto.setDeactivationReason("USER_DEACTIVATED_FROM_BP");
return deactivationDto;
})
.orElse(null);
userSettingsFeignClient.deactivateChannel(Channel.EMAIL.getValue(), emailDeactivationDto, headers);
log.debug("Email channel is deactivated");
// get user settings id
var settingsResponse = userSettingsFeignClient.performGet(headers);
log.debug("User settings successfully created or updated");
var connectorResponseBodyDto = DelegateOutputDto.builder()
.settingsId(settingsResponse.getSettingsId())
.build();
var connectorResponse =
ConnectorResponse.builder().responseBody(Spin.JSON(connectorResponseBodyDto)).build();
responseVariable.on(execution).set(connectorResponse);
}