Skip to content

Commit

Permalink
fix bugs CipherianCorporation#1: UserRestController update method
Browse files Browse the repository at this point in the history
  • Loading branch information
jackytank committed Dec 22, 2022
1 parent c288349 commit 59e6349
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 14 deletions.
6 changes: 3 additions & 3 deletions db/shoeshy_db.sql
Original file line number Diff line number Diff line change
Expand Up @@ -251,12 +251,12 @@ inner join sub_categories s on p.sub_category_id = s.id

-- Update rows in table '[TableName]' in schema '[dbo]'
-- Delete rows from table '[vouchers]' in schema '[dbo]'
DELETE FROM [dbo].[vouchers]
DELETE FROM [dbo].[users]
WHERE /* add search conditions here */
code = 'testdel3'
username = 'testdel'
GO

select * from users u where u.username = 'testdel' and u.is_deleted = 0




Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public List<Category> getCateByName(@PathVariable String name) {

@PostMapping("/rest/categories")
public ResponseEntity<Category> create(@RequestBody Category category){

return ResponseEntity.ok(categoryService.save(category));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.edu.graduationproject.controller.rest;

import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -11,7 +12,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;

import org.springframework.security.core.GrantedAuthority;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
Expand All @@ -26,6 +31,7 @@
import com.edu.graduationproject.entity.UserRole;
import com.edu.graduationproject.exception.BadRequestException;
import com.edu.graduationproject.exception.ResourceNotFoundException;
import com.edu.graduationproject.model.EAuthProvider;
import com.edu.graduationproject.service.UserRoleService;
import com.edu.graduationproject.service.UserService;
import com.fasterxml.jackson.core.JsonProcessingException;
Expand Down Expand Up @@ -110,19 +116,27 @@ public ResponseEntity<User> create(@RequestBody User user) {
// update user
@PutMapping("/rest/users/{idOrUsername}")
public ResponseEntity<User> update(@PathVariable("idOrUsername") Optional<Object> idOrUsername,
@RequestBody User user) throws JsonProcessingException {
@RequestBody User user, Model model) throws JsonProcessingException {
try {
Optional<User> userByUsername = userService.findByUsername((String) idOrUsername.get());
Optional<User> userById = userService.findById(Integer.valueOf((String) idOrUsername.get()));
if (userByUsername.isPresent() || userById.isPresent()) {
if (user.getIsDeleted() == null) {
user.setIsDeleted(false);
}
User savedUser = userService.update(user);
return ResponseEntity.ok(savedUser);
Optional<User> existingUser = userService.findByUsername((String) idOrUsername.get());
Optional<User> existUserByEmail = userService.findByEmail(user.getEmail());
if (!existingUser.isPresent()) {
existingUser = userService.findById(Integer.valueOf((String) idOrUsername.get()));
}
return ResponseEntity.notFound().build();
} catch (Exception e) {
if (!existingUser.get().getProvider().equals(EAuthProvider.DATABASE)) {
return ResponseEntity.badRequest().body(user);
}
if (user.getProvider() != EAuthProvider.DATABASE) {
user.setProvider(EAuthProvider.DATABASE);
}
if (existUserByEmail.isPresent()) {
// model.addAttribute("message", "email" + user.getEmail() + "already in used");
System.out.printf("Email đã được sử dụng");
return ResponseEntity.badRequest().build();
}
User savedUser = userService.update(user);
return ResponseEntity.ok(savedUser);
} catch (NoSuchElementException e) {
return ResponseEntity.notFound().build();
}
}
Expand Down

0 comments on commit 59e6349

Please sign in to comment.