Built motion from commit 47436d59.|2.6.7
[motion2.git] / server / api / intServicenowConfiguration / intServicenowConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x6532=['fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','params','catch','create','body','find','getFields','findOne','pick','getSubjects','ServicenowField','getDescriptions','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','ServicenowConfiguration','rawAttributes','fieldName','type','model','map','query','keys','attributes','intersection'];(function(_0x295cfc,_0x14d743){var _0x25f1e6=function(_0x436bc6){while(--_0x436bc6){_0x295cfc['push'](_0x295cfc['shift']());}};_0x25f1e6(++_0x14d743);}(_0x6532,0x163));var _0x2653=function(_0x5aa3e3,_0x5559be){_0x5aa3e3=_0x5aa3e3-0x0;var _0x31f5b9=_0x6532[_0x5aa3e3];return _0x31f5b9;};'use strict';var emlformat=require(_0x2653('0x0'));var rimraf=require(_0x2653('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2653('0x2'));var BPromise=require(_0x2653('0x3'));var Mustache=require(_0x2653('0x4'));var util=require(_0x2653('0x5'));var path=require(_0x2653('0x6'));var sox=require(_0x2653('0x7'));var csv=require(_0x2653('0x8'));var ejs=require(_0x2653('0x9'));var fs=require('fs');var fs_extra=require(_0x2653('0xa'));var _=require(_0x2653('0xb'));var squel=require(_0x2653('0xc'));var crypto=require('crypto');var jsforce=require(_0x2653('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x2653('0x8'));var querystring=require(_0x2653('0xe'));var Papa=require(_0x2653('0xf'));var Redis=require(_0x2653('0x10'));var authService=require(_0x2653('0x11'));var qs=require(_0x2653('0x12'));var as=require(_0x2653('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2653('0x14'))(_0x2653('0x15'));var utils=require(_0x2653('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2653('0x17'))['db'];function respondWithStatusCode(_0x37a2d0,_0x27397c){_0x27397c=_0x27397c||0xcc;return function(_0x1694e4){if(_0x1694e4){return _0x37a2d0[_0x2653('0x18')](_0x27397c);}return _0x37a2d0[_0x2653('0x19')](_0x27397c)[_0x2653('0x1a')]();};}function respondWithResult(_0x3b677e,_0x1edab4){_0x1edab4=_0x1edab4||0xc8;return function(_0x11c4c7){if(_0x11c4c7){return _0x3b677e[_0x2653('0x19')](_0x1edab4)[_0x2653('0x1b')](_0x11c4c7);}};}function respondWithFilteredResult(_0x1be378,_0x140e78){return function(_0x3f3044){if(_0x3f3044){var _0xb1e2d=typeof _0x140e78[_0x2653('0x1c')]===_0x2653('0x1d')&&typeof _0x140e78[_0x2653('0x1e')]==='undefined';var _0x375aee=_0x3f3044[_0x2653('0x1f')];var _0x572269=_0xb1e2d?0x0:_0x140e78['offset'];var _0x931986=_0xb1e2d?_0x3f3044[_0x2653('0x1f')]:_0x140e78['offset']+_0x140e78[_0x2653('0x1e')];var _0x46c834;if(_0x931986>=_0x375aee){_0x931986=_0x375aee;_0x46c834=0xc8;}else{_0x46c834=0xce;}_0x1be378[_0x2653('0x19')](_0x46c834);return _0x1be378[_0x2653('0x20')](_0x2653('0x21'),_0x572269+'-'+_0x931986+'/'+_0x375aee)[_0x2653('0x1b')](_0x3f3044);}return null;};}function patchUpdates(_0xd73c19){return function(_0x236f51){try{jsonpatch[_0x2653('0x22')](_0x236f51,_0xd73c19,!![]);}catch(_0x7c8c90){return BPromise[_0x2653('0x23')](_0x7c8c90);}return _0x236f51[_0x2653('0x24')]();};}function saveUpdates(_0x11c51c,_0x5f0c7c){return function(_0x4e2535){if(_0x4e2535){return _0x4e2535[_0x2653('0x25')](_0x11c51c)[_0x2653('0x26')](function(_0x16db40){return _0x16db40;});}return null;};}function removeEntity(_0xfdb5c8,_0xf9ef12){return function(_0xed2236){if(_0xed2236){return _0xed2236[_0x2653('0x27')]()[_0x2653('0x26')](function(){_0xfdb5c8[_0x2653('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x556a4b,_0x507101){return function(_0x331db3){if(!_0x331db3){_0x556a4b[_0x2653('0x18')](0x194);}return _0x331db3;};}function handleError(_0xb2c608,_0x325f36){_0x325f36=_0x325f36||0x1f4;return function(_0x47a572){logger[_0x2653('0x28')](_0x47a572[_0x2653('0x29')]);if(_0x47a572[_0x2653('0x2a')]){delete _0x47a572[_0x2653('0x2a')];}_0xb2c608[_0x2653('0x19')](_0x325f36)[_0x2653('0x2b')](_0x47a572);};}exports[_0x2653('0x2c')]=function(_0x2734fd,_0xb4fc07){var _0x42667b={},_0x59d2ae={},_0x1aeba8={'count':0x0,'rows':[]};var _0x7aa535=_['map'](db[_0x2653('0x2d')][_0x2653('0x2e')],function(_0x260a15){return{'name':_0x260a15[_0x2653('0x2f')],'type':_0x260a15[_0x2653('0x30')]['key']};});_0x59d2ae[_0x2653('0x31')]=_[_0x2653('0x32')](_0x7aa535,_0x2653('0x2a'));_0x59d2ae[_0x2653('0x33')]=_[_0x2653('0x34')](_0x2734fd[_0x2653('0x33')]);_0x59d2ae['filters']=_['intersection'](_0x59d2ae['model'],_0x59d2ae['query']);_0x42667b[_0x2653('0x35')]=_[_0x2653('0x36')](_0x59d2ae[_0x2653('0x31')],qs[_0x2653('0x37')](_0x2734fd[_0x2653('0x33')][_0x2653('0x37')]));_0x42667b[_0x2653('0x35')]=_0x42667b[_0x2653('0x35')][_0x2653('0x38')]?_0x42667b[_0x2653('0x35')]:_0x59d2ae[_0x2653('0x31')];if(!_0x2734fd[_0x2653('0x33')][_0x2653('0x39')](_0x2653('0x3a'))){_0x42667b['limit']=qs[_0x2653('0x1e')](_0x2734fd[_0x2653('0x33')][_0x2653('0x1e')]);_0x42667b[_0x2653('0x1c')]=qs[_0x2653('0x1c')](_0x2734fd[_0x2653('0x33')][_0x2653('0x1c')]);}_0x42667b[_0x2653('0x3b')]=qs['sort'](_0x2734fd['query'][_0x2653('0x3c')]);_0x42667b[_0x2653('0x3d')]=qs[_0x2653('0x3e')](_['pick'](_0x2734fd[_0x2653('0x33')],_0x59d2ae[_0x2653('0x3e')]),_0x7aa535);if(_0x2734fd[_0x2653('0x33')][_0x2653('0x3f')]){_0x42667b[_0x2653('0x3d')]=_['merge'](_0x42667b[_0x2653('0x3d')],{'$or':_[_0x2653('0x32')](_0x7aa535,function(_0x2bdb52){if(_0x2bdb52[_0x2653('0x30')]!==_0x2653('0x40')){var _0x4d419d={};_0x4d419d[_0x2bdb52[_0x2653('0x2a')]]={'$like':'%'+_0x2734fd[_0x2653('0x33')][_0x2653('0x3f')]+'%'};return _0x4d419d;}})});}_0x42667b=_[_0x2653('0x41')]({},_0x42667b,_0x2734fd[_0x2653('0x42')]);var _0x56c279={'where':_0x42667b[_0x2653('0x3d')]};return db['ServicenowConfiguration'][_0x2653('0x1f')](_0x56c279)['then'](function(_0x339a17){_0x1aeba8[_0x2653('0x1f')]=_0x339a17;if(_0x2734fd[_0x2653('0x33')][_0x2653('0x43')]){_0x42667b[_0x2653('0x44')]=[{'all':!![]}];}return db[_0x2653('0x2d')][_0x2653('0x45')](_0x42667b);})[_0x2653('0x26')](function(_0x349b0a){_0x1aeba8['rows']=_0x349b0a;return _0x1aeba8;})[_0x2653('0x26')](respondWithFilteredResult(_0xb4fc07,_0x42667b))['catch'](handleError(_0xb4fc07,null));};exports[_0x2653('0x46')]=function(_0x278b43,_0x33d6d9){var _0x1220d0={'raw':![],'where':{'id':_0x278b43[_0x2653('0x47')]['id']}},_0x470ed8={};_0x470ed8[_0x2653('0x31')]=_[_0x2653('0x34')](db['ServicenowConfiguration'][_0x2653('0x2e')]);_0x470ed8['query']=_['keys'](_0x278b43[_0x2653('0x33')]);_0x470ed8['filters']=_[_0x2653('0x36')](_0x470ed8[_0x2653('0x31')],_0x470ed8[_0x2653('0x33')]);_0x1220d0[_0x2653('0x35')]=_[_0x2653('0x36')](_0x470ed8[_0x2653('0x31')],qs[_0x2653('0x37')](_0x278b43[_0x2653('0x33')][_0x2653('0x37')]));_0x1220d0['attributes']=_0x1220d0[_0x2653('0x35')][_0x2653('0x38')]?_0x1220d0[_0x2653('0x35')]:_0x470ed8[_0x2653('0x31')];if(_0x278b43[_0x2653('0x33')][_0x2653('0x43')]){_0x1220d0[_0x2653('0x44')]=[{'all':!![]}];}_0x1220d0=_['merge']({},_0x1220d0,_0x278b43[_0x2653('0x42')]);return db[_0x2653('0x2d')]['find'](_0x1220d0)[_0x2653('0x26')](handleEntityNotFound(_0x33d6d9,null))[_0x2653('0x26')](respondWithResult(_0x33d6d9,null))[_0x2653('0x48')](handleError(_0x33d6d9,null));};exports[_0x2653('0x49')]=function(_0x2ab4dd,_0x37537b){return db[_0x2653('0x2d')]['create'](_0x2ab4dd[_0x2653('0x4a')],{})[_0x2653('0x26')](respondWithResult(_0x37537b,0xc9))[_0x2653('0x48')](handleError(_0x37537b,null));};exports['update']=function(_0x2f2611,_0x167124){if(_0x2f2611[_0x2653('0x4a')]['id']){delete _0x2f2611[_0x2653('0x4a')]['id'];}return db[_0x2653('0x2d')]['find']({'where':{'id':_0x2f2611[_0x2653('0x47')]['id']}})[_0x2653('0x26')](handleEntityNotFound(_0x167124,null))[_0x2653('0x26')](saveUpdates(_0x2f2611['body'],null))[_0x2653('0x26')](respondWithResult(_0x167124,null))['catch'](handleError(_0x167124,null));};exports[_0x2653('0x27')]=function(_0x105421,_0x14cd33){return db[_0x2653('0x2d')][_0x2653('0x4b')]({'where':{'id':_0x105421[_0x2653('0x47')]['id']}})[_0x2653('0x26')](handleEntityNotFound(_0x14cd33,null))[_0x2653('0x26')](removeEntity(_0x14cd33,null))[_0x2653('0x48')](handleError(_0x14cd33,null));};exports[_0x2653('0x4c')]=function(_0x6ed4f6,_0x232c30,_0x8ace24){var _0x474e24={};var _0x4ae79e={};var _0x333572;var _0x4c663f;return db[_0x2653('0x2d')][_0x2653('0x4d')]({'where':{'id':_0x6ed4f6[_0x2653('0x47')]['id']}})[_0x2653('0x26')](handleEntityNotFound(_0x232c30,null))[_0x2653('0x26')](function(_0x187467){if(_0x187467){_0x333572=_0x187467;_0x4ae79e[_0x2653('0x31')]=_[_0x2653('0x34')](db['ServicenowField'][_0x2653('0x2e')]);_0x4ae79e[_0x2653('0x33')]=_[_0x2653('0x34')](_0x6ed4f6['query']);_0x4ae79e[_0x2653('0x3e')]=_[_0x2653('0x36')](_0x4ae79e[_0x2653('0x31')],_0x4ae79e[_0x2653('0x33')]);_0x474e24[_0x2653('0x35')]=_[_0x2653('0x36')](_0x4ae79e[_0x2653('0x31')],qs[_0x2653('0x37')](_0x6ed4f6[_0x2653('0x33')]['fields']));_0x474e24[_0x2653('0x35')]=_0x474e24[_0x2653('0x35')][_0x2653('0x38')]?_0x474e24[_0x2653('0x35')]:_0x4ae79e[_0x2653('0x31')];_0x474e24[_0x2653('0x3b')]=qs[_0x2653('0x3c')](_0x6ed4f6[_0x2653('0x33')][_0x2653('0x3c')]);_0x474e24[_0x2653('0x3d')]=qs[_0x2653('0x3e')](_[_0x2653('0x4e')](_0x6ed4f6[_0x2653('0x33')],_0x4ae79e[_0x2653('0x3e')]));if(_0x6ed4f6[_0x2653('0x33')]['filter']){_0x474e24[_0x2653('0x3d')]=_[_0x2653('0x41')](_0x474e24[_0x2653('0x3d')],{'$or':_[_0x2653('0x32')](_0x474e24['attributes'],function(_0x17181f){var _0x5b9c39={};_0x5b9c39[_0x17181f]={'$like':'%'+_0x6ed4f6['query'][_0x2653('0x3f')]+'%'};return _0x5b9c39;})});}_0x474e24=_[_0x2653('0x41')]({},_0x474e24,_0x6ed4f6[_0x2653('0x42')]);return _0x333572[_0x2653('0x4c')](_0x474e24);}})[_0x2653('0x26')](function(_0x2ad442){if(_0x2ad442){_0x4c663f=_0x2ad442[_0x2653('0x38')];if(!_0x6ed4f6[_0x2653('0x33')]['hasOwnProperty']('nolimit')){_0x474e24['limit']=qs[_0x2653('0x1e')](_0x6ed4f6['query'][_0x2653('0x1e')]);_0x474e24[_0x2653('0x1c')]=qs[_0x2653('0x1c')](_0x6ed4f6['query']['offset']);}return _0x333572[_0x2653('0x4c')](_0x474e24);}})[_0x2653('0x26')](function(_0x2be8af){if(_0x2be8af){return _0x2be8af?{'count':_0x4c663f,'rows':_0x2be8af}:null;}})[_0x2653('0x26')](respondWithResult(_0x232c30,null))[_0x2653('0x48')](handleError(_0x232c30,null));};exports[_0x2653('0x4f')]=function(_0x126677,_0x3b858e,_0x19c780){var _0x173ce4={};var _0x310b6d={};var _0x5ace64;var _0xc95c0a;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x126677[_0x2653('0x47')]['id']}})[_0x2653('0x26')](handleEntityNotFound(_0x3b858e,null))[_0x2653('0x26')](function(_0x5caa39){if(_0x5caa39){_0x5ace64=_0x5caa39;_0x310b6d[_0x2653('0x31')]=_[_0x2653('0x34')](db[_0x2653('0x50')][_0x2653('0x2e')]);_0x310b6d[_0x2653('0x33')]=_[_0x2653('0x34')](_0x126677[_0x2653('0x33')]);_0x310b6d[_0x2653('0x3e')]=_[_0x2653('0x36')](_0x310b6d[_0x2653('0x31')],_0x310b6d[_0x2653('0x33')]);_0x173ce4[_0x2653('0x35')]=_[_0x2653('0x36')](_0x310b6d[_0x2653('0x31')],qs['fields'](_0x126677['query'][_0x2653('0x37')]));_0x173ce4[_0x2653('0x35')]=_0x173ce4[_0x2653('0x35')][_0x2653('0x38')]?_0x173ce4['attributes']:_0x310b6d['model'];_0x173ce4[_0x2653('0x3b')]=qs[_0x2653('0x3c')](_0x126677['query']['sort']);_0x173ce4[_0x2653('0x3d')]=qs[_0x2653('0x3e')](_[_0x2653('0x4e')](_0x126677[_0x2653('0x33')],_0x310b6d['filters']));if(_0x126677[_0x2653('0x33')][_0x2653('0x3f')]){_0x173ce4[_0x2653('0x3d')]=_[_0x2653('0x41')](_0x173ce4['where'],{'$or':_['map'](_0x173ce4[_0x2653('0x35')],function(_0x23d51c){var _0x2f0583={};_0x2f0583[_0x23d51c]={'$like':'%'+_0x126677['query']['filter']+'%'};return _0x2f0583;})});}_0x173ce4=_['merge']({},_0x173ce4,_0x126677[_0x2653('0x42')]);return _0x5ace64[_0x2653('0x4f')](_0x173ce4);}})[_0x2653('0x26')](function(_0x406bfc){if(_0x406bfc){_0xc95c0a=_0x406bfc[_0x2653('0x38')];if(!_0x126677['query'][_0x2653('0x39')](_0x2653('0x3a'))){_0x173ce4[_0x2653('0x1e')]=qs[_0x2653('0x1e')](_0x126677[_0x2653('0x33')][_0x2653('0x1e')]);_0x173ce4[_0x2653('0x1c')]=qs[_0x2653('0x1c')](_0x126677['query'][_0x2653('0x1c')]);}return _0x5ace64['getSubjects'](_0x173ce4);}})[_0x2653('0x26')](function(_0x28b40a){if(_0x28b40a){return _0x28b40a?{'count':_0xc95c0a,'rows':_0x28b40a}:null;}})['then'](respondWithResult(_0x3b858e,null))[_0x2653('0x48')](handleError(_0x3b858e,null));};exports['getDescriptions']=function(_0x2e820d,_0x1dcad2,_0x4f458e){var _0x2f6c95={};var _0x2e920f={};var _0x18e722;var _0x2c1dd3;return db[_0x2653('0x2d')][_0x2653('0x4d')]({'where':{'id':_0x2e820d[_0x2653('0x47')]['id']}})[_0x2653('0x26')](handleEntityNotFound(_0x1dcad2,null))[_0x2653('0x26')](function(_0x354733){if(_0x354733){_0x18e722=_0x354733;_0x2e920f[_0x2653('0x31')]=_[_0x2653('0x34')](db[_0x2653('0x50')][_0x2653('0x2e')]);_0x2e920f['query']=_[_0x2653('0x34')](_0x2e820d[_0x2653('0x33')]);_0x2e920f[_0x2653('0x3e')]=_[_0x2653('0x36')](_0x2e920f['model'],_0x2e920f[_0x2653('0x33')]);_0x2f6c95[_0x2653('0x35')]=_['intersection'](_0x2e920f[_0x2653('0x31')],qs['fields'](_0x2e820d['query'][_0x2653('0x37')]));_0x2f6c95[_0x2653('0x35')]=_0x2f6c95[_0x2653('0x35')][_0x2653('0x38')]?_0x2f6c95[_0x2653('0x35')]:_0x2e920f['model'];_0x2f6c95[_0x2653('0x3b')]=qs[_0x2653('0x3c')](_0x2e820d[_0x2653('0x33')][_0x2653('0x3c')]);_0x2f6c95['where']=qs[_0x2653('0x3e')](_['pick'](_0x2e820d[_0x2653('0x33')],_0x2e920f[_0x2653('0x3e')]));if(_0x2e820d[_0x2653('0x33')]['filter']){_0x2f6c95[_0x2653('0x3d')]=_['merge'](_0x2f6c95['where'],{'$or':_[_0x2653('0x32')](_0x2f6c95[_0x2653('0x35')],function(_0x1ce307){var _0x3da1bb={};_0x3da1bb[_0x1ce307]={'$like':'%'+_0x2e820d['query'][_0x2653('0x3f')]+'%'};return _0x3da1bb;})});}_0x2f6c95=_[_0x2653('0x41')]({},_0x2f6c95,_0x2e820d['options']);return _0x18e722[_0x2653('0x51')](_0x2f6c95);}})[_0x2653('0x26')](function(_0x51cd70){if(_0x51cd70){_0x2c1dd3=_0x51cd70['length'];if(!_0x2e820d['query']['hasOwnProperty'](_0x2653('0x3a'))){_0x2f6c95['limit']=qs[_0x2653('0x1e')](_0x2e820d['query'][_0x2653('0x1e')]);_0x2f6c95['offset']=qs['offset'](_0x2e820d['query'][_0x2653('0x1c')]);}return _0x18e722['getDescriptions'](_0x2f6c95);}})[_0x2653('0x26')](function(_0xbd6caa){if(_0xbd6caa){return _0xbd6caa?{'count':_0x2c1dd3,'rows':_0xbd6caa}:null;}})[_0x2653('0x26')](respondWithResult(_0x1dcad2,null))[_0x2653('0x48')](handleError(_0x1dcad2,null));};