diff --git a/Assignment 3/.vscode/settings.json b/Assignment 3/.vscode/settings.json new file mode 100644 index 000000000..2421e386c --- /dev/null +++ b/Assignment 3/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.exclude": { + "**/.classpath": true, + "**/.project": true, + "**/.settings": true, + "**/.factorypath": true + } +} \ No newline at end of file diff --git a/Assignment 3/rpisystem/app/src/main/app/src/App.js b/Assignment 3/rpisystem/app/src/main/app/src/App.js index 2d395110a..650f8f351 100644 --- a/Assignment 3/rpisystem/app/src/main/app/src/App.js +++ b/Assignment 3/rpisystem/app/src/main/app/src/App.js @@ -43,7 +43,7 @@ class App extends Component { } hello = () => { - fetch('/api/home') + fetch('/api/users') .then(response => response.text()) .then(message => { this.setState({message: message}); diff --git a/Assignment 3/rpisystem/app/src/main/java/Controller/UserController.java b/Assignment 3/rpisystem/app/src/main/java/Controller/UserController.java index 2158db245..b7f42c694 100644 --- a/Assignment 3/rpisystem/app/src/main/java/Controller/UserController.java +++ b/Assignment 3/rpisystem/app/src/main/java/Controller/UserController.java @@ -1,7 +1,8 @@ -package com.nimps.rpisystem.rpisystem.Controller; +package Controller; import com.nimps.rpisystem.rpisystem.Exception.ResourceNotFoundException; import com.nimps.rpisystem.rpisystem.User; +import com.nimps.rpisystem.rpisystem.Service.IUserService; import com.nimps.rpisystem.rpisystem.Repository.UserRepo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -14,57 +15,58 @@ @RestController public class UserController { -// @Autowired - UserRepo UserRepo; + @Autowired + private IUserService userService; - public UserController(UserRepo UserRepo){ - this.UserRepo = UserRepo; - } +// public UserController(UserRepo userRepo){ +// this.userRepo = userRepo; +// } // Get All User @GetMapping("/api/users") public List getAllUsers() { - return UserRepo.findAll(); + System.out.print(userService.findAll()); + return userService.findAll(); } // Create a new User - @PostMapping("/api/users") - public User createUser(@Valid @RequestBody User user) { - return UserRepo.save(user); - } +// @PostMapping("/api/users") +// public User createUser(@Valid @RequestBody User user) { +// return userRepo.save(user); +// } // Get a Single User - @GetMapping("/api/users/{id}") - public User getUserById(@PathVariable(value = "id") Long userId) { - return UserRepo.findById(userId) - .orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); - } +// @GetMapping("/api/users/{id}") +// public User getUserById(@PathVariable(value = "Id") Long userId) { +// return userService.findById(userId) +// .orElseThrow(() -> new ResourceNotFoundException("User", "Id", userId)); +// } // Update a User - @PutMapping("/api/users/{id}") - public User updateUser(@PathVariable(value = "id") Long userId, @Valid @RequestBody User userDetails) { - - User user = UserRepo.findById(userId) - .orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); - - user.setId(userDetails.getId()); - user.setFirst_name(userDetails.getFirst_name()); - user.setLast_name(userDetails.getLast_name()); - user.setEmail(userDetails.getEmail()); - user.setPassword(userDetails.getPassword()); - user.setPantherId(userDetails.getPantherId()); - - User updatedUser = UserRepo.save(user); - return updatedUser; - } +// @PutMapping("/api/users/{id}") +// public User updateUser(@PathVariable(value = "Id") Long userId, @Valid @RequestBody User userDetails) { +// +// User user = userService.findById(userId) +// .orElseThrow(() -> new ResourceNotFoundException("User", "Id", userId)); +// +// user.setId(userDetails.getId()); +// user.setFirst_name(userDetails.getFirst_name()); +// user.setLast_name(userDetails.getLast_name()); +// user.setEmail(userDetails.getEmail()); +// user.setPassword(userDetails.getPassword()); +// user.setPantherId(userDetails.getPantherId()); +// +// User updatedUser = userRepo.save(user); +// return updatedUser; +// } // Delete a User - @DeleteMapping("/api/users/{id}") - public ResponseEntity deleteUser(@PathVariable(value = "id") Long userId) { - User user = UserRepo.findById(userId) - .orElseThrow(() -> new ResourceNotFoundException("User", "id", userId)); - - UserRepo.delete(user); - - return ResponseEntity.ok().build(); - } +// @DeleteMapping("/api/users/{id}") +// public ResponseEntity deleteUser(@PathVariable(value = "Id") Long userId) { +// User user = userService.findById(userId) +// .orElseThrow(() -> new ResourceNotFoundException("User", "Id", userId)); +// +// userService.delete(user); +// +// return ResponseEntity.ok().build(); +// } } diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/.DS_Store b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/.DS_Store new file mode 100644 index 000000000..25a731e6c Binary files /dev/null and b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/.DS_Store differ diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/.DS_Store b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/.DS_Store new file mode 100644 index 000000000..1174c1fec Binary files /dev/null and b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/.DS_Store differ diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Repository/UserRepo.java b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Repository/UserRepo.java index fb94a730e..f02c89939 100644 --- a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Repository/UserRepo.java +++ b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Repository/UserRepo.java @@ -3,9 +3,10 @@ import com.nimps.rpisystem.rpisystem.User; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; @Repository public interface UserRepo extends JpaRepository { - User findById(int id); + } diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/.DS_Store b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/.DS_Store new file mode 100644 index 000000000..5008ddfcf Binary files /dev/null and b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/.DS_Store differ diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/IUserService.java b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/IUserService.java new file mode 100644 index 000000000..c65920ae4 --- /dev/null +++ b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/IUserService.java @@ -0,0 +1,10 @@ +package com.nimps.rpisystem.rpisystem.Service; + +import com.nimps.rpisystem.rpisystem.User; +import java.util.*; + +public interface IUserService{ + List findAll(); + User findById(int id); + void deleteUser(User user); +} \ No newline at end of file diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/UserService.java b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/UserService.java new file mode 100644 index 000000000..425e79c2e --- /dev/null +++ b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/Service/UserService.java @@ -0,0 +1,36 @@ +package com.nimps.rpisystem.rpisystem.Service; + +import com.nimps.rpisystem.rpisystem.User; +import com.nimps.rpisystem.rpisystem.Repository.UserRepo; +import java.util.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class UserService implements IUserService{ + + @Autowired + private UserRepo userRepo; + + public List findAll(){ + return (List) userRepo.findAll(); + } + + public User findById(int id){ + List users = findAll(); + for(int i = 0; i < users.size(); i++){ + User user = users.get(i); + if(user.Id == id){ + return user; + } + } + return null; + } + + public void deleteUser(User user){ + User userToDelete = findById(user.Id); + if(userToDelete != null){ + userRepo.delete(userToDelete); + } + } +} \ No newline at end of file diff --git a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/User.java b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/User.java index 40a0c26d8..406d97aab 100644 --- a/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/User.java +++ b/Assignment 3/rpisystem/app/src/main/java/com/nimps/rpisystem/rpisystem/User.java @@ -1,26 +1,42 @@ package com.nimps.rpisystem.rpisystem; -import javax.persistence.*; -import org.springframework.data.jpa.domain.support.AuditingEntityListener; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Objects; +//import org.springframework.data.jpa.domain.support.AuditingEntityListener; @Entity @Table(name = "user") -@EntityListeners(AuditingEntityListener.class) +//@EntityListeners(AuditingEntityListener.class) public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - public int id; + public int Id; public String first_name; public String last_name; - @Column(unique=true) +// @Column(unique=true) public String email; public String password; - @Column(unique=true) - public int pantherId; +// @Column(unique=true) + public int panther_id; + + public User(){} + + public User(int id, String first_name, String last_name, String email, String password, int panther_id){ + this.Id = id; + this.first_name = first_name; + this.last_name = last_name; + this.email = email; + this.password = password; + this.panther_id = panther_id; + } public void login() { @@ -31,11 +47,11 @@ public void logout() { } public int getId() { - return id; + return Id; } public void setId(int id) { - this.id = id; + this.Id = id; } public String getFirst_name() { @@ -71,10 +87,10 @@ public void setPassword(String password) { } public int getPantherId() { - return pantherId; + return panther_id; } public void setPantherId(int pantherId) { - this.pantherId = pantherId; + this.panther_id = panther_id; } } diff --git a/Assignment 3/rpisystem/app/src/main/resources/application.properties b/Assignment 3/rpisystem/app/src/main/resources/application.properties index f60e3ab1f..03502a7f2 100644 --- a/Assignment 3/rpisystem/app/src/main/resources/application.properties +++ b/Assignment 3/rpisystem/app/src/main/resources/application.properties @@ -1,7 +1,7 @@ ## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties) spring.datasource.url = jdbc:mysql://localhost:3306/rpi_rental?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true spring.datasource.username = root -spring.datasource.password = B@seball2011 +spring.datasource.password = root ## Hibernate Properties