From 58c838476d20d6f1dc2960d5833b7f3922f2dcee Mon Sep 17 00:00:00 2001 From: Celestino Bellone Date: Fri, 1 Apr 2016 21:28:27 +0200 Subject: [PATCH] add bulk scan (cherry picked from commit e6422ee) --- .../java/alfio/controller/api/AttendeeApiController.java | 9 +++++++++ src/main/java/alfio/model/system/ConfigurationKeys.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/alfio/controller/api/AttendeeApiController.java b/src/main/java/alfio/controller/api/AttendeeApiController.java index 5451051fc1..9c165fa222 100644 --- a/src/main/java/alfio/controller/api/AttendeeApiController.java +++ b/src/main/java/alfio/controller/api/AttendeeApiController.java @@ -39,6 +39,7 @@ import java.time.ZonedDateTime; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; @RestController @RequestMapping("/api/attendees") @@ -71,6 +72,14 @@ public ResponseEntity scanBadge(@RequestBody SponsorScan return ResponseEntity.ok(attendeeManager.registerSponsorScan(request.eventName, request.ticketIdentifier, principal.getName())); } + @RequestMapping(value = "/sponsor-scan/bulk", method = RequestMethod.POST) + public ResponseEntity> scanBadges(@RequestBody List requests, Principal principal) { + String username = principal.getName(); + return ResponseEntity.ok(requests.stream() + .map(request -> attendeeManager.registerSponsorScan(request.eventName, request.ticketIdentifier, username)) + .collect(Collectors.toList())); + } + @RequestMapping(value = "/{eventKey}/sponsor-scan/mine", method = RequestMethod.GET) public ResponseEntity> getScannedBadges(@PathVariable("eventKey") String eventShortName, @RequestParam(value = "from", required = false) String from, Principal principal) { diff --git a/src/main/java/alfio/model/system/ConfigurationKeys.java b/src/main/java/alfio/model/system/ConfigurationKeys.java index cb653c41cd..64954065af 100644 --- a/src/main/java/alfio/model/system/ConfigurationKeys.java +++ b/src/main/java/alfio/model/system/ConfigurationKeys.java @@ -44,7 +44,7 @@ public enum ConfigurationKeys { STRIPE_PUBLIC_KEY("Stripe's public key", false, SettingCategory.PAYMENT, ComponentType.TEXT, false, EnumSet.of(SYSTEM)), SPECIAL_PRICE_CODE_LENGTH("Length of special price code", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM)), - MAX_AMOUNT_OF_TICKETS_BY_RESERVATION("Max amount of tickets", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT, TICKET_CATEGORY)), + MAX_AMOUNT_OF_TICKETS_BY_RESERVATION("How many tickets can be purchased in a single reservation (default 5)", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT, TICKET_CATEGORY)), ASSIGNMENT_REMINDER_START("How many days before the event should be sent a reminder to the users about Tickets assignment? (default: 10 days)", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT)), ASSIGNMENT_REMINDER_INTERVAL("How long should be the 'quiet period' (in days) between the reminders? (default: 3 days)", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT)), RESERVATION_TIMEOUT("The amount of time, in MINUTES, that the user have to complete the reservation process (default: 25 min)", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM, ORGANIZATION, EVENT)),