Skip to content
Snippets Groups Projects
Commit 2aff3037 authored by Filip Stanicak's avatar Filip Stanicak
Browse files

Added Crowns

parents d47b9a66 fbbcb0aa
No related branches found
No related tags found
No related merge requests found
package com.mobilecomputing.pecunia.controller;
public class TransactionController {
}
package com.mobilecomputing.pecunia.controller; package com.mobilecomputing.pecunia.controller;
import com.mobilecomputing.pecunia.model.Trip;
import com.mobilecomputing.pecunia.model.User;
import com.mobilecomputing.pecunia.repository.TripRepository; import com.mobilecomputing.pecunia.repository.TripRepository;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController @RestController
@RequestMapping(value = "/trip", method = RequestMethod.GET) @RequestMapping(value = "/trip", method = RequestMethod.GET)
public class TripController { public class TripController {
...@@ -13,16 +19,48 @@ public class TripController { ...@@ -13,16 +19,48 @@ public class TripController {
TripRepository tripRepository; TripRepository tripRepository;
@GetMapping("/getTripById") @GetMapping("/getTripById")
public String getTripById(@RequestParam String id){ public String getTripById(@RequestParam String id) {
return String.valueOf(tripRepository.findById(new ObjectId(id))); return String.valueOf(tripRepository.findById(id));
} }
@GetMapping("/getAllTrips") @GetMapping("/getAllTrips")
public String getAllTrips(){ public ArrayList<Trip> getAllTrips() {
tripRepository.findAll().forEach(trip->{ ArrayList<Trip> response = new ArrayList<>();
System.out.println(trip.toString()); tripRepository.findAll().forEach(trip -> {
response.add(trip);
});
return response;
}
@PostMapping("/addTrip")
public String addTrip(@RequestParam String tripName, @RequestParam String startOfTrip,
@RequestParam String endOfTrip, @RequestParam List<User> tripParticipants) {
Trip temp = new Trip(tripName, null, null, tripParticipants, null);
tripRepository.save(temp).getTripId();
return tripRepository.save(temp).getTripId();
}
@GetMapping("/getTripByUser")
public List<Trip> getTripsByUser(@RequestParam String eMail) {
ArrayList<Trip> temp = new ArrayList<>();
ArrayList<Trip> response = new ArrayList<>();
tripRepository.findAll().forEach(trip -> {
temp.add(trip);
}); });
return "to do"; for (Trip t : temp) {
boolean eMailIsEqual = false;
for (User u : t.getTripParticipants()) {
if (u.geteMail().equals(eMail)) {
eMailIsEqual = true;
break;
}
}
if (eMailIsEqual) {
response.add(t);
eMailIsEqual = false;
}
}
return response;
} }
} }
package com.mobilecomputing.pecunia.controller; package com.mobilecomputing.pecunia.controller;
import com.mobilecomputing.pecunia.model.Trip;
import com.mobilecomputing.pecunia.model.User; import com.mobilecomputing.pecunia.model.User;
import com.mobilecomputing.pecunia.repository.TripRepository;
import com.mobilecomputing.pecunia.repository.UserRepository; import com.mobilecomputing.pecunia.repository.UserRepository;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@RestController @RestController
@RequestMapping(value = "/user", method = RequestMethod.GET) @RequestMapping(value = "/user", method = RequestMethod.GET)
public class UserController { public class UserController {
@Autowired @Autowired
UserRepository userRepository; UserRepository userRepository;
@Autowired
TripRepository tripRepository;
@GetMapping("/getById") @GetMapping("/getByEMail")
public String getUserById(@RequestParam String id){ public String getUserByEmail(@RequestParam String eMail){
return String.valueOf(userRepository.findById(new ObjectId(id))); return String.valueOf(userRepository.findById(eMail));
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public String getAllUsers(){ public List<User> getAllUsers(){
String response =""; ArrayList<User> response = new ArrayList<>();
userRepository.findAll().forEach(user -> { userRepository.findAll().forEach(user -> {
System.out.println(user.toString()); response.add(user);
}); });
return String.valueOf(userRepository.findAll()); return response;
} }
@PostMapping("/registrateUser") @PostMapping("/registrateUser")
public String registrateUser(@RequestParam String eMail, @RequestParam String name, @RequestParam String surname, public String registrateUser(@RequestParam String eMail, @RequestParam String name, @RequestParam String surname,
@RequestParam String password){ @RequestParam String password){
User user = new User();
user.seteMail(eMail); // überprüfen ob email schon vergeben ist if (userRepository.findById(eMail).isEmpty()) {
user.setName(name);
user.setSurname(surname); User user = new User();
user.setPassword(password); user.seteMail(eMail); // überprüfen ob email schon vergeben ist
user.setName(name);
userRepository.save(user); user.setSurname(surname);
return "ok?"; user.setPassword(password);
userRepository.save(user);
return "ok";
}
return "error";
}
@PostMapping("/addUserToTrip")
public void addUserToTrip(@RequestParam String eMail,@RequestParam String tripId){
Optional<Trip> t = tripRepository.findById(tripId);
t.get().getTripParticipants().add(userRepository.findById(eMail).get());
} }
@DeleteMapping("/deleteUser") @DeleteMapping("/deleteUser")
public void deleteUser(@RequestParam String eMail){ public void deleteUser(@RequestParam String eMail){
userRepository.deleteById(new ObjectId(eMail)); userRepository.deleteById(eMail);
} }
} }
package com.mobilecomputing.pecunia.model;
import org.springframework.data.annotation.Id;
public class Transaction {
@Id
String transactionId;
private User debtor; //Schuldner
private User creditor; // Gläubiger
private String currency;
private double loan;
public Transaction(User debtor, User creditor, String currency, double loan) {
this.debtor = debtor;
this.creditor = creditor;
this.currency = currency;
this.loan = loan;
}
public String getTransactionId() {
return transactionId;
}
public void setTransactionId(String transactionId) {
this.transactionId = transactionId;
}
public User getDebtor() {
return debtor;
}
public void setDebtor(User debtor) {
this.debtor = debtor;
}
public User getCreditor() {
return creditor;
}
public void setCreditor(User creditor) {
this.creditor = creditor;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public double getLoan() {
return loan;
}
public void setLoan(double loan) {
this.loan = loan;
}
}
...@@ -12,13 +12,15 @@ public class Trip { ...@@ -12,13 +12,15 @@ public class Trip {
private Date startOfTrip; private Date startOfTrip;
private Date endOfTrip; private Date endOfTrip;
private List<User> tripParticipants; private List<User> tripParticipants;
private List<Transaction> transactions;
public Trip(String tripId, String tripName, Date startOfTrip, Date endOfTrip, List<User> tripParticipants) { public Trip(String tripName, Date startOfTrip, Date endOfTrip, List<User> tripParticipants,
this.tripId = tripId; List<Transaction> transactions) {
this.tripName = tripName; this.tripName = tripName;
this.startOfTrip = startOfTrip; this.startOfTrip = startOfTrip;
this.endOfTrip = endOfTrip; this.endOfTrip = endOfTrip;
this.tripParticipants = tripParticipants; this.tripParticipants = tripParticipants;
this.transactions=transactions;
} }
public String getTripId() { public String getTripId() {
......
...@@ -4,6 +4,6 @@ import com.mobilecomputing.pecunia.model.Trip; ...@@ -4,6 +4,6 @@ import com.mobilecomputing.pecunia.model.Trip;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
public interface TripRepository extends CrudRepository<Trip, ObjectId> { public interface TripRepository extends CrudRepository<Trip, String> {
} }
...@@ -5,5 +5,5 @@ import com.mobilecomputing.pecunia.model.User; ...@@ -5,5 +5,5 @@ import com.mobilecomputing.pecunia.model.User;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
public interface UserRepository extends CrudRepository<User, ObjectId> { public interface UserRepository extends CrudRepository<User, String> {
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment