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
16 changes: 16 additions & 0 deletions src/main/java/io/khasang/eshop/config/AppConfig.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
package io.khasang.eshop.config;

import io.khasang.eshop.dao.AnonymousDao;
import io.khasang.eshop.dao.CatDao;
import io.khasang.eshop.dao.UserDao;
import io.khasang.eshop.dao.impl.AnonymousDaoImpl;
import io.khasang.eshop.dao.impl.CatDaoImpl;
import io.khasang.eshop.dao.impl.UserDaoImpl;
import io.khasang.eshop.entity.Anonymous;
import io.khasang.eshop.entity.Cat;
import io.khasang.eshop.entity.User;
import io.khasang.eshop.model.CreateTable;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
Expand Down Expand Up @@ -52,6 +58,16 @@ public CatDao catDao(){
return new CatDaoImpl(Cat.class);
}

@Bean
public UserDao userDao(){
return new UserDaoImpl(User.class);
}

@Bean
public AnonymousDao anonymousDao() {
return new AnonymousDaoImpl(Anonymous.class);
}

@Bean
public CreateTable createTable(){
return new CreateTable(jdbcTemplate());
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/io/khasang/eshop/config/SecurityConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers("/admin/**").access("hasRole('ADMIN')")
.antMatchers("/user/**").access("hasRole('USER')")
// .antMatchers("/user/**").access("hasRole('USER')")
.and().csrf().disable().formLogin().defaultSuccessUrl("/", false);
}

Expand Down
55 changes: 55 additions & 0 deletions src/main/java/io/khasang/eshop/controller/AnonymousController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package io.khasang.eshop.controller;


import io.khasang.eshop.entity.Anonymous;
import io.khasang.eshop.service.AnonymousService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Controller()
@RequestMapping("/anonymous")
public class AnonymousController {
private final AnonymousService anonymousService;
@Autowired
public AnonymousController(AnonymousService anonymousService){
this.anonymousService = anonymousService;
}
@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public List<Anonymous> getAllAnonymous() {
return anonymousService.getAllAnonymous();
}

@RequestMapping(value = "/add", method = RequestMethod.POST, produces = "application/json;charset=utf-8")
@ResponseBody
public Anonymous addAnonymous(@RequestBody Anonymous anonymous){
return anonymousService.addAnonymous(anonymous);
}

@RequestMapping(value = "/update", method = RequestMethod.PUT, produces = "application/json;charset=utf-8")
@ResponseBody
public Anonymous updateAnonymous(@RequestBody Anonymous anonymous){
return anonymousService.updateAnonymous(anonymous);
}

@RequestMapping(value = "/patch", method = RequestMethod.PATCH, produces = "application/json;charset=utf-8")
@ResponseBody
public Anonymous patchAnonymous(@RequestBody Anonymous anonymous){
return anonymousService.patchAnonymous(anonymous);
}

@RequestMapping(value = "/delete", method = RequestMethod.DELETE, produces = "application/json;charset=utf-8")
@ResponseBody
public Anonymous deleteAnonymous(@RequestParam(value = "id") String id) {
return anonymousService.delete(Long.parseLong(id));
}

@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
@ResponseBody
public Anonymous getAnonymousById(@PathVariable(value = "id") String id) {
return anonymousService.getById(Long.parseLong(id));
}
}
58 changes: 58 additions & 0 deletions src/main/java/io/khasang/eshop/controller/UserController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package io.khasang.eshop.controller;


import io.khasang.eshop.entity.User;
import io.khasang.eshop.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {
private final UserService userService;
@Autowired
public UserController(UserService userService){
this.userService = userService;
}
@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public List<User> getAllUsers() {
return userService.getAllUsers();
}

@RequestMapping(value = "/add", method = RequestMethod.POST, produces = "application/json;charset=utf-8")
@ResponseBody
public User addUser(@RequestBody User user){
return userService.addUser(user);
}

@RequestMapping(value = "/update", method = RequestMethod.PUT, produces = "application/json;charset=utf-8")
@ResponseBody
public User updateUser(@RequestBody User user){
return userService.updateUser(user);
}

@RequestMapping(value = "/patch", method = RequestMethod.PATCH, produces = "application/json;charset=utf-8")
@ResponseBody
public User patchUser(@RequestBody User user){
return userService.patchUser(user);
}

@RequestMapping(value = "/delete", method = RequestMethod.DELETE, produces = "application/json;charset=utf-8")
@ResponseBody
public User deleteUser(@RequestParam(value = "id") String id) {
return userService.delete(Long.parseLong(id));
}

@RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
@ResponseBody
public User getUserById(@PathVariable(value = "id") String id) {
return userService.getById(Long.parseLong(id));
}
}



