Commit 343282e6 by Bright Sukumpanumet

Merge remote-tracking branch 'remotes/origin/rex' into bright

# Conflicts:
#	.gitignore
#	src/main/java/edu/uchicago/mpcs/topics/Application.java
#	src/main/java/edu/uchicago/mpcs/topics/controller/UserController.java
#	src/main/java/edu/uchicago/mpcs/topics/db/UserDB.java
#	src/main/java/edu/uchicago/mpcs/topics/service/UserService.java
#	src/main/java/edu/uchicago/mpcs/topics/user/CustomerSupport.java
#	src/main/java/edu/uchicago/mpcs/topics/user/User.java
parents 87bde002 5e91534e
File added
package edu.uchicago.mpcs.topics.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import edu.uchicago.mpcs.topics.auction.Item;
import edu.uchicago.mpcs.topics.service.ItemService;
import edu.uchicago.mpcs.topics.service.UserService;
import edu.uchicago.mpcs.topics.user.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Created by Bright on 2018-11-18.
* Created by Rex on 2018-11-19
*/
@RestController
@RequestMapping("/user")
public class UserController
{
@RequestMapping("/item")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> getAllUsers()
{
return userService.getAllUsers();
}
@PostMapping("/add")
public void addUser(@RequestBody User user)
{
userService.addUser(user);
}
@DeleteMapping("/remove")
public void removeUser(@RequestBody User user) //or change to item ID
{
userService.deleteUser(user.getUserId());
}
@PutMapping("/update")
public void updateUser(@RequestBody User user)
{
userService.updateUser(user);
}
}
package edu.uchicago.mpcs.topics.db;
import edu.uchicago.mpcs.topics.user.Admin;
import edu.uchicago.mpcs.topics.user.Buyer;
import edu.uchicago.mpcs.topics.user.Seller;
import edu.uchicago.mpcs.topics.user.User;
import org.springframework.data.repository.CrudRepository;
/**
* Modified by Rex on 2018-11-19
*/
public interface UserDB extends CrudRepository<User, String>{
// void create(Admin admin);
// void create(Seller seller);
// void create(Buyer buyer);
//
// void block(Admin admin);
// void block(Seller seller);
// void block(Buyer buyer);
}
package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.auction.ItemCategory;
import edu.uchicago.mpcs.topics.auction.Listing;
import edu.uchicago.mpcs.topics.auction.Query;
import edu.uchicago.mpcs.topics.user.User;
import java.util.List;
public interface AdminService {
void block(User user);
void remove(User user);
void suspend(User user);
void addCategory(ItemCategory itemCategory);
void modifyCategory(ItemCategory itemCategory);
void removeCategory(ItemCategory itemCategory);
void stopAuction(Listing listing, User user);
List<Listing> viewFlaggedItems();
List<Listing> viewInProgressItems();
List<Listing> viewClosed(Query query);
}
package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.db.UserDB;
import edu.uchicago.mpcs.topics.user.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.ArrayList;
/**
* Created by Bright on 2018-11-18.
* Modified by Rex on 2018-11-19
*/
@Service
public class UserService
{
public class UserService {
// void block(User user);
// void remove(User user);
// void suspend(User user);
// void addCategory(ItemCategory itemCategory);
// void modifyCategory(ItemCategory itemCategory);
// void removeCategory(ItemCategory itemCategory);
// void stopAuction(Listing listing, User user);
// List<Listing> viewFlaggedItems();
// List<Listing> viewInProgressItems();
// List<Listing> viewClosed(Query query);
@Autowired
private UserDB userDB;
public List<User> getAllUsers()
{
List<User> users = new ArrayList<>();
userDB.findAll().forEach(users::add);
return users;
}
public void addUser(User user)
{
userDB.save(user);
}
public void deleteUser(String userId)
{
userDB.deleteById(userId);
}
public void updateUser(User user)
{
userDB.save(user);
}
}
package edu.uchicago.mpcs.topics.user;
import javax.persistence.Entity;
//import javax.persistence.Id;
/**
* Modified by Rex on 2018-11-18.
**/
@ Entity
public class Admin extends User {
public Admin(String userId, String password, String firstName, String lastName, String email, boolean isAdmin) {
super(userId, password, firstName, lastName, email, true);
}
}
......@@ -2,7 +2,16 @@ package edu.uchicago.mpcs.topics.user;
import edu.uchicago.mpcs.topics.transaction.ShoppingCart;
import javax.persistence.Entity;
/**
* Modified by Rex on 2018-11-18.
**/
@Entity
public class Buyer extends User {
private ShoppingCart shoppingCart;
private WatchList watchList;
public Buyer(String userId, String password, String firstName, String lastName, String email, boolean isAdmin) {
super(userId, password, firstName, lastName, email, false);
}
}
package edu.uchicago.mpcs.topics.user;
//
//public class CustomerSupport extends User {
//}
package edu.uchicago.mpcs.topics.user;
/**
* Modified by Rex on 2018-11-18.
**/
import javax.persistence.Entity;
@Entity
public class Seller extends User {
public Seller(String userId, String password, String firstName, String lastName, String email, boolean isAdmin) {
super(userId, password, firstName, lastName, email, false);
}
}
package edu.uchicago.mpcs.topics.user;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
/**
* Modified by Rex on 2018-11-18.
**/
@Entity
public class User
{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long UserId;
public class User {
@Id
private String userId;
private String password;
private String name;
private String firstName;
private String lastName;
private String email;
private String role;
private String status;
private Boolean isAdmin;
public User(String userId, String password, String firstName, String lastName, String email, boolean isAdmin)
{
this.userId = userId;
this.password = password;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.isAdmin = isAdmin;
}
public String getUserId() {
return userId;
}
public void setId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() { return email; }
public void setEmail() { this.email = email; }
public boolean getIsAdmin() { return isAdmin; }
public void setIsAdmin() { this.isAdmin = isAdmin; }
}
......@@ -3,15 +3,15 @@ package edu.uchicago.mpcs.topics.user;
import edu.uchicago.mpcs.topics.auction.Item;
import java.util.List;
public class WatchList {
private List<Item> items;
public List<Item> getItems() {
return items;
}
public void setItems(List<Item> items) {
this.items = items;
}
}
//
//public class WatchList {
// private List<Item> items;
//
// public List<Item> getItems() {
// return items;
// }
//
// public void setItems(List<Item> items) {
// this.items = items;
// }
//}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment