Znowu ja, ktoś mi może podpowiedzieć, czy jestem wstanie to jakoś sklecić wszystko tak by wywalić tego ifa?
Option<TaskFile> taskFileOption = taskFileRepository.findFileById(fileId)
.filter(taskFile -> username.equals(taskFile.getOwner()));
if (taskFileOption.isEmpty()) {
return Either.left(ErrorWrapper.of("test1"));
}
return taskFileOption
.flatMap(taskEnvironment::createTaskEnvironment)
.map(taskEnvironment ->
Task.builder()
.taskName(taskName)
.createdAt(Task.createTimestamp())
.taskStatus(TaskStatus.CREATED)
.taskEnvironment(taskEnvironment)
.build())
.peek(task -> taskRepository.createTask(task, username))
.map(TaskCreateResponse::of)
.toEither(() -> ErrorWrapper.of(test2"));
Na wyjściu Either<ErrorWrapper, TaskCreateResponse>