package no.niths.application.rest.school;
import javax.servlet.http.HttpServletResponse;
import no.niths.application.rest.AbstractRESTControllerImpl;
import no.niths.application.rest.lists.ListAdapter;
import no.niths.application.rest.lists.school.LockerList;
import no.niths.application.rest.school.interfaces.LockerController;
import no.niths.common.constants.DomainConstantNames;
import no.niths.common.constants.SecurityConstants;
import no.niths.domain.school.Locker;
import no.niths.services.interfaces.GenericService;
import no.niths.services.school.interfaces.LockerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Controller for locker
* has the basic CRUD methods
*
* For the URL too get Locker add /lockers
* after the {@value no.niths.common.constants.MiscConstants#NITHS_BASE_DOMAIN}
*/
@Controller
@RequestMapping(DomainConstantNames.LOCKERS)
public class LockerControllerImpl extends AbstractRESTControllerImpl<Locker>
implements LockerController {
@Autowired
private LockerService service;
private LockerList lockerList = new LockerList();
@Override
@PreAuthorize(SecurityConstants.ADMIN_AND_SR)
public Locker create(@RequestBody Locker locker, HttpServletResponse res) {
return super.create(locker, res);
}
@Override
@PreAuthorize(SecurityConstants.ADMIN_AND_SR)
public void update(@RequestBody Locker locker) {
super.update(locker);
}
@Override
@PreAuthorize(SecurityConstants.ADMIN_AND_SR)
public void delete(@PathVariable long id) {
super.delete(id);
}
/**
* {@inheritDoc}
*/
@Override
public GenericService<Locker> getService() {
return service;
}
/**
* {@inheritDoc}
*/
@Override
public ListAdapter<Locker> getList() {
return lockerList;
}
}