Localhost como auth server

This commit is contained in:
Eneko Nieto
2021-01-26 00:44:21 +01:00
parent 952f24ac02
commit 8b0d24410f
7 changed files with 28 additions and 16 deletions

View File

@@ -0,0 +1,3 @@
package eu.fosil.okupamicoche.dto
class ListDto<T>(val total: Long, val list: List<T>)

View File

@@ -1,3 +0,0 @@
package eu.fosil.okupamicoche.dto
class TravelListDto(val totalTravels: Long, val travels: List<TravelDto>)

View File

@@ -12,9 +12,13 @@ import org.springframework.data.repository.query.Param
interface TravelRepository : PagingAndSortingRepository<Travel, TravelId> {
@Query("SELECT t FROM Travel t WHERE t.driver.id = :userId")
fun findUserTravelsAsDriver(@Param("userId") userId: UserId): List<Travel>
@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<Travel>
@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

View File

@@ -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<TravelListDto> {
fun listUserTravels(): ApiResponse<ListDto<TravelDto>> {
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)
}
}

View File

@@ -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<TravelListDto> {
): ApiResponse<ListDto<TravelDto>> {
return response {
val travels =
ListTravels(travelRepository).listTravels(
filter, sortColumn, sortAscending, pageIndex, pageSize
).map { t -> TravelDto(t) }
TravelListDto(travelRepository.count(), travels)
ListDto(travelRepository.count(), travels)
}
}
}

View File

@@ -6,9 +6,15 @@ import eu.fosil.okupamicoche.repositories.TravelRepository
class ListUserTravels(private val travelRepository: TravelRepository) {
fun listUserTravels(idUser: UserId): List<Travel> {
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)
}
}

View File

@@ -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