Commit 4eec918d by Rex Zhou

admin services

parent e50f873f
Showing with 81 additions and 163 deletions
......@@ -17,6 +17,8 @@ package edu.uchicago.mpcs.topics;
import edu.uchicago.mpcs.topics.auction.Item;
import edu.uchicago.mpcs.topics.controller.ItemController;
import edu.uchicago.mpcs.topics.db.UserDB;
import edu.uchicago.mpcs.topics.user.User;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -34,22 +36,12 @@ public class Application {
}
// @Bean
// public CommandLineRunner run(ApplicationContext appContext) {
// public CommandLineRunner initData(UserDB userDB) {
// return args -> {
// ItemController itemController = appContext.getBean(ItemController.class);
// for (int i=0; i<5; i++) {
// Item item = new Item(
// "title" + i,
// "desc" + i,
// (long) i,
// 5.0,
// 500.0,
// "https://www.sprint.com/content/dam/sprint/commerce/devices/apple/iphone_xr/red/devicenb_650x900.png/jcr:content/renditions/cq5dam.thumbnail.290.370.png",
// (long) i
// );
// itemController.addItem(item);
// System.out.println(i);
// }
// userDB.save(new User("111", "wawa", "rex", "wawa", "rex@gmail.com", true));
// userDB.save(new User("222", "wawa", "haoh", "wawa", "hao@gmail.com", true));
// userDB.save(new User("333", "wawa", "nella", "wawa", "nella@gmail.com", true));
// userDB.save(new User("444", "wawa", "bright", "wawa", "bright@gmail.com", true));
// };
// }
......
//package edu.uchicago.mpcs.topics.controller;
//
//import edu.uchicago.mpcs.topics.service.AdminService;
//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 Rex on 2018-11-19
// */
//
//@RestController
//@RequestMapping("/user")
//public class AdminController {
//
// @Autowired
// private AdminService adminService;
//
// @GetMapping("/list")
// public List<User> getAllUsers()
// {
// return adminService.getAllUsers();
// }
//
// @PostMapping("/add")
// public void addUser(@RequestBody User user)
// {
// adminService.addUser(user);
// }
//
//
// @DeleteMapping("/remove")
// public void removeUser(@RequestBody User user) //or change to item ID
// {
// adminService.deleteUser(user.getUserId());
// }
//
// @PutMapping("/update")
// public void updateUser(@RequestBody User user)
// {
// adminService.updateUser(user);
// }
//
//}
package edu.uchicago.mpcs.topics.controller;
import edu.uchicago.mpcs.topics.service.AdminService;
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 Rex on 2018-11-19
*/
@RestController
@RequestMapping("/user")
public class AdminController {
@Autowired
private AdminService adminService;
@GetMapping("/list")
public List<User> getAllUsers()
{
return adminService.getAllUsers();
}
@PostMapping("/add")
public void addUser(@RequestBody User user)
{
adminService.addUser(user);
}
@DeleteMapping("/remove")
public void removeUser(@RequestBody User user) //or change to item ID
{
adminService.deleteUser(user.getUserId());
}
@PutMapping("/update")
public void updateUser(@RequestBody User user)
{
adminService.updateUser(user);
}
}
<<<<<<< HEAD
package edu.uchicago.mpcs.topics.controller;
import edu.uchicago.mpcs.topics.auction.ItemCategory;
import edu.uchicago.mpcs.topics.auction.Listing;
//import edu.uchicago.mpcs.topics.auction.Listing;
import org.hibernate.query.Query;
import java.util.List;
public interface SearchController {
List<Listing> search(Query query);
List<Listing> search(ItemCategory itemCategory);
// List<Listing> search(Query query);
// List<Listing> search(ItemCategory itemCategory);
}
=======
//package edu.uchicago.mpcs.topics.controller;
//
//import edu.uchicago.mpcs.topics.auction.ItemCategory;
......@@ -26,4 +24,3 @@ public interface SearchController {
// List<Listing> search(Query query);
// List<Listing> search(ItemCategory itemCategory);
//}
>>>>>>> c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//package edu.uchicago.mpcs.topics.controller;
//
<<<<<<< HEAD
//import edu.uchicago.mpcs.topics.exceptions.UserAlreadyExistException;
//import edu.uchicago.mpcs.topics.exceptions.UserNotFoundException;
//
=======
//
//import edu.uchicago.mpcs.topics.exceptions.UserAlreadyExistException;
//import edu.uchicago.mpcs.topics.exceptions.UserNotFoundException;
>>>>>>> c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//import edu.uchicago.mpcs.topics.service.UserService;
//import edu.uchicago.mpcs.topics.user.User;
//import org.springframework.beans.factory.annotation.Autowired;
......
package edu.uchicago.mpcs.topics.db;
import edu.uchicago.mpcs.topics.auction.Item;
import edu.uchicago.mpcs.topics.user.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
public interface UserDB extends CrudRepository<User, String>
{
import java.util.List;
@RepositoryRestResource
public interface UserDB extends CrudRepository<User, String> {
List<User> findByEmail(@Param("email") String email);
List<User> findByUserId(@Param("userid") String userId);
}
\ No newline at end of file
<<<<<<< HEAD
package edu.uchicago.mpcs.topics.service;
import edu.uchicago.mpcs.topics.db.UserDB;
......@@ -14,16 +13,6 @@ import java.util.ArrayList;
@Service
public class 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);
@Autowired
private UserDB userDB;
......@@ -50,57 +39,3 @@ public class AdminService {
}
}
=======
//package edu.uchicago.mpcs.topics.service;
//
//import edu.uchicago.mpcs.topics.db.UserRepository;
//import edu.uchicago.mpcs.topics.db.UserRepository;
//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;
//
///**
// * Modified by Rex on 2018-11-19
// */
//
//@Service
//public class 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);
// @Autowired
// private UserRepository 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);
// }
//
//}
>>>>>>> c51b3a02a6655c09eed52c7ca9c09fcc2327352a
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.Listing;
import org.hibernate.query.Query;
import java.util.List;
public interface SearchEngine {
List<Listing> search(Query query);
List<Listing> search(ItemCategory itemCategory);
// List<Listing> search(Query query);
// List<Listing> search(ItemCategory itemCategory);
}
......@@ -7,21 +7,16 @@
//import edu.uchicago.mpcs.topics.user.User;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
<<<<<<< HEAD
//import lombok.extern.slf4j.Slf4j;
//
=======
>>>>>>> c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//
///**
// * Created by Rex on 2018-11-20
// */
//
//@Service
<<<<<<< HEAD
//@Slf4j
=======
>>>>>>> c51b3a02a6655c09eed52c7ca9c09fcc2327352a
//public class UserServiceImpl implements UserService {
//
// @Autowired
......
package edu.uchicago.mpcs.topics.user;
import edu.uchicago.mpcs.topics.query.UserQuery;
import org.hibernate.SessionFactory;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.Data;
import edu.uchicago.mpcs.topics.auction.Bid;
import edu.uchicago.mpcs.topics.auction.Item;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Optional;
import java.util.Set;
/**
* Modified by Rex on 2018-11-18.
**/
@Data
@Entity
public class User {
@Id
@Column(name = "USER_ID")
@GenericGenerator(strategy = "uuid2", name = "uuid")
@GeneratedValue(generator = "uuid") private String userId;
@GeneratedValue(generator = "uuid")
private String userId;
@Column(name = "PASSWORD", nullable = false)
private String password;
......@@ -38,12 +38,6 @@ public class User {
@Column(name = "ADMIN", nullable = false)
private boolean isAdmin;
// @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
// private Set<Sale> sales;
//
// @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
// private Set<Bid> bids;
public User() {}
public User(String userId, String password, String firstName, String lastName, String email, boolean isAdmin)
......
spring.data.rest.base-path=/api
spring.h2.console.enabled=true
\ No newline at end of file
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto = update
spring.datasource.url=jdbc:h2:file:./target/h2db;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.driver-class-name=org.h2.Driver
\ No newline at end of file
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