Cambios en los repositorios

This commit is contained in:
Eneko Nieto
2021-01-04 16:14:54 +01:00
parent a5b91c89f1
commit e2ebb77d85
16 changed files with 41 additions and 47 deletions

View File

@@ -19,7 +19,7 @@ repositories {
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
// implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")

View File

@@ -1,10 +0,0 @@
package eu.fosil.okupamicoche.entities
import java.util.*
interface Repository<DATA, ID> {
fun save(data: DATA)
fun delete(data: DATA)
fun findAll(): List<DATA>
fun findById(id: ID): Optional<DATA>
}

View File

@@ -1,17 +1,17 @@
package eu.fosil.okupamicoche.entities
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
import javax.persistence.*
@Entity
class Travel(
@Id @GeneratedValue var id: Long? = null,
@OneToOne
var driver: User,
@OneToMany
var travelers: List<User>,
var departureDate: String,
var from: String,
var to: String,
var origin: String,
var destination: String,
var availablePlaces: Int,
var description: String? = null,
var matrixRoomId: String

View File

@@ -0,0 +1,6 @@
package eu.fosil.okupamicoche.repositories
import eu.fosil.okupamicoche.entities.Travel
import org.springframework.data.repository.CrudRepository
interface TravelRepository : CrudRepository<Travel, Long>

View File

@@ -0,0 +1,6 @@
package eu.fosil.okupamicoche.repositories
import eu.fosil.okupamicoche.entities.User
import org.springframework.data.repository.CrudRepository
interface UserRepository : CrudRepository<User, Long>

View File

@@ -1,9 +1,13 @@
package eu.fosil.okupamicoche.spring
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.autoconfigure.domain.EntityScan
import org.springframework.boot.runApplication
import org.springframework.data.jpa.repository.config.EnableJpaRepositories
@SpringBootApplication
@EnableJpaRepositories("eu.fosil.okupamicoche.*")
@EntityScan("eu.fosil.okupamicoche.*")
class OkupaMiCocheApplication
fun main(args: Array<String>) {

View File

@@ -1,11 +1,13 @@
package eu.fosil.okupamicoche.spring.controller
import eu.fosil.okupamicoche.entities.User
import eu.fosil.okupamicoche.spring.jpa.UserRepository
import eu.fosil.okupamicoche.repositories.UserRepository
import eu.fosil.okupamicoche.usecases.user.CreateUser
import eu.fosil.okupamicoche.usecases.user.DeleteUser
import eu.fosil.okupamicoche.usecases.user.EditUser
import eu.fosil.okupamicoche.usecases.user.ListUsers
import org.springframework.validation.annotation.Validated
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@@ -14,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController
class RestController(private val userRepository: UserRepository) {
@RequestMapping("/user/create")
fun createUser(user: User) {
fun createUser(@RequestBody @Validated user: User) {
CreateUser(userRepository).createUser(user)
}

View File

@@ -1,7 +0,0 @@
package eu.fosil.okupamicoche.spring.jpa
import eu.fosil.okupamicoche.entities.Travel
import org.springframework.data.repository.CrudRepository
import org.springframework.data.repository.Repository
interface TravelRepository : Repository<Travel, Long>, CrudRepository<Travel, Long>

View File

@@ -1,7 +0,0 @@
package eu.fosil.okupamicoche.spring.jpa
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.User
import org.springframework.data.repository.CrudRepository
interface UserRepository : Repository<User, Long>, CrudRepository<User, Long>

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.travel
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.Travel
import eu.fosil.okupamicoche.repositories.TravelRepository
class CreateTravel(private val travelRepository: Repository<Travel, Long>) {
class CreateTravel(private val travelRepository: TravelRepository) {
fun createTravel(travel: Travel) {
travelRepository.save(travel)
}

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.travel
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.Travel
import eu.fosil.okupamicoche.repositories.TravelRepository
class DeleteTravel(private val travelRepository: Repository<Travel, Long>) {
class DeleteTravel(private val travelRepository: TravelRepository) {
fun deleteTravel(travel: Travel) {
travelRepository.delete(travel)
}

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.travel
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.Travel
import eu.fosil.okupamicoche.repositories.TravelRepository
class EditTravel(private val travelRepository: Repository<Travel, Long>) {
class EditTravel(private val travelRepository: TravelRepository) {
fun editTravel(travel: Travel) {
travelRepository.save(travel)
}

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.user
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.User
import eu.fosil.okupamicoche.repositories.UserRepository
class CreateUser(private val userRepository: Repository<User, Long>) {
class CreateUser(private val userRepository: UserRepository) {
fun createUser(user: User) {
userRepository.save(user)
}

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.user
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.User
import eu.fosil.okupamicoche.repositories.UserRepository
class DeleteUser(private val userRepository: Repository<User, Long>) {
class DeleteUser(private val userRepository: UserRepository) {
fun deleteUser(user: User) {
userRepository.delete(user)
// cancelarViajes()

View File

@@ -1,9 +1,9 @@
package eu.fosil.okupamicoche.usecases.user
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.User
import eu.fosil.okupamicoche.repositories.UserRepository
class EditUser(private val userRepository: Repository<User, Long>) {
class EditUser(private val userRepository: UserRepository) {
fun editUser(user: User) {
userRepository.save(user)
}

View File

@@ -1,10 +1,10 @@
package eu.fosil.okupamicoche.usecases.user
import eu.fosil.okupamicoche.entities.Repository
import eu.fosil.okupamicoche.entities.User
import eu.fosil.okupamicoche.repositories.UserRepository
class ListUsers(private val userRepository: Repository<User, Long>) {
class ListUsers(private val userRepository: UserRepository) {
fun listUsers(): List<User> {
return userRepository.findAll()
return userRepository.findAll().toList()
}
}