SharePoint JSOM: Check if a user is in a group

Last day i was working in JSOM (JavaScript object model) on SharePoint Online. As per my clients requirement, i have to check a user, if he/she is a member of a particulate SP or not. In that Senior i used the following code.
function(groupName, currentUser, clientContext) {
    var deferred = $.Deferred();
    var currentWeb = clientContext.get_web();

    var allGroups = currentWeb.get_siteGroups();
    clientContext.load(allGroups); 

    var group = allGroups.getByName(groupName);
    clientContext.load(group);

    var groupUsers = group.get_users();
    clientContext.load(groupUsers);
 
    clientContext.executeQueryAsync(
       function onQuerySucceeded(sender, args) {
         var isUserInGroup = false;
         var groupUserEnumerator = groupUsers.getEnumerator();
         while (groupUserEnumerator.moveNext()) {
            var groupUser = groupUserEnumerator.get_current();
            if (groupUser.get_id() == currentUser.get_id()) {
               isUserInGroup = true;
               break;
            }
         }
         deferred.resolve(isUserInGroup);
      },
      function onQueryFailed(sender, args) {
        console.log('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
      }
    );
    return deferred.promise();
}

Leave a Reply

%d bloggers like this: