FYI. I'm working on mutation at the moment. As in the ability for the client to update values in the data service. For example, when you change your own bio or bookmark a sim. There is some nasty stuff in how the old game used to work like unbookmarking a sim is dealt with by nulling the bookmark's sim id instead of removing the bookmark from the array so I'm having to map that stuff.
There are 2 other parts to mutation. Security and persistence. We need a way to prove you have permission to change this sims bio without letting you change your own skills, sim age etc. When a change is made we also need to retrospectively update the database (seems odd to do it this way as there may be database validation errors but the data service is fundamentally an in RAM service in the old game it seems like with syncing packets).
There are 2 other parts to mutation. Security and persistence. We need a way to prove you have permission to change this sims bio without letting you change your own skills, sim age etc. When a change is made we also need to retrospectively update the database (seems odd to do it this way as there may be database validation errors but the data service is fundamentally an in RAM service in the old game it seems like with syncing packets).