diff --git a/src/main/kotlin/eu/fosil/okupamicoche/entities/Repository.kt b/src/main/kotlin/eu/fosil/okupamicoche/entities/Repository.kt index 3040a05..7342a22 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/entities/Repository.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/entities/Repository.kt @@ -1,8 +1,10 @@ package eu.fosil.okupamicoche.entities +import java.util.* + interface Repository { fun save(data: DATA) fun delete(data: DATA) fun findAll(): List - fun findById(id: ID): DATA + fun findById(id: ID): Optional } \ No newline at end of file diff --git a/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/RestController.kt b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/RestController.kt new file mode 100644 index 0000000..3e4d906 --- /dev/null +++ b/src/main/kotlin/eu/fosil/okupamicoche/spring/controller/RestController.kt @@ -0,0 +1,35 @@ +package eu.fosil.okupamicoche.spring.controller + +import eu.fosil.okupamicoche.entities.User +import eu.fosil.okupamicoche.spring.jpa.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.web.bind.annotation.RequestMapping +import org.springframework.web.bind.annotation.RestController + +@RestController +@RequestMapping("/api") +class RestController(private val userRepository: UserRepository) { + + @RequestMapping("/user/create") + fun createUser(user: User) { + CreateUser(userRepository).createUser(user) + } + + @RequestMapping("/user/delete") + fun deleteUser(user: User) { + DeleteUser(userRepository).deleteUser(user) + } + + @RequestMapping("/user/edit") + fun editUser(user: User) { + EditUser(userRepository).editUser(user) + } + + @RequestMapping("/user/list") + fun listUsers() { + ListUsers(userRepository).listUsers() + } +} \ No newline at end of file diff --git a/src/main/kotlin/eu/fosil/okupamicoche/spring/jpa/UserRepository.kt b/src/main/kotlin/eu/fosil/okupamicoche/spring/jpa/UserRepository.kt index ad681e4..6351100 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/spring/jpa/UserRepository.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/spring/jpa/UserRepository.kt @@ -1,7 +1,7 @@ package eu.fosil.okupamicoche.spring.jpa +import eu.fosil.okupamicoche.entities.Repository import eu.fosil.okupamicoche.entities.User import org.springframework.data.repository.CrudRepository -import org.springframework.data.repository.Repository interface UserRepository : Repository, CrudRepository \ No newline at end of file diff --git a/src/main/kotlin/eu/fosil/okupamicoche/usecases/user/ListUsers.kt b/src/main/kotlin/eu/fosil/okupamicoche/usecases/user/ListUsers.kt index 59592bd..e699282 100644 --- a/src/main/kotlin/eu/fosil/okupamicoche/usecases/user/ListUsers.kt +++ b/src/main/kotlin/eu/fosil/okupamicoche/usecases/user/ListUsers.kt @@ -4,7 +4,7 @@ import eu.fosil.okupamicoche.entities.Repository import eu.fosil.okupamicoche.entities.User class ListUsers(private val userRepository: Repository) { - fun listUsers() { - userRepository.findAll() + fun listUsers(): List { + return userRepository.findAll() } } \ No newline at end of file