Apollo 1.0.6 creating a new Viewer object after first time login

After upgrading to 1.0.6 from 0.5X I am stuck on one issue. I have get current user function that returns my Viewer object. This is part of the login process. The first time they log in I have to add their email address to the original Viewer object. In 0.5X it was straight forward to build up a new Viewer object from the existing one. With the 1.X arcutecture I am trying to quickly figure out how to do the same thing.

As part of a new user, I have to do some record keeping and as a result of that mutation I do get a modified user back. The whole issue is being able to return the Viewer type from that modified User type. Need to be able to modify the viewer object or create a new one from new user.

I see inits that take fieldData arguments and also CreateXXX structures. Any examples/thoughts?

Hi :wave: , (edited because I realized this is iOS will post another response)

If you want to chat more about this, we’re trying out a new Discord server that you can ping me in and we could hop on a stream. I hope this helps!

@jem5519 it sounds like you might be running into how initializers changed. Initializers are still there but they’re built to be used in a response which makes things more difficult on your end.

There is a GitHub issue with some good discussion on this topic that might be helpful.

I was able to work out a solution since the code I was using was mine and not generated code.

I change the return time to be a structure that contained a View object which was not mutable along with the additional property necessary to provide the replacement value.

Great! That should work and we’ll be thinking about that issue for future releases.