Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alba María Álvarez
/
AppRecetas
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
60898b64
authored
Jun 20, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
perf(user): cambio en UpdateUserController solo deja actualizar usuario propio
parent
3f85146c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
4 deletions
src/main/java/com/example/apprecetas/user/infrastructure/controller/UpdateUserController.java
src/main/java/com/example/apprecetas/user/infrastructure/controller/UpdateUserController.java
View file @
60898b64
package
com
.
example
.
apprecetas
.
user
.
infrastructure
.
controller
;
package
com
.
example
.
apprecetas
.
user
.
infrastructure
.
controller
;
import
com.example.apprecetas.exception.UnprocessableEntityException
;
import
com.example.apprecetas.exception.UnprocessableEntityException
;
import
com.example.apprecetas.user.application.ReadUserUseCase
;
import
com.example.apprecetas.user.application.UpdateUserUseCase
;
import
com.example.apprecetas.user.application.UpdateUserUseCase
;
import
com.example.apprecetas.user.domain.entity.User
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserInputDto
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserInputDto
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto
;
import
com.example.apprecetas.user.infrastructure.mapper.UserMapper
;
import
com.example.apprecetas.user.infrastructure.mapper.UserMapper
;
...
@@ -9,8 +11,12 @@ import jakarta.validation.Valid;
...
@@ -9,8 +11,12 @@ import jakarta.validation.Valid;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.mapstruct.factory.Mappers
;
import
org.mapstruct.factory.Mappers
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -21,17 +27,21 @@ public class UpdateUserController {
...
@@ -21,17 +27,21 @@ public class UpdateUserController {
private
final
UpdateUserUseCase
service
;
private
final
UpdateUserUseCase
service
;
private
final
ReadUserUseCase
readUserUseCase
;
private
final
UserMapper
mapper
=
Mappers
.
getMapper
(
UserMapper
.
class
);
private
final
UserMapper
mapper
=
Mappers
.
getMapper
(
UserMapper
.
class
);
@PutMapping
(
"/{id}"
)
@PutMapping
public
ResponseEntity
<
UserOutputDto
>
update
(
@
PathVariable
String
id
,
@
Valid
@RequestBody
UserInputDto
userInputDto
,
BindingResult
result
)
{
public
ResponseEntity
<
UserOutputDto
>
update
(
@Valid
@RequestBody
UserInputDto
userInputDto
,
BindingResult
result
)
{
if
(
result
.
hasErrors
())
{
if
(
result
.
hasErrors
())
{
String
errorMsg
=
result
.
getFieldErrors
().
stream
()
String
errorMsg
=
result
.
getFieldErrors
().
stream
()
.
map
(
fieldError
->
fieldError
.
getField
()
+
": "
+
fieldError
.
getDefaultMessage
())
.
map
(
fieldError
->
fieldError
.
getField
()
+
": "
+
fieldError
.
getDefaultMessage
())
.
collect
(
Collectors
.
joining
(
"; "
));
.
collect
(
Collectors
.
joining
(
"; "
));
throw
new
UnprocessableEntityException
(
errorMsg
);
throw
new
UnprocessableEntityException
(
errorMsg
);
}
}
return
ResponseEntity
.
ok
().
body
(
mapper
.
map
(
service
.
updateById
(
id
,
mapper
.
map
(
userInputDto
))));
String
email
=
SecurityContextHolder
.
getContext
().
getAuthentication
().
getName
();
User
user
=
readUserUseCase
.
readByEmail
(
email
);
return
ResponseEntity
.
ok
().
body
(
mapper
.
map
(
service
.
updateById
(
user
.
getId
(),
mapper
.
map
(
userInputDto
))));
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment