Skip to content

Commit 36a2cac

Browse files
committed
Initial Commit
1 parent f77c4d3 commit 36a2cac

File tree

4 files changed

+53
-1
lines changed

4 files changed

+53
-1
lines changed

src/main/java/com/webservice/mobile/app/io/repositories/UserRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
import com.webservice.mobile.app.io.entity.UserEntity;
44
import org.springframework.data.repository.CrudRepository;
5+
import org.springframework.data.repository.PagingAndSortingRepository;
56
import org.springframework.stereotype.Repository;
67

78

89
@Repository
9-
public interface UserRepository extends CrudRepository<UserEntity,Long> {
10+
public interface UserRepository extends PagingAndSortingRepository<UserEntity,Long> {
1011

1112
UserEntity findUserByEmail(String email);
1213

src/main/java/com/webservice/mobile/app/service/UserService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
import com.webservice.mobile.app.shared.dto.UserDTO;
44
import org.springframework.security.core.userdetails.UserDetailsService;
55

6+
import java.util.List;
7+
68
public interface UserService extends UserDetailsService {
79
UserDTO createUser(UserDTO userDTO);
810
UserDTO getUser(String email);
911
UserDTO getUserByUserId(String userId);
1012
UserDTO updateUser(String userId, UserDTO user);
1113
void deleteUser(String userId);
14+
List<UserDTO> getUsers(int page,int limit);
1215
}

src/main/java/com/webservice/mobile/app/service/impl/UserServiceImpl.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,19 @@
1010
import com.webservice.mobile.app.ui.model.response.ErrorMessages;
1111
import org.springframework.beans.BeanUtils;
1212
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.data.domain.Page;
14+
import org.springframework.data.domain.PageRequest;
15+
import org.springframework.data.domain.Pageable;
1316
import org.springframework.security.core.userdetails.User;
1417
import org.springframework.security.core.userdetails.UserDetails;
1518
import org.springframework.security.core.userdetails.UsernameNotFoundException;
1619
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
1720
import org.springframework.stereotype.Service;
21+
import org.springframework.transaction.annotation.Transactional;
1822
import sun.rmi.runtime.Log;
1923

2024
import java.util.ArrayList;
25+
import java.util.List;
2126

2227
@Service
2328
public class UserServiceImpl implements UserService {
@@ -92,6 +97,7 @@ public UserDTO updateUser(String userId, UserDTO user) {
9297
return returnValue;
9398
}
9499

100+
@Transactional
95101
@Override
96102
public void deleteUser(String userId) {
97103

@@ -102,6 +108,26 @@ public void deleteUser(String userId) {
102108

103109
}
104110

111+
@Override
112+
public List<UserDTO> getUsers(int page, int limit) {
113+
114+
List<UserDTO> returnValue = new ArrayList<>();
115+
116+
if (page>0) page = page-1;
117+
Pageable pageable = PageRequest.of(page,limit);
118+
Page<UserEntity> userEntityPage = userRepository.findAll(pageable);
119+
List<UserEntity> users = userEntityPage.getContent();
120+
121+
for (UserEntity userEntity:users){
122+
UserDTO userDTO = new UserDTO();
123+
BeanUtils.copyProperties(userEntity,userDTO);
124+
returnValue.add(userDTO);
125+
}
126+
127+
128+
return returnValue;
129+
}
130+
105131
@Override
106132
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
107133
UserEntity userEntity= userRepository.findUserByEmail(email);

src/main/java/com/webservice/mobile/app/ui/controller/UserController.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
import org.springframework.http.MediaType;
1414
import org.springframework.web.bind.annotation.*;
1515

16+
import java.util.ArrayList;
17+
import java.util.List;
18+
1619
@RestController
1720
@RequestMapping("users") // http://localhost:8080/
1821
public class UserController {
@@ -85,5 +88,24 @@ public OperationStatusModel deleteUser(@PathVariable String id){
8588
return returnValue;
8689
}
8790

91+
@GetMapping(produces = {MediaType.APPLICATION_XML_VALUE,
92+
MediaType.APPLICATION_JSON_VALUE})
93+
public List<UserRest> getUsers(@RequestParam(value = "page",defaultValue = "0")int page,
94+
@RequestParam(value = "limit",defaultValue = "25")int limit)
95+
{
96+
97+
List<UserRest> returnValue = new ArrayList<>();
98+
99+
List<UserDTO> users =userService.getUsers(page,limit);
100+
101+
for (UserDTO userDTO: users){
102+
UserRest userRest = new UserRest();
103+
BeanUtils.copyProperties(userDTO,userRest);
104+
returnValue.add(userRest);
105+
}
106+
107+
return returnValue;
108+
}
109+
88110

89111
}

0 commit comments

Comments
 (0)