package eu.eudat.controllers; import eu.eudat.managers.InvitationsManager; import eu.eudat.models.helpers.responses.ResponseItem; import eu.eudat.models.invitation.Invitation; import eu.eudat.models.security.Principal; import eu.eudat.models.userinfo.UserInfoInvitationModel; import eu.eudat.models.userinfo.UserInfoRequestItem; import eu.eudat.services.ApiContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.List; /** * Created by ikalyvas on 1/4/2018. */ @RequestMapping("invite/") @RestController @CrossOrigin public class UserInvitationController extends BaseController{ @Autowired public UserInvitationController(ApiContext apiContext) { super(apiContext); } @Transactional @RequestMapping(method = RequestMethod.POST, value = { "/users" }, consumes = "application/json", produces="application/json") public @ResponseBody ResponseItem users(@RequestBody Invitation invitation, Principal principal) { try { InvitationsManager.inviteUsers(this.getApiContext(),invitation,principal); return new ResponseItem().status(HttpStatus.OK).message("Users have beeen invited"); } catch (Exception e) { e.printStackTrace(); return new ResponseItem().message(e.getMessage()); } } @RequestMapping(method = RequestMethod.POST, value = { "/getUsers" }, consumes = "application/json", produces="application/json") public @ResponseBody ResponseItem> getUsers(@RequestBody UserInfoRequestItem userInfoRequestItem) { try { List users = InvitationsManager.getUsers(this.getApiContext(),userInfoRequestItem); return new ResponseItem>().status(HttpStatus.OK).payload(users); } catch (Exception e) { e.printStackTrace(); return new ResponseItem>().status(HttpStatus.BAD_REQUEST).message(e.getMessage()); } } }