Skip to content

Instantly share code, notes, and snippets.

@HabeebCycle
Created February 6, 2021 07:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save HabeebCycle/052a97f3f7ce23ce6f08c2b290e70105 to your computer and use it in GitHub Desktop.
Save HabeebCycle/052a97f3f7ce23ce6f08c2b290e70105 to your computer and use it in GitHub Desktop.
package com.habeebcycle.demo.api.service;
import com.habeebcycle.demo.api.persistence.UserRepoImpl;
import com.habeebcycle.demo.api.model.User;
import com.habeebcycle.demo.api.repository.UserRepository;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@Service
public class UserService {
private final UserRepository repository;
public UserService(UserRepository repository) {
this.repository = repository;
}
public Mono<User> saveUser(User user) {
return repository.save(user);
}
public Mono<User> getUserById(String userId) {
return repository.findById(userId);
}
public Flux<User> getAllUsers() {
return repository.findAll();
}
public Mono<User> getUserByEmail(String email) {
return repository.findByEmail(email);
}
public Mono<User> getUserByUsername(String username) {
return repository.findByUsername(username);
}
public Mono<Boolean> userExistsById(String userId) {
return repository.existsById(userId);
}
public Mono<Boolean> userExistsByEmail(String email) {
return repository.existsByEmail(email);
}
public Mono<Boolean> userExistsByUsername(String username) {
return repository.existsByUsername(username);
}
public Mono<Void> deleteUserById(String userId) {
return repository.deleteById(userId);
}
public Mono<Void> deleteUser(User user) {
return repository.delete(user);
}
public Mono<Void> deleteAllUsers() {
return repository.deleteAll();
}
public Mono<Long> userCount() {
return repository.count();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment