Delete user
This commit is contained in:
parent
d8a8f53b97
commit
a34d892559
@ -6,7 +6,7 @@ import be.vandewalleh.tables.Notes
|
||||
import io.ktor.http.*
|
||||
import org.kodein.di.generic.instance
|
||||
|
||||
val notesService by kodein.instance<NotesService>()
|
||||
private val notesService by kodein.instance<NotesService>()
|
||||
|
||||
fun Parameters.noteTitle(): String {
|
||||
return this["noteTitle"]!!
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package be.vandewalleh.services
|
||||
|
||||
import be.vandewalleh.entities.User
|
||||
import be.vandewalleh.tables.Notes
|
||||
import be.vandewalleh.tables.Users
|
||||
import me.liuwj.ktorm.database.*
|
||||
import me.liuwj.ktorm.dsl.*
|
||||
@ -15,6 +16,7 @@ import java.time.LocalDateTime
|
||||
*/
|
||||
class UserService(override val kodein: Kodein) : KodeinAware {
|
||||
private val db by instance<Database>()
|
||||
private val notesService by instance<NotesService>()
|
||||
|
||||
/**
|
||||
* returns a user ID if present or null
|
||||
@ -65,6 +67,21 @@ class UserService(override val kodein: Kodein) : KodeinAware {
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteUser(userId: Int) {
|
||||
db.useTransaction {
|
||||
val notesId = db.from(Notes)
|
||||
.select(Notes.id)
|
||||
.where { Notes.userId eq userId }
|
||||
.map { it[Notes.userId]!! }
|
||||
|
||||
notesId.forEach { noteId ->
|
||||
notesService.deleteNote(noteId)
|
||||
}
|
||||
}
|
||||
|
||||
db.delete(Users) { it.id eq userId }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
data class UserRegistrationDto(val username: String, val email: String, val password: String)
|
||||
Loading…
x
Reference in New Issue
Block a user