Skip to content
Open
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 Assignment 3/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
}
}
2 changes: 1 addition & 1 deletion Assignment 3/rpisystem/app/src/main/app/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -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});
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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<User> 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();
// }
}

Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -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, Long> {
User findById(int id);

}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.nimps.rpisystem.rpisystem.Service;

import com.nimps.rpisystem.rpisystem.User;
import java.util.*;

public interface IUserService{
List<User> findAll();
User findById(int id);
void deleteUser(User user);
}
Original file line number Diff line number Diff line change
@@ -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<User> findAll(){
return (List<User>) userRepo.findAll();
}

public User findById(int id){
List<User> 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);
}
}
}
Original file line number Diff line number Diff line change
@@ -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() {

Expand All @@ -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() {
Expand Down Expand Up @@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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
Expand Down