package de.stadtbote.votian; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.*; import java.util.*; import static de.stadtbote.votian.ApiController.user; @RestController @RequestMapping("/api/administration/zone-prices") class ZonePriceController { private final ZonePriceAdministration service; ZonePriceController(ZonePriceAdministration service){this.service=service;} @GetMapping Map options(Authentication a){return service.options(user(a));} @PostMapping("/query") Map query(Authentication a,@RequestBody ZonePriceAdministration.Query q){return service.grid(user(a),q);} @PutMapping Map save(Authentication a,@RequestBody ZonePriceAdministration.Save s){return service.save(user(a),s);} @GetMapping("/items") List> items(Authentication a,@RequestParam ZonePriceAdministration.Kind kind,@RequestParam(defaultValue="") String q){return service.search(user(a),kind,q);} @GetMapping("/details") Map details(Authentication a,@RequestParam ZonePriceAdministration.Kind kind,@RequestParam long id){return service.details(user(a),kind,id);} @PutMapping("/management") Map change(Authentication a,@RequestBody ZonePriceAdministration.Change c){return service.change(user(a),c);} }