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 6e2a01c..9a89717 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 @@ -27,6 +27,9 @@ class User(id: EntityID) : IntEntity(id) { var liveAlertChannel by Users.liveAlertChannel var liveAlertMessage by Users.liveAlertMessage - val managers by User.via(UserManagers.manager, UserManagers.user) - val subordinate by User.via(UserManagers.user, UserManagers.manager) + // 유저가 가진 매니저들 + val managers by User.via(UserManagers.user, UserManagers.manager) + + // 매니저가 관리하는 유저들 + val subordinates by User.via(UserManagers.manager, UserManagers.user) } \ No newline at end of file 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 43fc987..939a06f 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 @@ -117,21 +117,23 @@ fun Routing.apiRoutes() { songConfig.disabled )) - user.subordinate.forEach { + returnUsers.addAll(user.subordinates.map { val subStatus = user.token?.let { it1 -> getStreamInfo(it1) } - if(it.token == null) return@forEach - if(subStatus?.content == null) return@forEach - returnUsers.add(GetSessionDTO( - subStatus.content!!.channel.channelId, - subStatus.content!!.channel.channelName, - subStatus.content!!.status == "OPEN", - subStatus.content!!.channel.channelImageUrl, - 0, - 0, - false, - false - )) - } + return@map if (it.token == null || subStatus?.content == null) { + null + } else { + GetSessionDTO( + subStatus.content!!.channel.channelId, + subStatus.content!!.channel.channelName, + subStatus.content!!.status == "OPEN", + subStatus.content!!.channel.channelImageUrl, + 0, + 0, + false, + false + ) + } + }.filterNotNull()) call.respond(HttpStatusCode.OK, returnUsers) }