Rollback if second user create fails

This commit is contained in:
Garth Vander Houwen 2025-06-15 14:14:18 -07:00
parent be762e4454
commit f9b63e7ba5

View file

@ -245,16 +245,18 @@ func upsertNodeInfoPacket (packet: MeshPacket, context: NSManagedObjectContext)
}
}
}
// User is messed up and has failed to create at least once, if this fails bail out
if newNode.user == nil && packet.from > Constants.minimumNodeNum {
do {
let newUser = try createUser(num: Int64(packet.from), context: context)
newNode.user = newUser
} catch CoreDataError.invalidInput(let message) {
Logger.data.error("Error Creating a new Core Data UserEntity (Invalid Input) from node number: \(packet.from, privacy: .public) Error: \(message, privacy: .public)")
context.rollback()
return
} catch {
Logger.data.error("Error Creating a new Core Data UserEntity from node number: \(packet.from, privacy: .public) Error: \(error.localizedDescription, privacy: .public)")
context.rollback()
return
}
}