public void executeInternal()

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);
  }