Add Update note
This commit is contained in:
parent
7be4acd6e9
commit
2a32cbd806
@ -12,10 +12,15 @@ import io.ktor.application.call
|
||||
import io.ktor.http.HttpStatusCode
|
||||
import io.ktor.request.receive
|
||||
import io.ktor.response.respond
|
||||
import io.ktor.routing.*
|
||||
import io.ktor.routing.Route
|
||||
import io.ktor.routing.get
|
||||
import io.ktor.routing.patch
|
||||
import io.ktor.routing.post
|
||||
import me.liuwj.ktorm.database.Database
|
||||
import me.liuwj.ktorm.dsl.*
|
||||
import me.liuwj.ktorm.entity.*
|
||||
import me.liuwj.ktorm.entity.add
|
||||
import me.liuwj.ktorm.entity.find
|
||||
import me.liuwj.ktorm.entity.sequenceOf
|
||||
import org.kodein.di.Kodein
|
||||
import org.kodein.di.generic.instance
|
||||
import java.time.LocalDateTime
|
||||
@ -121,8 +126,35 @@ class NotesTitleController(kodein: Kodein) : AuthCrudController("/notes/{noteTit
|
||||
return@patch call.respondStatus(HttpStatusCode.BadRequest)
|
||||
}
|
||||
|
||||
val noteId = call.requestedNoteId()
|
||||
?: return@patch call.respondStatus(HttpStatusCode.NotFound)
|
||||
|
||||
db.useTransaction {
|
||||
if (requestedChanges.title != null) {
|
||||
db.update(Notes) {
|
||||
it.title to requestedChanges.title
|
||||
where { it.id eq noteId }
|
||||
}
|
||||
}
|
||||
|
||||
if (requestedChanges.tags != null) {
|
||||
// delete all tags
|
||||
db.delete(Tags) {
|
||||
it.noteId eq noteId
|
||||
}
|
||||
|
||||
// put new ones
|
||||
requestedChanges.tags.forEach { tagName ->
|
||||
db.insert(Tags) {
|
||||
it.name to tagName
|
||||
it.noteId to noteId
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
call.respondStatus(HttpStatusCode.OK)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user