Built motion from commit 838c2833.|2.6.24
[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 _0xa6e2=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','ServicenowConfiguration','rawAttributes','fieldName','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','rows','show','length','create','body','catch','find','params','getFields','findOne','ServicenowField','getSubjects','getDescriptions','eml-format','rimraf','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring'];(function(_0x4514f0,_0x5edc23){var _0x410597=function(_0x16c299){while(--_0x16c299){_0x4514f0['push'](_0x4514f0['shift']());}};_0x410597(++_0x5edc23);}(_0xa6e2,0x132));var _0x2a6e=function(_0x73c177,_0x52d6f6){_0x73c177=_0x73c177-0x0;var _0x1c2cef=_0xa6e2[_0x73c177];return _0x1c2cef;};'use strict';var emlformat=require(_0x2a6e('0x0'));var rimraf=require(_0x2a6e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2a6e('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x2a6e('0x3'));var util=require(_0x2a6e('0x4'));var path=require(_0x2a6e('0x5'));var sox=require(_0x2a6e('0x6'));var csv=require(_0x2a6e('0x7'));var ejs=require(_0x2a6e('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2a6e('0x9'));var squel=require(_0x2a6e('0xa'));var crypto=require(_0x2a6e('0xb'));var jsforce=require(_0x2a6e('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x2a6e('0x7'));var querystring=require(_0x2a6e('0xd'));var Papa=require(_0x2a6e('0xe'));var Redis=require(_0x2a6e('0xf'));var authService=require(_0x2a6e('0x10'));var qs=require(_0x2a6e('0x11'));var as=require(_0x2a6e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2a6e('0x13'))(_0x2a6e('0x14'));var utils=require(_0x2a6e('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2a6e('0x16'))['db'];function respondWithStatusCode(_0x1cbf08,_0x2c115c){_0x2c115c=_0x2c115c||0xcc;return function(_0x5e51f6){if(_0x5e51f6){return _0x1cbf08[_0x2a6e('0x17')](_0x2c115c);}return _0x1cbf08['status'](_0x2c115c)[_0x2a6e('0x18')]();};}function respondWithResult(_0x59eb2f,_0x159ec3){_0x159ec3=_0x159ec3||0xc8;return function(_0x57a792){if(_0x57a792){return _0x59eb2f[_0x2a6e('0x19')](_0x159ec3)[_0x2a6e('0x1a')](_0x57a792);}};}function respondWithFilteredResult(_0x2a6d41,_0x2c6e90){return function(_0x5198ed){if(_0x5198ed){var _0xd94f9e=typeof _0x2c6e90[_0x2a6e('0x1b')]==='undefined'&&typeof _0x2c6e90[_0x2a6e('0x1c')]===_0x2a6e('0x1d');var _0x28a25e=_0x5198ed[_0x2a6e('0x1e')];var _0x726445=_0xd94f9e?0x0:_0x2c6e90['offset'];var _0x476304=_0xd94f9e?_0x5198ed[_0x2a6e('0x1e')]:_0x2c6e90[_0x2a6e('0x1b')]+_0x2c6e90['limit'];var _0xaee7d3;if(_0x476304>=_0x28a25e){_0x476304=_0x28a25e;_0xaee7d3=0xc8;}else{_0xaee7d3=0xce;}_0x2a6d41[_0x2a6e('0x19')](_0xaee7d3);return _0x2a6d41[_0x2a6e('0x1f')](_0x2a6e('0x20'),_0x726445+'-'+_0x476304+'/'+_0x28a25e)[_0x2a6e('0x1a')](_0x5198ed);}return null;};}function patchUpdates(_0x161e6b){return function(_0x5ba298){try{jsonpatch[_0x2a6e('0x21')](_0x5ba298,_0x161e6b,!![]);}catch(_0x3e5c2d){return BPromise[_0x2a6e('0x22')](_0x3e5c2d);}return _0x5ba298[_0x2a6e('0x23')]();};}function saveUpdates(_0x353c6b,_0x4a6412){return function(_0xcbc6ad){if(_0xcbc6ad){return _0xcbc6ad[_0x2a6e('0x24')](_0x353c6b)[_0x2a6e('0x25')](function(_0x5038c9){return _0x5038c9;});}return null;};}function removeEntity(_0xdf549b,_0x3ede7c){return function(_0x5e495e){if(_0x5e495e){return _0x5e495e[_0x2a6e('0x26')]()['then'](function(){_0xdf549b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x43b255,_0x578db7){return function(_0x2cd0fd){if(!_0x2cd0fd){_0x43b255['sendStatus'](0x194);}return _0x2cd0fd;};}function handleError(_0x3a5084,_0x230d5a){_0x230d5a=_0x230d5a||0x1f4;return function(_0x3cf572){logger[_0x2a6e('0x27')](_0x3cf572[_0x2a6e('0x28')]);if(_0x3cf572['name']){delete _0x3cf572[_0x2a6e('0x29')];}_0x3a5084[_0x2a6e('0x19')](_0x230d5a)[_0x2a6e('0x2a')](_0x3cf572);};}exports['index']=function(_0x332f76,_0xb86723){var _0x16fa8c={},_0x2c0f00={},_0x37449d={'count':0x0,'rows':[]};var _0x56e048=_[_0x2a6e('0x2b')](db[_0x2a6e('0x2c')][_0x2a6e('0x2d')],function(_0x53057f){return{'name':_0x53057f[_0x2a6e('0x2e')],'type':_0x53057f['type'][_0x2a6e('0x2f')]};});_0x2c0f00[_0x2a6e('0x30')]=_[_0x2a6e('0x2b')](_0x56e048,_0x2a6e('0x29'));_0x2c0f00['query']=_[_0x2a6e('0x31')](_0x332f76[_0x2a6e('0x32')]);_0x2c0f00['filters']=_[_0x2a6e('0x33')](_0x2c0f00[_0x2a6e('0x30')],_0x2c0f00['query']);_0x16fa8c[_0x2a6e('0x34')]=_['intersection'](_0x2c0f00['model'],qs[_0x2a6e('0x35')](_0x332f76[_0x2a6e('0x32')][_0x2a6e('0x35')]));_0x16fa8c['attributes']=_0x16fa8c[_0x2a6e('0x34')]['length']?_0x16fa8c['attributes']:_0x2c0f00[_0x2a6e('0x30')];if(!_0x332f76[_0x2a6e('0x32')][_0x2a6e('0x36')](_0x2a6e('0x37'))){_0x16fa8c['limit']=qs[_0x2a6e('0x1c')](_0x332f76[_0x2a6e('0x32')][_0x2a6e('0x1c')]);_0x16fa8c[_0x2a6e('0x1b')]=qs['offset'](_0x332f76['query']['offset']);}_0x16fa8c[_0x2a6e('0x38')]=qs[_0x2a6e('0x39')](_0x332f76['query'][_0x2a6e('0x39')]);_0x16fa8c[_0x2a6e('0x3a')]=qs[_0x2a6e('0x3b')](_[_0x2a6e('0x3c')](_0x332f76[_0x2a6e('0x32')],_0x2c0f00[_0x2a6e('0x3b')]),_0x56e048);if(_0x332f76[_0x2a6e('0x32')][_0x2a6e('0x3d')]){_0x16fa8c[_0x2a6e('0x3a')]=_[_0x2a6e('0x3e')](_0x16fa8c['where'],{'$or':_[_0x2a6e('0x2b')](_0x56e048,function(_0x23c958){if(_0x23c958['type']!=='VIRTUAL'){var _0x41d67c={};_0x41d67c[_0x23c958['name']]={'$like':'%'+_0x332f76['query'][_0x2a6e('0x3d')]+'%'};return _0x41d67c;}})});}_0x16fa8c=_[_0x2a6e('0x3e')]({},_0x16fa8c,_0x332f76[_0x2a6e('0x3f')]);var _0x3c93f5={'where':_0x16fa8c[_0x2a6e('0x3a')]};return db[_0x2a6e('0x2c')][_0x2a6e('0x1e')](_0x3c93f5)['then'](function(_0x5daabb){_0x37449d[_0x2a6e('0x1e')]=_0x5daabb;if(_0x332f76[_0x2a6e('0x32')][_0x2a6e('0x40')]){_0x16fa8c[_0x2a6e('0x41')]=[{'all':!![]}];}return db['ServicenowConfiguration'][_0x2a6e('0x42')](_0x16fa8c);})[_0x2a6e('0x25')](function(_0x4da055){_0x37449d[_0x2a6e('0x43')]=_0x4da055;return _0x37449d;})[_0x2a6e('0x25')](respondWithFilteredResult(_0xb86723,_0x16fa8c))['catch'](handleError(_0xb86723,null));};exports[_0x2a6e('0x44')]=function(_0x5319ec,_0x40172b){var _0x21ae7a={'raw':![],'where':{'id':_0x5319ec['params']['id']}},_0x11d0ba={};_0x11d0ba[_0x2a6e('0x30')]=_['keys'](db[_0x2a6e('0x2c')][_0x2a6e('0x2d')]);_0x11d0ba['query']=_[_0x2a6e('0x31')](_0x5319ec[_0x2a6e('0x32')]);_0x11d0ba[_0x2a6e('0x3b')]=_[_0x2a6e('0x33')](_0x11d0ba[_0x2a6e('0x30')],_0x11d0ba['query']);_0x21ae7a['attributes']=_['intersection'](_0x11d0ba[_0x2a6e('0x30')],qs[_0x2a6e('0x35')](_0x5319ec[_0x2a6e('0x32')]['fields']));_0x21ae7a[_0x2a6e('0x34')]=_0x21ae7a[_0x2a6e('0x34')][_0x2a6e('0x45')]?_0x21ae7a[_0x2a6e('0x34')]:_0x11d0ba['model'];if(_0x5319ec['query'][_0x2a6e('0x40')]){_0x21ae7a[_0x2a6e('0x41')]=[{'all':!![]}];}_0x21ae7a=_[_0x2a6e('0x3e')]({},_0x21ae7a,_0x5319ec[_0x2a6e('0x3f')]);return db[_0x2a6e('0x2c')]['find'](_0x21ae7a)[_0x2a6e('0x25')](handleEntityNotFound(_0x40172b,null))[_0x2a6e('0x25')](respondWithResult(_0x40172b,null))['catch'](handleError(_0x40172b,null));};exports[_0x2a6e('0x46')]=function(_0x133062,_0x5caa29){return db['ServicenowConfiguration']['create'](_0x133062[_0x2a6e('0x47')],{})[_0x2a6e('0x25')](respondWithResult(_0x5caa29,0xc9))[_0x2a6e('0x48')](handleError(_0x5caa29,null));};exports[_0x2a6e('0x24')]=function(_0x2c24fd,_0x40ac2a){if(_0x2c24fd[_0x2a6e('0x47')]['id']){delete _0x2c24fd[_0x2a6e('0x47')]['id'];}return db[_0x2a6e('0x2c')][_0x2a6e('0x49')]({'where':{'id':_0x2c24fd[_0x2a6e('0x4a')]['id']}})[_0x2a6e('0x25')](handleEntityNotFound(_0x40ac2a,null))[_0x2a6e('0x25')](saveUpdates(_0x2c24fd[_0x2a6e('0x47')],null))[_0x2a6e('0x25')](respondWithResult(_0x40ac2a,null))['catch'](handleError(_0x40ac2a,null));};exports[_0x2a6e('0x26')]=function(_0x1c4f99,_0x3b6e73){return db[_0x2a6e('0x2c')][_0x2a6e('0x49')]({'where':{'id':_0x1c4f99['params']['id']}})[_0x2a6e('0x25')](handleEntityNotFound(_0x3b6e73,null))[_0x2a6e('0x25')](removeEntity(_0x3b6e73,null))['catch'](handleError(_0x3b6e73,null));};exports[_0x2a6e('0x4b')]=function(_0xb4b19c,_0x539e5e,_0x3c195b){var _0x44d85c={};var _0x1f6d05={};var _0x2cc156;var _0x4ced1d;return db['ServicenowConfiguration'][_0x2a6e('0x4c')]({'where':{'id':_0xb4b19c['params']['id']}})[_0x2a6e('0x25')](handleEntityNotFound(_0x539e5e,null))[_0x2a6e('0x25')](function(_0x554ee1){if(_0x554ee1){_0x2cc156=_0x554ee1;_0x1f6d05[_0x2a6e('0x30')]=_[_0x2a6e('0x31')](db[_0x2a6e('0x4d')]['rawAttributes']);_0x1f6d05[_0x2a6e('0x32')]=_[_0x2a6e('0x31')](_0xb4b19c['query']);_0x1f6d05['filters']=_[_0x2a6e('0x33')](_0x1f6d05[_0x2a6e('0x30')],_0x1f6d05['query']);_0x44d85c[_0x2a6e('0x34')]=_[_0x2a6e('0x33')](_0x1f6d05[_0x2a6e('0x30')],qs[_0x2a6e('0x35')](_0xb4b19c[_0x2a6e('0x32')]['fields']));_0x44d85c[_0x2a6e('0x34')]=_0x44d85c[_0x2a6e('0x34')][_0x2a6e('0x45')]?_0x44d85c['attributes']:_0x1f6d05[_0x2a6e('0x30')];_0x44d85c[_0x2a6e('0x38')]=qs[_0x2a6e('0x39')](_0xb4b19c[_0x2a6e('0x32')][_0x2a6e('0x39')]);_0x44d85c[_0x2a6e('0x3a')]=qs[_0x2a6e('0x3b')](_['pick'](_0xb4b19c[_0x2a6e('0x32')],_0x1f6d05[_0x2a6e('0x3b')]));if(_0xb4b19c[_0x2a6e('0x32')][_0x2a6e('0x3d')]){_0x44d85c['where']=_[_0x2a6e('0x3e')](_0x44d85c['where'],{'$or':_[_0x2a6e('0x2b')](_0x44d85c['attributes'],function(_0x2e50ad){var _0x200160={};_0x200160[_0x2e50ad]={'$like':'%'+_0xb4b19c[_0x2a6e('0x32')][_0x2a6e('0x3d')]+'%'};return _0x200160;})});}_0x44d85c=_[_0x2a6e('0x3e')]({},_0x44d85c,_0xb4b19c[_0x2a6e('0x3f')]);return _0x2cc156['getFields'](_0x44d85c);}})[_0x2a6e('0x25')](function(_0x58863d){if(_0x58863d){_0x4ced1d=_0x58863d[_0x2a6e('0x45')];if(!_0xb4b19c[_0x2a6e('0x32')][_0x2a6e('0x36')]('nolimit')){_0x44d85c[_0x2a6e('0x1c')]=qs['limit'](_0xb4b19c['query']['limit']);_0x44d85c[_0x2a6e('0x1b')]=qs[_0x2a6e('0x1b')](_0xb4b19c[_0x2a6e('0x32')]['offset']);}return _0x2cc156['getFields'](_0x44d85c);}})[_0x2a6e('0x25')](function(_0x1e4759){if(_0x1e4759){return _0x1e4759?{'count':_0x4ced1d,'rows':_0x1e4759}:null;}})[_0x2a6e('0x25')](respondWithResult(_0x539e5e,null))[_0x2a6e('0x48')](handleError(_0x539e5e,null));};exports['getSubjects']=function(_0x18a4ee,_0x9b4fd9,_0x3f61fd){var _0x5de682={};var _0x1078ee={};var _0x9f2141;var _0x3e2ef6;return db[_0x2a6e('0x2c')]['findOne']({'where':{'id':_0x18a4ee['params']['id']}})[_0x2a6e('0x25')](handleEntityNotFound(_0x9b4fd9,null))[_0x2a6e('0x25')](function(_0x40a8f3){if(_0x40a8f3){_0x9f2141=_0x40a8f3;_0x1078ee[_0x2a6e('0x30')]=_[_0x2a6e('0x31')](db[_0x2a6e('0x4d')][_0x2a6e('0x2d')]);_0x1078ee[_0x2a6e('0x32')]=_['keys'](_0x18a4ee[_0x2a6e('0x32')]);_0x1078ee[_0x2a6e('0x3b')]=_[_0x2a6e('0x33')](_0x1078ee[_0x2a6e('0x30')],_0x1078ee[_0x2a6e('0x32')]);_0x5de682[_0x2a6e('0x34')]=_['intersection'](_0x1078ee[_0x2a6e('0x30')],qs[_0x2a6e('0x35')](_0x18a4ee[_0x2a6e('0x32')]['fields']));_0x5de682['attributes']=_0x5de682[_0x2a6e('0x34')][_0x2a6e('0x45')]?_0x5de682['attributes']:_0x1078ee[_0x2a6e('0x30')];_0x5de682[_0x2a6e('0x38')]=qs['sort'](_0x18a4ee['query'][_0x2a6e('0x39')]);_0x5de682['where']=qs[_0x2a6e('0x3b')](_[_0x2a6e('0x3c')](_0x18a4ee[_0x2a6e('0x32')],_0x1078ee[_0x2a6e('0x3b')]));if(_0x18a4ee[_0x2a6e('0x32')]['filter']){_0x5de682[_0x2a6e('0x3a')]=_['merge'](_0x5de682[_0x2a6e('0x3a')],{'$or':_[_0x2a6e('0x2b')](_0x5de682[_0x2a6e('0x34')],function(_0x488ed4){var _0x125049={};_0x125049[_0x488ed4]={'$like':'%'+_0x18a4ee[_0x2a6e('0x32')][_0x2a6e('0x3d')]+'%'};return _0x125049;})});}_0x5de682=_[_0x2a6e('0x3e')]({},_0x5de682,_0x18a4ee['options']);return _0x9f2141[_0x2a6e('0x4e')](_0x5de682);}})[_0x2a6e('0x25')](function(_0x1b5bee){if(_0x1b5bee){_0x3e2ef6=_0x1b5bee['length'];if(!_0x18a4ee[_0x2a6e('0x32')][_0x2a6e('0x36')]('nolimit')){_0x5de682[_0x2a6e('0x1c')]=qs[_0x2a6e('0x1c')](_0x18a4ee[_0x2a6e('0x32')][_0x2a6e('0x1c')]);_0x5de682[_0x2a6e('0x1b')]=qs[_0x2a6e('0x1b')](_0x18a4ee[_0x2a6e('0x32')][_0x2a6e('0x1b')]);}return _0x9f2141[_0x2a6e('0x4e')](_0x5de682);}})[_0x2a6e('0x25')](function(_0x1963b1){if(_0x1963b1){return _0x1963b1?{'count':_0x3e2ef6,'rows':_0x1963b1}:null;}})[_0x2a6e('0x25')](respondWithResult(_0x9b4fd9,null))[_0x2a6e('0x48')](handleError(_0x9b4fd9,null));};exports[_0x2a6e('0x4f')]=function(_0x177641,_0x525fc8,_0x5dfe69){var _0x446fbf={};var _0x41fab={};var _0x5d3777;var _0x5ce161;return db['ServicenowConfiguration'][_0x2a6e('0x4c')]({'where':{'id':_0x177641[_0x2a6e('0x4a')]['id']}})[_0x2a6e('0x25')](handleEntityNotFound(_0x525fc8,null))['then'](function(_0x23085b){if(_0x23085b){_0x5d3777=_0x23085b;_0x41fab[_0x2a6e('0x30')]=_[_0x2a6e('0x31')](db['ServicenowField']['rawAttributes']);_0x41fab['query']=_[_0x2a6e('0x31')](_0x177641[_0x2a6e('0x32')]);_0x41fab['filters']=_[_0x2a6e('0x33')](_0x41fab[_0x2a6e('0x30')],_0x41fab[_0x2a6e('0x32')]);_0x446fbf[_0x2a6e('0x34')]=_['intersection'](_0x41fab['model'],qs['fields'](_0x177641[_0x2a6e('0x32')][_0x2a6e('0x35')]));_0x446fbf[_0x2a6e('0x34')]=_0x446fbf[_0x2a6e('0x34')][_0x2a6e('0x45')]?_0x446fbf[_0x2a6e('0x34')]:_0x41fab[_0x2a6e('0x30')];_0x446fbf['order']=qs[_0x2a6e('0x39')](_0x177641['query'][_0x2a6e('0x39')]);_0x446fbf['where']=qs['filters'](_['pick'](_0x177641['query'],_0x41fab['filters']));if(_0x177641[_0x2a6e('0x32')]['filter']){_0x446fbf['where']=_[_0x2a6e('0x3e')](_0x446fbf[_0x2a6e('0x3a')],{'$or':_[_0x2a6e('0x2b')](_0x446fbf[_0x2a6e('0x34')],function(_0x4ece5a){var _0x50a105={};_0x50a105[_0x4ece5a]={'$like':'%'+_0x177641[_0x2a6e('0x32')][_0x2a6e('0x3d')]+'%'};return _0x50a105;})});}_0x446fbf=_[_0x2a6e('0x3e')]({},_0x446fbf,_0x177641['options']);return _0x5d3777['getDescriptions'](_0x446fbf);}})[_0x2a6e('0x25')](function(_0x323db9){if(_0x323db9){_0x5ce161=_0x323db9['length'];if(!_0x177641[_0x2a6e('0x32')][_0x2a6e('0x36')](_0x2a6e('0x37'))){_0x446fbf['limit']=qs[_0x2a6e('0x1c')](_0x177641[_0x2a6e('0x32')][_0x2a6e('0x1c')]);_0x446fbf[_0x2a6e('0x1b')]=qs[_0x2a6e('0x1b')](_0x177641['query'][_0x2a6e('0x1b')]);}return _0x5d3777['getDescriptions'](_0x446fbf);}})[_0x2a6e('0x25')](function(_0x38c107){if(_0x38c107){return _0x38c107?{'count':_0x5ce161,'rows':_0x38c107}:null;}})[_0x2a6e('0x25')](respondWithResult(_0x525fc8,null))['catch'](handleError(_0x525fc8,null));};