package restService; import database.transaction.Transaction; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import restImplementation.DatabaseTransactionImplementation; import javax.validation.Valid; import java.util.List; @RestController @RequestMapping(value = "/api/rest/transaction") public class DatabaseTransactionResource { @PostMapping("/save") @ResponseStatus(HttpStatus.CREATED) public ResponseEntity saveTransaction(@Valid @RequestBody Transaction transaction){ try{ DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation(); databaseTransactionImplementation.saveTransaction(transaction); return ResponseEntity.status(HttpStatus.OK).body(""); }catch (Exception e){ return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage()); } } @GetMapping("/get") @ResponseStatus(HttpStatus.OK) public ResponseEntity getTransaction(@Valid @RequestBody Transaction transaction){ try{ DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation(); Transaction tx = databaseTransactionImplementation.getUserTransaction(transaction.getUserId(),transaction.getTransactionHash()); if(tx != null){ return ResponseEntity.status(HttpStatus.OK).body(tx); }else { return new ResponseEntity("Error", HttpStatus.NOT_FOUND); } }catch (Exception e){ return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST); } } @RequestMapping(value = "/getAll", method = RequestMethod.GET, params = {"userId"}, produces = "application/json") @ResponseStatus(HttpStatus.OK) public ResponseEntity> getAllTransaction(@RequestParam(value = "userId") int userId){ try{ DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation(); List transactionList = databaseTransactionImplementation.getAllUserTransactions(userId); if(!transactionList.isEmpty()){ return ResponseEntity.status(HttpStatus.OK).body(transactionList); }else { return new ResponseEntity("Error", HttpStatus.NOT_FOUND); } }catch (Exception e){ return new ResponseEntity(e.getMessage(), HttpStatus.BAD_REQUEST); } } }