io.committed.invest.plugin.server.repo.ReactiveUserAccountRepositoryWrapper Maven / Gradle / Ivy
The newest version!
package io.committed.invest.plugin.server.repo;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import io.committed.invest.plugin.server.auth.dao.UserAccount;
import io.committed.spring.reactive.repositories.ReactiveRepositoryWrapper;
/** Wraps an non-reactive user account repository into a reactive repository. */
public class ReactiveUserAccountRepositoryWrapper
extends ReactiveRepositoryWrapper
implements UserAccountRepository {
public ReactiveUserAccountRepositoryWrapper(final UnreactiveUserAccountRepository repo) {
super(repo);
}
@Override
public void deleteByUsername(final String username) {
repo.deleteByUsername(username);
}
@Override
public Flux findByAuthorities(final String authority) {
return Flux.fromStream(repo.findByAuthorities(authority));
}
@Override
public Mono findByUsername(final String username) {
return Mono.justOrEmpty(repo.findByUsername(username));
}
}