Built motion from commit 85328c08.|2.5.50
[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 _0xa8b1=['include','findAll','rows','catch','show','length','find','create','body','params','findOne','ServicenowField','getFields','getSubjects','nolimit','getDescriptions','eml-format','fast-json-patch','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','count','limit','apply','reject','save','update','then','destroy','stack','name','index','map','rawAttributes','type','key','model','query','keys','attributes','intersection','fields','hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','ServicenowConfiguration'];(function(_0x297380,_0x133458){var _0x4fd815=function(_0x39b515){while(--_0x39b515){_0x297380['push'](_0x297380['shift']());}};_0x4fd815(++_0x133458);}(_0xa8b1,0x140));var _0x1a8b=function(_0x32a4e9,_0x34e0e9){_0x32a4e9=_0x32a4e9-0x0;var _0x4f9347=_0xa8b1[_0x32a4e9];return _0x4f9347;};'use strict';var emlformat=require(_0x1a8b('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x1a8b('0x1'));var rp=require('request-promise');var moment=require(_0x1a8b('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x1a8b('0x3'));var util=require(_0x1a8b('0x4'));var path=require(_0x1a8b('0x5'));var sox=require(_0x1a8b('0x6'));var csv=require(_0x1a8b('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1a8b('0x8'));var _=require('lodash');var squel=require(_0x1a8b('0x9'));var crypto=require(_0x1a8b('0xa'));var jsforce=require(_0x1a8b('0xb'));var deskjs=require(_0x1a8b('0xc'));var toCsv=require(_0x1a8b('0x7'));var querystring=require(_0x1a8b('0xd'));var Papa=require('papaparse');var Redis=require(_0x1a8b('0xe'));var authService=require(_0x1a8b('0xf'));var qs=require(_0x1a8b('0x10'));var as=require(_0x1a8b('0x11'));var hardwareService=require(_0x1a8b('0x12'));var logger=require('../../config/logger')(_0x1a8b('0x13'));var utils=require(_0x1a8b('0x14'));var config=require(_0x1a8b('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x52aa27,_0xba6cf9){_0xba6cf9=_0xba6cf9||0xcc;return function(_0x338701){if(_0x338701){return _0x52aa27[_0x1a8b('0x16')](_0xba6cf9);}return _0x52aa27[_0x1a8b('0x17')](_0xba6cf9)[_0x1a8b('0x18')]();};}function respondWithResult(_0xfd8639,_0xa8327e){_0xa8327e=_0xa8327e||0xc8;return function(_0x18000d){if(_0x18000d){return _0xfd8639[_0x1a8b('0x17')](_0xa8327e)[_0x1a8b('0x19')](_0x18000d);}};}function respondWithFilteredResult(_0x1fe76f,_0x439e00){return function(_0x3006f3){if(_0x3006f3){var _0xec00b8=typeof _0x439e00[_0x1a8b('0x1a')]==='undefined'&&typeof _0x439e00['limit']===_0x1a8b('0x1b');var _0x26c57b=_0x3006f3['count'];var _0xd2d74e=_0xec00b8?0x0:_0x439e00['offset'];var _0x384952=_0xec00b8?_0x3006f3[_0x1a8b('0x1c')]:_0x439e00[_0x1a8b('0x1a')]+_0x439e00[_0x1a8b('0x1d')];var _0x398462;if(_0x384952>=_0x26c57b){_0x384952=_0x26c57b;_0x398462=0xc8;}else{_0x398462=0xce;}_0x1fe76f[_0x1a8b('0x17')](_0x398462);return _0x1fe76f['set']('Content-Range',_0xd2d74e+'-'+_0x384952+'/'+_0x26c57b)[_0x1a8b('0x19')](_0x3006f3);}return null;};}function patchUpdates(_0x42d08c){return function(_0x17b8e0){try{jsonpatch[_0x1a8b('0x1e')](_0x17b8e0,_0x42d08c,!![]);}catch(_0x59f76e){return BPromise[_0x1a8b('0x1f')](_0x59f76e);}return _0x17b8e0[_0x1a8b('0x20')]();};}function saveUpdates(_0x340df7,_0x73e997){return function(_0x3df2dc){if(_0x3df2dc){return _0x3df2dc[_0x1a8b('0x21')](_0x340df7)[_0x1a8b('0x22')](function(_0x598dd2){return _0x598dd2;});}return null;};}function removeEntity(_0x3bce7c,_0x341a58){return function(_0x29b9a9){if(_0x29b9a9){return _0x29b9a9[_0x1a8b('0x23')]()[_0x1a8b('0x22')](function(){_0x3bce7c[_0x1a8b('0x17')](0xcc)[_0x1a8b('0x18')]();});}};}function handleEntityNotFound(_0x17bc12,_0xb56a52){return function(_0x3db9dc){if(!_0x3db9dc){_0x17bc12[_0x1a8b('0x16')](0x194);}return _0x3db9dc;};}function handleError(_0x12defa,_0x528074){_0x528074=_0x528074||0x1f4;return function(_0x1eed1a){logger['error'](_0x1eed1a[_0x1a8b('0x24')]);if(_0x1eed1a[_0x1a8b('0x25')]){delete _0x1eed1a[_0x1a8b('0x25')];}_0x12defa[_0x1a8b('0x17')](_0x528074)['send'](_0x1eed1a);};}exports[_0x1a8b('0x26')]=function(_0x25ab01,_0x405503){var _0x2d97b3={},_0x2173cf={},_0x36a77f={'count':0x0,'rows':[]};var _0x35046d=_[_0x1a8b('0x27')](db['ServicenowConfiguration'][_0x1a8b('0x28')],function(_0x3afe39){return{'name':_0x3afe39['fieldName'],'type':_0x3afe39[_0x1a8b('0x29')][_0x1a8b('0x2a')]};});_0x2173cf[_0x1a8b('0x2b')]=_[_0x1a8b('0x27')](_0x35046d,_0x1a8b('0x25'));_0x2173cf[_0x1a8b('0x2c')]=_[_0x1a8b('0x2d')](_0x25ab01[_0x1a8b('0x2c')]);_0x2173cf['filters']=_['intersection'](_0x2173cf[_0x1a8b('0x2b')],_0x2173cf['query']);_0x2d97b3[_0x1a8b('0x2e')]=_[_0x1a8b('0x2f')](_0x2173cf[_0x1a8b('0x2b')],qs[_0x1a8b('0x30')](_0x25ab01[_0x1a8b('0x2c')][_0x1a8b('0x30')]));_0x2d97b3[_0x1a8b('0x2e')]=_0x2d97b3[_0x1a8b('0x2e')]['length']?_0x2d97b3['attributes']:_0x2173cf[_0x1a8b('0x2b')];if(!_0x25ab01[_0x1a8b('0x2c')][_0x1a8b('0x31')]('nolimit')){_0x2d97b3[_0x1a8b('0x1d')]=qs[_0x1a8b('0x1d')](_0x25ab01[_0x1a8b('0x2c')][_0x1a8b('0x1d')]);_0x2d97b3['offset']=qs[_0x1a8b('0x1a')](_0x25ab01[_0x1a8b('0x2c')][_0x1a8b('0x1a')]);}_0x2d97b3[_0x1a8b('0x32')]=qs[_0x1a8b('0x33')](_0x25ab01[_0x1a8b('0x2c')]['sort']);_0x2d97b3[_0x1a8b('0x34')]=qs[_0x1a8b('0x35')](_[_0x1a8b('0x36')](_0x25ab01[_0x1a8b('0x2c')],_0x2173cf[_0x1a8b('0x35')]),_0x35046d);if(_0x25ab01[_0x1a8b('0x2c')][_0x1a8b('0x37')]){_0x2d97b3[_0x1a8b('0x34')]=_['merge'](_0x2d97b3[_0x1a8b('0x34')],{'$or':_[_0x1a8b('0x27')](_0x35046d,function(_0x528f13){if(_0x528f13[_0x1a8b('0x29')]!==_0x1a8b('0x38')){var _0x363c86={};_0x363c86[_0x528f13[_0x1a8b('0x25')]]={'$like':'%'+_0x25ab01['query'][_0x1a8b('0x37')]+'%'};return _0x363c86;}})});}_0x2d97b3=_[_0x1a8b('0x39')]({},_0x2d97b3,_0x25ab01[_0x1a8b('0x3a')]);var _0x3c86e2={'where':_0x2d97b3[_0x1a8b('0x34')]};return db[_0x1a8b('0x3b')][_0x1a8b('0x1c')](_0x3c86e2)[_0x1a8b('0x22')](function(_0x5ac5b2){_0x36a77f[_0x1a8b('0x1c')]=_0x5ac5b2;if(_0x25ab01['query']['includeAll']){_0x2d97b3[_0x1a8b('0x3c')]=[{'all':!![]}];}return db[_0x1a8b('0x3b')][_0x1a8b('0x3d')](_0x2d97b3);})[_0x1a8b('0x22')](function(_0x2af47f){_0x36a77f[_0x1a8b('0x3e')]=_0x2af47f;return _0x36a77f;})[_0x1a8b('0x22')](respondWithFilteredResult(_0x405503,_0x2d97b3))[_0x1a8b('0x3f')](handleError(_0x405503,null));};exports[_0x1a8b('0x40')]=function(_0x9e53f5,_0x287383){var _0x29aa96={'raw':![],'where':{'id':_0x9e53f5['params']['id']}},_0x5d4ae5={};_0x5d4ae5[_0x1a8b('0x2b')]=_[_0x1a8b('0x2d')](db[_0x1a8b('0x3b')][_0x1a8b('0x28')]);_0x5d4ae5[_0x1a8b('0x2c')]=_['keys'](_0x9e53f5[_0x1a8b('0x2c')]);_0x5d4ae5['filters']=_[_0x1a8b('0x2f')](_0x5d4ae5[_0x1a8b('0x2b')],_0x5d4ae5[_0x1a8b('0x2c')]);_0x29aa96[_0x1a8b('0x2e')]=_[_0x1a8b('0x2f')](_0x5d4ae5[_0x1a8b('0x2b')],qs[_0x1a8b('0x30')](_0x9e53f5[_0x1a8b('0x2c')][_0x1a8b('0x30')]));_0x29aa96[_0x1a8b('0x2e')]=_0x29aa96[_0x1a8b('0x2e')][_0x1a8b('0x41')]?_0x29aa96[_0x1a8b('0x2e')]:_0x5d4ae5[_0x1a8b('0x2b')];if(_0x9e53f5[_0x1a8b('0x2c')]['includeAll']){_0x29aa96['include']=[{'all':!![]}];}_0x29aa96=_[_0x1a8b('0x39')]({},_0x29aa96,_0x9e53f5['options']);return db[_0x1a8b('0x3b')][_0x1a8b('0x42')](_0x29aa96)[_0x1a8b('0x22')](handleEntityNotFound(_0x287383,null))[_0x1a8b('0x22')](respondWithResult(_0x287383,null))[_0x1a8b('0x3f')](handleError(_0x287383,null));};exports[_0x1a8b('0x43')]=function(_0x4831dc,_0x14f755){return db[_0x1a8b('0x3b')][_0x1a8b('0x43')](_0x4831dc[_0x1a8b('0x44')],{})[_0x1a8b('0x22')](respondWithResult(_0x14f755,0xc9))['catch'](handleError(_0x14f755,null));};exports[_0x1a8b('0x21')]=function(_0x4547f1,_0x21bc35){if(_0x4547f1[_0x1a8b('0x44')]['id']){delete _0x4547f1[_0x1a8b('0x44')]['id'];}return db[_0x1a8b('0x3b')][_0x1a8b('0x42')]({'where':{'id':_0x4547f1['params']['id']}})[_0x1a8b('0x22')](handleEntityNotFound(_0x21bc35,null))[_0x1a8b('0x22')](saveUpdates(_0x4547f1['body'],null))[_0x1a8b('0x22')](respondWithResult(_0x21bc35,null))[_0x1a8b('0x3f')](handleError(_0x21bc35,null));};exports[_0x1a8b('0x23')]=function(_0x55e048,_0x634d9b){return db[_0x1a8b('0x3b')][_0x1a8b('0x42')]({'where':{'id':_0x55e048[_0x1a8b('0x45')]['id']}})[_0x1a8b('0x22')](handleEntityNotFound(_0x634d9b,null))[_0x1a8b('0x22')](removeEntity(_0x634d9b,null))['catch'](handleError(_0x634d9b,null));};exports['getFields']=function(_0x566ce0,_0x59a6b7,_0xff34d4){var _0x45c33f={};var _0x3ba57d={};var _0x212aa0;var _0x2aa3fd;return db[_0x1a8b('0x3b')][_0x1a8b('0x46')]({'where':{'id':_0x566ce0[_0x1a8b('0x45')]['id']}})[_0x1a8b('0x22')](handleEntityNotFound(_0x59a6b7,null))[_0x1a8b('0x22')](function(_0x14c127){if(_0x14c127){_0x212aa0=_0x14c127;_0x3ba57d['model']=_[_0x1a8b('0x2d')](db[_0x1a8b('0x47')][_0x1a8b('0x28')]);_0x3ba57d['query']=_[_0x1a8b('0x2d')](_0x566ce0['query']);_0x3ba57d[_0x1a8b('0x35')]=_[_0x1a8b('0x2f')](_0x3ba57d[_0x1a8b('0x2b')],_0x3ba57d[_0x1a8b('0x2c')]);_0x45c33f[_0x1a8b('0x2e')]=_[_0x1a8b('0x2f')](_0x3ba57d[_0x1a8b('0x2b')],qs[_0x1a8b('0x30')](_0x566ce0[_0x1a8b('0x2c')][_0x1a8b('0x30')]));_0x45c33f['attributes']=_0x45c33f[_0x1a8b('0x2e')][_0x1a8b('0x41')]?_0x45c33f[_0x1a8b('0x2e')]:_0x3ba57d[_0x1a8b('0x2b')];_0x45c33f[_0x1a8b('0x32')]=qs[_0x1a8b('0x33')](_0x566ce0['query'][_0x1a8b('0x33')]);_0x45c33f[_0x1a8b('0x34')]=qs[_0x1a8b('0x35')](_[_0x1a8b('0x36')](_0x566ce0[_0x1a8b('0x2c')],_0x3ba57d[_0x1a8b('0x35')]));if(_0x566ce0[_0x1a8b('0x2c')][_0x1a8b('0x37')]){_0x45c33f[_0x1a8b('0x34')]=_['merge'](_0x45c33f[_0x1a8b('0x34')],{'$or':_[_0x1a8b('0x27')](_0x45c33f[_0x1a8b('0x2e')],function(_0x18646c){var _0x2ada46={};_0x2ada46[_0x18646c]={'$like':'%'+_0x566ce0[_0x1a8b('0x2c')][_0x1a8b('0x37')]+'%'};return _0x2ada46;})});}_0x45c33f=_[_0x1a8b('0x39')]({},_0x45c33f,_0x566ce0[_0x1a8b('0x3a')]);return _0x212aa0[_0x1a8b('0x48')](_0x45c33f);}})[_0x1a8b('0x22')](function(_0x3b5c41){if(_0x3b5c41){_0x2aa3fd=_0x3b5c41[_0x1a8b('0x41')];if(!_0x566ce0[_0x1a8b('0x2c')][_0x1a8b('0x31')]('nolimit')){_0x45c33f[_0x1a8b('0x1d')]=qs[_0x1a8b('0x1d')](_0x566ce0['query'][_0x1a8b('0x1d')]);_0x45c33f[_0x1a8b('0x1a')]=qs[_0x1a8b('0x1a')](_0x566ce0[_0x1a8b('0x2c')][_0x1a8b('0x1a')]);}return _0x212aa0[_0x1a8b('0x48')](_0x45c33f);}})[_0x1a8b('0x22')](function(_0x1616f4){if(_0x1616f4){return _0x1616f4?{'count':_0x2aa3fd,'rows':_0x1616f4}:null;}})[_0x1a8b('0x22')](respondWithResult(_0x59a6b7,null))[_0x1a8b('0x3f')](handleError(_0x59a6b7,null));};exports[_0x1a8b('0x49')]=function(_0x423a25,_0x1674f1,_0x6e73c4){var _0x829a11={};var _0x4a8b6f={};var _0x516d24;var _0x311a8c;return db[_0x1a8b('0x3b')][_0x1a8b('0x46')]({'where':{'id':_0x423a25[_0x1a8b('0x45')]['id']}})[_0x1a8b('0x22')](handleEntityNotFound(_0x1674f1,null))['then'](function(_0x56bb5c){if(_0x56bb5c){_0x516d24=_0x56bb5c;_0x4a8b6f['model']=_[_0x1a8b('0x2d')](db[_0x1a8b('0x47')][_0x1a8b('0x28')]);_0x4a8b6f[_0x1a8b('0x2c')]=_[_0x1a8b('0x2d')](_0x423a25['query']);_0x4a8b6f[_0x1a8b('0x35')]=_[_0x1a8b('0x2f')](_0x4a8b6f[_0x1a8b('0x2b')],_0x4a8b6f[_0x1a8b('0x2c')]);_0x829a11[_0x1a8b('0x2e')]=_[_0x1a8b('0x2f')](_0x4a8b6f[_0x1a8b('0x2b')],qs['fields'](_0x423a25['query'][_0x1a8b('0x30')]));_0x829a11['attributes']=_0x829a11[_0x1a8b('0x2e')][_0x1a8b('0x41')]?_0x829a11[_0x1a8b('0x2e')]:_0x4a8b6f[_0x1a8b('0x2b')];_0x829a11['order']=qs[_0x1a8b('0x33')](_0x423a25[_0x1a8b('0x2c')]['sort']);_0x829a11[_0x1a8b('0x34')]=qs['filters'](_[_0x1a8b('0x36')](_0x423a25[_0x1a8b('0x2c')],_0x4a8b6f[_0x1a8b('0x35')]));if(_0x423a25['query'][_0x1a8b('0x37')]){_0x829a11[_0x1a8b('0x34')]=_[_0x1a8b('0x39')](_0x829a11[_0x1a8b('0x34')],{'$or':_[_0x1a8b('0x27')](_0x829a11[_0x1a8b('0x2e')],function(_0x36a824){var _0x248fce={};_0x248fce[_0x36a824]={'$like':'%'+_0x423a25[_0x1a8b('0x2c')][_0x1a8b('0x37')]+'%'};return _0x248fce;})});}_0x829a11=_[_0x1a8b('0x39')]({},_0x829a11,_0x423a25['options']);return _0x516d24[_0x1a8b('0x49')](_0x829a11);}})['then'](function(_0x128a12){if(_0x128a12){_0x311a8c=_0x128a12['length'];if(!_0x423a25[_0x1a8b('0x2c')]['hasOwnProperty'](_0x1a8b('0x4a'))){_0x829a11[_0x1a8b('0x1d')]=qs[_0x1a8b('0x1d')](_0x423a25[_0x1a8b('0x2c')][_0x1a8b('0x1d')]);_0x829a11['offset']=qs[_0x1a8b('0x1a')](_0x423a25[_0x1a8b('0x2c')][_0x1a8b('0x1a')]);}return _0x516d24[_0x1a8b('0x49')](_0x829a11);}})[_0x1a8b('0x22')](function(_0x120253){if(_0x120253){return _0x120253?{'count':_0x311a8c,'rows':_0x120253}:null;}})[_0x1a8b('0x22')](respondWithResult(_0x1674f1,null))[_0x1a8b('0x3f')](handleError(_0x1674f1,null));};exports[_0x1a8b('0x4b')]=function(_0x129f59,_0x46a2f8,_0x504678){var _0x210a66={};var _0x5417b={};var _0x4dc7c6;var _0x2c0a95;return db[_0x1a8b('0x3b')][_0x1a8b('0x46')]({'where':{'id':_0x129f59[_0x1a8b('0x45')]['id']}})[_0x1a8b('0x22')](handleEntityNotFound(_0x46a2f8,null))['then'](function(_0xcdd414){if(_0xcdd414){_0x4dc7c6=_0xcdd414;_0x5417b['model']=_[_0x1a8b('0x2d')](db['ServicenowField'][_0x1a8b('0x28')]);_0x5417b[_0x1a8b('0x2c')]=_[_0x1a8b('0x2d')](_0x129f59[_0x1a8b('0x2c')]);_0x5417b[_0x1a8b('0x35')]=_['intersection'](_0x5417b['model'],_0x5417b[_0x1a8b('0x2c')]);_0x210a66[_0x1a8b('0x2e')]=_[_0x1a8b('0x2f')](_0x5417b[_0x1a8b('0x2b')],qs['fields'](_0x129f59[_0x1a8b('0x2c')]['fields']));_0x210a66['attributes']=_0x210a66[_0x1a8b('0x2e')][_0x1a8b('0x41')]?_0x210a66[_0x1a8b('0x2e')]:_0x5417b[_0x1a8b('0x2b')];_0x210a66[_0x1a8b('0x32')]=qs[_0x1a8b('0x33')](_0x129f59[_0x1a8b('0x2c')][_0x1a8b('0x33')]);_0x210a66[_0x1a8b('0x34')]=qs[_0x1a8b('0x35')](_[_0x1a8b('0x36')](_0x129f59[_0x1a8b('0x2c')],_0x5417b[_0x1a8b('0x35')]));if(_0x129f59[_0x1a8b('0x2c')][_0x1a8b('0x37')]){_0x210a66[_0x1a8b('0x34')]=_['merge'](_0x210a66[_0x1a8b('0x34')],{'$or':_[_0x1a8b('0x27')](_0x210a66[_0x1a8b('0x2e')],function(_0x5602de){var _0xce3211={};_0xce3211[_0x5602de]={'$like':'%'+_0x129f59['query'][_0x1a8b('0x37')]+'%'};return _0xce3211;})});}_0x210a66=_[_0x1a8b('0x39')]({},_0x210a66,_0x129f59[_0x1a8b('0x3a')]);return _0x4dc7c6['getDescriptions'](_0x210a66);}})['then'](function(_0x5c2557){if(_0x5c2557){_0x2c0a95=_0x5c2557[_0x1a8b('0x41')];if(!_0x129f59[_0x1a8b('0x2c')][_0x1a8b('0x31')]('nolimit')){_0x210a66['limit']=qs[_0x1a8b('0x1d')](_0x129f59['query'][_0x1a8b('0x1d')]);_0x210a66[_0x1a8b('0x1a')]=qs[_0x1a8b('0x1a')](_0x129f59[_0x1a8b('0x2c')]['offset']);}return _0x4dc7c6[_0x1a8b('0x4b')](_0x210a66);}})[_0x1a8b('0x22')](function(_0x1742e8){if(_0x1742e8){return _0x1742e8?{'count':_0x2c0a95,'rows':_0x1742e8}:null;}})[_0x1a8b('0x22')](respondWithResult(_0x46a2f8,null))['catch'](handleError(_0x46a2f8,null));};