Name

sn_ms_teams_ah.MSTeamsErrorHandler

Description

Error handling for MS Teams Spoke

Script

var MSTeamsErrorHandler = Class.create();
MSTeamsErrorHandler.prototype = {
  initialize: function() {},

  genericErrorHandler: function(inputs, outputs) {
  	var responseBody = new global.JSON().decode(inputs['response']);
  	var errMessage ="";
  	if (inputs.status == 404 && responseBody.error && responseBody.error.message) {
  		outputs.errorMessage = "Unknown Error";
  	    errMessage = responseBody.error.message;
  		if (errMessage.indexOf("No team found with Group Id") != -1)
  			outputs.errorMessage = "A Team with the provided ID does not exist";
  	}
  	if (inputs.status == 400 && responseBody.error && responseBody.error.message) {
  		 errMessage = responseBody.error.message;
  		if (errMessage.indexOf("groupId needs to be a valid GUID") != -1)
  			outputs.errorMessage = "Team ID is invalid";
  	}
  	
  	if(inputs.status == 401 && responseBody.error && responseBody.error.message){
  		errMessage = responseBody.error.message;
  		outputs.errorMessage = "Unauthorized";
  		if (errMessage.indexOf("Access token is empty") != -1)
  			outputs.errorMessage = "Access token is empty. Please Check Oauth Token and scope permission.";
  		
  	}
  	if(inputs.status == 403)
  		outputs.errorMessage = "Forbidden Request. Please Check Oauth Token and scope permission.";
  	
  	return outputs;
  },

  createChannelErrorHandler: function(inputs, outputs) {

  	var responseBody = new global.JSON().decode(inputs['response']);
  	var errMessage = "";
  	if (inputs.status == 400 && responseBody.error && responseBody.error.message) {
  		errMessage = responseBody.error.message;
  		if (errMessage.indexOf("Channel name already existed") != -1)
  			outputs.errorMessage = "A channel with the same Display Name already exists";
  		if (errMessage.indexOf(
  				"Channel.DisplayName doesn't contain allowed characters") != -1 || errMessage.indexOf("Channel.DisplayName can't have more than 50 characters") != -1
  		)
  			outputs.errorMessage = "Display Name is invalid";
  	}
  	outputs = this.genericErrorHandler(inputs, outputs);

  	return outputs;
  },

  type: 'MSTeamsErrorHandler'
};

Sys ID

716589ce93032300a1f6925cf67ffb15

Offical Documentation

Official Docs: