Built motion from commit f57cc866.|2.6.31
[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 _0xa4af=['pick','filter','merge','options','includeAll','include','catch','show','params','intersection','length','create','body','find','getFields','findOne','ServicenowField','getSubjects','hasOwnProperty','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','query','keys','fields','attributes','nolimit','order','sort','where','filters'];(function(_0x42245d,_0x51758f){var _0x4b211a=function(_0x2634e){while(--_0x2634e){_0x42245d['push'](_0x42245d['shift']());}};_0x4b211a(++_0x51758f);}(_0xa4af,0x190));var _0xfa4a=function(_0x468232,_0x26723f){_0x468232=_0x468232-0x0;var _0x2ed593=_0xa4af[_0x468232];return _0x2ed593;};'use strict';var emlformat=require(_0xfa4a('0x0'));var rimraf=require(_0xfa4a('0x1'));var zipdir=require(_0xfa4a('0x2'));var jsonpatch=require(_0xfa4a('0x3'));var rp=require('request-promise');var moment=require(_0xfa4a('0x4'));var BPromise=require(_0xfa4a('0x5'));var Mustache=require(_0xfa4a('0x6'));var util=require(_0xfa4a('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xfa4a('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfa4a('0x9'));var _=require(_0xfa4a('0xa'));var squel=require(_0xfa4a('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xfa4a('0xc'));var toCsv=require(_0xfa4a('0x8'));var querystring=require('querystring');var Papa=require(_0xfa4a('0xd'));var Redis=require(_0xfa4a('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xfa4a('0xf'));var as=require(_0xfa4a('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xfa4a('0x11'));var utils=require('../../config/utils');var config=require(_0xfa4a('0x12'));var licenseUtil=require(_0xfa4a('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x31c920,_0x278659){_0x278659=_0x278659||0xcc;return function(_0x43a275){if(_0x43a275){return _0x31c920[_0xfa4a('0x14')](_0x278659);}return _0x31c920['status'](_0x278659)[_0xfa4a('0x15')]();};}function respondWithResult(_0x4a2645,_0x46a4f3){_0x46a4f3=_0x46a4f3||0xc8;return function(_0x24dd4e){if(_0x24dd4e){return _0x4a2645[_0xfa4a('0x16')](_0x46a4f3)[_0xfa4a('0x17')](_0x24dd4e);}};}function respondWithFilteredResult(_0x1af538,_0x2cde10){return function(_0x28220e){if(_0x28220e){var _0x2bdab1=typeof _0x2cde10[_0xfa4a('0x18')]===_0xfa4a('0x19')&&typeof _0x2cde10[_0xfa4a('0x1a')]===_0xfa4a('0x19');var _0x3faec0=_0x28220e['count'];var _0x457a17=_0x2bdab1?0x0:_0x2cde10[_0xfa4a('0x18')];var _0x2960f1=_0x2bdab1?_0x28220e[_0xfa4a('0x1b')]:_0x2cde10['offset']+_0x2cde10[_0xfa4a('0x1a')];var _0x5930f0;if(_0x2960f1>=_0x3faec0){_0x2960f1=_0x3faec0;_0x5930f0=0xc8;}else{_0x5930f0=0xce;}_0x1af538['status'](_0x5930f0);return _0x1af538[_0xfa4a('0x1c')](_0xfa4a('0x1d'),_0x457a17+'-'+_0x2960f1+'/'+_0x3faec0)[_0xfa4a('0x17')](_0x28220e);}return null;};}function patchUpdates(_0x1ac6f0){return function(_0x4a72e1){try{jsonpatch[_0xfa4a('0x1e')](_0x4a72e1,_0x1ac6f0,!![]);}catch(_0x94dca5){return BPromise[_0xfa4a('0x1f')](_0x94dca5);}return _0x4a72e1[_0xfa4a('0x20')]();};}function saveUpdates(_0x1b1f62,_0x1c43a4){return function(_0x58e9cc){if(_0x58e9cc){return _0x58e9cc[_0xfa4a('0x21')](_0x1b1f62)[_0xfa4a('0x22')](function(_0x5a3fca){return _0x5a3fca;});}return null;};}function removeEntity(_0x12d590,_0x37baf1){return function(_0x3a6b07){if(_0x3a6b07){return _0x3a6b07[_0xfa4a('0x23')]()[_0xfa4a('0x22')](function(){_0x12d590['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5e4079,_0x99699f){return function(_0x430654){if(!_0x430654){_0x5e4079['sendStatus'](0x194);}return _0x430654;};}function handleError(_0x3ea802,_0x5c23df){_0x5c23df=_0x5c23df||0x1f4;return function(_0x599dc9){logger[_0xfa4a('0x24')](_0x599dc9['stack']);if(_0x599dc9[_0xfa4a('0x25')]){delete _0x599dc9[_0xfa4a('0x25')];}_0x3ea802[_0xfa4a('0x16')](_0x5c23df)[_0xfa4a('0x26')](_0x599dc9);};}exports[_0xfa4a('0x27')]=function(_0x40cfb9,_0x389b88){var _0x51b3fb={},_0x16a040={},_0x5e621e={'count':0x0,'rows':[]};var _0x2a537b=_[_0xfa4a('0x28')](db[_0xfa4a('0x29')][_0xfa4a('0x2a')],function(_0x175ad3){return{'name':_0x175ad3[_0xfa4a('0x2b')],'type':_0x175ad3[_0xfa4a('0x2c')][_0xfa4a('0x2d')]};});_0x16a040[_0xfa4a('0x2e')]=_[_0xfa4a('0x28')](_0x2a537b,_0xfa4a('0x25'));_0x16a040[_0xfa4a('0x2f')]=_[_0xfa4a('0x30')](_0x40cfb9['query']);_0x16a040['filters']=_['intersection'](_0x16a040[_0xfa4a('0x2e')],_0x16a040[_0xfa4a('0x2f')]);_0x51b3fb['attributes']=_['intersection'](_0x16a040[_0xfa4a('0x2e')],qs[_0xfa4a('0x31')](_0x40cfb9[_0xfa4a('0x2f')][_0xfa4a('0x31')]));_0x51b3fb[_0xfa4a('0x32')]=_0x51b3fb[_0xfa4a('0x32')]['length']?_0x51b3fb[_0xfa4a('0x32')]:_0x16a040[_0xfa4a('0x2e')];if(!_0x40cfb9['query']['hasOwnProperty'](_0xfa4a('0x33'))){_0x51b3fb['limit']=qs[_0xfa4a('0x1a')](_0x40cfb9[_0xfa4a('0x2f')][_0xfa4a('0x1a')]);_0x51b3fb[_0xfa4a('0x18')]=qs[_0xfa4a('0x18')](_0x40cfb9[_0xfa4a('0x2f')]['offset']);}_0x51b3fb[_0xfa4a('0x34')]=qs[_0xfa4a('0x35')](_0x40cfb9[_0xfa4a('0x2f')][_0xfa4a('0x35')]);_0x51b3fb[_0xfa4a('0x36')]=qs[_0xfa4a('0x37')](_[_0xfa4a('0x38')](_0x40cfb9[_0xfa4a('0x2f')],_0x16a040[_0xfa4a('0x37')]),_0x2a537b);if(_0x40cfb9['query'][_0xfa4a('0x39')]){_0x51b3fb[_0xfa4a('0x36')]=_[_0xfa4a('0x3a')](_0x51b3fb[_0xfa4a('0x36')],{'$or':_[_0xfa4a('0x28')](_0x2a537b,function(_0x543786){if(_0x543786[_0xfa4a('0x2c')]!=='VIRTUAL'){var _0x3d3817={};_0x3d3817[_0x543786[_0xfa4a('0x25')]]={'$like':'%'+_0x40cfb9[_0xfa4a('0x2f')][_0xfa4a('0x39')]+'%'};return _0x3d3817;}})});}_0x51b3fb=_[_0xfa4a('0x3a')]({},_0x51b3fb,_0x40cfb9[_0xfa4a('0x3b')]);var _0x51bce8={'where':_0x51b3fb['where']};return db['ServicenowConfiguration']['count'](_0x51bce8)['then'](function(_0x610b74){_0x5e621e['count']=_0x610b74;if(_0x40cfb9[_0xfa4a('0x2f')][_0xfa4a('0x3c')]){_0x51b3fb[_0xfa4a('0x3d')]=[{'all':!![]}];}return db[_0xfa4a('0x29')]['findAll'](_0x51b3fb);})[_0xfa4a('0x22')](function(_0x31e134){_0x5e621e['rows']=_0x31e134;return _0x5e621e;})[_0xfa4a('0x22')](respondWithFilteredResult(_0x389b88,_0x51b3fb))[_0xfa4a('0x3e')](handleError(_0x389b88,null));};exports[_0xfa4a('0x3f')]=function(_0x28a929,_0x1869eb){var _0x26d9a9={'raw':![],'where':{'id':_0x28a929[_0xfa4a('0x40')]['id']}},_0x1c5f72={};_0x1c5f72[_0xfa4a('0x2e')]=_['keys'](db['ServicenowConfiguration'][_0xfa4a('0x2a')]);_0x1c5f72['query']=_[_0xfa4a('0x30')](_0x28a929[_0xfa4a('0x2f')]);_0x1c5f72[_0xfa4a('0x37')]=_['intersection'](_0x1c5f72[_0xfa4a('0x2e')],_0x1c5f72['query']);_0x26d9a9[_0xfa4a('0x32')]=_[_0xfa4a('0x41')](_0x1c5f72[_0xfa4a('0x2e')],qs[_0xfa4a('0x31')](_0x28a929[_0xfa4a('0x2f')][_0xfa4a('0x31')]));_0x26d9a9[_0xfa4a('0x32')]=_0x26d9a9['attributes'][_0xfa4a('0x42')]?_0x26d9a9['attributes']:_0x1c5f72[_0xfa4a('0x2e')];if(_0x28a929[_0xfa4a('0x2f')][_0xfa4a('0x3c')]){_0x26d9a9[_0xfa4a('0x3d')]=[{'all':!![]}];}_0x26d9a9=_['merge']({},_0x26d9a9,_0x28a929['options']);return db[_0xfa4a('0x29')]['find'](_0x26d9a9)[_0xfa4a('0x22')](handleEntityNotFound(_0x1869eb,null))[_0xfa4a('0x22')](respondWithResult(_0x1869eb,null))[_0xfa4a('0x3e')](handleError(_0x1869eb,null));};exports[_0xfa4a('0x43')]=function(_0x6e7b7,_0x55c1f5){return db[_0xfa4a('0x29')][_0xfa4a('0x43')](_0x6e7b7[_0xfa4a('0x44')],{})['then'](respondWithResult(_0x55c1f5,0xc9))[_0xfa4a('0x3e')](handleError(_0x55c1f5,null));};exports[_0xfa4a('0x21')]=function(_0x1a0dca,_0x2f695a){if(_0x1a0dca[_0xfa4a('0x44')]['id']){delete _0x1a0dca[_0xfa4a('0x44')]['id'];}return db[_0xfa4a('0x29')][_0xfa4a('0x45')]({'where':{'id':_0x1a0dca['params']['id']}})[_0xfa4a('0x22')](handleEntityNotFound(_0x2f695a,null))[_0xfa4a('0x22')](saveUpdates(_0x1a0dca[_0xfa4a('0x44')],null))[_0xfa4a('0x22')](respondWithResult(_0x2f695a,null))[_0xfa4a('0x3e')](handleError(_0x2f695a,null));};exports[_0xfa4a('0x23')]=function(_0x1383c5,_0x879837){return db['ServicenowConfiguration'][_0xfa4a('0x45')]({'where':{'id':_0x1383c5[_0xfa4a('0x40')]['id']}})[_0xfa4a('0x22')](handleEntityNotFound(_0x879837,null))['then'](removeEntity(_0x879837,null))[_0xfa4a('0x3e')](handleError(_0x879837,null));};exports[_0xfa4a('0x46')]=function(_0x1420bc,_0x2ce751,_0x4772b7){var _0x345fc4={};var _0x2b20cd={};var _0x374e08;var _0xa404b9;return db[_0xfa4a('0x29')][_0xfa4a('0x47')]({'where':{'id':_0x1420bc[_0xfa4a('0x40')]['id']}})[_0xfa4a('0x22')](handleEntityNotFound(_0x2ce751,null))[_0xfa4a('0x22')](function(_0x1f72ae){if(_0x1f72ae){_0x374e08=_0x1f72ae;_0x2b20cd[_0xfa4a('0x2e')]=_[_0xfa4a('0x30')](db[_0xfa4a('0x48')][_0xfa4a('0x2a')]);_0x2b20cd[_0xfa4a('0x2f')]=_['keys'](_0x1420bc[_0xfa4a('0x2f')]);_0x2b20cd[_0xfa4a('0x37')]=_[_0xfa4a('0x41')](_0x2b20cd[_0xfa4a('0x2e')],_0x2b20cd['query']);_0x345fc4[_0xfa4a('0x32')]=_['intersection'](_0x2b20cd[_0xfa4a('0x2e')],qs[_0xfa4a('0x31')](_0x1420bc['query'][_0xfa4a('0x31')]));_0x345fc4[_0xfa4a('0x32')]=_0x345fc4['attributes'][_0xfa4a('0x42')]?_0x345fc4[_0xfa4a('0x32')]:_0x2b20cd[_0xfa4a('0x2e')];_0x345fc4[_0xfa4a('0x34')]=qs['sort'](_0x1420bc[_0xfa4a('0x2f')][_0xfa4a('0x35')]);_0x345fc4[_0xfa4a('0x36')]=qs[_0xfa4a('0x37')](_['pick'](_0x1420bc[_0xfa4a('0x2f')],_0x2b20cd[_0xfa4a('0x37')]));if(_0x1420bc[_0xfa4a('0x2f')][_0xfa4a('0x39')]){_0x345fc4[_0xfa4a('0x36')]=_[_0xfa4a('0x3a')](_0x345fc4[_0xfa4a('0x36')],{'$or':_['map'](_0x345fc4[_0xfa4a('0x32')],function(_0x5900dc){var _0x544628={};_0x544628[_0x5900dc]={'$like':'%'+_0x1420bc[_0xfa4a('0x2f')][_0xfa4a('0x39')]+'%'};return _0x544628;})});}_0x345fc4=_['merge']({},_0x345fc4,_0x1420bc[_0xfa4a('0x3b')]);return _0x374e08[_0xfa4a('0x46')](_0x345fc4);}})[_0xfa4a('0x22')](function(_0x23485b){if(_0x23485b){_0xa404b9=_0x23485b[_0xfa4a('0x42')];if(!_0x1420bc[_0xfa4a('0x2f')]['hasOwnProperty']('nolimit')){_0x345fc4[_0xfa4a('0x1a')]=qs[_0xfa4a('0x1a')](_0x1420bc['query'][_0xfa4a('0x1a')]);_0x345fc4[_0xfa4a('0x18')]=qs[_0xfa4a('0x18')](_0x1420bc['query'][_0xfa4a('0x18')]);}return _0x374e08[_0xfa4a('0x46')](_0x345fc4);}})[_0xfa4a('0x22')](function(_0x46b683){if(_0x46b683){return _0x46b683?{'count':_0xa404b9,'rows':_0x46b683}:null;}})[_0xfa4a('0x22')](respondWithResult(_0x2ce751,null))['catch'](handleError(_0x2ce751,null));};exports[_0xfa4a('0x49')]=function(_0x236868,_0x399c65,_0x352543){var _0x260c1d={};var _0x255795={};var _0x573d23;var _0x54da31;return db['ServicenowConfiguration'][_0xfa4a('0x47')]({'where':{'id':_0x236868[_0xfa4a('0x40')]['id']}})[_0xfa4a('0x22')](handleEntityNotFound(_0x399c65,null))['then'](function(_0x47db63){if(_0x47db63){_0x573d23=_0x47db63;_0x255795[_0xfa4a('0x2e')]=_['keys'](db[_0xfa4a('0x48')][_0xfa4a('0x2a')]);_0x255795['query']=_[_0xfa4a('0x30')](_0x236868[_0xfa4a('0x2f')]);_0x255795[_0xfa4a('0x37')]=_[_0xfa4a('0x41')](_0x255795[_0xfa4a('0x2e')],_0x255795[_0xfa4a('0x2f')]);_0x260c1d['attributes']=_['intersection'](_0x255795[_0xfa4a('0x2e')],qs[_0xfa4a('0x31')](_0x236868[_0xfa4a('0x2f')][_0xfa4a('0x31')]));_0x260c1d[_0xfa4a('0x32')]=_0x260c1d['attributes']['length']?_0x260c1d['attributes']:_0x255795[_0xfa4a('0x2e')];_0x260c1d[_0xfa4a('0x34')]=qs[_0xfa4a('0x35')](_0x236868[_0xfa4a('0x2f')]['sort']);_0x260c1d[_0xfa4a('0x36')]=qs[_0xfa4a('0x37')](_[_0xfa4a('0x38')](_0x236868[_0xfa4a('0x2f')],_0x255795[_0xfa4a('0x37')]));if(_0x236868[_0xfa4a('0x2f')]['filter']){_0x260c1d[_0xfa4a('0x36')]=_[_0xfa4a('0x3a')](_0x260c1d[_0xfa4a('0x36')],{'$or':_[_0xfa4a('0x28')](_0x260c1d[_0xfa4a('0x32')],function(_0x5c8288){var _0x25735f={};_0x25735f[_0x5c8288]={'$like':'%'+_0x236868[_0xfa4a('0x2f')][_0xfa4a('0x39')]+'%'};return _0x25735f;})});}_0x260c1d=_[_0xfa4a('0x3a')]({},_0x260c1d,_0x236868[_0xfa4a('0x3b')]);return _0x573d23['getSubjects'](_0x260c1d);}})[_0xfa4a('0x22')](function(_0x2c30f2){if(_0x2c30f2){_0x54da31=_0x2c30f2[_0xfa4a('0x42')];if(!_0x236868[_0xfa4a('0x2f')][_0xfa4a('0x4a')]('nolimit')){_0x260c1d[_0xfa4a('0x1a')]=qs[_0xfa4a('0x1a')](_0x236868[_0xfa4a('0x2f')][_0xfa4a('0x1a')]);_0x260c1d[_0xfa4a('0x18')]=qs['offset'](_0x236868[_0xfa4a('0x2f')][_0xfa4a('0x18')]);}return _0x573d23['getSubjects'](_0x260c1d);}})[_0xfa4a('0x22')](function(_0x36a29e){if(_0x36a29e){return _0x36a29e?{'count':_0x54da31,'rows':_0x36a29e}:null;}})['then'](respondWithResult(_0x399c65,null))[_0xfa4a('0x3e')](handleError(_0x399c65,null));};exports['getDescriptions']=function(_0x5cc11c,_0x1bd9e3,_0x431eb1){var _0x171da6={};var _0x138f10={};var _0x5f11b9;var _0x122075;return db[_0xfa4a('0x29')][_0xfa4a('0x47')]({'where':{'id':_0x5cc11c[_0xfa4a('0x40')]['id']}})['then'](handleEntityNotFound(_0x1bd9e3,null))[_0xfa4a('0x22')](function(_0x126f7f){if(_0x126f7f){_0x5f11b9=_0x126f7f;_0x138f10[_0xfa4a('0x2e')]=_[_0xfa4a('0x30')](db[_0xfa4a('0x48')][_0xfa4a('0x2a')]);_0x138f10[_0xfa4a('0x2f')]=_[_0xfa4a('0x30')](_0x5cc11c['query']);_0x138f10['filters']=_[_0xfa4a('0x41')](_0x138f10['model'],_0x138f10['query']);_0x171da6[_0xfa4a('0x32')]=_[_0xfa4a('0x41')](_0x138f10[_0xfa4a('0x2e')],qs[_0xfa4a('0x31')](_0x5cc11c[_0xfa4a('0x2f')]['fields']));_0x171da6['attributes']=_0x171da6['attributes']['length']?_0x171da6[_0xfa4a('0x32')]:_0x138f10[_0xfa4a('0x2e')];_0x171da6[_0xfa4a('0x34')]=qs[_0xfa4a('0x35')](_0x5cc11c[_0xfa4a('0x2f')]['sort']);_0x171da6[_0xfa4a('0x36')]=qs[_0xfa4a('0x37')](_['pick'](_0x5cc11c[_0xfa4a('0x2f')],_0x138f10[_0xfa4a('0x37')]));if(_0x5cc11c[_0xfa4a('0x2f')]['filter']){_0x171da6['where']=_['merge'](_0x171da6[_0xfa4a('0x36')],{'$or':_[_0xfa4a('0x28')](_0x171da6['attributes'],function(_0x26f532){var _0x45afe2={};_0x45afe2[_0x26f532]={'$like':'%'+_0x5cc11c[_0xfa4a('0x2f')][_0xfa4a('0x39')]+'%'};return _0x45afe2;})});}_0x171da6=_[_0xfa4a('0x3a')]({},_0x171da6,_0x5cc11c[_0xfa4a('0x3b')]);return _0x5f11b9[_0xfa4a('0x4b')](_0x171da6);}})['then'](function(_0x2b7484){if(_0x2b7484){_0x122075=_0x2b7484[_0xfa4a('0x42')];if(!_0x5cc11c[_0xfa4a('0x2f')][_0xfa4a('0x4a')](_0xfa4a('0x33'))){_0x171da6[_0xfa4a('0x1a')]=qs[_0xfa4a('0x1a')](_0x5cc11c[_0xfa4a('0x2f')][_0xfa4a('0x1a')]);_0x171da6[_0xfa4a('0x18')]=qs[_0xfa4a('0x18')](_0x5cc11c[_0xfa4a('0x2f')]['offset']);}return _0x5f11b9[_0xfa4a('0x4b')](_0x171da6);}})['then'](function(_0x1d1067){if(_0x1d1067){return _0x1d1067?{'count':_0x122075,'rows':_0x1d1067}:null;}})['then'](respondWithResult(_0x1bd9e3,null))[_0xfa4a('0x3e')](handleError(_0x1bd9e3,null));};