api public/private

This commit is contained in:
Eneko Nieto
2021-01-23 01:10:03 +01:00
parent ef9f11454b
commit a0b2b5bf8b
4 changed files with 40 additions and 23 deletions

View File

@@ -11,9 +11,8 @@ class JWTSecurityConfig : WebSecurityConfigurerAdapter() {
http.cors()
.and()
.authorizeRequests()
.anyRequest()
.permitAll()
// .hasAuthority("SCOPE_profile")
.antMatchers("/api/private/**").authenticated()
.anyRequest().permitAll()
// .and()
// .oauth2ResourceServer()
// .jwt()

View File

@@ -12,11 +12,10 @@ import org.springframework.data.repository.findByIdOrNull
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.*
@RestController
@RequestMapping("/api/travel")
@RequestMapping("/api/private/travel")
@CrossOrigin(origins = ["http://localhost:4200"])
class TravelRestController(
class PrivateTravelRestController(
private val userRepository: UserRepository,
private val travelRepository: TravelRepository
) : ApiRestController {
@@ -56,21 +55,6 @@ class TravelRestController(
}
}
@RequestMapping("/list")
fun listTravels(
@RequestParam @Validated filter: String?
): ApiResponse<TravelListDto> {
return response {
val travels = if ((filter == null) || (filter.isEmpty()))
ListTravels(travelRepository).listTravels().map { t -> TravelDto(t) }
else
ListTravels(travelRepository).listTravels(
filter, SORT_ASCENDING, 0, 20
).map { t -> TravelDto(t) }
TravelListDto(travelRepository.count(), travels)
}
}
@RequestMapping("/listusertravels")
fun listUserTravels(): ApiResponse<TravelListDto> {
return response {

View File

@@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("/api/user")
@RequestMapping("/api/private/user")
@CrossOrigin(origins = ["http://localhost:4200"])
class UserRestController(private val userRepository: UserRepository) : ApiRestController {
class PrivateUserRestController(private val userRepository: UserRepository) : ApiRestController {
@RequestMapping("/create")
fun createUser(@RequestBody @Validated createUserDto: CreateUserDto): ApiResponse<Unit> {

View File

@@ -0,0 +1,34 @@
package eu.fosil.okupamicoche.spring.controller
import eu.fosil.okupamicoche.dto.TravelDto
import eu.fosil.okupamicoche.dto.TravelListDto
import eu.fosil.okupamicoche.entities.ApiResponse
import eu.fosil.okupamicoche.repositories.TravelRepository
import eu.fosil.okupamicoche.usecases.travel.ListTravels
import eu.fosil.okupamicoche.usecases.travel.SORT_ASCENDING
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.CrossOrigin
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("/api/public")
@CrossOrigin(origins = ["http://localhost:4200"])
class PublicRestController(private val travelRepository: TravelRepository) : ApiRestController {
@RequestMapping("/list")
fun listTravels(
@RequestParam @Validated filter: String?
): ApiResponse<TravelListDto> {
return response {
val travels = if ((filter == null) || (filter.isEmpty()))
ListTravels(travelRepository).listTravels().map { t -> TravelDto(t) }
else
ListTravels(travelRepository).listTravels(
filter, SORT_ASCENDING, 0, 20
).map { t -> TravelDto(t) }
TravelListDto(travelRepository.count(), travels)
}
}
}