Transaction repository should not accept a `sql.DB` type, but a function type that can be mocked and used as a transaction in tests.