6 changes: 6 additions & 0 deletions src/main/java/io/khasang/eshop/dao/AnonymousDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package io.khasang.eshop.dao;

import io.khasang.eshop.entity.Anonymous;

public interface AnonymousDao extends BasicDao<Anonymous> {
}
7 changes: 7 additions & 0 deletions src/main/java/io/khasang/eshop/dao/UserDao.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package io.khasang.eshop.dao;


import io.khasang.eshop.entity.User;

public interface UserDao extends BasicDao<User> {
}
10 changes: 10 additions & 0 deletions src/main/java/io/khasang/eshop/dao/impl/AnonymousDaoImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.khasang.eshop.dao.impl;

import io.khasang.eshop.dao.AnonymousDao;
import io.khasang.eshop.entity.Anonymous;

public class AnonymousDaoImpl extends BasicDaoImpl<Anonymous> implements AnonymousDao {
public AnonymousDaoImpl(Class<Anonymous> entityClass) {
super(entityClass);
}
}
10 changes: 10 additions & 0 deletions src/main/java/io/khasang/eshop/dao/impl/UserDaoImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.khasang.eshop.dao.impl;

import io.khasang.eshop.dao.UserDao;
import io.khasang.eshop.entity.User;

public class UserDaoImpl extends BasicDaoImpl<User> implements UserDao {
public UserDaoImpl(Class<User> entityClass) {
super(entityClass);
}
}
43 changes: 43 additions & 0 deletions src/main/java/io/khasang/eshop/entity/Anonymous.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package io.khasang.eshop.entity;

import javax.persistence.*;


@Entity
@Table(name = "anonymous")
public class Anonymous {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "anonymous_id")
private long id;
private String name;
private String description;

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

public String getName() {

return name;
}

public void setName(String name) {
this.name = name;
}

public long getId() {
return id;
}

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

}


39 changes: 39 additions & 0 deletions src/main/java/io/khasang/eshop/entity/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package io.khasang.eshop.entity;

import javax.persistence.*;

@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private long id;
private String name;

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

private String description;

public long getId() {
return id;
}

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

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
50 changes: 50 additions & 0 deletions src/main/java/io/khasang/eshop/service/AnonymousService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package io.khasang.eshop.service;

import io.khasang.eshop.entity.Anonymous;

import java.util.List;

public interface AnonymousService {

/**
* method for receiving all anonymous from DB
* @return List of all anonymous
*/
List<Anonymous> getAllAnonymous();

/**
* method for receiving specify anonymous by id
* @param id = anonymous id
* @return anonymous by id
*/
Anonymous addAnonymous(Anonymous anonymous);

/**
* method for update anonymous
* @param anonymous = updated anonymous
* @return updated anonymous
*/
Anonymous updateAnonymous(Anonymous anonymous);

/**
* method for update anonymous
* @param anonymous = updated anonymous
* @return updated anonymous
*/
Anonymous patchAnonymous(Anonymous anonymous);

/**
* method for delete specify anonymous by id
*
* @param id = anonymous id
* @return deleted anonymous by id
*/
Anonymous delete(long id);

/**
* method for getbyid for anonymous
* @param id = anonymous
* @return anonymous
*/
Anonymous getById(long id);
}
51 changes: 51 additions & 0 deletions src/main/java/io/khasang/eshop/service/UserService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package io.khasang.eshop.service;

import io.khasang.eshop.entity.Cat;
import io.khasang.eshop.entity.User;

import java.util.List;

public interface UserService {

/**
* method for receiving all user from DB
* @return List of all user
*/
List<User> getAllUsers();

/**
* method for receiving specify user by id
* @param id = user's id
* @return user by id
*/
User addUser(User user);

/**
* method for update user
* @param user = updated user
* @return updated user
*/
User updateUser(User user);

/**
* method for update user
* @param user = updated user
* @return updated user
*/
User patchUser(User user);

/**
* method for delete specify user by id
*
* @param id = user's id
* @return user by id
*/
User delete(long id);

/**
* method for getbyid for user
* @param id = user
* @return user
*/
User getById(long id);
}
Loading