managers relation is fixed (3x)

This commit is contained in:
dalbodeule 2024-08-28 17:16:48 +09:00
parent 1ec899a55a
commit 5d9b6a7e5e
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65
2 changed files with 21 additions and 16 deletions

View File

@ -27,6 +27,9 @@ class User(id: EntityID<Int>) : 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)
}

View File

@ -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)
}