// Copyright © 2015 HSL <https://www.hsl.fi>
// This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses.
package fi.hsl.parkandride.front;
import fi.hsl.parkandride.core.domain.*;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
import static fi.hsl.parkandride.front.UrlSchema.*;
import static java.util.Arrays.asList;
import static org.springframework.http.HttpStatus.OK;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
@Controller
public class SchemaController {
@RequestMapping(method = GET, value = CAPACITY_TYPES)
public ResponseEntity<List<CapacityType>> capacityTypes() {
return new ResponseEntity<>(asList(CapacityType.values()), OK);
}
@RequestMapping(method = GET, value = USAGES)
public ResponseEntity<List<Usage>> usages() {
return new ResponseEntity<>(asList(Usage.values()), OK);
}
@RequestMapping(method = GET, value = DAY_TYPES)
public ResponseEntity<List<DayType>> dayTypes() {
return new ResponseEntity<>(asList(DayType.values()), OK);
}
@RequestMapping(method = GET, value = SERVICES)
public ResponseEntity<List<Service>> services() {
return new ResponseEntity<>(asList(Service.values()), OK);
}
@RequestMapping(method = GET, value = PAYMENT_METHODS)
public ResponseEntity<List<PaymentMethod>> paymentMethods() {
return new ResponseEntity<>(asList(PaymentMethod.values()), OK);
}
@RequestMapping(method = GET, value = FACILITY_STATUSES)
public ResponseEntity<List<FacilityStatus>> facilityStatuses() {
return new ResponseEntity<>(asList(FacilityStatus.values()), OK);
}
@RequestMapping(method = GET, value = PRICING_METHODS)
public ResponseEntity<List<PricingMethod>> pricingMethods() {
return new ResponseEntity<>(asList(PricingMethod.values()), OK);
}
@RequestMapping(method = GET, value = ROLES, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<List<Role>> roles() {
return new ResponseEntity<>(asList(Role.values()), OK);
}
}