Name
sn_collab_request.CollabTaskService
Description
No description available
Script
var CollabTaskService = (function() {
return {
/*
Generates collaboration task record for the passed user or group data
*/
inviteCollaborators: function(usersIds, groupsIds, appId, descriptorId) {
var statusCodes = CollabTaskConstants.statusCodes;
var appManagementData = AppManagementDataUtil.getCurrentUserData(appId);
if (appManagementData.canUserManageCollaborators || appManagementData.canUserInviteCollaborators) {
// for each of the collaborator create collaboration task
var userInsertResponse = [];
(usersIds || []).forEach(function(userId) {
// genrate collaboration task record for user by sending the second param as false into the util
var insertResponse = CollabTaskUtils.generateCollaborationTaskRecord(userId, false, appId, descriptorId, true);
userInsertResponse.push(insertResponse);
});
var groupInsertResponse = [];
(groupsIds || []).forEach(function(groupId) {
// genrate collaboration task record for group by sending the second param as true into the util
var insertResponse = CollabTaskUtils.generateCollaborationTaskRecord(groupId, true, appId, descriptorId, true);
groupInsertResponse.push(insertResponse);
});
return {
body: {
descriptorId: descriptorId,
appId: appId,
users: userInsertResponse,
groups: groupInsertResponse
},
status: statusCodes.SUCCESS
};
} else {
throw new sn_ws_err.ServiceError()
.setStatus(statusCodes.FORBIDDEN)
.setMessage(gs.getMessage('User does not have permission to invite collaborators to app with Id {0}.', appId));
}
},
getPendingCollaborators: function(appId) {
var statusCodes = CollabTaskConstants.statusCodes;
if (!UserDelegatedDevPermissions.canUserReadApp(appId)) {
throw new sn_ws_err.ServiceError()
.setStatus(statusCodes.FORBIDDEN)
.setMessage(gs.getMessage('403 Forbidden: User does not have access to app with id {0}.', appId));
}
var appManagementData = AppManagementDataUtil.getCurrentUserData(appId);
if (appManagementData.readOnlyMode) {
throw new sn_ws_err.ServiceError()
.setStatus(statusCodes.FORBIDDEN)
.setMessage(gs.getMessage('403 Forbidden: User does not have permission to read pending collaboration tasks for the app with id {0}.', appId));
}
var recordState = CollabTaskConstants.collabTaskStates;
var collabTasksInScope = CollabTaskUtils.getCollaborationRequestsInScope(appId, recordState.NEW);
return {
body: {
appId: appId,
collabTasks: collabTasksInScope
},
status: statusCodes.SUCCESS
};
}
};
})();
Sys ID
3d81841ec3053010a9f5e548fa40dd8e