Skip to content

Commit

Permalink
Merge pull request #514 from Optum/issue513dupcheckIssues
Browse files Browse the repository at this point in the history
Fixed all issues in Issue-513.  + code refactor.
  • Loading branch information
johnlegeyt authored May 24, 2019
2 parents c24a007 + 46a6867 commit 51c8907
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 125 deletions.
137 changes: 12 additions & 125 deletions public/js/app/controllers.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
};
}])

.controller("myMenuAppController", ['$scope', 'apiHistoryService', 'sutService', 'authService', 'suggestionsService', 'helperFactory', 'ctrlConstants','modalService', 'mqInfoFactory',
.controller("myMenuAppController", ['$scope', 'apiHistoryService', 'sutService', 'authService', 'suggestionsService', 'helperFactory', 'commonCodeFactory','ctrlConstants','modalService', 'mqInfoFactory',

function ($scope, apiHistoryService, sutService, authService, suggestionsService, helperFactory, ctrlConstants, modalService, mqInfoFactory) {
function ($scope, apiHistoryService, sutService, authService, suggestionsService, helperFactory, commonCodeFactory, ctrlConstants, modalService, mqInfoFactory) {
$scope.canEdit = function(){ return true; }
$scope.myUser = authService.getUserInfo().username;
$scope.canChangeType = true;
Expand Down Expand Up @@ -73,43 +73,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
});

$scope.publishservice = function (servicevo) {

var i = servicevo.rawpairs.length;
while(i--){
/* handle blank request payload - when you edit and make request payload empty
then request payload becomes empty string so duplicate request check wil not work. */
if( servicevo.rawpairs[i].requestpayload == '' || servicevo.rawpairs[i].requestpayload === null || !servicevo.rawpairs[i].hasOwnProperty('requestpayload')){
servicevo.rawpairs[i].requestpayload = undefined;
}
// handeling GET method without requestpayload
if(servicevo.rawpairs[i].method!== 'GET')
{
servicevo.rawpairs[i].getPayloadRequired = false;
}

if(servicevo.rawpairs[i].method === 'GET'&& servicevo.rawpairs[i].getPayloadRequired === false){
servicevo.rawpairs[i].requestpayload = undefined;
}
}
//handle blank query params in rrpairs
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.queriesArr.length;
while(i--){
if( rrpair.queriesArr[i].k == '' ){
rrpair.queriesArr[i]={id: rrpair.queriesArr[i].id};
}
}
});
//handle blank Request Headers in rrpairs
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.reqHeadersArr.length;
while(i--){
if(!rrpair.reqHeadersArr[i].k || rrpair.reqHeadersArr[i].k == ''){
rrpair.reqHeadersArr[i]={id: rrpair.reqHeadersArr[i].id};
}
}
});
try {
servicevo = commonCodeFactory.modifyServicevoBeforePublish(servicevo);
if (helperFactory.isDuplicateReq(servicevo)) {
$('#genricMsg-dialog').find('.modal-title').text(ctrlConstants.DUP_REQ_ERR_TITLE);
$('#genricMsg-dialog').find('.modal-body').html(ctrlConstants.DUP_REQ_ERR_BODY);
Expand Down Expand Up @@ -187,8 +152,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f


}])
.controller("viewRecorderController", ['$scope', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'ctrlConstants', '$timeout', 'authService',
function ($scope, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, ctrlConstants, $timeout, authService) {
.controller("viewRecorderController", ['$scope', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'commonCodeFactory','ctrlConstants', '$timeout', 'authService',
function ($scope, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, commonCodeFactory,ctrlConstants, $timeout, authService) {
$scope.statusCodes = suggestionsService.getStatusCodes();
$scope.possibleHeaders = suggestionsService.getPossibleHeaders();
var totalRRPairs = 0;
Expand Down Expand Up @@ -376,6 +341,7 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f

$scope.publishService = function (servicevo) {
try {
servicevo = commonCodeFactory.modifyServicevoBeforePublish(servicevo);
if (helperFactory.isDuplicateReq(servicevo)) {
$('#genricMsg-dialog').find('.modal-title').text(ctrlConstants.DUP_REQ_ERR_TITLE);
$('#genricMsg-dialog').find('.modal-body').html(ctrlConstants.DUP_REQ_ERR_BODY);
Expand Down Expand Up @@ -564,8 +530,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
this.getService();
}])

.controller("showDraftController", ['$scope', '$q', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'ctrlConstants', 'sutService', 'authService', 'modalService',
function ($scope, $q, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, ctrlConstants, sutService, authService, modalService) {
.controller("showDraftController", ['$scope', '$q', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'commonCodeFactory','ctrlConstants', 'sutService', 'authService', 'modalService',
function ($scope, $q, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, commonCodeFactory, ctrlConstants, sutService, authService, modalService) {
$scope.showDates = true;
$scope.statusCodes = suggestionsService.getStatusCodes();
$scope.possibleHeaders = suggestionsService.getPossibleHeaders();
Expand Down Expand Up @@ -789,43 +755,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f


$scope.updateService = function (servicevo) {
/* handle blank request payload - when you edit and make request payload empty
then request payload becomes empty string so duplicate request check wil not worker. */
var i = servicevo.rawpairs.length;
while(i--){
if( servicevo.rawpairs[i].requestpayload == '' || servicevo.rawpairs[i].requestpayload === null || !servicevo.rawpairs[i].hasOwnProperty('requestpayload')){
servicevo.rawpairs[i].requestpayload = undefined;
}
// handeling GET method without requestpayload
if(servicevo.rawpairs[i].method!== 'GET')
{
servicevo.rawpairs[i].getPayloadRequired = false;
}

if(servicevo.rawpairs[i].method === 'GET'&& servicevo.rawpairs[i].getPayloadRequired === false){
servicevo.rawpairs[i].requestpayload = undefined;
}
}

//handle blank query params in rrpairs. if you provide query param and then make it blank.
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.queriesArr.length;
while(i--){
if( rrpair.queriesArr[i].k == '' ){
rrpair.queriesArr[i]={id: rrpair.queriesArr[i].id};
}
}
});
//handle blank Request Headers in rrpairs
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.reqHeadersArr.length;
while(i--){
if(!rrpair.reqHeadersArr[i].k || rrpair.reqHeadersArr[i].k == ''){
rrpair.reqHeadersArr[i]={id: rrpair.reqHeadersArr[i].id};
}
}
});
try {
servicevo = commonCodeFactory.modifyServicevoBeforePublish(servicevo);
if (helperFactory.isDuplicateReq(servicevo)) {
$('#genricMsg-dialog').find('.modal-title').text(ctrlConstants.DUP_REQ_ERR_TITLE);
$('#genricMsg-dialog').find('.modal-body').html(ctrlConstants.DUP_REQ_ERR_BODY);
Expand Down Expand Up @@ -1166,8 +1097,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
});
$scope.pollForRRPairs();
}])
.controller("updateController", ['$scope', '$q', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'ctrlConstants', 'sutService', 'authService', "$location",'modalService', 'mqInfoFactory',
function ($scope, $q, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, ctrlConstants, sutService, authService, $location, modalService, mqInfoFactory) {
.controller("updateController", ['$scope', '$q', '$http', '$routeParams', 'apiHistoryService', 'feedbackService', 'suggestionsService', 'helperFactory', 'commonCodeFactory', 'ctrlConstants', 'sutService', 'authService', "$location",'modalService', 'mqInfoFactory',
function ($scope, $q, $http, $routeParams, apiHistoryService, feedbackService, suggestionsService, helperFactory, commonCodeFactory, ctrlConstants, sutService, authService, $location, modalService, mqInfoFactory) {
$scope.showDates = true;
$scope.statusCodes = suggestionsService.getStatusCodes();
$scope.possibleHeaders = suggestionsService.getPossibleHeaders();
Expand Down Expand Up @@ -1401,50 +1332,8 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
}

$scope.updateService = function (servicevo) {
//handle blank query params in rrpairs
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.queriesArr.length;
while(i--){
if( rrpair.queriesArr[i].k == '' ){
rrpair.queriesArr[i]={id: rrpair.queriesArr[i].id};
}
}
});
/* handle blank request payload - when you edit and make request payload empty
then request payload becomes empty string so duplicate request check wil not work. */
var i = servicevo.rawpairs.length;
while(i--){
if( servicevo.rawpairs[i].requestpayload == '' || servicevo.rawpairs[i].requestpayload === null || !servicevo.rawpairs[i].hasOwnProperty('requestpayload')){
servicevo.rawpairs[i].requestpayload = undefined;
}
// handeling GET method without requestpayload
if(servicevo.rawpairs[i].method!== 'GET')
{
servicevo.rawpairs[i].getPayloadRequired = false;
}

if(servicevo.rawpairs[i].method === 'GET'&& servicevo.rawpairs[i].getPayloadRequired === false){
servicevo.rawpairs[i].requestpayload = undefined;
}
}

if($scope.servicevo.delayMax === null){
$scope.servicevo.delayMax = 0;
}
if($scope.servicevo.delay === null){
$scope.servicevo.delay = 0;
}

//handle blank Request Headers in rrpairs
servicevo.rawpairs.forEach(function(rrpair){
var i = rrpair.reqHeadersArr.length;
while(i--){
if(!rrpair.reqHeadersArr[i].k || rrpair.reqHeadersArr[i].k == ''){
rrpair.reqHeadersArr[i]={id: rrpair.reqHeadersArr[i].id};
}
}
});
try {
servicevo = commonCodeFactory.modifyServicevoBeforePublish(servicevo);
if (helperFactory.isDuplicateReq(servicevo)) {
$('#genricMsg-dialog').find('.modal-title').text(ctrlConstants.DUP_REQ_ERR_TITLE);
$('#genricMsg-dialog').find('.modal-body').html(ctrlConstants.DUP_REQ_ERR_BODY);
Expand All @@ -1462,8 +1351,6 @@ var ctrl = angular.module("mockapp.controllers", ['mockapp.services', 'mockapp.f
}
};



$scope.serviceInfo = function () {
console.log($routeParams.id);
$http.get('/api/services/' + $routeParams.id)
Expand Down
51 changes: 51 additions & 0 deletions public/js/app/factories.js
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,57 @@ fact.factory('mqInfoFactory', ['$http', function($http) {
};
}]);

//Modify serviceVO before Publish - Pradeep
fact.factory('commonCodeFactory', [function () {
return {
modifyServicevoBeforePublish: function (servicevo) {
var i = servicevo.rawpairs.length;
while(i--){
/* handle blank request payload - when you edit and make request payload empty
then request payload becomes empty string so duplicate request check wil not work. */
if( servicevo.rawpairs[i].requestpayload == '' || servicevo.rawpairs[i].requestpayload === null || !servicevo.rawpairs[i].hasOwnProperty('requestpayload')){
servicevo.rawpairs[i].requestpayload = undefined;
}
/* handeling GET method without requestpayload */
if(servicevo.rawpairs[i].method!== 'GET')
{
servicevo.rawpairs[i].getPayloadRequired = false;
}
if(servicevo.rawpairs[i].method === 'GET'&& servicevo.rawpairs[i].getPayloadRequired === false){
servicevo.rawpairs[i].requestpayload = undefined;
}
/* handle blank query params in rrpairs. if you provide query param and then make it blank.*/
var j = servicevo.rawpairs[i].queriesArr.length;
while(j--){
if( servicevo.rawpairs[i].queriesArr[j].k == '' ){
servicevo.rawpairs[i].queriesArr[j]={id: servicevo.rawpairs[i].queriesArr[j].id};
}
}
/* handle blank Request Headers in rrpairs */
var k = servicevo.rawpairs[i].reqHeadersArr.length;
while(k--){
if(!servicevo.rawpairs[i].reqHeadersArr[k].k || servicevo.rawpairs[i].reqHeadersArr[k].k == ' '){
servicevo.rawpairs[i].reqHeadersArr[k]={id: servicevo.rawpairs[i].reqHeadersArr[k].id};
}
}
/* before publish service make isDup flag false for all rrpairs and
let the isDuplicateReq function of factories method set this flag true b
in case of duplicate*/
servicevo.rawpairs[i].isDup=false;
}
/* handle response delay on service level. if you provide response delay and then make it blank again. */
if(servicevo.delayMax === null){
servicevo.delayMax = 0;
}
if(servicevo.delay === null){
servicevo.delay = 0;
}
return servicevo;
}
};
}]);


//Below function is complex one. Any change will break Duplicate Req check. - Pradeep
fact.factory('helperFactory', [function () {
return {
Expand Down

0 comments on commit 51c8907

Please sign in to comment.