forio Toggle navigation

Member API Adapter

The Member API Adapter provides methods to look up information about end users for your project and how they are divided across groups. It is based on query capabilities of the underlying RESTful Member API.

This is only needed for Authenticated projects, that is, team projects with end users and groups. For example, if some of your end users are facilitators, or if your end users should be treated differently based on which group they are in, use the Member API to find that information.

const ma = new F.service.Member();
ma.getGroupsForUser({ userId: 'b6b313a3-ab84-479c-baea-206f6bff337' });
ma.getGroupDetails({ groupId: '00b53308-9833-47f2-b21e-1278c07d53b8' });

Constructor options

Required? Name Type Description
  userId string Epicenter user id.
  groupId string Epicenter group id. Note that this is the group id, not the group name.
  token string For projects that require authentication, pass in the user access token (defaults to undefined). If the user is already logged in to Epicenter, the user access token is already set in a cookie and automatically loaded from there. (See more background on access tokens). @see Authentication API Service for getting tokens.
  transport JQueryAjaxOptions Options to pass on to the underlying transport layer. All jquery.ajax options are supported.
  server object
  server.host string The value of host is usually the string api.forio.com, the URI of the Forio API server. This is automatically set, but you can pass it explicitly if desired. It is most commonly used for clarity when you are hosting an Epicenter project on your own server
  server.protocol https / http Defaults to https

Methods

getGroupsForUser(params[, options])

Retrieve details about all of the group memberships for one end user. The membership details are returned in an array, with one element (group record) for each group to which the end user belongs.

In the membership array, each group record includes the group id, project id, account (team) id, and an array of members. However, only the user whose userId is included in the call is listed in the members array (regardless of whether there are other members in this group).

Parameters

Required? Name Type Description
Yes params string / object The user id for the end user. Alternatively, an object with field userId and value the user id.
  options object Overrides for configuration options.

Example

const ma = new F.service.Member();
ma.getGroupsForUser('42836d4b-5b61-4fe4-80eb-3136e956ee5c')
    .then(function(memberships){
        for (const i=0; i<memberships.length; i++) {
            console.log(memberships[i].groupId);
        }
    });

ma.getGroupsForUser({ userId: '42836d4b-5b61-4fe4-80eb-3136e956ee5c' });

addUsersToGroup(userlist[, groupId, options])

Add given userids to group

Parameters

Required? Name Type Description
Yes userlist Array.<string> / Array.<{ userId: string }> list of users to add to group. [userId1,userId2..] or [{userid: userId},{userId: userId2}...]
  groupId string Group to add users to. Pulls current group from session if not provided
  options object Overrides for configuration options.

Example

const ma = new F.service.Member();
ma.addUsersToGroup(['42836d4b-5b61-4fe4-80eb-3136e956ee5c', '42836d4b-5b61-4fe4-80eb-3136e956ee5c'])

getGroupDetails(params[, options])

Retrieve details about one group, including an array of all its members.

Parameters

Required? Name Type Description
Yes params string / object The group id. Alternatively, an object with field groupId and value the group id.
  options object Overrides for configuration options.

Example

const ma = new F.service.Member();
ma.getGroupDetails('80257a25-aa10-4959-968b-fd053901f72f')
    .then(function(group){
        for (const i=0; i<group.members.length; i++) {
            console.log(group.members[i].userName);
        }
    });

ma.getGroupDetails({ groupId: '80257a25-aa10-4959-968b-fd053901f72f' });

makeUserActive(params[, options])

Set a particular end user as active. Active end users can be assigned to worlds in multiplayer games during automatic assignment.

Parameters

Required? Name Type Description
Yes params object The end user and group information.
Yes params.userId string The id of the end user to make active.
Yes params.groupId string The id of the group to which this end user belongs, and in which the end user should become active.
  options object Overrides for configuration options.

Example

const ma = new F.service.Member();
ma.makeUserActive({ userId: '42836d4b-5b61-4fe4-80eb-3136e956ee5c',
                          groupId: '80257a25-aa10-4959-968b-fd053901f72f' });

makeUserInactive(params[, options])

Set a particular end user as inactive. Inactive end users are not assigned to worlds in multiplayer games during automatic assignment.

Parameters

Required? Name Type Description
Yes params object The end user and group information.
Yes params.userId string The id of the end user to make inactive.
Yes params.groupId string The id of the group to which this end user belongs, and in which the end user should become inactive.
  options object Overrides for configuration options.

Example

const ma = new F.service.Member();
ma.makeUserInactive({ userId: '42836d4b-5b61-4fe4-80eb-3136e956ee5c',
  groupId: '80257a25-aa10-4959-968b-fd053901f72f' });