Skip to content
Snippets Groups Projects
Commit fbbcb0aa authored by Bruno Teixeira's avatar Bruno Teixeira
Browse files

api functions added

parent 0ba18760
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;
import com.mobilecomputing.pecunia.model.Trip;
import com.mobilecomputing.pecunia.model.User;
import com.mobilecomputing.pecunia.repository.TripRepository;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController
@RequestMapping(value = "/trip", method = RequestMethod.GET)
public class TripController {
......@@ -13,16 +19,48 @@ public class TripController {
TripRepository tripRepository;
@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")
public String getAllTrips(){
tripRepository.findAll().forEach(trip->{
System.out.println(trip.toString());
public ArrayList<Trip> getAllTrips() {
ArrayList<Trip> response = new ArrayList<>();
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;
import com.mobilecomputing.pecunia.model.Trip;
import com.mobilecomputing.pecunia.model.User;
import com.mobilecomputing.pecunia.repository.TripRepository;
import com.mobilecomputing.pecunia.repository.UserRepository;
import org.bson.types.ObjectId;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@RestController
@RequestMapping(value = "/user", method = RequestMethod.GET)
public class UserController {
@Autowired
UserRepository userRepository;
@Autowired
TripRepository tripRepository;
@GetMapping("/getById")
public String getUserById(@RequestParam String id){
return String.valueOf(userRepository.findById(new ObjectId(id)));
@GetMapping("/getByEMail")
public String getUserByEmail(@RequestParam String eMail){
return String.valueOf(userRepository.findById(eMail));
}
@GetMapping("/getAll")
public String getAllUsers(){
String response ="";
public List<User> getAllUsers(){
ArrayList<User> response = new ArrayList<>();
userRepository.findAll().forEach(user -> {
System.out.println(user.toString());
response.add(user);
});
return String.valueOf(userRepository.findAll());
return response;
}
@PostMapping("/registrateUser")
public String registrateUser(@RequestParam String eMail, @RequestParam String name, @RequestParam String surname,
@RequestParam String password){
User user = new User();
user.seteMail(eMail); // überprüfen ob email schon vergeben ist
user.setName(name);
user.setSurname(surname);
user.setPassword(password);
userRepository.save(user);
return "ok?";
if (userRepository.findById(eMail).isEmpty()) {
User user = new User();
user.seteMail(eMail); // überprüfen ob email schon vergeben ist
user.setName(name);
user.setSurname(surname);
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")
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 {
private Date startOfTrip;
private Date endOfTrip;
private List<User> tripParticipants;
private List<Transaction> transactions;
public Trip(String tripId, String tripName, Date startOfTrip, Date endOfTrip, List<User> tripParticipants) {
this.tripId = tripId;
public Trip(String tripName, Date startOfTrip, Date endOfTrip, List<User> tripParticipants,
List<Transaction> transactions) {
this.tripName = tripName;
this.startOfTrip = startOfTrip;
this.endOfTrip = endOfTrip;
this.tripParticipants = tripParticipants;
this.transactions=transactions;
}
public String getTripId() {
......
......@@ -4,6 +4,6 @@ import com.mobilecomputing.pecunia.model.Trip;
import org.bson.types.ObjectId;
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;
import org.bson.types.ObjectId;
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