I have a doubt about which approach to use in this situation:
In our system here we have an grid of orders. The data is handled by a store that uses an ajax or rest (this varies) proxy. For the basic operations (crud) everything is fine, the problem is that the orders have another "operations" that isn't an update. For example, I have a button to proces the order, basically it will update the status of the order. I cannot simply update the status and then sync the store, because we have a complex system of permissions. An user can update the data of a order but him cannot process.
How I will differentiate these actions on the server side? My idea was to have two actions in my controller at backend (C# WebAPI)...
I typically have non-crud actions that are context-specific in the context menu. So when you right-click on a grid record, a list of available options will appear.
For actions where I don't want to interact with the data record directly, I will often fire off ad-hoc AJAX requests (not using the store's proxy), and then use the response from the request to update any values needed within the store. For example, when changing statuses, I make a non-store based AJAX request, which in turn returns the new status of the record, which is then updated within the store. I do the data update manually in the response.
Not necessarily the best fit for every scenario, but I found it was easier to manage than updating the full store record every time.
Re: differentiating the actions, this is handled easily in my scenario, as the endpoint url of the ad-hoc AJAX request can be anything I want. So for status updates, I can point to status-specific endpoints, etc.