Each middleware and transform function is passed a custom context object. This object is used for passing data from one middleware to the next, without altering the
data object (since altering the data object changes the query we make to your database).
You can do whatever you want with the ctx object.
Context is useful for managing permissions, keeping state, and many other things.
A simple example of using context to track if a user is an admin or not in the middleware cycle
A sample showing how to use context to transform values