Merge branch 'feature/delete-user-service'
This commit is contained in:
commit
33610bfbf6
@ -6,7 +6,7 @@ import be.vandewalleh.tables.Notes
|
|||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import org.kodein.di.generic.instance
|
import org.kodein.di.generic.instance
|
||||||
|
|
||||||
val notesService by kodein.instance<NotesService>()
|
private val notesService by kodein.instance<NotesService>()
|
||||||
|
|
||||||
fun Parameters.noteTitle(): String {
|
fun Parameters.noteTitle(): String {
|
||||||
return this["noteTitle"]!!
|
return this["noteTitle"]!!
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package be.vandewalleh.services
|
package be.vandewalleh.services
|
||||||
|
|
||||||
import be.vandewalleh.entities.User
|
import be.vandewalleh.entities.User
|
||||||
|
import be.vandewalleh.tables.Notes
|
||||||
import be.vandewalleh.tables.Users
|
import be.vandewalleh.tables.Users
|
||||||
import me.liuwj.ktorm.database.*
|
import me.liuwj.ktorm.database.*
|
||||||
import me.liuwj.ktorm.dsl.*
|
import me.liuwj.ktorm.dsl.*
|
||||||
@ -15,6 +16,7 @@ import java.time.LocalDateTime
|
|||||||
*/
|
*/
|
||||||
class UserService(override val kodein: Kodein) : KodeinAware {
|
class UserService(override val kodein: Kodein) : KodeinAware {
|
||||||
private val db by instance<Database>()
|
private val db by instance<Database>()
|
||||||
|
private val notesService by instance<NotesService>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* returns a user ID if present or null
|
* 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)
|
data class UserRegistrationDto(val username: String, val email: String, val password: String)
|
||||||
Loading…
x
Reference in New Issue
Block a user