4e9d032a02cf129a1590ea71c053df9d7d901b35
[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 _0x9023=['querystring','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','save','update','then','destroy','error','name','send','ServicenowConfiguration','fieldName','type','key','model','map','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','where','filters','filter','merge','VIRTUAL','options','includeAll','rows','show','params','length','include','create','body','catch','find','getFields','findOne','keys','ServicenowField','rawAttributes','sort','getSubjects','pick','getDescriptions','zip-dir','fast-json-patch','request-promise','bluebird','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js'];(function(_0x47dc1c,_0x3b156a){var _0x4aafab=function(_0x44d904){while(--_0x44d904){_0x47dc1c['push'](_0x47dc1c['shift']());}};_0x4aafab(++_0x3b156a);}(_0x9023,0x171));var _0x3902=function(_0x460306,_0x126172){_0x460306=_0x460306-0x0;var _0x2f6c78=_0x9023[_0x460306];return _0x2f6c78;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3902('0x0'));var jsonpatch=require(_0x3902('0x1'));var rp=require(_0x3902('0x2'));var moment=require('moment');var BPromise=require(_0x3902('0x3'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x3902('0x4'));var ejs=require(_0x3902('0x5'));var fs=require('fs');var fs_extra=require(_0x3902('0x6'));var _=require(_0x3902('0x7'));var squel=require('squel');var crypto=require(_0x3902('0x8'));var jsforce=require(_0x3902('0x9'));var deskjs=require(_0x3902('0xa'));var toCsv=require(_0x3902('0x4'));var querystring=require(_0x3902('0xb'));var Papa=require(_0x3902('0xc'));var Redis=require(_0x3902('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x3902('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3902('0xf'))(_0x3902('0x10'));var utils=require(_0x3902('0x11'));var config=require(_0x3902('0x12'));var licenseUtil=require(_0x3902('0x13'));var db=require(_0x3902('0x14'))['db'];function respondWithStatusCode(_0x204b02,_0x38df91){_0x38df91=_0x38df91||0xcc;return function(_0x1f53ad){if(_0x1f53ad){return _0x204b02[_0x3902('0x15')](_0x38df91);}return _0x204b02[_0x3902('0x16')](_0x38df91)[_0x3902('0x17')]();};}function respondWithResult(_0x253c9c,_0x5ac10a){_0x5ac10a=_0x5ac10a||0xc8;return function(_0x186579){if(_0x186579){return _0x253c9c[_0x3902('0x16')](_0x5ac10a)[_0x3902('0x18')](_0x186579);}};}function respondWithFilteredResult(_0x463d2c,_0x1b3d81){return function(_0x5d4394){if(_0x5d4394){var _0x5508ca=typeof _0x1b3d81[_0x3902('0x19')]==='undefined'&&typeof _0x1b3d81['limit']===_0x3902('0x1a');var _0x1b3f3d=_0x5d4394[_0x3902('0x1b')];var _0x6f0dda=_0x5508ca?0x0:_0x1b3d81[_0x3902('0x19')];var _0x174cc3=_0x5508ca?_0x5d4394['count']:_0x1b3d81[_0x3902('0x19')]+_0x1b3d81[_0x3902('0x1c')];var _0x5259ea;if(_0x174cc3>=_0x1b3f3d){_0x174cc3=_0x1b3f3d;_0x5259ea=0xc8;}else{_0x5259ea=0xce;}_0x463d2c[_0x3902('0x16')](_0x5259ea);return _0x463d2c[_0x3902('0x1d')]('Content-Range',_0x6f0dda+'-'+_0x174cc3+'/'+_0x1b3f3d)['json'](_0x5d4394);}return null;};}function patchUpdates(_0x7bbb3a){return function(_0x38e1e4){try{jsonpatch[_0x3902('0x1e')](_0x38e1e4,_0x7bbb3a,!![]);}catch(_0x45dfad){return BPromise['reject'](_0x45dfad);}return _0x38e1e4[_0x3902('0x1f')]();};}function saveUpdates(_0x44cb07,_0x1ccd2e){return function(_0x193faa){if(_0x193faa){return _0x193faa[_0x3902('0x20')](_0x44cb07)[_0x3902('0x21')](function(_0x36fd9f){return _0x36fd9f;});}return null;};}function removeEntity(_0x4b3e65,_0x1f7944){return function(_0x54e567){if(_0x54e567){return _0x54e567[_0x3902('0x22')]()[_0x3902('0x21')](function(){_0x4b3e65[_0x3902('0x16')](0xcc)[_0x3902('0x17')]();});}};}function handleEntityNotFound(_0x120a1c,_0x1f2278){return function(_0x3b8931){if(!_0x3b8931){_0x120a1c['sendStatus'](0x194);}return _0x3b8931;};}function handleError(_0x121dbd,_0x3940ab){_0x3940ab=_0x3940ab||0x1f4;return function(_0x1e6bbf){logger[_0x3902('0x23')](_0x1e6bbf['stack']);if(_0x1e6bbf[_0x3902('0x24')]){delete _0x1e6bbf[_0x3902('0x24')];}_0x121dbd[_0x3902('0x16')](_0x3940ab)[_0x3902('0x25')](_0x1e6bbf);};}exports['index']=function(_0x587910,_0x49c818){var _0x562ad2={},_0x203b3b={},_0x1e8b62={'count':0x0,'rows':[]};var _0x3f224=_['map'](db[_0x3902('0x26')]['rawAttributes'],function(_0x37a2dd){return{'name':_0x37a2dd[_0x3902('0x27')],'type':_0x37a2dd[_0x3902('0x28')][_0x3902('0x29')]};});_0x203b3b[_0x3902('0x2a')]=_[_0x3902('0x2b')](_0x3f224,_0x3902('0x24'));_0x203b3b[_0x3902('0x2c')]=_['keys'](_0x587910[_0x3902('0x2c')]);_0x203b3b['filters']=_[_0x3902('0x2d')](_0x203b3b[_0x3902('0x2a')],_0x203b3b[_0x3902('0x2c')]);_0x562ad2[_0x3902('0x2e')]=_[_0x3902('0x2d')](_0x203b3b[_0x3902('0x2a')],qs[_0x3902('0x2f')](_0x587910[_0x3902('0x2c')][_0x3902('0x2f')]));_0x562ad2[_0x3902('0x2e')]=_0x562ad2[_0x3902('0x2e')]['length']?_0x562ad2['attributes']:_0x203b3b['model'];if(!_0x587910['query'][_0x3902('0x30')](_0x3902('0x31'))){_0x562ad2[_0x3902('0x1c')]=qs[_0x3902('0x1c')](_0x587910['query'][_0x3902('0x1c')]);_0x562ad2[_0x3902('0x19')]=qs[_0x3902('0x19')](_0x587910['query']['offset']);}_0x562ad2[_0x3902('0x32')]=qs['sort'](_0x587910[_0x3902('0x2c')]['sort']);_0x562ad2[_0x3902('0x33')]=qs[_0x3902('0x34')](_['pick'](_0x587910[_0x3902('0x2c')],_0x203b3b[_0x3902('0x34')]),_0x3f224);if(_0x587910[_0x3902('0x2c')][_0x3902('0x35')]){_0x562ad2[_0x3902('0x33')]=_[_0x3902('0x36')](_0x562ad2[_0x3902('0x33')],{'$or':_['map'](_0x3f224,function(_0x25709d){if(_0x25709d[_0x3902('0x28')]!==_0x3902('0x37')){var _0x9ae0c={};_0x9ae0c[_0x25709d[_0x3902('0x24')]]={'$like':'%'+_0x587910[_0x3902('0x2c')][_0x3902('0x35')]+'%'};return _0x9ae0c;}})});}_0x562ad2=_[_0x3902('0x36')]({},_0x562ad2,_0x587910[_0x3902('0x38')]);var _0x46bf1c={'where':_0x562ad2[_0x3902('0x33')]};return db[_0x3902('0x26')][_0x3902('0x1b')](_0x46bf1c)[_0x3902('0x21')](function(_0x4e0e00){_0x1e8b62[_0x3902('0x1b')]=_0x4e0e00;if(_0x587910[_0x3902('0x2c')][_0x3902('0x39')]){_0x562ad2['include']=[{'all':!![]}];}return db[_0x3902('0x26')]['findAll'](_0x562ad2);})[_0x3902('0x21')](function(_0x5bbb35){_0x1e8b62[_0x3902('0x3a')]=_0x5bbb35;return _0x1e8b62;})[_0x3902('0x21')](respondWithFilteredResult(_0x49c818,_0x562ad2))['catch'](handleError(_0x49c818,null));};exports[_0x3902('0x3b')]=function(_0x45e1ee,_0x4865d8){var _0x4344e0={'raw':![],'where':{'id':_0x45e1ee[_0x3902('0x3c')]['id']}},_0x59f71a={};_0x59f71a[_0x3902('0x2a')]=_['keys'](db['ServicenowConfiguration']['rawAttributes']);_0x59f71a[_0x3902('0x2c')]=_['keys'](_0x45e1ee[_0x3902('0x2c')]);_0x59f71a['filters']=_[_0x3902('0x2d')](_0x59f71a['model'],_0x59f71a[_0x3902('0x2c')]);_0x4344e0['attributes']=_[_0x3902('0x2d')](_0x59f71a[_0x3902('0x2a')],qs[_0x3902('0x2f')](_0x45e1ee[_0x3902('0x2c')][_0x3902('0x2f')]));_0x4344e0[_0x3902('0x2e')]=_0x4344e0[_0x3902('0x2e')][_0x3902('0x3d')]?_0x4344e0[_0x3902('0x2e')]:_0x59f71a['model'];if(_0x45e1ee[_0x3902('0x2c')][_0x3902('0x39')]){_0x4344e0[_0x3902('0x3e')]=[{'all':!![]}];}_0x4344e0=_['merge']({},_0x4344e0,_0x45e1ee[_0x3902('0x38')]);return db[_0x3902('0x26')]['find'](_0x4344e0)[_0x3902('0x21')](handleEntityNotFound(_0x4865d8,null))[_0x3902('0x21')](respondWithResult(_0x4865d8,null))['catch'](handleError(_0x4865d8,null));};exports['create']=function(_0xf7dd00,_0x58d2de){return db[_0x3902('0x26')][_0x3902('0x3f')](_0xf7dd00[_0x3902('0x40')],{})['then'](respondWithResult(_0x58d2de,0xc9))[_0x3902('0x41')](handleError(_0x58d2de,null));};exports[_0x3902('0x20')]=function(_0x4db8e6,_0x4f11fb){if(_0x4db8e6['body']['id']){delete _0x4db8e6[_0x3902('0x40')]['id'];}return db[_0x3902('0x26')][_0x3902('0x42')]({'where':{'id':_0x4db8e6['params']['id']}})[_0x3902('0x21')](handleEntityNotFound(_0x4f11fb,null))[_0x3902('0x21')](saveUpdates(_0x4db8e6[_0x3902('0x40')],null))[_0x3902('0x21')](respondWithResult(_0x4f11fb,null))[_0x3902('0x41')](handleError(_0x4f11fb,null));};exports['destroy']=function(_0x5cb3ea,_0x579272){return db[_0x3902('0x26')][_0x3902('0x42')]({'where':{'id':_0x5cb3ea['params']['id']}})['then'](handleEntityNotFound(_0x579272,null))['then'](removeEntity(_0x579272,null))[_0x3902('0x41')](handleError(_0x579272,null));};exports[_0x3902('0x43')]=function(_0x1062ef,_0x370327,_0x555cf9){var _0x387557={};var _0x1fecca={};var _0x113560;var _0x457e1f;return db[_0x3902('0x26')][_0x3902('0x44')]({'where':{'id':_0x1062ef[_0x3902('0x3c')]['id']}})[_0x3902('0x21')](handleEntityNotFound(_0x370327,null))[_0x3902('0x21')](function(_0x4e33c7){if(_0x4e33c7){_0x113560=_0x4e33c7;_0x1fecca['model']=_[_0x3902('0x45')](db[_0x3902('0x46')][_0x3902('0x47')]);_0x1fecca[_0x3902('0x2c')]=_[_0x3902('0x45')](_0x1062ef[_0x3902('0x2c')]);_0x1fecca[_0x3902('0x34')]=_[_0x3902('0x2d')](_0x1fecca['model'],_0x1fecca[_0x3902('0x2c')]);_0x387557[_0x3902('0x2e')]=_[_0x3902('0x2d')](_0x1fecca[_0x3902('0x2a')],qs[_0x3902('0x2f')](_0x1062ef[_0x3902('0x2c')][_0x3902('0x2f')]));_0x387557[_0x3902('0x2e')]=_0x387557[_0x3902('0x2e')][_0x3902('0x3d')]?_0x387557[_0x3902('0x2e')]:_0x1fecca[_0x3902('0x2a')];_0x387557[_0x3902('0x32')]=qs['sort'](_0x1062ef[_0x3902('0x2c')][_0x3902('0x48')]);_0x387557[_0x3902('0x33')]=qs[_0x3902('0x34')](_['pick'](_0x1062ef[_0x3902('0x2c')],_0x1fecca[_0x3902('0x34')]));if(_0x1062ef['query'][_0x3902('0x35')]){_0x387557['where']=_['merge'](_0x387557[_0x3902('0x33')],{'$or':_[_0x3902('0x2b')](_0x387557[_0x3902('0x2e')],function(_0x28473e){var _0x324e7d={};_0x324e7d[_0x28473e]={'$like':'%'+_0x1062ef[_0x3902('0x2c')][_0x3902('0x35')]+'%'};return _0x324e7d;})});}_0x387557=_[_0x3902('0x36')]({},_0x387557,_0x1062ef[_0x3902('0x38')]);return _0x113560[_0x3902('0x43')](_0x387557);}})['then'](function(_0x1bf302){if(_0x1bf302){_0x457e1f=_0x1bf302['length'];if(!_0x1062ef[_0x3902('0x2c')][_0x3902('0x30')](_0x3902('0x31'))){_0x387557[_0x3902('0x1c')]=qs[_0x3902('0x1c')](_0x1062ef[_0x3902('0x2c')][_0x3902('0x1c')]);_0x387557[_0x3902('0x19')]=qs['offset'](_0x1062ef[_0x3902('0x2c')][_0x3902('0x19')]);}return _0x113560[_0x3902('0x43')](_0x387557);}})[_0x3902('0x21')](function(_0x15cada){if(_0x15cada){return _0x15cada?{'count':_0x457e1f,'rows':_0x15cada}:null;}})[_0x3902('0x21')](respondWithResult(_0x370327,null))[_0x3902('0x41')](handleError(_0x370327,null));};exports[_0x3902('0x49')]=function(_0x1e2db2,_0x4587da,_0x119a3f){var _0x4e3d2b={};var _0x4e2ab1={};var _0x285ce1;var _0x9f3e5b;return db[_0x3902('0x26')][_0x3902('0x44')]({'where':{'id':_0x1e2db2[_0x3902('0x3c')]['id']}})[_0x3902('0x21')](handleEntityNotFound(_0x4587da,null))[_0x3902('0x21')](function(_0x7643d8){if(_0x7643d8){_0x285ce1=_0x7643d8;_0x4e2ab1['model']=_[_0x3902('0x45')](db[_0x3902('0x46')]['rawAttributes']);_0x4e2ab1['query']=_[_0x3902('0x45')](_0x1e2db2[_0x3902('0x2c')]);_0x4e2ab1[_0x3902('0x34')]=_[_0x3902('0x2d')](_0x4e2ab1['model'],_0x4e2ab1[_0x3902('0x2c')]);_0x4e3d2b[_0x3902('0x2e')]=_[_0x3902('0x2d')](_0x4e2ab1[_0x3902('0x2a')],qs['fields'](_0x1e2db2[_0x3902('0x2c')][_0x3902('0x2f')]));_0x4e3d2b[_0x3902('0x2e')]=_0x4e3d2b[_0x3902('0x2e')][_0x3902('0x3d')]?_0x4e3d2b[_0x3902('0x2e')]:_0x4e2ab1[_0x3902('0x2a')];_0x4e3d2b['order']=qs['sort'](_0x1e2db2[_0x3902('0x2c')][_0x3902('0x48')]);_0x4e3d2b[_0x3902('0x33')]=qs['filters'](_[_0x3902('0x4a')](_0x1e2db2[_0x3902('0x2c')],_0x4e2ab1[_0x3902('0x34')]));if(_0x1e2db2[_0x3902('0x2c')][_0x3902('0x35')]){_0x4e3d2b['where']=_[_0x3902('0x36')](_0x4e3d2b[_0x3902('0x33')],{'$or':_[_0x3902('0x2b')](_0x4e3d2b[_0x3902('0x2e')],function(_0x23f737){var _0x9ab20b={};_0x9ab20b[_0x23f737]={'$like':'%'+_0x1e2db2[_0x3902('0x2c')]['filter']+'%'};return _0x9ab20b;})});}_0x4e3d2b=_['merge']({},_0x4e3d2b,_0x1e2db2[_0x3902('0x38')]);return _0x285ce1[_0x3902('0x49')](_0x4e3d2b);}})['then'](function(_0x446f67){if(_0x446f67){_0x9f3e5b=_0x446f67[_0x3902('0x3d')];if(!_0x1e2db2['query']['hasOwnProperty'](_0x3902('0x31'))){_0x4e3d2b[_0x3902('0x1c')]=qs[_0x3902('0x1c')](_0x1e2db2['query']['limit']);_0x4e3d2b[_0x3902('0x19')]=qs[_0x3902('0x19')](_0x1e2db2[_0x3902('0x2c')][_0x3902('0x19')]);}return _0x285ce1[_0x3902('0x49')](_0x4e3d2b);}})[_0x3902('0x21')](function(_0x34734e){if(_0x34734e){return _0x34734e?{'count':_0x9f3e5b,'rows':_0x34734e}:null;}})[_0x3902('0x21')](respondWithResult(_0x4587da,null))[_0x3902('0x41')](handleError(_0x4587da,null));};exports[_0x3902('0x4b')]=function(_0x3288d4,_0x5d64a0,_0x22d487){var _0x30de81={};var _0x44559a={};var _0x330fc4;var _0x17db7f;return db[_0x3902('0x26')]['findOne']({'where':{'id':_0x3288d4[_0x3902('0x3c')]['id']}})[_0x3902('0x21')](handleEntityNotFound(_0x5d64a0,null))[_0x3902('0x21')](function(_0x12b2b4){if(_0x12b2b4){_0x330fc4=_0x12b2b4;_0x44559a['model']=_['keys'](db[_0x3902('0x46')][_0x3902('0x47')]);_0x44559a[_0x3902('0x2c')]=_[_0x3902('0x45')](_0x3288d4['query']);_0x44559a['filters']=_['intersection'](_0x44559a[_0x3902('0x2a')],_0x44559a[_0x3902('0x2c')]);_0x30de81['attributes']=_[_0x3902('0x2d')](_0x44559a[_0x3902('0x2a')],qs[_0x3902('0x2f')](_0x3288d4['query']['fields']));_0x30de81[_0x3902('0x2e')]=_0x30de81['attributes'][_0x3902('0x3d')]?_0x30de81[_0x3902('0x2e')]:_0x44559a['model'];_0x30de81[_0x3902('0x32')]=qs[_0x3902('0x48')](_0x3288d4[_0x3902('0x2c')][_0x3902('0x48')]);_0x30de81[_0x3902('0x33')]=qs[_0x3902('0x34')](_[_0x3902('0x4a')](_0x3288d4['query'],_0x44559a[_0x3902('0x34')]));if(_0x3288d4['query'][_0x3902('0x35')]){_0x30de81['where']=_[_0x3902('0x36')](_0x30de81[_0x3902('0x33')],{'$or':_[_0x3902('0x2b')](_0x30de81[_0x3902('0x2e')],function(_0x436f8a){var _0x4c4927={};_0x4c4927[_0x436f8a]={'$like':'%'+_0x3288d4['query'][_0x3902('0x35')]+'%'};return _0x4c4927;})});}_0x30de81=_['merge']({},_0x30de81,_0x3288d4[_0x3902('0x38')]);return _0x330fc4[_0x3902('0x4b')](_0x30de81);}})[_0x3902('0x21')](function(_0x3b69b3){if(_0x3b69b3){_0x17db7f=_0x3b69b3[_0x3902('0x3d')];if(!_0x3288d4[_0x3902('0x2c')][_0x3902('0x30')]('nolimit')){_0x30de81[_0x3902('0x1c')]=qs[_0x3902('0x1c')](_0x3288d4['query'][_0x3902('0x1c')]);_0x30de81['offset']=qs['offset'](_0x3288d4[_0x3902('0x2c')]['offset']);}return _0x330fc4[_0x3902('0x4b')](_0x30de81);}})[_0x3902('0x21')](function(_0x19e351){if(_0x19e351){return _0x19e351?{'count':_0x17db7f,'rows':_0x19e351}:null;}})[_0x3902('0x21')](respondWithResult(_0x5d64a0,null))[_0x3902('0x41')](handleError(_0x5d64a0,null));};