Merge remote-tracking branch 'origin/main'

# Conflicts:
#	LobbySystem/src/de/steamwar/lobby/special/advent/Present.java
This commit is contained in:
2025-12-01 12:23:34 +01:00
3 changed files with 15 additions and 3 deletions
@@ -55,6 +55,17 @@ class NodeMember(id: EntityID<CompositeID>) : CompositeEntity(id) {
getNodeMember(node, member) ?: throw IllegalStateException("NodeMember not created")
}
@JvmStatic
fun createNodeMember(node: Int, member: Int, parent: SchematicNode): NodeMember = useDb {
if (!parent.isDir()) throw IllegalStateException("Parent must be a directory")
NodeMemberTable.insertIgnore {
it[this.node] = EntityID(node, SchematicNodeTable)
it[this.userId] = EntityID(member, SteamwarUserTable)
it[NodeMemberTable.parentNode] = parent.getId()
}
getNodeMember(node, member) ?: throw IllegalStateException("NodeMember not created")
}
@JvmStatic
fun createNodeMember(node: Int, member: SteamwarUser) = createNodeMember(node, member.id.value)
@@ -314,7 +314,7 @@ class SchematicNode(id: EntityID<Int>) : IntEntity(id) {
parentNodeId = value?.let { EntityID(it, SchematicNodeTable) }
}
val parentNode: SchematicNode?
get() = parent?.let { findById(it) }
get() = useDb { parent?.let { findById(it) } }
val optionalParent: Optional<Int> get() = Optional.ofNullable(parent)
var lastUpdate by SchematicNodeTable.lastUpdate.transform({ it.toInstant() }, { Timestamp.from(it) })