diff --git a/src/main/kotlin/de/thk/gm/gdw/todolist/controllers/TasksController.kt b/src/main/kotlin/de/thk/gm/gdw/todolist/controllers/TasksController.kt index b76bcdca453b03258b339af01455fde97d7aa771..34d0eed17e2261183339bd358ae1b091003cc790 100644 --- a/src/main/kotlin/de/thk/gm/gdw/todolist/controllers/TasksController.kt +++ b/src/main/kotlin/de/thk/gm/gdw/todolist/controllers/TasksController.kt @@ -2,18 +2,15 @@ package de.thk.gm.gdw.todolist.controllers import de.thk.gm.gdw.todolist.models.Task import de.thk.gm.gdw.todolist.repositories.TasksRepository -import de.thk.gm.gdw.todolist.services.TasksService import org.springframework.data.repository.findByIdOrNull import org.springframework.http.HttpStatus import org.springframework.stereotype.Controller import org.springframework.web.bind.annotation.* -import org.springframework.web.server.ResponseStatusException import java.util.* import kotlin.collections.ArrayList @Controller -class TasksController (private val tasksService: TasksService) { - +class TasksController (private val tasksRepository: TasksRepository) { @PostMapping("/tasks") @ResponseBody @@ -21,44 +18,34 @@ class TasksController (private val tasksService: TasksService) { fun saveTask(name : String) { var task = Task() task.name = name - tasksService.save(task) + tasksRepository.save(task) + } @GetMapping("/tasks") @ResponseBody fun getTasks() : String { - var tasks = tasksService.getAll() + val tasks = tasksRepository.findByOpenTrue() return tasks.joinToString(",") } @GetMapping("/tasks/{id}") @ResponseBody fun getTaskById(@PathVariable("id") id : UUID) : String { - val task : Task? = tasksService.getById(id) - if(task == null) { - throw ResponseStatusException(HttpStatus.NOT_FOUND, "Task not found") - } + val task : Task? = tasksRepository.findByIdOrNull(id) return task!!.name } @PutMapping("/tasks/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) fun updateTask(@PathVariable("id") id : UUID, name : String) { - val task : Task? = tasksService.getById(id) - if(task == null) { - throw ResponseStatusException(HttpStatus.NOT_FOUND, "Task not found") - } + val task : Task? = tasksRepository.findByIdOrNull(id) task!!.name = name - tasksService.save(task) } @DeleteMapping("/tasks/{id}") @ResponseStatus(HttpStatus.NO_CONTENT) fun deleteTask(@PathVariable("id") id : UUID) { - val task : Task? = tasksService.getById(id) - if(task == null) { - throw ResponseStatusException(HttpStatus.NOT_FOUND, "Task not found") - } - tasksService.delete(id) + tasksRepository.deleteById(id) } } \ No newline at end of file diff --git a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TaskServiceImplExternal.kt b/src/main/kotlin/de/thk/gm/gdw/todolist/services/TaskServiceImplExternal.kt deleted file mode 100644 index bd62108755adf03fe070a4bfc21862f83f796cc7..0000000000000000000000000000000000000000 --- a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TaskServiceImplExternal.kt +++ /dev/null @@ -1,43 +0,0 @@ -package de.thk.gm.gdw.todolist.services - -import de.thk.gm.gdw.todolist.models.Task -import org.springframework.http.HttpStatus -import org.springframework.stereotype.Service -import org.springframework.web.server.ResponseStatusException -import java.net.URI -import java.net.http.HttpClient -import java.net.http.HttpRequest -import java.net.http.HttpResponse -import java.util.* - -@Service -class TaskServiceImplExternal : TasksService { - override fun getAll(): List<Task> { - TODO("Not yet implemented") - } - - override fun getAll(open: Boolean): List<Task> { - TODO("Not yet implemented") - } - - override fun getById(id: UUID): Task? { - TODO("Not yet implemented") - } - - override fun save(task: Task): Task { - val client = HttpClient.newBuilder().build(); - val request = HttpRequest.newBuilder().POST(HttpRequest.BodyPublishers.ofString(task.toString())) - .uri(URI.create("https://cloud-database.org/tasks")).build() - val response = client.send(request, HttpResponse.BodyHandlers.ofString()) - if(response.statusCode() == 201) { - return task - } else { - throw ResponseStatusException(HttpStatus.BAD_REQUEST) - } - - } - - override fun delete(id: UUID) { - TODO("Not yet implemented") - } -} \ No newline at end of file diff --git a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksService.kt b/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksService.kt deleted file mode 100644 index 4cd61b86c344e619f978110bea46a4f6ac84731b..0000000000000000000000000000000000000000 --- a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksService.kt +++ /dev/null @@ -1,12 +0,0 @@ -package de.thk.gm.gdw.todolist.services - -import de.thk.gm.gdw.todolist.models.Task -import java.util.* - -interface TasksService { - fun getAll(): List<Task> - fun getAll(open: Boolean): List<Task> - fun getById(id: UUID): Task? - fun save(task: Task): Task - fun delete(id: UUID) -} \ No newline at end of file diff --git a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksServiceImpl.kt b/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksServiceImpl.kt deleted file mode 100644 index 6d976210dcc0b656f3a71ed8a0888efc02e9fc6e..0000000000000000000000000000000000000000 --- a/src/main/kotlin/de/thk/gm/gdw/todolist/services/TasksServiceImpl.kt +++ /dev/null @@ -1,35 +0,0 @@ -package de.thk.gm.gdw.todolist.services - -import de.thk.gm.gdw.todolist.models.Task -import de.thk.gm.gdw.todolist.repositories.TasksRepository -import org.springframework.context.annotation.Primary -import org.springframework.stereotype.Service -import java.util.* - -@Primary -@Service -class TasksServiceImpl (private val tasksRepository: TasksRepository) : TasksService { - override fun getAll(): List<Task> { - return tasksRepository.findAll().toList() - } - - override fun getAll(open: Boolean): List<Task> { - return if(open){ - tasksRepository.findByOpenTrue() - } else { - tasksRepository.findByOpenFalse() - } - } - - override fun getById(id: UUID): Task? { - return tasksRepository.findById(id).orElse(null) - } - - override fun save(task: Task): Task { - return tasksRepository.save(task) - } - - override fun delete(id: UUID) { - tasksRepository.deleteById(id) - } -} \ No newline at end of file