diff --git a/common/src/main/kotlin/space/mori/chzzk_bot/common/models/User.kt b/common/src/main/kotlin/space/mori/chzzk_bot/common/models/User.kt index 281d4c1..dcb8b03 100644 --- a/common/src/main/kotlin/space/mori/chzzk_bot/common/models/User.kt +++ b/common/src/main/kotlin/space/mori/chzzk_bot/common/models/User.kt @@ -28,8 +28,8 @@ class User(id: EntityID) : IntEntity(id) { var liveAlertMessage by Users.liveAlertMessage // 유저가 가진 매니저들 - val managers by User.via(UserManagers.manager, UserManagers.user) + var managers by User.via(UserManagers.user, UserManagers.manager) // 매니저가 관리하는 유저들 - val subordinates by User.via(UserManagers.user, UserManagers.manager) + var subordinates by User.via(UserManagers.manager, UserManagers.user) } \ No newline at end of file diff --git a/common/src/main/kotlin/space/mori/chzzk_bot/common/models/UserManager.kt b/common/src/main/kotlin/space/mori/chzzk_bot/common/models/UserManager.kt index b4e98f4..7a35edc 100644 --- a/common/src/main/kotlin/space/mori/chzzk_bot/common/models/UserManager.kt +++ b/common/src/main/kotlin/space/mori/chzzk_bot/common/models/UserManager.kt @@ -1,9 +1,9 @@ package space.mori.chzzk_bot.common.models +import org.jetbrains.exposed.dao.id.IntIdTable import org.jetbrains.exposed.sql.ReferenceOption -import org.jetbrains.exposed.sql.Table -object UserManagers: Table("user_managers") { +object UserManagers: IntIdTable("user_managers") { val user = reference("user_id", Users, ReferenceOption.CASCADE) val manager = reference("manager_id", Users, ReferenceOption.CASCADE) } \ No newline at end of file diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiCommandRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiCommandRoutes.kt index da2daa4..ab7bcc2 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiCommandRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiCommandRoutes.kt @@ -54,7 +54,7 @@ fun Routing.apiCommandRoutes() { return@put } - if(!user.managers?.any { it.naverId == session?.id }!! ?: true && user.naverId != session?.id) { + if(!user.managers.any { it.naverId == session?.id } && user.naverId != session?.id) { call.respond(HttpStatusCode.BadRequest, "User does not exist") return@put } @@ -84,7 +84,7 @@ fun Routing.apiCommandRoutes() { return@post } - if(!user.managers?.any { it.naverId == session?.id }!! ?: true && user.naverId != session?.id) { + if(!user.managers.any { it.naverId == session?.id } && user.naverId != session?.id) { call.respond(HttpStatusCode.BadRequest, "User does not exist") return@post } diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiRoutes.kt index c3a8829..ec2ab17 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiRoutes.kt @@ -116,7 +116,7 @@ fun Routing.apiRoutes() { songConfig.streamerOnly, songConfig.disabled )) - val subordinates = user.subordinates ?: emptyList() + val subordinates = user.subordinates returnUsers.addAll(subordinates.map { val subStatus = user.token?.let { it1 -> getStreamInfo(it1) } return@map if (it.token == null || subStatus?.content == null) { diff --git a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiTimerRoutes.kt b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiTimerRoutes.kt index 26fbe86..c39c898 100644 --- a/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiTimerRoutes.kt +++ b/webserver/src/main/kotlin/space/mori/chzzk_bot/webserver/routes/ApiTimerRoutes.kt @@ -27,7 +27,7 @@ fun Routing.apiTimerRoutes() { return@get } - if(!user.managers?.any { it.naverId == session?.id }!! ?: true && user.naverId != session?.id) { + if(!user.managers.any { it.naverId == session?.id } && user.naverId != session?.id) { call.respond(HttpStatusCode.BadRequest, "User does not exist") return@get } @@ -51,7 +51,7 @@ fun Routing.apiTimerRoutes() { return@put } - if(!user.managers?.any { it.naverId == session?.id }!! ?: true && user.naverId != session?.id) { + if(!user.managers.any { it.naverId == session?.id } && user.naverId != session?.id) { call.respond(HttpStatusCode.BadRequest, "User does not exist") return@put }