I wasn’t aware of the transact
pattern (by that name) but I tend to just reach for Multi.run when I have complex logic in transactions. Maybe I’m missing something but that seems to give the same level of flexibility? Albeit with a slightly more clunky syntax…
I’m having trouble thinking of a scenario where I would not want the named operations you get with Multi and yet a plain old function with Repo.transaction
also wouldn’t be enough.