.map(chatRoomTo ->
{
UUID chatRoomId = UUID.fromString(chatRoomTo.getId());
- return new ChatRoomInfo(chatRoomId, chatRoomTo.getName());
+ return new ChatRoomInfo(chatRoomId, chatRoomTo.getName(), null);
});
}
@Override
- public void writeChatRoomData(UUID chatRoomId, Flux<Message> messageFlux)
+ public void writeChatRoomData(
+ UUID chatRoomId,
+ Flux<Message> messageFlux,
+ SuccessCallback successCallback,
+ FailureCallback failureCallback)
{
messageFlux
.map(message -> MessageTo.from(chatRoomId, message))
+ .doOnComplete(() -> successCallback.accept(chatRoomId))
+ .doOnError(throwable -> failureCallback.accept(chatRoomId, throwable))
.subscribe(messageTo -> messageRepository.save(messageTo));
}