   leaveFromAllGroups: secure (client, callback) ->
     { delegate } = client.connection
 
-    @fetchAllParticipatedGroups client, (err, groups) ->
+    roles = [ 'member', 'moderator', 'admin' ]
+
+    @fetchAllParticipatedGroups client, { roles }, (err, groups) ->
       return callback err   if err
       return callback null  if not groups
 

        JGroup = require './group'
        JGroup.some { _id : { $in : groupIds } }, {}, callback

  createSocialApiId:(callback) ->
    if @type is 'unregistered'
      return callback null, -1



      async.parallel queue, callback


  fetchAllParticipatedGroups: secure (client, options, callback) ->

    { delegate } = client.connection

    [ options, callback ] = [ callback, options ]  unless callback
    options  ?= {}

    { roles } = {}

    unless Array.isArray roles
      roles = [ 'member', 'moderator', 'admin', 'owner' ]

    selector = {
      targetId: delegate.getId()
      as: { $in: roles }
    }

    Relationship.someData selector, { sourceId: 1 }, (err, cursor) ->
