managers relation is fixed (8x)

This commit is contained in:
dalbodeule 2024-08-28 17:58:35 +09:00
parent f5133c4551
commit 593546c89b
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65
5 changed files with 9 additions and 9 deletions

View File

@ -28,8 +28,8 @@ class User(id: EntityID<Int>) : IntEntity(id) {
var liveAlertMessage by Users.liveAlertMessage 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)
} }

View File

@ -1,9 +1,9 @@
package space.mori.chzzk_bot.common.models 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.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 user = reference("user_id", Users, ReferenceOption.CASCADE)
val manager = reference("manager_id", Users, ReferenceOption.CASCADE) val manager = reference("manager_id", Users, ReferenceOption.CASCADE)
} }

View File

@ -54,7 +54,7 @@ fun Routing.apiCommandRoutes() {
return@put 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") call.respond(HttpStatusCode.BadRequest, "User does not exist")
return@put return@put
} }
@ -84,7 +84,7 @@ fun Routing.apiCommandRoutes() {
return@post 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") call.respond(HttpStatusCode.BadRequest, "User does not exist")
return@post return@post
} }

View File

@ -116,7 +116,7 @@ fun Routing.apiRoutes() {
songConfig.streamerOnly, songConfig.streamerOnly,
songConfig.disabled songConfig.disabled
)) ))
val subordinates = user.subordinates ?: emptyList() val subordinates = user.subordinates
returnUsers.addAll(subordinates.map { returnUsers.addAll(subordinates.map {
val subStatus = user.token?.let { it1 -> getStreamInfo(it1) } val subStatus = user.token?.let { it1 -> getStreamInfo(it1) }
return@map if (it.token == null || subStatus?.content == null) { return@map if (it.token == null || subStatus?.content == null) {

View File

@ -27,7 +27,7 @@ fun Routing.apiTimerRoutes() {
return@get 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") call.respond(HttpStatusCode.BadRequest, "User does not exist")
return@get return@get
} }
@ -51,7 +51,7 @@ fun Routing.apiTimerRoutes() {
return@put 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") call.respond(HttpStatusCode.BadRequest, "User does not exist")
return@put return@put
} }