Skip to content

Commit f29fd06

Browse files
committed
feat(user): adds getById endpoint
1 parent 24f8fbe commit f29fd06

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

src/main/java/com/github/renancvitor/inventory/application/user/controller/UserController.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,12 @@ public ResponseEntity<Void> activate(@PathVariable Long id, @AuthenticationPrinc
7272
return ResponseEntity.noContent().build();
7373
}
7474

75+
@GetMapping("/{id}")
76+
public ResponseEntity<UserDetailData> getById(@PathVariable Long id) {
77+
UserDetailData user = userService.getById(id);
78+
79+
return ResponseEntity.ok(user);
80+
}
81+
82+
7583
}

src/main/java/com/github/renancvitor/inventory/application/user/dto/UserDetailData.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ public record UserDetailData(
77
Long id,
88
String personCpf,
99
String personEmail,
10-
String nameUserType) {
10+
String nameUserType,
11+
Boolean active) {
1112

1213
public UserDetailData(User user) {
1314
this(
1415
user.getId(),
1516
user.getPerson().getCpf(),
1617
user.getPerson().getEmail(),
17-
UserTypeEnum.valueOf(user.getUserType().getUserTypeName()).getDisplayName());
18+
UserTypeEnum.valueOf(user.getUserType().getUserTypeName()).getDisplayName(),
19+
user.getActive());
1820
}
1921

2022
}

src/main/java/com/github/renancvitor/inventory/application/user/service/UserService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,4 +192,11 @@ public boolean strongPassword(String password) {
192192
return password != null && password.matches(regex);
193193
}
194194

195+
public UserDetailData getById(Long id) {
196+
User user = userRepository.findById(id)
197+
.orElseThrow(() -> NotFoundExceptionFactory.user(id));
198+
199+
return new UserDetailData(user);
200+
}
201+
195202
}

0 commit comments

Comments
 (0)