java-api/src/main/java/restService/DatabaseTransactionResource.java
GME 618fa237d0 Transaction api rest
Added basic method for api rest transactions
2018-11-21 20:19:43 +01:00

61 lines
2.6 KiB
Java

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<String> 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<Transaction> 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<List<Transaction>> getAllTransaction(@RequestParam(value = "userId") int userId){
try{
DatabaseTransactionImplementation databaseTransactionImplementation = new DatabaseTransactionImplementation();
List<Transaction> 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);
}
}
}