Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .idea/sqldialects.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file removed src/main/Queries/.DS_Store
Binary file not shown.
137 changes: 0 additions & 137 deletions src/main/Queries/MMDump.sql

This file was deleted.

17 changes: 11 additions & 6 deletions src/main/java/runner/controllers/AccountController.java
Original file line number Diff line number Diff line change
@@ -1,26 +1,31 @@
package runner.controllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import runner.entities.Account;
import runner.entities.User;
import runner.services.AccountServices;

import java.util.Optional;
@RequestMapping("/account")
@RestController
public class AccountController {
@Autowired
private AccountServices accountServices;

@GetMapping(value = "/read/{id}")
public ResponseEntity<Account> readById(@PathVariable Long id) {
return new ResponseEntity<>(accountServices.readAccount(id), HttpStatus.OK);
}

@PostMapping(value = "/create")
public ResponseEntity<Account> create(@RequestBody Account account) {
return new ResponseEntity<>(accountServices.createAccount(account), HttpStatus.CREATED);
}

}
@PutMapping(value = "/update/{id}")
public ResponseEntity<Optional<Account>> update(@RequestBody Account account, @PathVariable Long id) {
return new ResponseEntity<>(accountServices.updateAccount(id,account), HttpStatus.OK);
}
@DeleteMapping(value = "/delete/{id}")
public ResponseEntity<Boolean> deleteById(@PathVariable Long id) {
return new ResponseEntity<>(accountServices.removeAccount(id), HttpStatus.OK);
}
}
46 changes: 19 additions & 27 deletions src/main/java/runner/controllers/UserController.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,36 @@
package runner.controllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import runner.entities.User;
import runner.services.UserServices;
import java.util.Optional;
@RequestMapping("/user")
@RestController
public class UserController {
@Autowired
private UserServices userServices;

@GetMapping(value = "/read/{id}")
public ResponseEntity<User> readById(@PathVariable Long id) {
return new ResponseEntity<>(userServices.readUser(id), HttpStatus.OK);
public ResponseEntity<User> readById(@PathVariable Long id) throws Exception {
if(new ResponseEntity<>(userServices.readUser(id), HttpStatus.OK) == null) throw new Exception("Error , the user id is null") ;
else
return new ResponseEntity<>(userServices.readUser(id), HttpStatus.OK);
}

//// @GetMapping(value = "/readAll")
//// public ResponseEntity<List<User>> readAll() {
//// return new ResponseEntity<>(userServices.readAll(), HttpStatus.OK);
//// }
// @PostMapping(value = "/user/create")
// public ResponseEntity<User> create(@RequestBody User user) {
// return new ResponseEntity<>(userServices.createUser(user), HttpStatus.CREATED);
// }
//
// @PutMapping(value = "/user/update/{id}")
// public ResponseEntity<User> update(@RequestBody User user,@PathVariable Long id) {
// return new ResponseEntity<>(userServices.updateUser(id,user), HttpStatus.OK);
// }
//
// @DeleteMapping(value = "/user/delete/{id}")
// public ResponseEntity<User> deleteById(@PathVariable Long id) {
// return new ResponseEntity<>(userServices.deleteUser(id), HttpStatus.OK);
// }

@GetMapping(value = "/home")
@PostMapping(value = "/create")
public ResponseEntity<User> create(@RequestBody User user) {
return new ResponseEntity<>(userServices.createUser(user), HttpStatus.CREATED);
}
@PutMapping(value = "/update/{id}")
public ResponseEntity<User> update(@RequestBody User user,@PathVariable Long id) {
return new ResponseEntity<>(userServices.updateUser(id,user), HttpStatus.OK);
}
@DeleteMapping(value = "/delete/{id}")
public ResponseEntity<Boolean> deleteById(@PathVariable Long id) {
return new ResponseEntity<>(userServices.deleteUser(id), HttpStatus.OK);
}
@GetMapping(value = "/home")
public String displayHome() {
return "Hello World";
}

}
}
65 changes: 46 additions & 19 deletions src/main/java/runner/entities/Account.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,55 @@
package runner.entities;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import runner.enums.AccountType;

import javax.persistence.*;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

@Entity
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
protected Long id;
//@Column(name = "user_id")
private Long id;
@Column(nullable = false)
private String accountNumber;
@Column(nullable = false)
private String routingNumber;
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private AccountType accountType; //enum
@Column(nullable = false)
private Double balance;
@Column(nullable = false)
private LocalDate dateOfOpening;
@Column(nullable = false)
private Double interestRate;

@JsonBackReference(value = "name1")
@OneToMany(mappedBy = "account" ,cascade= CascadeType.ALL, fetch=FetchType.EAGER)
private Set<Transaction> transactionsList;

@JsonBackReference (value = "name2")
@ManyToOne
@JoinColumn(name = "UserId", nullable = false)
private User user;
@Column(name = "account_number")
protected String accountNumber;
@Column(name = "routing_number")
protected String routingNumber;
@Enumerated(EnumType.STRING)
@Column(name = "account_type")
protected AccountType accountType; //enum
@Column(name = "balance")
protected Double balance;
@Column(name = "date_of_opening")
protected LocalDate dateOfOpening;
@Column(name = "interest_rate")
protected Double interestRate;

// @ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
// private User user;

public Account() {
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getAccountNumber() {
public String getAccountNumber() {
return accountNumber;
}

Expand Down Expand Up @@ -85,4 +96,20 @@ public Double getInterestRate() {
public void setInterestRate(Double interestRate) {
this.interestRate = interestRate;
}

public Set<Transaction> getTransactionsList() {
return transactionsList;
}

public void setTransactionsList(Set<Transaction> transactionsList) {
this.transactionsList = transactionsList;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}
}
Loading