-
Notifications
You must be signed in to change notification settings - Fork 12
MicroApp Dev: App Data Object
The app data object (as referenced by app.data
), is available within your app's local context, and provides access to all data affiliated with your app's resources, as well as the app options and the current user.
Table of Contents |
---|
app.data."resource_name" |
app.data.options |
app.data.user |
app.data.user.params |
app.data.user.options |
app.data.user.tags |
app.data.user.groups |
This is the primary way to access the data returned by your application's "pre-fetched" resources. For example, if you have a resource called 'cats', which fetches an array of cats from a given endpoint, that data would be accessible at runtime by referencing app.data.cats
.
Example:
console.log(app.data.cats)
[
{"id":1,"name":"sad cat","url":"https://www.catster.com/wp-content/uploads/2018/05/A-gray-cat-crying-looking-upset.jpg"},
{"id":2,"name":"tiny kitten","url":"http://origin-www.readersdigest.ca/wp-content/uploads/sites/14/2011/01/4-ways-cheer-up-depressed-cat.jpg"},
{"id":3,"name":"belly","url":"http://sites.psu.edu/siowfa15/wp-content/uploads/sites/29639/2015/10/cat.jpg"}
]
This is an object which contains the app's administrative options, as configured by an admin within the app instance. Note: this is different from user options, which are defined within app.data.user.options
.
Example:
console.log(app.data.options)
{"color":"blue","max_length":7}
This is an object which contains all information about the currently authenticated user. Within this object is:
app.data.user.unique_id
app.data.user.first_name
app.data.user.last_name
app.data.user.email
Example:
console.log(app.data.user.unique_id)
"12345"
console.log(app.data.user.first_name)
"John"
console.log(app.data.user.last_name)
"Doe"
console.log(app.data.user.email)
"[email protected]"
In addition to the standard user parameters available within data.user (above), you may additionally reference other parameters within the data.user.params
object. Note: This is entirely dependent upon the Graphene configuration, as these additional parameters are defined by the SSO configuration, as well as by the Graphene Group Sync APIs. As an example, an app may reference a given user's favorite pizza topping as follows:
Example:
console.log(app.data.user.params.pizza_topping)
"pepperoni"
These are the user defined options for a given app / app instance.
Example:
console.log(app.data.user.options)
{"color":"blue","max_length":7}
These are all of the tags associated with the currently-logged-in user. Note: tags are assigned to users based on their group memberships, so user who is a member of the "Undergraduate" group might have a tags as follows:
Example:
console.log(app.data.user.tags)
status:["UG"]
This is an array of group id's for the groups from which the current user is a member.
Example:
console.log(app.data.user.groups)
[1,3,5,7,9]