Trabajo en controllers
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package eu.fosil.okupamicoche.spring.controller
|
||||
|
||||
import eu.fosil.okupamicoche.entities.TravelId
|
||||
import eu.fosil.okupamicoche.entities.User
|
||||
import eu.fosil.okupamicoche.entities.UserId
|
||||
import eu.fosil.okupamicoche.repositories.TravelRepository
|
||||
import eu.fosil.okupamicoche.repositories.UserRepository
|
||||
import eu.fosil.okupamicoche.spring.dto.TravelDto
|
||||
@@ -33,12 +33,12 @@ class TravelRestController(
|
||||
}
|
||||
|
||||
@RequestMapping("/delete")
|
||||
fun deleteTravel(id: TravelId) {
|
||||
fun deleteTravel(@RequestBody @Validated id: TravelId) {
|
||||
DeleteTravel(travelRepository).deleteTravel(id)
|
||||
}
|
||||
|
||||
@RequestMapping("/edit")
|
||||
fun editTravel(travelDto: TravelDto) {
|
||||
fun editTravel(@RequestBody @Validated travelDto: TravelDto) {
|
||||
EditTravel(travelRepository).editTravel(travelDto.toTravel(userRepository))
|
||||
}
|
||||
|
||||
@@ -54,18 +54,18 @@ class TravelRestController(
|
||||
}
|
||||
|
||||
@RequestMapping("/addtraveler")
|
||||
fun addTraveler(travelDto: TravelDto, user: User) {
|
||||
AddTraveler(travelRepository).addTraveler(travelDto.toTravel(userRepository), user)
|
||||
fun addTraveler(@RequestBody @Validated travelId: TravelId, @RequestBody @Validated userId: UserId) {
|
||||
AddTraveler(userRepository, travelRepository).addTraveler(travelId, userId)
|
||||
}
|
||||
|
||||
@RequestMapping("/removetraveler")
|
||||
fun removeTraveler(travelDto: TravelDto, user: User) {
|
||||
RemoveTraveler(travelRepository).removeTraveler(travelDto.toTravel(userRepository), user)
|
||||
fun removeTraveler(@RequestBody @Validated travelId: TravelId, @RequestBody @Validated userId: UserId) {
|
||||
RemoveTraveler(userRepository, travelRepository).removeTraveler(travelId, userId)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Devuelve el docnumber del usuario actual.
|
||||
* Devuelve el id del usuario actual.
|
||||
*/
|
||||
private fun getCurrentUserId(): String? {
|
||||
val authentication = SecurityContextHolder.getContext().authentication
|
||||
|
||||
@@ -3,10 +3,8 @@ package eu.fosil.okupamicoche.spring.controller
|
||||
import eu.fosil.okupamicoche.entities.UserId
|
||||
import eu.fosil.okupamicoche.repositories.UserRepository
|
||||
import eu.fosil.okupamicoche.spring.dto.CreateUserDto
|
||||
import eu.fosil.okupamicoche.spring.dto.TravelDto
|
||||
import eu.fosil.okupamicoche.spring.dto.UserDto
|
||||
import eu.fosil.okupamicoche.usecases.user.*
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.validation.annotation.Validated
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
@@ -17,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController
|
||||
class UserRestController(private val userRepository: UserRepository) {
|
||||
|
||||
@RequestMapping("/create")
|
||||
fun createUser(@RequestBody createUserDto: CreateUserDto) {
|
||||
fun createUser(@RequestBody @Validated createUserDto: CreateUserDto) {
|
||||
CreateUser(userRepository).createUser(createUserDto.toUser(userRepository))
|
||||
}
|
||||
|
||||
@@ -27,12 +25,12 @@ class UserRestController(private val userRepository: UserRepository) {
|
||||
}
|
||||
|
||||
@RequestMapping("/delete")
|
||||
fun deleteUser(userId: UserId) {
|
||||
fun deleteUser(@RequestBody @Validated userId: UserId) {
|
||||
DeleteUser(userRepository).deleteUser(userId)
|
||||
}
|
||||
|
||||
@RequestMapping("/edit")
|
||||
fun editUser(userDto: UserDto) {
|
||||
fun editUser(@RequestBody @Validated userDto: UserDto) {
|
||||
EditUser(userRepository).editUser(userDto.toUser(userRepository))
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
package eu.fosil.okupamicoche.usecases.travel
|
||||
|
||||
import eu.fosil.okupamicoche.entities.Travel
|
||||
import eu.fosil.okupamicoche.entities.User
|
||||
import eu.fosil.okupamicoche.entities.TravelId
|
||||
import eu.fosil.okupamicoche.entities.UserId
|
||||
import eu.fosil.okupamicoche.repositories.TravelRepository
|
||||
import eu.fosil.okupamicoche.repositories.UserRepository
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
|
||||
class AddTraveler(private val travelRepository: TravelRepository) {
|
||||
fun addTraveler(travel: Travel, user: User) {
|
||||
if (!travel.travelers.contains(user))
|
||||
class AddTraveler(
|
||||
private val userRepository: UserRepository,
|
||||
private val travelRepository: TravelRepository
|
||||
) {
|
||||
fun addTraveler(travelId: TravelId, userId: UserId) {
|
||||
val user = userRepository.findByIdOrNull(userId)
|
||||
val travel = travelRepository.findByIdOrNull(travelId)
|
||||
if ((travel?.travelers?.contains(user) == false) && (user != null)) {
|
||||
travel.travelers.add(user)
|
||||
travelRepository.save(travel)
|
||||
travelRepository.save(travel)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,21 @@
|
||||
package eu.fosil.okupamicoche.usecases.travel
|
||||
|
||||
import eu.fosil.okupamicoche.entities.Travel
|
||||
import eu.fosil.okupamicoche.entities.User
|
||||
import eu.fosil.okupamicoche.entities.TravelId
|
||||
import eu.fosil.okupamicoche.entities.UserId
|
||||
import eu.fosil.okupamicoche.repositories.TravelRepository
|
||||
import eu.fosil.okupamicoche.repositories.UserRepository
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
|
||||
class RemoveTraveler(private val travelRepository: TravelRepository) {
|
||||
fun removeTraveler(travel: Travel, user: User) {
|
||||
travel.travelers.remove(user)
|
||||
travelRepository.save(travel)
|
||||
class RemoveTraveler(
|
||||
private val userRepository: UserRepository,
|
||||
private val travelRepository: TravelRepository
|
||||
) {
|
||||
fun removeTraveler(travelId: TravelId, userId: UserId) {
|
||||
val user = userRepository.findByIdOrNull(userId)
|
||||
val travel = travelRepository.findByIdOrNull(travelId)
|
||||
if ((user != null) && (travel != null)) {
|
||||
travel.travelers.remove(user)
|
||||
travelRepository.save(travel)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user