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
c50c5123
authored
Apr 26, 2025
by
Alba María Álvarez
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
feat(ReadUser): implementada funcionalidad de leer usuarios
parent
f816f94e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
122 additions
and
0 deletions
src/main/java/com/example/apprecetas/user/application/ReadUserUseCase.java
src/main/java/com/example/apprecetas/user/application/impl/ReadUserUseCaseImpl.java
src/main/java/com/example/apprecetas/user/domain/repository/ReadUserRepository.java
src/main/java/com/example/apprecetas/user/infrastructure/controller/ReadUserController.java
src/main/java/com/example/apprecetas/user/infrastructure/repository/impl/ReadUserRepositoryImpl.java
src/main/java/com/example/apprecetas/user/application/ReadUserUseCase.java
0 → 100644
View file @
c50c5123
package
com
.
example
.
apprecetas
.
user
.
application
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto
;
import
java.util.List
;
public
interface
ReadUserUseCase
{
UserOutputDto
readById
(
Long
id
);
List
<
UserOutputDto
>
readAll
();
}
src/main/java/com/example/apprecetas/user/application/impl/ReadUserUseCaseImpl.java
0 → 100644
View file @
c50c5123
package
com
.
example
.
apprecetas
.
user
.
application
.
impl
;
import
com.example.apprecetas.exceptions.EntityNotFoundException
;
import
com.example.apprecetas.user.application.ReadUserUseCase
;
import
com.example.apprecetas.user.domain.repository.ReadUserRepository
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto
;
import
com.example.apprecetas.user.infrastructure.mapper.UserMapper
;
import
com.example.apprecetas.user.infrastructure.repository.jpa.UserJpa
;
import
lombok.RequiredArgsConstructor
;
import
org.mapstruct.factory.Mappers
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
@RequiredArgsConstructor
public
class
ReadUserUseCaseImpl
implements
ReadUserUseCase
{
private
final
ReadUserRepository
repository
;
private
final
UserMapper
mapper
=
Mappers
.
getMapper
(
UserMapper
.
class
);
@Override
public
UserOutputDto
readById
(
Long
id
)
{
UserJpa
userJpa
=
repository
.
readById
(
id
)
.
orElseThrow
(()
->
new
EntityNotFoundException
(
"Usuario con id "
+
id
+
" no encontrado"
));
return
mapper
.
map
(
mapper
.
mapJpa
(
userJpa
));
}
@Override
public
List
<
UserOutputDto
>
readAll
()
{
return
repository
.
readAll
().
stream
()
.
map
(
mapper:
:
mapJpa
)
.
map
(
mapper:
:
map
)
.
toList
();
}
}
src/main/java/com/example/apprecetas/user/domain/repository/ReadUserRepository.java
0 → 100644
View file @
c50c5123
package
com
.
example
.
apprecetas
.
user
.
domain
.
repository
;
import
com.example.apprecetas.user.infrastructure.repository.jpa.UserJpa
;
import
java.util.List
;
import
java.util.Optional
;
public
interface
ReadUserRepository
{
Optional
<
UserJpa
>
readById
(
Long
id
);
List
<
UserJpa
>
readAll
();
}
src/main/java/com/example/apprecetas/user/infrastructure/controller/ReadUserController.java
0 → 100644
View file @
c50c5123
package
com
.
example
.
apprecetas
.
user
.
infrastructure
.
controller
;
import
com.example.apprecetas.user.application.ReadUserUseCase
;
import
com.example.apprecetas.user.infrastructure.controller.dto.UserOutputDto
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/user"
)
@RequiredArgsConstructor
public
class
ReadUserController
{
private
final
ReadUserUseCase
service
;
@GetMapping
(
"/{id}"
)
public
ResponseEntity
<
UserOutputDto
>
readById
(
@PathVariable
Long
id
)
{
return
ResponseEntity
.
ok
().
body
(
service
.
readById
(
id
));
}
@GetMapping
public
ResponseEntity
<
List
<
UserOutputDto
>>
readAll
()
{
if
(
service
.
readAll
().
isEmpty
())
return
ResponseEntity
.
noContent
().
build
();
return
ResponseEntity
.
ok
().
body
(
service
.
readAll
());
}
}
src/main/java/com/example/apprecetas/user/infrastructure/repository/impl/ReadUserRepositoryImpl.java
0 → 100644
View file @
c50c5123
package
com
.
example
.
apprecetas
.
user
.
infrastructure
.
repository
.
impl
;
import
com.example.apprecetas.user.domain.repository.ReadUserRepository
;
import
com.example.apprecetas.user.infrastructure.repository.jpa.UserJpa
;
import
com.example.apprecetas.user.infrastructure.repository.jpa.UserRepositoryJpa
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Optional
;
@Repository
@RequiredArgsConstructor
public
class
ReadUserRepositoryImpl
implements
ReadUserRepository
{
private
final
UserRepositoryJpa
repositoryJpa
;
@Override
public
Optional
<
UserJpa
>
readById
(
Long
id
)
{
return
repositoryJpa
.
findById
(
id
);
}
@Override
public
List
<
UserJpa
>
readAll
()
{
return
repositoryJpa
.
findAll
();
}
}
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