91.2. Refactored delete method to use userId instead of id (#10)
This commit is contained in:
@ -96,10 +96,10 @@ public class UserResource {
|
||||
.build();
|
||||
}
|
||||
|
||||
@DeleteMapping("{id}")
|
||||
@DeleteMapping("{userId}")
|
||||
@PreAuthorize("hasAuthority('user:delete')")
|
||||
public HttpResponse deleteUser(@PathVariable long id) {
|
||||
userService.deleteUser(id);
|
||||
public HttpResponse deleteUser(@PathVariable String userId) {
|
||||
userService.deleteUser(userId);
|
||||
return HttpResponse.builder()
|
||||
.httpStatusCode(OK.value())
|
||||
.httpStatus(OK)
|
||||
|
||||
@ -15,4 +15,6 @@ public interface UserRepository extends JpaRepository<User, Long> {
|
||||
|
||||
Boolean existsByEmail(String email);
|
||||
|
||||
Optional<User> findByUserId(String userId);
|
||||
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ public interface UserService extends UserDetailsService {
|
||||
|
||||
User updateUser(String username, UserDto userDto);
|
||||
|
||||
void deleteUser(long id);
|
||||
void deleteUser(String userId);
|
||||
|
||||
void resetPassword(String email);
|
||||
|
||||
|
||||
@ -218,8 +218,11 @@ public class UserServiceImpl implements UserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUser(long id) {
|
||||
userRepository.deleteById(id);
|
||||
public void deleteUser(String userId) {
|
||||
User userToBeDeleted = userRepository
|
||||
.findByUserId(userId)
|
||||
.orElseThrow(() -> new UserNotFoundException("User was not found"));
|
||||
userRepository.delete(userToBeDeleted);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -651,10 +651,10 @@ class UserResourceTest extends BaseUserTest {
|
||||
superAdmin.setAuthorities(Role.ROLE_SUPER_ADMIN.getAuthorities());
|
||||
String token = jwtTokenProvider.generateJwtToken(new UserPrincipal(superAdmin));
|
||||
|
||||
long id = user.getId();
|
||||
String userId = user.getUserId();
|
||||
|
||||
//when
|
||||
var requestEntity = RequestEntity.delete("/user/{id}", id)
|
||||
var requestEntity = RequestEntity.delete("/user/{userId}", userId)
|
||||
.headers(headers -> headers.setBearerAuth(token))
|
||||
.build();
|
||||
var responseEntity = restTemplate.exchange(requestEntity, HttpResponse.class);
|
||||
@ -676,10 +676,10 @@ class UserResourceTest extends BaseUserTest {
|
||||
User roleUser = createRandomUser();
|
||||
String token = jwtTokenProvider.generateJwtToken(new UserPrincipal(roleUser));
|
||||
|
||||
long id = user.getId();
|
||||
String userId = user.getUserId();
|
||||
|
||||
//when
|
||||
var requestEntity = RequestEntity.delete("/user/{id}", id)
|
||||
var requestEntity = RequestEntity.delete("/user/{userId}", userId)
|
||||
.headers(headers -> headers.setBearerAuth(token))
|
||||
.build();
|
||||
var responseEntity = restTemplate.exchange(requestEntity, HttpResponse.class);
|
||||
@ -703,10 +703,10 @@ class UserResourceTest extends BaseUserTest {
|
||||
superAdmin.setAuthorities(Role.ROLE_SUPER_ADMIN.getAuthorities());
|
||||
String token = jwtTokenProvider.generateJwtToken(new UserPrincipal(superAdmin));
|
||||
|
||||
long id = Integer.MAX_VALUE;
|
||||
String userId = UUID.randomUUID().toString();
|
||||
|
||||
//when
|
||||
var requestEntity = RequestEntity.delete("/user/{id}", id)
|
||||
var requestEntity = RequestEntity.delete("/user/{userId}", userId)
|
||||
.headers(headers -> headers.setBearerAuth(token))
|
||||
.build();
|
||||
var responseEntity = restTemplate.exchange(requestEntity, HttpResponse.class);
|
||||
@ -718,7 +718,7 @@ class UserResourceTest extends BaseUserTest {
|
||||
.isNotNull()
|
||||
.hasNoNullFieldsOrProperties()
|
||||
.hasFieldOrPropertyWithValue("httpStatus", BAD_REQUEST)
|
||||
.hasFieldOrPropertyWithValue("message", "NO CLASS NET.SHYSHKIN.STUDY.FULLSTACK.SUPPORTPORTAL.BACKEND.DOMAIN.USER ENTITY WITH ID 2147483647 EXISTS!");
|
||||
.hasFieldOrPropertyWithValue("message", "USER WAS NOT FOUND");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user