Checkpoint: Added docs, improved ExchangeEntity

This commit is contained in:
Marcin Woźniak 2021-01-06 17:12:20 +01:00
parent b633d2c2df
commit 90f154f23b
Signed by: y0rune
GPG Key ID: F204C385F57EB348
3 changed files with 8 additions and 3 deletions

View File

@ -18,7 +18,7 @@ public class Exchange {
private Long id;
@OneToOne
@JoinColumn(name = "owned_id")
@JoinColumn(name = "owned_id", unique = true)
private Assignment ownedAssignment;
@OneToOne

View File

@ -24,6 +24,12 @@ public class ExchangeService {
return this.repo.save(exchange);
}
/**
* @param assignment Assignment to trade for
* @param group Desired group
* @return Optional with Exchange if exist
*/
public Optional<Exchange> checkForExchange(Assignment assignment, Groups group){
return this.repo.checkForExchange(assignment, group);
}

View File

@ -69,9 +69,8 @@ public class ExchangeController extends TokenBasedController{
final Assignment assignmentInstance = assignment.get();
final Groups groupInstance = group.get();
final Optional<Exchange> exchangeInstance = this.exchangeService.checkForExchange(assignmentInstance, groupInstance);
if(!(assignmentInstance.getCommision().getCommisionOwner().getId() == asker.getId() && assignmentInstance.isAccepted() && exchangeInstance.isEmpty())){
if(!(assignmentInstance.getCommision().getCommisionOwner().getId().equals(asker.getId()) && assignmentInstance.isAccepted())){
return new ResponseEntity<>("Some of problems appeared. Check if you have access to given assignment and if it is accepted or the exchange has not been already added.", HttpStatus.BAD_REQUEST);
}