From 8b0d24410fd7f323b1dec6f0b3175f55b987cd39 Mon Sep 17 00:00:00 2001 From: Eneko Nieto Date: Tue, 26 Jan 2021 00:44:21 +0100 Subject: [PATCH] Localhost como auth server --- .../kotlin/eu/fosil/okupamicoche/dto/ListDto.kt | 3 +++ .../eu/fosil/okupamicoche/dto/TravelListDto.kt | 3 --- .../okupamicoche/repositories/TravelRepository.kt | 4 ++++ .../controller/PrivateTravelRestController.kt | 10 ++++++---- .../spring/controller/PublicRestController.kt | 6 +++--- .../usecases/travel/ListUserTravels.kt | 14 ++++++++++---- src/main/resources/application.properties | 4 ++-- 7 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 src/main/kotlin/eu/fosil/okupamicoche/dto/ListDto.kt delete mode 100644 src/main/kotlin/eu/fosil/okupamicoche/dto/TravelListDto.kt diff --git a/src/main/kotlin/eu/fosil/okupamicoche/dto/ListDto.kt b/src/main/kotlin/eu/fosil/okupamicoche/dto/ListDto.kt new file mode 100644 index 0000000..a6c0e98 --- /dev/null +++ b/src/main/kotlin/eu/fosil/okupamicoche/dto/ListDto.kt @@ -0,0 +1,3 @@ +package eu.fosil.okupamicoche.dto + +class ListDto(val total: Long, val list: List) diff --git a/src/main/kotlin/eu/fosil/okupamicoche/dto/TravelListDto.kt b/src/main/kotlin/eu/fosil/okupamicoche/dto/TravelListDto.kt deleted file mode 100644 index 1930f38..0000000 --- a/src/main/kotlin/eu/fosil/okupamicoche/dto/TravelListDto.kt +++ /dev/null @@ -1,3 +0,0 @@ -package eu.fosil.okupamicoche.dto - -class TravelListDto(val totalTravels: Long, val travels: List) diff --git a/src/main/kotlin/eu/fosil/okupamicoche/repositories/TravelRepository.kt b/src/main/kotlin/eu/fosil/okupamicoche/repositories/TravelRepository.kt index a474715..d5f65f9 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/repositories/TravelRepository.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/repositories/TravelRepository.kt @@ -12,9 +12,13 @@ import org.springframework.data.repository.query.Param interface TravelRepository : PagingAndSortingRepository { @Query("SELECT t FROM Travel t WHERE t.driver.id = :userId") fun findUserTravelsAsDriver(@Param("userId") userId: UserId): List + @Query("SELECT count(t) FROM Travel t WHERE t.driver.id = :userId") + fun countUserTravelsAsDriver(@Param("userId") userId: UserId): Long @Query("SELECT t FROM Travel t JOIN t.travelers u WHERE u.id = :userId") fun findUserTravelsAsTraveler(@Param("userId") userId: UserId): List + @Query("SELECT count(t) FROM Travel t JOIN t.travelers u WHERE u.id = :userId") + fun countUserTravelsAsTraveler(@Param("userId") userId: UserId): Long fun findByOriginContainingOrDestinationContainingAllIgnoreCase( filter: String, filter2: String, pageable: Pageable diff --git a/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PrivateTravelRestController.kt b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PrivateTravelRestController.kt index 68296b1..d732f1e 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PrivateTravelRestController.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PrivateTravelRestController.kt @@ -6,7 +6,7 @@ import eu.fosil.okupamicoche.entities.UserId import eu.fosil.okupamicoche.repositories.TravelRepository import eu.fosil.okupamicoche.repositories.UserRepository import eu.fosil.okupamicoche.dto.TravelDto -import eu.fosil.okupamicoche.dto.TravelListDto +import eu.fosil.okupamicoche.dto.ListDto import eu.fosil.okupamicoche.usecases.travel.* import org.springframework.data.repository.findByIdOrNull import org.springframework.validation.annotation.Validated @@ -56,11 +56,13 @@ class PrivateTravelRestController( } @RequestMapping("/listusertravels") - fun listUserTravels(): ApiResponse { + fun listUserTravels(): ApiResponse> { return response { val userId = getCurrentUserId() - val travels = ListUserTravels(travelRepository).listUserTravels(userId).map { t -> TravelDto(t) } - TravelListDto(travelRepository.count(), travels) + val useCase = ListUserTravels(travelRepository) + val travels = useCase.listUserTravels(userId).map { t -> TravelDto(t) } + println("travels=$travels") + ListDto(useCase.countUserTravels(userId), travels) } } diff --git a/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PublicRestController.kt b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PublicRestController.kt index caf1b70..8d5cf4e 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PublicRestController.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/PublicRestController.kt @@ -1,7 +1,7 @@ package eu.fosil.okupamicoche.spring.controller import eu.fosil.okupamicoche.dto.TravelDto -import eu.fosil.okupamicoche.dto.TravelListDto +import eu.fosil.okupamicoche.dto.ListDto import eu.fosil.okupamicoche.entities.ApiResponse import eu.fosil.okupamicoche.repositories.TravelRepository import eu.fosil.okupamicoche.usecases.travel.ListTravels @@ -23,13 +23,13 @@ class PublicRestController(private val travelRepository: TravelRepository) : Api @RequestParam @Validated sortAscending: Boolean?, @RequestParam @Validated pageIndex: Int?, @RequestParam @Validated pageSize: Int?, - ): ApiResponse { + ): ApiResponse> { return response { val travels = ListTravels(travelRepository).listTravels( filter, sortColumn, sortAscending, pageIndex, pageSize ).map { t -> TravelDto(t) } - TravelListDto(travelRepository.count(), travels) + ListDto(travelRepository.count(), travels) } } } \ No newline at end of file diff --git a/src/main/kotlin/eu/fosil/okupamicoche/usecases/travel/ListUserTravels.kt b/src/main/kotlin/eu/fosil/okupamicoche/usecases/travel/ListUserTravels.kt index ff3a8e0..9a93956 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/usecases/travel/ListUserTravels.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/usecases/travel/ListUserTravels.kt @@ -6,9 +6,15 @@ import eu.fosil.okupamicoche.repositories.TravelRepository class ListUserTravels(private val travelRepository: TravelRepository) { fun listUserTravels(idUser: UserId): List { - return listOf( - travelRepository.findUserTravelsAsDriver(idUser), - travelRepository.findUserTravelsAsTraveler(idUser) - ).flatten() + println("idUser=$idUser") + return listOf( + travelRepository.findUserTravelsAsDriver(idUser), + travelRepository.findUserTravelsAsTraveler(idUser) + ).flatten() + } + + fun countUserTravels(idUser: UserId): Long { + return travelRepository.countUserTravelsAsDriver(idUser) + + travelRepository.countUserTravelsAsTraveler(idUser) } } \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7e10329..3bc44cb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,5 +1,5 @@ -spring.security.oauth2.resourceserver.jwt.issuer-uri=https://auth.fosil.eu/auth/realms/fosil -spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://auth.fosil.eu/auth/realms/fosil/protocol/openid-connect/certs +spring.security.oauth2.resourceserver.jwt.issuer-uri=http://localhost:8081/auth/realms/fosil +#spring.security.oauth2.resourceserver.jwt.issuer-uri=https://auth.fosil.eu/auth/realms/fosil spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:h2:file:./okupamicoche;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE spring.datasource.driver-class-name=org.h2.Driver