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
74422536
authored
Aug 31, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat(user): implementado changeRole en el repositorio, servicio y controlador de UpdateUser
parent
40c6ed73
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
1 deletions
src/main/java/com/example/apprecetas/user/application/UpdateUserUseCase.java
src/main/java/com/example/apprecetas/user/application/impl/UpdateUserUseCaseImpl.java
src/main/java/com/example/apprecetas/user/domain/repository/UpdateUserRepository.java
src/main/java/com/example/apprecetas/user/infrastructure/controller/UpdateUserController.java
src/main/java/com/example/apprecetas/user/infrastructure/repository/impl/UpdateUserRepositoryImpl.java
src/main/java/com/example/apprecetas/user/application/UpdateUserUseCase.java
View file @
74422536
package
com
.
example
.
apprecetas
.
user
.
application
;
import
com.example.apprecetas.user.domain.entity.Role
;
import
com.example.apprecetas.user.domain.entity.User
;
public
interface
UpdateUserUseCase
{
...
...
@@ -11,4 +12,7 @@ public interface UpdateUserUseCase {
void
deactivateById
(
String
id
);
void
activateById
(
String
id
);
void
changeRole
(
String
id
,
Role
role
);
}
src/main/java/com/example/apprecetas/user/application/impl/UpdateUserUseCaseImpl.java
View file @
74422536
package
com
.
example
.
apprecetas
.
user
.
application
.
impl
;
import
com.example.apprecetas.user.application.UpdateUserUseCase
;
import
com.example.apprecetas.user.domain.entity.Role
;
import
com.example.apprecetas.user.domain.entity.User
;
import
com.example.apprecetas.user.domain.repository.UpdateUserRepository
;
import
com.example.apprecetas.user.infrastructure.mapper.UserMapper
;
...
...
@@ -38,4 +39,9 @@ public class UpdateUserUseCaseImpl implements UpdateUserUseCase {
public
void
activateById
(
String
id
)
{
updateUserRepository
.
activateById
(
id
);
}
@Override
public
void
changeRole
(
String
id
,
Role
role
)
{
updateUserRepository
.
changeRole
(
id
,
role
);
}
}
src/main/java/com/example/apprecetas/user/domain/repository/UpdateUserRepository.java
View file @
74422536
package
com
.
example
.
apprecetas
.
user
.
domain
.
repository
;
import
com.example.apprecetas.user.domain.entity.Role
;
import
com.example.apprecetas.user.infrastructure.repository.mongodb.UserDocument
;
public
interface
UpdateUserRepository
{
...
...
@@ -11,4 +12,6 @@ public interface UpdateUserRepository {
void
deactivateById
(
String
id
);
void
activateById
(
String
id
);
void
changeRole
(
String
id
,
Role
role
);
}
src/main/java/com/example/apprecetas/user/infrastructure/controller/UpdateUserController.java
View file @
74422536
...
...
@@ -2,6 +2,7 @@ package com.example.apprecetas.user.infrastructure.controller;
import
com.example.apprecetas.exception.UnprocessableEntityException
;
import
com.example.apprecetas.user.application.UpdateUserUseCase
;
import
com.example.apprecetas.user.domain.entity.Role
;
import
com.example.apprecetas.user.infrastructure.controller.dto.input.UserInputDto
;
import
com.example.apprecetas.user.infrastructure.controller.dto.input.UserUpdateInputDto
;
import
com.example.apprecetas.user.infrastructure.controller.dto.output.UserOutputDto
;
...
...
@@ -58,7 +59,6 @@ public class UpdateUserController {
@PatchMapping
(
"/{id}/deactivate"
)
public
ResponseEntity
<
String
>
deactivate
(
@PathVariable
String
id
)
{
// Añadir autorización
service
.
deactivateById
(
id
);
return
ResponseEntity
.
ok
().
body
(
"Usuario con id "
+
id
+
" desactivado"
);
}
...
...
@@ -69,4 +69,10 @@ public class UpdateUserController {
return
ResponseEntity
.
ok
().
body
(
"Usuario con id "
+
id
+
" activado"
);
}
@PatchMapping
(
"/{id}/role"
)
public
ResponseEntity
<
String
>
changeRole
(
@PathVariable
String
id
,
@RequestBody
Role
role
)
{
service
.
changeRole
(
id
,
role
);
return
ResponseEntity
.
ok
().
body
(
"Usuario con id "
+
id
+
" con rol: "
+
role
);
}
}
src/main/java/com/example/apprecetas/user/infrastructure/repository/impl/UpdateUserRepositoryImpl.java
View file @
74422536
package
com
.
example
.
apprecetas
.
user
.
infrastructure
.
repository
.
impl
;
import
com.example.apprecetas.exception.EntityNotFoundException
;
import
com.example.apprecetas.user.domain.entity.Role
;
import
com.example.apprecetas.user.domain.repository.UpdateUserRepository
;
import
com.example.apprecetas.user.infrastructure.repository.mongodb.UserDocument
;
import
com.example.apprecetas.user.infrastructure.repository.mongodb.UserRepository
;
...
...
@@ -60,4 +61,13 @@ public class UpdateUserRepositoryImpl implements UpdateUserRepository {
userDocument
.
setDeletedAt
(
null
);
userRepository
.
save
(
userDocument
);
}
@Override
public
void
changeRole
(
String
id
,
Role
role
)
{
UserDocument
userDocument
=
userRepository
.
findById
(
id
)
.
orElseThrow
(()
->
new
EntityNotFoundException
(
"Usuario con id "
+
id
+
" no encontrado"
));
userDocument
.
setRole
(
role
);
userRepository
.
save
(
userDocument
);
}
}
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