WIP: Updates test html snapshots, working on validation when delegating airflow to a different room.
All checks were successful
CI / Linux Tests (push) Successful in 5m39s

This commit is contained in:
2026-02-06 17:07:06 -05:00
parent 0775474f57
commit 0134c9bfc2

View File

@@ -248,12 +248,24 @@ final class RoomModel: Model, @unchecked Sendable, Validatable {
func validateAndSave(on database: Database) async throws {
try self.validate()
if let delegateTo = $room.id {
guard let parent = try await RoomModel.find(delegateTo, on: database) else {
guard
let parent =
try await RoomModel
.query(on: database)
.with(\.$room)
.filter(\.$id == delegateTo)
.first()
else {
throw ValidationError("Can not find room: \(delegateTo), to delegate airflow to.")
}
guard parent.$room.id == nil else {
throw ValidationError(
"Can not delegate airflow to a room that also delegates it's own airflow."
"""
Attempting to delegate to: \(parent.name), that delegates to: \(parent.$room.name)
Unable to delegate airflow to a room that already delegates it's airflow.
"""
)
}
}