Hi @raghud1980,
In general ECMA script in OR split is a bit limited as it only supports following object workflowData, jcrSession, workflowSession. However it still should be possible to achieve what you want.
Sadly workItem or graniteWorkItem is not available under OR split, in that case workflowData object can be utilize like this:
var initiator = workflowData.getMetaDataMap().get("userId", "");
Next having information about workflow initiator you have to use UserManager class to first get Authorizable object that will expose information about groups given user is member of.
Last step, is to check if set of groups contains specif group that is main condition for OR split - in below script it is represented by groupMemberID.
Here is a complete script:
function check() {
// put id of specifc group under groupMemberID variable
var groupMemberID = "your-specific-group-id";
var isGroupMember = false;
var initiator = workflowData.getMetaDataMap().get("userId", "");
var resourceResolver = graniteWorkflowSession.adaptTo(Packages.org.apache.sling.api.resource.ResourceResolver);
if (resourceResolver != null) {
var userManager = resourceResolver.adaptTo(Packages.org.apache.jackrabbit.api.security.user.UserManager);
if (userManager != null) {
var authorizable = userManager.getAuthorizable(initiator);
if (authorizable != null) {
var groups = authorizable.memberOf();
while(groups.hasNext()) {
var group = groups.next();
if (group.getID().equals(groupMemberID)) {
isGroupMember = true;
break;
}
}
}
}
}
return isGroupMember;
}