debug with eagerLoading

- debug with eagerLoading.

Exposed is lazyLoading. But, This program requires eagerLoading. So, I make eagerLoading methods.
This commit is contained in:
dalbodeule 2024-07-30 15:48:39 +09:00
parent 72f98b024b
commit 8365fa1767
No known key found for this signature in database
GPG Key ID: EFA860D069C9FA65
2 changed files with 16 additions and 7 deletions

View File

@ -26,10 +26,8 @@ object ManagerService {
if (user.liveAlertGuild == null) if (user.liveAlertGuild == null)
throw RuntimeException("${user.username} has no liveAlertGuild") throw RuntimeException("${user.username} has no liveAlertGuild")
val manager = getUser(user.liveAlertGuild!!, discordId) val manager = getUser(user.liveAlertGuild!!, discordId) ?: throw RuntimeException("$name isn't manager.")
if (manager == null)
throw RuntimeException("$name isn't manager.")
manager.lastUserName = name manager.lastUserName = name
return manager return manager
@ -38,16 +36,23 @@ object ManagerService {
fun getUser(guildId: Long, discordId: Long): Manager? { fun getUser(guildId: Long, discordId: Long): Manager? {
return transaction { return transaction {
val manager = Manager.find( val manager = Manager.find(
(Managers.discordGuildId eq guildId) and (Managers.managerId eq discordId) (Managers.discordGuildId eq guildId) and (Managers.managerId eq discordId),
) )
manager.firstOrNull() val result = manager.firstOrNull()
result?.eagerLoad()
result
} }
} }
fun getAllUsers(guildId: Long): List<Manager> { fun getAllUsers(guildId: Long): List<Manager> {
return transaction { return transaction {
Manager.find(Managers.discordGuildId eq guildId).toList() val result = Manager.find(Managers.discordGuildId eq guildId).toList()
result.forEach { it.eagerLoad() }
result
} }
} }
@ -67,4 +72,8 @@ object ManagerService {
managerRow managerRow
} }
} }
fun Manager.eagerLoad() {
this.user
}
} }

View File

@ -1,6 +1,6 @@
kotlin.code.style=official kotlin.code.style=official
group = space.mori group = space.mori
version = 1.1.0 version = 1.1.1
org.gradle.jvmargs=-Dfile.encoding=UTF-8 org.gradle.jvmargs=-Dfile.encoding=UTF-8
org.gradle.console=plain org.gradle.console=plain