Built motion from commit 639a1a7f.|2.6.19
[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 _0x8e5e=['sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','stack','name','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','include','create','body','find','destroy','getFields','findOne','ServicenowField','order','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x57f7ea,_0x54da6b){var _0x54a7e4=function(_0x2c9d4f){while(--_0x2c9d4f){_0x57f7ea['push'](_0x57f7ea['shift']());}};_0x54a7e4(++_0x54da6b);}(_0x8e5e,0x135));var _0xe8e5=function(_0x2af3e1,_0xb5207f){_0x2af3e1=_0x2af3e1-0x0;var _0xfa27d=_0x8e5e[_0x2af3e1];return _0xfa27d;};'use strict';var emlformat=require(_0xe8e5('0x0'));var rimraf=require(_0xe8e5('0x1'));var zipdir=require(_0xe8e5('0x2'));var jsonpatch=require(_0xe8e5('0x3'));var rp=require(_0xe8e5('0x4'));var moment=require(_0xe8e5('0x5'));var BPromise=require(_0xe8e5('0x6'));var Mustache=require(_0xe8e5('0x7'));var util=require(_0xe8e5('0x8'));var path=require(_0xe8e5('0x9'));var sox=require(_0xe8e5('0xa'));var csv=require(_0xe8e5('0xb'));var ejs=require(_0xe8e5('0xc'));var fs=require('fs');var fs_extra=require(_0xe8e5('0xd'));var _=require(_0xe8e5('0xe'));var squel=require(_0xe8e5('0xf'));var crypto=require('crypto');var jsforce=require(_0xe8e5('0x10'));var deskjs=require(_0xe8e5('0x11'));var toCsv=require(_0xe8e5('0xb'));var querystring=require(_0xe8e5('0x12'));var Papa=require(_0xe8e5('0x13'));var Redis=require('ioredis');var authService=require(_0xe8e5('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xe8e5('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe8e5('0x16'))(_0xe8e5('0x17'));var utils=require('../../config/utils');var config=require(_0xe8e5('0x18'));var licenseUtil=require(_0xe8e5('0x19'));var db=require(_0xe8e5('0x1a'))['db'];function respondWithStatusCode(_0x39760a,_0x31db7){_0x31db7=_0x31db7||0xcc;return function(_0x43dc1c){if(_0x43dc1c){return _0x39760a[_0xe8e5('0x1b')](_0x31db7);}return _0x39760a[_0xe8e5('0x1c')](_0x31db7)[_0xe8e5('0x1d')]();};}function respondWithResult(_0x3e7f12,_0x5535e7){_0x5535e7=_0x5535e7||0xc8;return function(_0x37c08b){if(_0x37c08b){return _0x3e7f12[_0xe8e5('0x1c')](_0x5535e7)['json'](_0x37c08b);}};}function respondWithFilteredResult(_0x197b26,_0x4db897){return function(_0x55b46f){if(_0x55b46f){var _0x54ce9a=typeof _0x4db897[_0xe8e5('0x1e')]===_0xe8e5('0x1f')&&typeof _0x4db897[_0xe8e5('0x20')]==='undefined';var _0x1307ca=_0x55b46f[_0xe8e5('0x21')];var _0x5315b4=_0x54ce9a?0x0:_0x4db897[_0xe8e5('0x1e')];var _0x41cb29=_0x54ce9a?_0x55b46f[_0xe8e5('0x21')]:_0x4db897[_0xe8e5('0x1e')]+_0x4db897[_0xe8e5('0x20')];var _0x314615;if(_0x41cb29>=_0x1307ca){_0x41cb29=_0x1307ca;_0x314615=0xc8;}else{_0x314615=0xce;}_0x197b26[_0xe8e5('0x1c')](_0x314615);return _0x197b26[_0xe8e5('0x22')](_0xe8e5('0x23'),_0x5315b4+'-'+_0x41cb29+'/'+_0x1307ca)[_0xe8e5('0x24')](_0x55b46f);}return null;};}function patchUpdates(_0x1e9c1c){return function(_0x4a07ac){try{jsonpatch[_0xe8e5('0x25')](_0x4a07ac,_0x1e9c1c,!![]);}catch(_0x5b7c22){return BPromise[_0xe8e5('0x26')](_0x5b7c22);}return _0x4a07ac[_0xe8e5('0x27')]();};}function saveUpdates(_0x56031e,_0x525bd4){return function(_0x1b8a75){if(_0x1b8a75){return _0x1b8a75[_0xe8e5('0x28')](_0x56031e)[_0xe8e5('0x29')](function(_0x2a3886){return _0x2a3886;});}return null;};}function removeEntity(_0x284db1,_0x5633ae){return function(_0x11b3e0){if(_0x11b3e0){return _0x11b3e0['destroy']()[_0xe8e5('0x29')](function(){_0x284db1[_0xe8e5('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x333fe0,_0xdbb957){return function(_0x128332){if(!_0x128332){_0x333fe0['sendStatus'](0x194);}return _0x128332;};}function handleError(_0x60da7c,_0x27de75){_0x27de75=_0x27de75||0x1f4;return function(_0x2bc5cf){logger['error'](_0x2bc5cf[_0xe8e5('0x2a')]);if(_0x2bc5cf[_0xe8e5('0x2b')]){delete _0x2bc5cf[_0xe8e5('0x2b')];}_0x60da7c['status'](_0x27de75)['send'](_0x2bc5cf);};}exports[_0xe8e5('0x2c')]=function(_0x29b9b6,_0x29b98c){var _0x4c0bc8={},_0x2f9b42={},_0x4bdcf6={'count':0x0,'rows':[]};var _0x195e92=_[_0xe8e5('0x2d')](db[_0xe8e5('0x2e')][_0xe8e5('0x2f')],function(_0x14a8f2){return{'name':_0x14a8f2[_0xe8e5('0x30')],'type':_0x14a8f2[_0xe8e5('0x31')]['key']};});_0x2f9b42[_0xe8e5('0x32')]=_['map'](_0x195e92,'name');_0x2f9b42['query']=_[_0xe8e5('0x33')](_0x29b9b6[_0xe8e5('0x34')]);_0x2f9b42['filters']=_[_0xe8e5('0x35')](_0x2f9b42[_0xe8e5('0x32')],_0x2f9b42[_0xe8e5('0x34')]);_0x4c0bc8['attributes']=_[_0xe8e5('0x35')](_0x2f9b42['model'],qs[_0xe8e5('0x36')](_0x29b9b6['query']['fields']));_0x4c0bc8[_0xe8e5('0x37')]=_0x4c0bc8[_0xe8e5('0x37')][_0xe8e5('0x38')]?_0x4c0bc8['attributes']:_0x2f9b42[_0xe8e5('0x32')];if(!_0x29b9b6[_0xe8e5('0x34')][_0xe8e5('0x39')](_0xe8e5('0x3a'))){_0x4c0bc8['limit']=qs[_0xe8e5('0x20')](_0x29b9b6[_0xe8e5('0x34')][_0xe8e5('0x20')]);_0x4c0bc8[_0xe8e5('0x1e')]=qs[_0xe8e5('0x1e')](_0x29b9b6[_0xe8e5('0x34')]['offset']);}_0x4c0bc8['order']=qs[_0xe8e5('0x3b')](_0x29b9b6[_0xe8e5('0x34')]['sort']);_0x4c0bc8[_0xe8e5('0x3c')]=qs[_0xe8e5('0x3d')](_[_0xe8e5('0x3e')](_0x29b9b6['query'],_0x2f9b42[_0xe8e5('0x3d')]),_0x195e92);if(_0x29b9b6[_0xe8e5('0x34')][_0xe8e5('0x3f')]){_0x4c0bc8[_0xe8e5('0x3c')]=_[_0xe8e5('0x40')](_0x4c0bc8['where'],{'$or':_['map'](_0x195e92,function(_0x27f848){if(_0x27f848[_0xe8e5('0x31')]!==_0xe8e5('0x41')){var _0xde2fe8={};_0xde2fe8[_0x27f848[_0xe8e5('0x2b')]]={'$like':'%'+_0x29b9b6['query']['filter']+'%'};return _0xde2fe8;}})});}_0x4c0bc8=_[_0xe8e5('0x40')]({},_0x4c0bc8,_0x29b9b6[_0xe8e5('0x42')]);var _0x2271bc={'where':_0x4c0bc8[_0xe8e5('0x3c')]};return db[_0xe8e5('0x2e')]['count'](_0x2271bc)[_0xe8e5('0x29')](function(_0x379245){_0x4bdcf6[_0xe8e5('0x21')]=_0x379245;if(_0x29b9b6[_0xe8e5('0x34')][_0xe8e5('0x43')]){_0x4c0bc8['include']=[{'all':!![]}];}return db[_0xe8e5('0x2e')][_0xe8e5('0x44')](_0x4c0bc8);})[_0xe8e5('0x29')](function(_0x55b67a){_0x4bdcf6[_0xe8e5('0x45')]=_0x55b67a;return _0x4bdcf6;})[_0xe8e5('0x29')](respondWithFilteredResult(_0x29b98c,_0x4c0bc8))[_0xe8e5('0x46')](handleError(_0x29b98c,null));};exports[_0xe8e5('0x47')]=function(_0x5a5763,_0x2f8067){var _0x47c689={'raw':![],'where':{'id':_0x5a5763[_0xe8e5('0x48')]['id']}},_0x232094={};_0x232094[_0xe8e5('0x32')]=_[_0xe8e5('0x33')](db[_0xe8e5('0x2e')][_0xe8e5('0x2f')]);_0x232094['query']=_['keys'](_0x5a5763[_0xe8e5('0x34')]);_0x232094[_0xe8e5('0x3d')]=_[_0xe8e5('0x35')](_0x232094['model'],_0x232094[_0xe8e5('0x34')]);_0x47c689[_0xe8e5('0x37')]=_[_0xe8e5('0x35')](_0x232094['model'],qs['fields'](_0x5a5763[_0xe8e5('0x34')]['fields']));_0x47c689[_0xe8e5('0x37')]=_0x47c689[_0xe8e5('0x37')][_0xe8e5('0x38')]?_0x47c689[_0xe8e5('0x37')]:_0x232094[_0xe8e5('0x32')];if(_0x5a5763[_0xe8e5('0x34')][_0xe8e5('0x43')]){_0x47c689[_0xe8e5('0x49')]=[{'all':!![]}];}_0x47c689=_[_0xe8e5('0x40')]({},_0x47c689,_0x5a5763[_0xe8e5('0x42')]);return db[_0xe8e5('0x2e')]['find'](_0x47c689)['then'](handleEntityNotFound(_0x2f8067,null))['then'](respondWithResult(_0x2f8067,null))[_0xe8e5('0x46')](handleError(_0x2f8067,null));};exports[_0xe8e5('0x4a')]=function(_0x505ae2,_0x5aa520){return db[_0xe8e5('0x2e')][_0xe8e5('0x4a')](_0x505ae2[_0xe8e5('0x4b')],{})[_0xe8e5('0x29')](respondWithResult(_0x5aa520,0xc9))[_0xe8e5('0x46')](handleError(_0x5aa520,null));};exports['update']=function(_0x3f1d53,_0x79e899){if(_0x3f1d53['body']['id']){delete _0x3f1d53[_0xe8e5('0x4b')]['id'];}return db['ServicenowConfiguration'][_0xe8e5('0x4c')]({'where':{'id':_0x3f1d53['params']['id']}})[_0xe8e5('0x29')](handleEntityNotFound(_0x79e899,null))[_0xe8e5('0x29')](saveUpdates(_0x3f1d53[_0xe8e5('0x4b')],null))[_0xe8e5('0x29')](respondWithResult(_0x79e899,null))[_0xe8e5('0x46')](handleError(_0x79e899,null));};exports[_0xe8e5('0x4d')]=function(_0x1ea72d,_0x3cc8fd){return db[_0xe8e5('0x2e')][_0xe8e5('0x4c')]({'where':{'id':_0x1ea72d['params']['id']}})['then'](handleEntityNotFound(_0x3cc8fd,null))[_0xe8e5('0x29')](removeEntity(_0x3cc8fd,null))['catch'](handleError(_0x3cc8fd,null));};exports[_0xe8e5('0x4e')]=function(_0x44226a,_0x39a74f,_0xee3106){var _0x2bfcfe={};var _0xc7ce1={};var _0x147cf1;var _0x4e9b94;return db[_0xe8e5('0x2e')][_0xe8e5('0x4f')]({'where':{'id':_0x44226a[_0xe8e5('0x48')]['id']}})['then'](handleEntityNotFound(_0x39a74f,null))[_0xe8e5('0x29')](function(_0x46ff71){if(_0x46ff71){_0x147cf1=_0x46ff71;_0xc7ce1[_0xe8e5('0x32')]=_[_0xe8e5('0x33')](db[_0xe8e5('0x50')]['rawAttributes']);_0xc7ce1['query']=_[_0xe8e5('0x33')](_0x44226a['query']);_0xc7ce1[_0xe8e5('0x3d')]=_[_0xe8e5('0x35')](_0xc7ce1[_0xe8e5('0x32')],_0xc7ce1['query']);_0x2bfcfe[_0xe8e5('0x37')]=_[_0xe8e5('0x35')](_0xc7ce1['model'],qs['fields'](_0x44226a[_0xe8e5('0x34')][_0xe8e5('0x36')]));_0x2bfcfe[_0xe8e5('0x37')]=_0x2bfcfe[_0xe8e5('0x37')][_0xe8e5('0x38')]?_0x2bfcfe[_0xe8e5('0x37')]:_0xc7ce1[_0xe8e5('0x32')];_0x2bfcfe['order']=qs['sort'](_0x44226a[_0xe8e5('0x34')]['sort']);_0x2bfcfe[_0xe8e5('0x3c')]=qs['filters'](_['pick'](_0x44226a[_0xe8e5('0x34')],_0xc7ce1[_0xe8e5('0x3d')]));if(_0x44226a[_0xe8e5('0x34')][_0xe8e5('0x3f')]){_0x2bfcfe[_0xe8e5('0x3c')]=_[_0xe8e5('0x40')](_0x2bfcfe[_0xe8e5('0x3c')],{'$or':_[_0xe8e5('0x2d')](_0x2bfcfe['attributes'],function(_0x570d33){var _0xfb614d={};_0xfb614d[_0x570d33]={'$like':'%'+_0x44226a[_0xe8e5('0x34')][_0xe8e5('0x3f')]+'%'};return _0xfb614d;})});}_0x2bfcfe=_[_0xe8e5('0x40')]({},_0x2bfcfe,_0x44226a['options']);return _0x147cf1['getFields'](_0x2bfcfe);}})[_0xe8e5('0x29')](function(_0x2f5b65){if(_0x2f5b65){_0x4e9b94=_0x2f5b65['length'];if(!_0x44226a[_0xe8e5('0x34')]['hasOwnProperty'](_0xe8e5('0x3a'))){_0x2bfcfe[_0xe8e5('0x20')]=qs[_0xe8e5('0x20')](_0x44226a[_0xe8e5('0x34')][_0xe8e5('0x20')]);_0x2bfcfe[_0xe8e5('0x1e')]=qs[_0xe8e5('0x1e')](_0x44226a[_0xe8e5('0x34')][_0xe8e5('0x1e')]);}return _0x147cf1[_0xe8e5('0x4e')](_0x2bfcfe);}})[_0xe8e5('0x29')](function(_0x1f35de){if(_0x1f35de){return _0x1f35de?{'count':_0x4e9b94,'rows':_0x1f35de}:null;}})[_0xe8e5('0x29')](respondWithResult(_0x39a74f,null))[_0xe8e5('0x46')](handleError(_0x39a74f,null));};exports['getSubjects']=function(_0x25ee77,_0x3b1310,_0x5315dd){var _0x2420d3={};var _0xad2e58={};var _0x1193f3;var _0x1c3cd8;return db[_0xe8e5('0x2e')]['findOne']({'where':{'id':_0x25ee77[_0xe8e5('0x48')]['id']}})['then'](handleEntityNotFound(_0x3b1310,null))[_0xe8e5('0x29')](function(_0x53857f){if(_0x53857f){_0x1193f3=_0x53857f;_0xad2e58[_0xe8e5('0x32')]=_[_0xe8e5('0x33')](db[_0xe8e5('0x50')][_0xe8e5('0x2f')]);_0xad2e58[_0xe8e5('0x34')]=_['keys'](_0x25ee77['query']);_0xad2e58[_0xe8e5('0x3d')]=_[_0xe8e5('0x35')](_0xad2e58[_0xe8e5('0x32')],_0xad2e58[_0xe8e5('0x34')]);_0x2420d3[_0xe8e5('0x37')]=_[_0xe8e5('0x35')](_0xad2e58[_0xe8e5('0x32')],qs[_0xe8e5('0x36')](_0x25ee77[_0xe8e5('0x34')]['fields']));_0x2420d3[_0xe8e5('0x37')]=_0x2420d3[_0xe8e5('0x37')][_0xe8e5('0x38')]?_0x2420d3['attributes']:_0xad2e58['model'];_0x2420d3[_0xe8e5('0x51')]=qs[_0xe8e5('0x3b')](_0x25ee77['query'][_0xe8e5('0x3b')]);_0x2420d3[_0xe8e5('0x3c')]=qs[_0xe8e5('0x3d')](_['pick'](_0x25ee77['query'],_0xad2e58['filters']));if(_0x25ee77['query'][_0xe8e5('0x3f')]){_0x2420d3['where']=_[_0xe8e5('0x40')](_0x2420d3[_0xe8e5('0x3c')],{'$or':_[_0xe8e5('0x2d')](_0x2420d3[_0xe8e5('0x37')],function(_0x577683){var _0x4ecb77={};_0x4ecb77[_0x577683]={'$like':'%'+_0x25ee77['query']['filter']+'%'};return _0x4ecb77;})});}_0x2420d3=_['merge']({},_0x2420d3,_0x25ee77[_0xe8e5('0x42')]);return _0x1193f3[_0xe8e5('0x52')](_0x2420d3);}})[_0xe8e5('0x29')](function(_0x4165e3){if(_0x4165e3){_0x1c3cd8=_0x4165e3[_0xe8e5('0x38')];if(!_0x25ee77[_0xe8e5('0x34')]['hasOwnProperty'](_0xe8e5('0x3a'))){_0x2420d3[_0xe8e5('0x20')]=qs['limit'](_0x25ee77['query']['limit']);_0x2420d3[_0xe8e5('0x1e')]=qs['offset'](_0x25ee77[_0xe8e5('0x34')][_0xe8e5('0x1e')]);}return _0x1193f3[_0xe8e5('0x52')](_0x2420d3);}})[_0xe8e5('0x29')](function(_0x27d2c0){if(_0x27d2c0){return _0x27d2c0?{'count':_0x1c3cd8,'rows':_0x27d2c0}:null;}})[_0xe8e5('0x29')](respondWithResult(_0x3b1310,null))['catch'](handleError(_0x3b1310,null));};exports[_0xe8e5('0x53')]=function(_0x40b71f,_0x54fa8f,_0x470d4f){var _0x3136cd={};var _0x4a5aca={};var _0x449fb7;var _0x193bfc;return db[_0xe8e5('0x2e')][_0xe8e5('0x4f')]({'where':{'id':_0x40b71f['params']['id']}})[_0xe8e5('0x29')](handleEntityNotFound(_0x54fa8f,null))[_0xe8e5('0x29')](function(_0x47ff2f){if(_0x47ff2f){_0x449fb7=_0x47ff2f;_0x4a5aca[_0xe8e5('0x32')]=_['keys'](db[_0xe8e5('0x50')]['rawAttributes']);_0x4a5aca['query']=_[_0xe8e5('0x33')](_0x40b71f[_0xe8e5('0x34')]);_0x4a5aca[_0xe8e5('0x3d')]=_[_0xe8e5('0x35')](_0x4a5aca[_0xe8e5('0x32')],_0x4a5aca['query']);_0x3136cd[_0xe8e5('0x37')]=_['intersection'](_0x4a5aca['model'],qs[_0xe8e5('0x36')](_0x40b71f['query'][_0xe8e5('0x36')]));_0x3136cd[_0xe8e5('0x37')]=_0x3136cd[_0xe8e5('0x37')][_0xe8e5('0x38')]?_0x3136cd[_0xe8e5('0x37')]:_0x4a5aca[_0xe8e5('0x32')];_0x3136cd[_0xe8e5('0x51')]=qs['sort'](_0x40b71f['query'][_0xe8e5('0x3b')]);_0x3136cd[_0xe8e5('0x3c')]=qs[_0xe8e5('0x3d')](_[_0xe8e5('0x3e')](_0x40b71f[_0xe8e5('0x34')],_0x4a5aca[_0xe8e5('0x3d')]));if(_0x40b71f[_0xe8e5('0x34')][_0xe8e5('0x3f')]){_0x3136cd[_0xe8e5('0x3c')]=_[_0xe8e5('0x40')](_0x3136cd[_0xe8e5('0x3c')],{'$or':_[_0xe8e5('0x2d')](_0x3136cd[_0xe8e5('0x37')],function(_0x435ec7){var _0x58f438={};_0x58f438[_0x435ec7]={'$like':'%'+_0x40b71f['query'][_0xe8e5('0x3f')]+'%'};return _0x58f438;})});}_0x3136cd=_[_0xe8e5('0x40')]({},_0x3136cd,_0x40b71f[_0xe8e5('0x42')]);return _0x449fb7[_0xe8e5('0x53')](_0x3136cd);}})[_0xe8e5('0x29')](function(_0x41e055){if(_0x41e055){_0x193bfc=_0x41e055[_0xe8e5('0x38')];if(!_0x40b71f[_0xe8e5('0x34')][_0xe8e5('0x39')]('nolimit')){_0x3136cd[_0xe8e5('0x20')]=qs[_0xe8e5('0x20')](_0x40b71f[_0xe8e5('0x34')]['limit']);_0x3136cd['offset']=qs[_0xe8e5('0x1e')](_0x40b71f[_0xe8e5('0x34')]['offset']);}return _0x449fb7[_0xe8e5('0x53')](_0x3136cd);}})['then'](function(_0x1d423e){if(_0x1d423e){return _0x1d423e?{'count':_0x193bfc,'rows':_0x1d423e}:null;}})[_0xe8e5('0x29')](respondWithResult(_0x54fa8f,null))['catch'](handleError(_0x54fa8f,null));};