package de.rwth.idsg.bikeman.web.rest; import com.codahale.metrics.annotation.Timed; import de.rwth.idsg.bikeman.repository.ManagerRepository; import de.rwth.idsg.bikeman.service.ManagerService; import de.rwth.idsg.bikeman.web.rest.dto.modify.CreateEditManagerDTO; import de.rwth.idsg.bikeman.web.rest.dto.view.ViewManagerDTO; import de.rwth.idsg.bikeman.web.rest.exception.DatabaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; /** * REST controller for managing Pedelec. */ @RestController @RequestMapping(value = "/api", produces = MediaType.APPLICATION_JSON_VALUE) @Slf4j public class ManagerResource { @Autowired private ManagerRepository managerRepository; @Autowired private ManagerService managerService; private static final String BASE_PATH = "/managers"; private static final String ID_PATH = "/managers/{id}"; @Timed @RequestMapping(value = BASE_PATH, method = RequestMethod.GET) public List<ViewManagerDTO> getAll() throws DatabaseException { log.info("REST request to get all Manager"); return managerRepository.findAll(); } @Timed @RequestMapping(value = BASE_PATH, method = RequestMethod.POST) public void create(@Valid @RequestBody CreateEditManagerDTO manager) throws DatabaseException { log.debug("REST request to save manager : {}", manager); managerService.createManager(manager); } @Timed @RequestMapping(value = BASE_PATH, method = RequestMethod.PUT) public void update(@Valid @RequestBody CreateEditManagerDTO manager) throws DatabaseException { log.debug("REST request to update Manager"); managerService.updateManager(manager); } @Timed @RequestMapping(value = ID_PATH, method = RequestMethod.DELETE) public void delete(@PathVariable Long id) throws DatabaseException { log.debug("REST request to delete Manager : {}", id); managerRepository.delete(id); } }