diff --git a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/File.kt b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/File.kt index b361678..66e5317 100644 --- a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/File.kt +++ b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/data/File.kt @@ -14,7 +14,7 @@ import kotlin.io.path.inputStream @Table("tbl_file") data class File( @Id val id: Long? = null, - val labDataId: Long?, + var labDataId: Long?, val filePath: String? = null, val fileType: FileType? = null, var fileChecksum: String = "", diff --git a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/FileController.kt b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/FileController.kt index 971f688..497c185 100644 --- a/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/FileController.kt +++ b/src/main/kotlin/dev/pcvolkmer/onco/grzmetadataprocessor/web/FileController.kt @@ -54,7 +54,11 @@ class FileController( @DeleteMapping(path = ["/labdatas/{labDataId}/files/{fileId}"]) fun deleteFile(@PathVariable fileId: Long, @PathVariable labDataId: Long, model: Model): String { - fileRepository.deleteById(fileId) + val file = fileRepository.findById(fileId) + file.ifPresent { + it.apply { this.labDataId = null } + fileRepository.save(it) + } model.addAttribute("fileId", fileId) model.addAttribute("files", fileRepository.findByLabDataId(labDataId)) return "files"