Transaction api rest

Added basic method for api rest transactions
This commit is contained in:
GME 2018-11-21 20:19:43 +01:00
parent 75ba178cee
commit 618fa237d0
4 changed files with 95 additions and 3 deletions

View file

@ -0,0 +1,38 @@
package restImplementation;
import database.transaction.Transaction;
import database.transaction.TransactionDao;
import java.time.Instant;
import java.util.List;
public class DatabaseTransactionImplementation {
public void saveTransaction(Transaction transaction) throws Exception{
TransactionDao transactionDao = new TransactionDao();
long now = Instant.now().toEpochMilli();
transaction.setTransactionDate(now);
transactionDao.addTransaction(transaction);
}
public Transaction getUserTransaction(int userId, String transactionHash)throws Exception{
TransactionDao transactionDao = new TransactionDao();
Transaction tx = transactionDao.getTransaction(userId,transactionHash);
if(tx != null){
return tx;
}else {
return null;
}
}
public List<Transaction> getAllUserTransactions(int userId)throws Exception{
TransactionDao transactionDao = new TransactionDao();
return transactionDao.getUserTransactions(userId);
}
public List<Transaction> getLastTenTransactions(int userId)throws Exception{
TransactionDao transactionDao = new TransactionDao();
return transactionDao.getTenLastUserTransactions(userId);
}
}

View file

@ -38,11 +38,9 @@ public class DatabaseUserImplementation {
if(BCrypt.checkpw(password, hash)){ if(BCrypt.checkpw(password, hash)){
return user1; return user1;
}else{ }else{
System.out.println("Bcrypt nope");
return null; return null;
} }
}else { }else {
System.out.println("nope");
return null; return null;
} }
} }

View file

@ -1,4 +1,60 @@
package restService; 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 { 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);
}
}
} }

View file

@ -58,7 +58,7 @@ public class DatabaseUserResource {
userResponse.setUserId(response.getUserId()); userResponse.setUserId(response.getUserId());
return ResponseEntity.status(HttpStatus.OK).body(userResponse); return ResponseEntity.status(HttpStatus.OK).body(userResponse);
}else{ }else{
return new ResponseEntity("Error", HttpStatus.CONFLICT); return new ResponseEntity("Error", HttpStatus.NOT_FOUND);
} }
}catch (Exception e){ }catch (Exception e){
return new ResponseEntity(e.getMessage(), HttpStatus.CONFLICT); return new ResponseEntity(e.getMessage(), HttpStatus.CONFLICT);