Commit c863039c authored by Alex Segers's avatar Alex Segers

[AFP-91] ️ Refactor 'ManagerService' to accomodate route changes (@asegers)

parent 409e9701
package com.afp.ordermanagement.service;
import com.afp.ordermanagement.model.Manager;
import com.afp.ordermanagement.repository.ManagerRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import static com.afp.ordermanagement.config.BeanConfig.FieldCombiner;
@Service
public class ManagerService {
@Autowired
FieldCombiner fieldCombiner;
@Autowired
ManagerRepository managerRepository;
public Mono<Manager> getByEmail(String email) {
return managerRepository.findByEmail(email);
}
public Mono<Manager> create(Manager newManager) {
return managerRepository.save(newManager);
}
public Mono<Manager> updateByEmail(String email, Manager managerUpdates) {
return this.getByEmail(email)
.map(existingManager -> (Manager) fieldCombiner.combine(existingManager, managerUpdates, new String[] { "id", "email"}))
.flatMap(managerRepository::save);
}
public Mono<Void> delete(Manager manager) {
return managerRepository.delete(manager);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment