Built motion from commit 167bccf5.|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 _0xb443=['name','send','index','map','ServicenowConfiguration','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','show','rawAttributes','options','find','catch','create','body','params','getFields','findOne','ServicenowField','getSubjects','order','pick','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/utils','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','error','stack'];(function(_0x3ffd40,_0x4c65b8){var _0x14309d=function(_0x48886e){while(--_0x48886e){_0x3ffd40['push'](_0x3ffd40['shift']());}};_0x14309d(++_0x4c65b8);}(_0xb443,0x7e));var _0x3b44=function(_0x2642cb,_0x4b917f){_0x2642cb=_0x2642cb-0x0;var _0xe6e41=_0xb443[_0x2642cb];return _0xe6e41;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3b44('0x0'));var zipdir=require(_0x3b44('0x1'));var jsonpatch=require(_0x3b44('0x2'));var rp=require(_0x3b44('0x3'));var moment=require(_0x3b44('0x4'));var BPromise=require(_0x3b44('0x5'));var Mustache=require(_0x3b44('0x6'));var util=require(_0x3b44('0x7'));var path=require(_0x3b44('0x8'));var sox=require(_0x3b44('0x9'));var csv=require(_0x3b44('0xa'));var ejs=require(_0x3b44('0xb'));var fs=require('fs');var fs_extra=require(_0x3b44('0xc'));var _=require(_0x3b44('0xd'));var squel=require(_0x3b44('0xe'));var crypto=require(_0x3b44('0xf'));var jsforce=require(_0x3b44('0x10'));var deskjs=require(_0x3b44('0x11'));var toCsv=require(_0x3b44('0xa'));var querystring=require(_0x3b44('0x12'));var Papa=require(_0x3b44('0x13'));var Redis=require(_0x3b44('0x14'));var authService=require(_0x3b44('0x15'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3b44('0x16'));var utils=require(_0x3b44('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x3b44('0x18'));var db=require(_0x3b44('0x19'))['db'];function respondWithStatusCode(_0x46443e,_0x221ee4){_0x221ee4=_0x221ee4||0xcc;return function(_0x5797f6){if(_0x5797f6){return _0x46443e['sendStatus'](_0x221ee4);}return _0x46443e['status'](_0x221ee4)['end']();};}function respondWithResult(_0x5ee23e,_0x172e86){_0x172e86=_0x172e86||0xc8;return function(_0x1b5072){if(_0x1b5072){return _0x5ee23e[_0x3b44('0x1a')](_0x172e86)[_0x3b44('0x1b')](_0x1b5072);}};}function respondWithFilteredResult(_0x169fa3,_0x3c734c){return function(_0x835bfe){if(_0x835bfe){var _0x173dce=typeof _0x3c734c[_0x3b44('0x1c')]===_0x3b44('0x1d')&&typeof _0x3c734c[_0x3b44('0x1e')]===_0x3b44('0x1d');var _0x30ed6e=_0x835bfe[_0x3b44('0x1f')];var _0x2f6a79=_0x173dce?0x0:_0x3c734c[_0x3b44('0x1c')];var _0x11fe38=_0x173dce?_0x835bfe[_0x3b44('0x1f')]:_0x3c734c[_0x3b44('0x1c')]+_0x3c734c[_0x3b44('0x1e')];var _0x527f7c;if(_0x11fe38>=_0x30ed6e){_0x11fe38=_0x30ed6e;_0x527f7c=0xc8;}else{_0x527f7c=0xce;}_0x169fa3[_0x3b44('0x1a')](_0x527f7c);return _0x169fa3[_0x3b44('0x20')](_0x3b44('0x21'),_0x2f6a79+'-'+_0x11fe38+'/'+_0x30ed6e)['json'](_0x835bfe);}return null;};}function patchUpdates(_0x4db9fb){return function(_0x361679){try{jsonpatch[_0x3b44('0x22')](_0x361679,_0x4db9fb,!![]);}catch(_0x51c52a){return BPromise[_0x3b44('0x23')](_0x51c52a);}return _0x361679[_0x3b44('0x24')]();};}function saveUpdates(_0x7cbe31,_0x4bb5ba){return function(_0xa4dbb5){if(_0xa4dbb5){return _0xa4dbb5[_0x3b44('0x25')](_0x7cbe31)[_0x3b44('0x26')](function(_0x36d83f){return _0x36d83f;});}return null;};}function removeEntity(_0x4ed93a,_0xf6729d){return function(_0x6b0654){if(_0x6b0654){return _0x6b0654[_0x3b44('0x27')]()['then'](function(){_0x4ed93a['status'](0xcc)[_0x3b44('0x28')]();});}};}function handleEntityNotFound(_0x480a67,_0x4d7707){return function(_0x361f01){if(!_0x361f01){_0x480a67[_0x3b44('0x29')](0x194);}return _0x361f01;};}function handleError(_0x3d0d7c,_0x22239d){_0x22239d=_0x22239d||0x1f4;return function(_0x45ff03){logger[_0x3b44('0x2a')](_0x45ff03[_0x3b44('0x2b')]);if(_0x45ff03[_0x3b44('0x2c')]){delete _0x45ff03[_0x3b44('0x2c')];}_0x3d0d7c[_0x3b44('0x1a')](_0x22239d)[_0x3b44('0x2d')](_0x45ff03);};}exports[_0x3b44('0x2e')]=function(_0x293260,_0x34b2c4){var _0x4f035d={},_0x2989b6={},_0x175ced={'count':0x0,'rows':[]};var _0x3bf1be=_[_0x3b44('0x2f')](db[_0x3b44('0x30')]['rawAttributes'],function(_0xb64fd5){return{'name':_0xb64fd5[_0x3b44('0x31')],'type':_0xb64fd5[_0x3b44('0x32')][_0x3b44('0x33')]};});_0x2989b6[_0x3b44('0x34')]=_[_0x3b44('0x2f')](_0x3bf1be,'name');_0x2989b6[_0x3b44('0x35')]=_[_0x3b44('0x36')](_0x293260[_0x3b44('0x35')]);_0x2989b6[_0x3b44('0x37')]=_['intersection'](_0x2989b6[_0x3b44('0x34')],_0x2989b6[_0x3b44('0x35')]);_0x4f035d[_0x3b44('0x38')]=_[_0x3b44('0x39')](_0x2989b6[_0x3b44('0x34')],qs['fields'](_0x293260[_0x3b44('0x35')][_0x3b44('0x3a')]));_0x4f035d[_0x3b44('0x38')]=_0x4f035d[_0x3b44('0x38')][_0x3b44('0x3b')]?_0x4f035d[_0x3b44('0x38')]:_0x2989b6[_0x3b44('0x34')];if(!_0x293260['query'][_0x3b44('0x3c')](_0x3b44('0x3d'))){_0x4f035d[_0x3b44('0x1e')]=qs['limit'](_0x293260[_0x3b44('0x35')][_0x3b44('0x1e')]);_0x4f035d[_0x3b44('0x1c')]=qs[_0x3b44('0x1c')](_0x293260['query']['offset']);}_0x4f035d['order']=qs[_0x3b44('0x3e')](_0x293260[_0x3b44('0x35')][_0x3b44('0x3e')]);_0x4f035d[_0x3b44('0x3f')]=qs[_0x3b44('0x37')](_['pick'](_0x293260['query'],_0x2989b6[_0x3b44('0x37')]),_0x3bf1be);if(_0x293260[_0x3b44('0x35')][_0x3b44('0x40')]){_0x4f035d[_0x3b44('0x3f')]=_[_0x3b44('0x41')](_0x4f035d[_0x3b44('0x3f')],{'$or':_[_0x3b44('0x2f')](_0x3bf1be,function(_0x3dac9a){if(_0x3dac9a[_0x3b44('0x32')]!==_0x3b44('0x42')){var _0x42ac99={};_0x42ac99[_0x3dac9a[_0x3b44('0x2c')]]={'$like':'%'+_0x293260[_0x3b44('0x35')][_0x3b44('0x40')]+'%'};return _0x42ac99;}})});}_0x4f035d=_[_0x3b44('0x41')]({},_0x4f035d,_0x293260['options']);var _0x2f21c5={'where':_0x4f035d['where']};return db[_0x3b44('0x30')][_0x3b44('0x1f')](_0x2f21c5)['then'](function(_0x1dbc13){_0x175ced[_0x3b44('0x1f')]=_0x1dbc13;if(_0x293260[_0x3b44('0x35')][_0x3b44('0x43')]){_0x4f035d['include']=[{'all':!![]}];}return db['ServicenowConfiguration'][_0x3b44('0x44')](_0x4f035d);})[_0x3b44('0x26')](function(_0xeb69be){_0x175ced[_0x3b44('0x45')]=_0xeb69be;return _0x175ced;})[_0x3b44('0x26')](respondWithFilteredResult(_0x34b2c4,_0x4f035d))['catch'](handleError(_0x34b2c4,null));};exports[_0x3b44('0x46')]=function(_0xee3009,_0x2875bc){var _0x2bacce={'raw':![],'where':{'id':_0xee3009['params']['id']}},_0x2bedc6={};_0x2bedc6[_0x3b44('0x34')]=_[_0x3b44('0x36')](db[_0x3b44('0x30')][_0x3b44('0x47')]);_0x2bedc6[_0x3b44('0x35')]=_[_0x3b44('0x36')](_0xee3009[_0x3b44('0x35')]);_0x2bedc6['filters']=_['intersection'](_0x2bedc6[_0x3b44('0x34')],_0x2bedc6[_0x3b44('0x35')]);_0x2bacce['attributes']=_[_0x3b44('0x39')](_0x2bedc6['model'],qs[_0x3b44('0x3a')](_0xee3009[_0x3b44('0x35')][_0x3b44('0x3a')]));_0x2bacce[_0x3b44('0x38')]=_0x2bacce['attributes']['length']?_0x2bacce[_0x3b44('0x38')]:_0x2bedc6[_0x3b44('0x34')];if(_0xee3009['query'][_0x3b44('0x43')]){_0x2bacce['include']=[{'all':!![]}];}_0x2bacce=_[_0x3b44('0x41')]({},_0x2bacce,_0xee3009[_0x3b44('0x48')]);return db[_0x3b44('0x30')][_0x3b44('0x49')](_0x2bacce)[_0x3b44('0x26')](handleEntityNotFound(_0x2875bc,null))['then'](respondWithResult(_0x2875bc,null))[_0x3b44('0x4a')](handleError(_0x2875bc,null));};exports[_0x3b44('0x4b')]=function(_0x35a18f,_0x56afbb){return db[_0x3b44('0x30')]['create'](_0x35a18f['body'],{})[_0x3b44('0x26')](respondWithResult(_0x56afbb,0xc9))[_0x3b44('0x4a')](handleError(_0x56afbb,null));};exports[_0x3b44('0x25')]=function(_0x6e3182,_0x4d119e){if(_0x6e3182[_0x3b44('0x4c')]['id']){delete _0x6e3182[_0x3b44('0x4c')]['id'];}return db[_0x3b44('0x30')][_0x3b44('0x49')]({'where':{'id':_0x6e3182[_0x3b44('0x4d')]['id']}})[_0x3b44('0x26')](handleEntityNotFound(_0x4d119e,null))[_0x3b44('0x26')](saveUpdates(_0x6e3182[_0x3b44('0x4c')],null))[_0x3b44('0x26')](respondWithResult(_0x4d119e,null))[_0x3b44('0x4a')](handleError(_0x4d119e,null));};exports[_0x3b44('0x27')]=function(_0x205f7b,_0x179c4a){return db[_0x3b44('0x30')]['find']({'where':{'id':_0x205f7b['params']['id']}})['then'](handleEntityNotFound(_0x179c4a,null))[_0x3b44('0x26')](removeEntity(_0x179c4a,null))[_0x3b44('0x4a')](handleError(_0x179c4a,null));};exports[_0x3b44('0x4e')]=function(_0x4e054c,_0x2126de,_0x240f17){var _0x4a5792={};var _0x69ab71={};var _0x531d53;var _0x3ed421;return db[_0x3b44('0x30')][_0x3b44('0x4f')]({'where':{'id':_0x4e054c[_0x3b44('0x4d')]['id']}})[_0x3b44('0x26')](handleEntityNotFound(_0x2126de,null))[_0x3b44('0x26')](function(_0x537510){if(_0x537510){_0x531d53=_0x537510;_0x69ab71[_0x3b44('0x34')]=_[_0x3b44('0x36')](db[_0x3b44('0x50')]['rawAttributes']);_0x69ab71[_0x3b44('0x35')]=_[_0x3b44('0x36')](_0x4e054c['query']);_0x69ab71['filters']=_[_0x3b44('0x39')](_0x69ab71['model'],_0x69ab71[_0x3b44('0x35')]);_0x4a5792[_0x3b44('0x38')]=_['intersection'](_0x69ab71[_0x3b44('0x34')],qs[_0x3b44('0x3a')](_0x4e054c['query'][_0x3b44('0x3a')]));_0x4a5792[_0x3b44('0x38')]=_0x4a5792[_0x3b44('0x38')][_0x3b44('0x3b')]?_0x4a5792[_0x3b44('0x38')]:_0x69ab71[_0x3b44('0x34')];_0x4a5792['order']=qs['sort'](_0x4e054c[_0x3b44('0x35')][_0x3b44('0x3e')]);_0x4a5792[_0x3b44('0x3f')]=qs[_0x3b44('0x37')](_['pick'](_0x4e054c[_0x3b44('0x35')],_0x69ab71[_0x3b44('0x37')]));if(_0x4e054c['query'][_0x3b44('0x40')]){_0x4a5792[_0x3b44('0x3f')]=_[_0x3b44('0x41')](_0x4a5792['where'],{'$or':_[_0x3b44('0x2f')](_0x4a5792['attributes'],function(_0x1b1e91){var _0x2d3fae={};_0x2d3fae[_0x1b1e91]={'$like':'%'+_0x4e054c['query'][_0x3b44('0x40')]+'%'};return _0x2d3fae;})});}_0x4a5792=_[_0x3b44('0x41')]({},_0x4a5792,_0x4e054c[_0x3b44('0x48')]);return _0x531d53['getFields'](_0x4a5792);}})[_0x3b44('0x26')](function(_0x303a35){if(_0x303a35){_0x3ed421=_0x303a35[_0x3b44('0x3b')];if(!_0x4e054c[_0x3b44('0x35')][_0x3b44('0x3c')]('nolimit')){_0x4a5792[_0x3b44('0x1e')]=qs[_0x3b44('0x1e')](_0x4e054c[_0x3b44('0x35')][_0x3b44('0x1e')]);_0x4a5792['offset']=qs[_0x3b44('0x1c')](_0x4e054c[_0x3b44('0x35')]['offset']);}return _0x531d53[_0x3b44('0x4e')](_0x4a5792);}})[_0x3b44('0x26')](function(_0x397df){if(_0x397df){return _0x397df?{'count':_0x3ed421,'rows':_0x397df}:null;}})[_0x3b44('0x26')](respondWithResult(_0x2126de,null))[_0x3b44('0x4a')](handleError(_0x2126de,null));};exports[_0x3b44('0x51')]=function(_0x5dca1f,_0x2d6039,_0x236365){var _0x2f6b63={};var _0x25ff0e={};var _0x301e45;var _0x1558e4;return db[_0x3b44('0x30')][_0x3b44('0x4f')]({'where':{'id':_0x5dca1f[_0x3b44('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2d6039,null))[_0x3b44('0x26')](function(_0x5e14ba){if(_0x5e14ba){_0x301e45=_0x5e14ba;_0x25ff0e['model']=_[_0x3b44('0x36')](db[_0x3b44('0x50')][_0x3b44('0x47')]);_0x25ff0e[_0x3b44('0x35')]=_[_0x3b44('0x36')](_0x5dca1f[_0x3b44('0x35')]);_0x25ff0e[_0x3b44('0x37')]=_['intersection'](_0x25ff0e[_0x3b44('0x34')],_0x25ff0e[_0x3b44('0x35')]);_0x2f6b63[_0x3b44('0x38')]=_[_0x3b44('0x39')](_0x25ff0e[_0x3b44('0x34')],qs[_0x3b44('0x3a')](_0x5dca1f[_0x3b44('0x35')][_0x3b44('0x3a')]));_0x2f6b63[_0x3b44('0x38')]=_0x2f6b63[_0x3b44('0x38')]['length']?_0x2f6b63[_0x3b44('0x38')]:_0x25ff0e[_0x3b44('0x34')];_0x2f6b63[_0x3b44('0x52')]=qs[_0x3b44('0x3e')](_0x5dca1f['query']['sort']);_0x2f6b63[_0x3b44('0x3f')]=qs[_0x3b44('0x37')](_[_0x3b44('0x53')](_0x5dca1f[_0x3b44('0x35')],_0x25ff0e['filters']));if(_0x5dca1f[_0x3b44('0x35')][_0x3b44('0x40')]){_0x2f6b63[_0x3b44('0x3f')]=_[_0x3b44('0x41')](_0x2f6b63[_0x3b44('0x3f')],{'$or':_[_0x3b44('0x2f')](_0x2f6b63[_0x3b44('0x38')],function(_0x395dfa){var _0x137942={};_0x137942[_0x395dfa]={'$like':'%'+_0x5dca1f[_0x3b44('0x35')][_0x3b44('0x40')]+'%'};return _0x137942;})});}_0x2f6b63=_['merge']({},_0x2f6b63,_0x5dca1f[_0x3b44('0x48')]);return _0x301e45[_0x3b44('0x51')](_0x2f6b63);}})[_0x3b44('0x26')](function(_0x12654a){if(_0x12654a){_0x1558e4=_0x12654a[_0x3b44('0x3b')];if(!_0x5dca1f['query']['hasOwnProperty'](_0x3b44('0x3d'))){_0x2f6b63[_0x3b44('0x1e')]=qs[_0x3b44('0x1e')](_0x5dca1f['query'][_0x3b44('0x1e')]);_0x2f6b63[_0x3b44('0x1c')]=qs['offset'](_0x5dca1f[_0x3b44('0x35')]['offset']);}return _0x301e45['getSubjects'](_0x2f6b63);}})[_0x3b44('0x26')](function(_0x3cadea){if(_0x3cadea){return _0x3cadea?{'count':_0x1558e4,'rows':_0x3cadea}:null;}})[_0x3b44('0x26')](respondWithResult(_0x2d6039,null))['catch'](handleError(_0x2d6039,null));};exports[_0x3b44('0x54')]=function(_0x2850c0,_0x551ce1,_0x3e3198){var _0x34af21={};var _0x52d453={};var _0x52ae77;var _0x14f07e;return db[_0x3b44('0x30')]['findOne']({'where':{'id':_0x2850c0[_0x3b44('0x4d')]['id']}})['then'](handleEntityNotFound(_0x551ce1,null))['then'](function(_0x349971){if(_0x349971){_0x52ae77=_0x349971;_0x52d453[_0x3b44('0x34')]=_['keys'](db[_0x3b44('0x50')][_0x3b44('0x47')]);_0x52d453[_0x3b44('0x35')]=_['keys'](_0x2850c0[_0x3b44('0x35')]);_0x52d453['filters']=_[_0x3b44('0x39')](_0x52d453[_0x3b44('0x34')],_0x52d453[_0x3b44('0x35')]);_0x34af21['attributes']=_[_0x3b44('0x39')](_0x52d453[_0x3b44('0x34')],qs[_0x3b44('0x3a')](_0x2850c0[_0x3b44('0x35')][_0x3b44('0x3a')]));_0x34af21[_0x3b44('0x38')]=_0x34af21['attributes'][_0x3b44('0x3b')]?_0x34af21[_0x3b44('0x38')]:_0x52d453[_0x3b44('0x34')];_0x34af21['order']=qs[_0x3b44('0x3e')](_0x2850c0[_0x3b44('0x35')][_0x3b44('0x3e')]);_0x34af21[_0x3b44('0x3f')]=qs[_0x3b44('0x37')](_['pick'](_0x2850c0['query'],_0x52d453[_0x3b44('0x37')]));if(_0x2850c0['query'][_0x3b44('0x40')]){_0x34af21['where']=_[_0x3b44('0x41')](_0x34af21[_0x3b44('0x3f')],{'$or':_['map'](_0x34af21['attributes'],function(_0x91a05a){var _0x2c0817={};_0x2c0817[_0x91a05a]={'$like':'%'+_0x2850c0['query']['filter']+'%'};return _0x2c0817;})});}_0x34af21=_[_0x3b44('0x41')]({},_0x34af21,_0x2850c0[_0x3b44('0x48')]);return _0x52ae77[_0x3b44('0x54')](_0x34af21);}})['then'](function(_0x2d0f74){if(_0x2d0f74){_0x14f07e=_0x2d0f74[_0x3b44('0x3b')];if(!_0x2850c0[_0x3b44('0x35')][_0x3b44('0x3c')](_0x3b44('0x3d'))){_0x34af21[_0x3b44('0x1e')]=qs[_0x3b44('0x1e')](_0x2850c0[_0x3b44('0x35')][_0x3b44('0x1e')]);_0x34af21[_0x3b44('0x1c')]=qs[_0x3b44('0x1c')](_0x2850c0['query'][_0x3b44('0x1c')]);}return _0x52ae77[_0x3b44('0x54')](_0x34af21);}})['then'](function(_0xbe2286){if(_0xbe2286){return _0xbe2286?{'count':_0x14f07e,'rows':_0xbe2286}:null;}})[_0x3b44('0x26')](respondWithResult(_0x551ce1,null))[_0x3b44('0x4a')](handleError(_0x551ce1,null));};