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 _0x27d4=['getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','papaparse','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','name','index','map','ServicenowConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','merge','VIRTUAL','options','then','includeAll','include','rows','catch','params','length','find','create','body','destroy','getFields','findOne','ServicenowField','filter','hasOwnProperty'];(function(_0x3cd468,_0x4bae1e){var _0x3f0f4a=function(_0xecdb30){while(--_0xecdb30){_0x3cd468['push'](_0x3cd468['shift']());}};_0x3f0f4a(++_0x4bae1e);}(_0x27d4,0x12e));var _0x427d=function(_0x12dfa1,_0x36ff32){_0x12dfa1=_0x12dfa1-0x0;var _0x5db581=_0x27d4[_0x12dfa1];return _0x5db581;};'use strict';var emlformat=require(_0x427d('0x0'));var rimraf=require(_0x427d('0x1'));var zipdir=require(_0x427d('0x2'));var jsonpatch=require(_0x427d('0x3'));var rp=require(_0x427d('0x4'));var moment=require('moment');var BPromise=require(_0x427d('0x5'));var Mustache=require(_0x427d('0x6'));var util=require(_0x427d('0x7'));var path=require(_0x427d('0x8'));var sox=require(_0x427d('0x9'));var csv=require('to-csv');var ejs=require(_0x427d('0xa'));var fs=require('fs');var fs_extra=require(_0x427d('0xb'));var _=require(_0x427d('0xc'));var squel=require('squel');var crypto=require(_0x427d('0xd'));var jsforce=require(_0x427d('0xe'));var deskjs=require(_0x427d('0xf'));var toCsv=require(_0x427d('0x10'));var querystring=require('querystring');var Papa=require(_0x427d('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x427d('0x12'))(_0x427d('0x13'));var utils=require(_0x427d('0x14'));var config=require(_0x427d('0x15'));var licenseUtil=require(_0x427d('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f1175,_0x594b7e){_0x594b7e=_0x594b7e||0xcc;return function(_0x5dc64a){if(_0x5dc64a){return _0x1f1175[_0x427d('0x17')](_0x594b7e);}return _0x1f1175[_0x427d('0x18')](_0x594b7e)[_0x427d('0x19')]();};}function respondWithResult(_0x58a2b6,_0x1a19da){_0x1a19da=_0x1a19da||0xc8;return function(_0x4740f0){if(_0x4740f0){return _0x58a2b6[_0x427d('0x18')](_0x1a19da)[_0x427d('0x1a')](_0x4740f0);}};}function respondWithFilteredResult(_0x80f44b,_0x551a80){return function(_0x1a7971){if(_0x1a7971){var _0x2e9458=typeof _0x551a80[_0x427d('0x1b')]===_0x427d('0x1c')&&typeof _0x551a80[_0x427d('0x1d')]===_0x427d('0x1c');var _0x30089b=_0x1a7971[_0x427d('0x1e')];var _0x453b43=_0x2e9458?0x0:_0x551a80[_0x427d('0x1b')];var _0x21dec8=_0x2e9458?_0x1a7971[_0x427d('0x1e')]:_0x551a80['offset']+_0x551a80['limit'];var _0x240e54;if(_0x21dec8>=_0x30089b){_0x21dec8=_0x30089b;_0x240e54=0xc8;}else{_0x240e54=0xce;}_0x80f44b[_0x427d('0x18')](_0x240e54);return _0x80f44b[_0x427d('0x1f')]('Content-Range',_0x453b43+'-'+_0x21dec8+'/'+_0x30089b)[_0x427d('0x1a')](_0x1a7971);}return null;};}function patchUpdates(_0x361503){return function(_0x28a713){try{jsonpatch['apply'](_0x28a713,_0x361503,!![]);}catch(_0x4d05de){return BPromise[_0x427d('0x20')](_0x4d05de);}return _0x28a713[_0x427d('0x21')]();};}function saveUpdates(_0x133cfb,_0x576343){return function(_0x9f9e1f){if(_0x9f9e1f){return _0x9f9e1f[_0x427d('0x22')](_0x133cfb)['then'](function(_0x2684f4){return _0x2684f4;});}return null;};}function removeEntity(_0x34e876,_0x4a7ef4){return function(_0x4098dd){if(_0x4098dd){return _0x4098dd['destroy']()['then'](function(){_0x34e876[_0x427d('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3195b4,_0xdc924c){return function(_0x144b1){if(!_0x144b1){_0x3195b4[_0x427d('0x17')](0x194);}return _0x144b1;};}function handleError(_0x145cc2,_0x4d1a15){_0x4d1a15=_0x4d1a15||0x1f4;return function(_0x2341c6){logger['error'](_0x2341c6['stack']);if(_0x2341c6[_0x427d('0x23')]){delete _0x2341c6[_0x427d('0x23')];}_0x145cc2[_0x427d('0x18')](_0x4d1a15)['send'](_0x2341c6);};}exports[_0x427d('0x24')]=function(_0x5343dc,_0x27144d){var _0xab59cb={},_0x10f6c4={},_0x20abdf={'count':0x0,'rows':[]};var _0x520a22=_[_0x427d('0x25')](db[_0x427d('0x26')][_0x427d('0x27')],function(_0xd7e291){return{'name':_0xd7e291['fieldName'],'type':_0xd7e291[_0x427d('0x28')][_0x427d('0x29')]};});_0x10f6c4[_0x427d('0x2a')]=_[_0x427d('0x25')](_0x520a22,_0x427d('0x23'));_0x10f6c4[_0x427d('0x2b')]=_[_0x427d('0x2c')](_0x5343dc[_0x427d('0x2b')]);_0x10f6c4[_0x427d('0x2d')]=_[_0x427d('0x2e')](_0x10f6c4[_0x427d('0x2a')],_0x10f6c4['query']);_0xab59cb[_0x427d('0x2f')]=_[_0x427d('0x2e')](_0x10f6c4[_0x427d('0x2a')],qs[_0x427d('0x30')](_0x5343dc[_0x427d('0x2b')][_0x427d('0x30')]));_0xab59cb[_0x427d('0x2f')]=_0xab59cb[_0x427d('0x2f')]['length']?_0xab59cb[_0x427d('0x2f')]:_0x10f6c4[_0x427d('0x2a')];if(!_0x5343dc[_0x427d('0x2b')]['hasOwnProperty'](_0x427d('0x31'))){_0xab59cb[_0x427d('0x1d')]=qs[_0x427d('0x1d')](_0x5343dc[_0x427d('0x2b')][_0x427d('0x1d')]);_0xab59cb[_0x427d('0x1b')]=qs['offset'](_0x5343dc[_0x427d('0x2b')][_0x427d('0x1b')]);}_0xab59cb[_0x427d('0x32')]=qs[_0x427d('0x33')](_0x5343dc[_0x427d('0x2b')][_0x427d('0x33')]);_0xab59cb[_0x427d('0x34')]=qs[_0x427d('0x2d')](_[_0x427d('0x35')](_0x5343dc[_0x427d('0x2b')],_0x10f6c4[_0x427d('0x2d')]),_0x520a22);if(_0x5343dc[_0x427d('0x2b')]['filter']){_0xab59cb[_0x427d('0x34')]=_[_0x427d('0x36')](_0xab59cb[_0x427d('0x34')],{'$or':_[_0x427d('0x25')](_0x520a22,function(_0x2ec259){if(_0x2ec259[_0x427d('0x28')]!==_0x427d('0x37')){var _0x57df27={};_0x57df27[_0x2ec259[_0x427d('0x23')]]={'$like':'%'+_0x5343dc[_0x427d('0x2b')]['filter']+'%'};return _0x57df27;}})});}_0xab59cb=_[_0x427d('0x36')]({},_0xab59cb,_0x5343dc[_0x427d('0x38')]);var _0x161cdc={'where':_0xab59cb[_0x427d('0x34')]};return db[_0x427d('0x26')][_0x427d('0x1e')](_0x161cdc)[_0x427d('0x39')](function(_0x25a063){_0x20abdf[_0x427d('0x1e')]=_0x25a063;if(_0x5343dc[_0x427d('0x2b')][_0x427d('0x3a')]){_0xab59cb[_0x427d('0x3b')]=[{'all':!![]}];}return db['ServicenowConfiguration']['findAll'](_0xab59cb);})[_0x427d('0x39')](function(_0x112c48){_0x20abdf[_0x427d('0x3c')]=_0x112c48;return _0x20abdf;})[_0x427d('0x39')](respondWithFilteredResult(_0x27144d,_0xab59cb))[_0x427d('0x3d')](handleError(_0x27144d,null));};exports['show']=function(_0x3aabfe,_0x49c9f6){var _0x4446f3={'raw':![],'where':{'id':_0x3aabfe[_0x427d('0x3e')]['id']}},_0x1a21f3={};_0x1a21f3[_0x427d('0x2a')]=_[_0x427d('0x2c')](db[_0x427d('0x26')][_0x427d('0x27')]);_0x1a21f3[_0x427d('0x2b')]=_[_0x427d('0x2c')](_0x3aabfe[_0x427d('0x2b')]);_0x1a21f3[_0x427d('0x2d')]=_[_0x427d('0x2e')](_0x1a21f3[_0x427d('0x2a')],_0x1a21f3[_0x427d('0x2b')]);_0x4446f3['attributes']=_[_0x427d('0x2e')](_0x1a21f3['model'],qs[_0x427d('0x30')](_0x3aabfe['query'][_0x427d('0x30')]));_0x4446f3[_0x427d('0x2f')]=_0x4446f3[_0x427d('0x2f')][_0x427d('0x3f')]?_0x4446f3[_0x427d('0x2f')]:_0x1a21f3[_0x427d('0x2a')];if(_0x3aabfe['query'][_0x427d('0x3a')]){_0x4446f3[_0x427d('0x3b')]=[{'all':!![]}];}_0x4446f3=_[_0x427d('0x36')]({},_0x4446f3,_0x3aabfe[_0x427d('0x38')]);return db['ServicenowConfiguration'][_0x427d('0x40')](_0x4446f3)[_0x427d('0x39')](handleEntityNotFound(_0x49c9f6,null))[_0x427d('0x39')](respondWithResult(_0x49c9f6,null))[_0x427d('0x3d')](handleError(_0x49c9f6,null));};exports[_0x427d('0x41')]=function(_0x640192,_0x2af4ad){return db['ServicenowConfiguration']['create'](_0x640192[_0x427d('0x42')],{})[_0x427d('0x39')](respondWithResult(_0x2af4ad,0xc9))['catch'](handleError(_0x2af4ad,null));};exports[_0x427d('0x22')]=function(_0x39137d,_0x2a3578){if(_0x39137d['body']['id']){delete _0x39137d[_0x427d('0x42')]['id'];}return db[_0x427d('0x26')][_0x427d('0x40')]({'where':{'id':_0x39137d[_0x427d('0x3e')]['id']}})[_0x427d('0x39')](handleEntityNotFound(_0x2a3578,null))[_0x427d('0x39')](saveUpdates(_0x39137d['body'],null))['then'](respondWithResult(_0x2a3578,null))[_0x427d('0x3d')](handleError(_0x2a3578,null));};exports[_0x427d('0x43')]=function(_0x22d9f3,_0x54df11){return db[_0x427d('0x26')]['find']({'where':{'id':_0x22d9f3['params']['id']}})['then'](handleEntityNotFound(_0x54df11,null))[_0x427d('0x39')](removeEntity(_0x54df11,null))[_0x427d('0x3d')](handleError(_0x54df11,null));};exports[_0x427d('0x44')]=function(_0x139506,_0x552926,_0x39479c){var _0x1be510={};var _0xb3703e={};var _0x34f38b;var _0x5bd5d2;return db[_0x427d('0x26')][_0x427d('0x45')]({'where':{'id':_0x139506['params']['id']}})['then'](handleEntityNotFound(_0x552926,null))[_0x427d('0x39')](function(_0x357618){if(_0x357618){_0x34f38b=_0x357618;_0xb3703e[_0x427d('0x2a')]=_[_0x427d('0x2c')](db[_0x427d('0x46')]['rawAttributes']);_0xb3703e['query']=_['keys'](_0x139506[_0x427d('0x2b')]);_0xb3703e[_0x427d('0x2d')]=_['intersection'](_0xb3703e[_0x427d('0x2a')],_0xb3703e[_0x427d('0x2b')]);_0x1be510[_0x427d('0x2f')]=_['intersection'](_0xb3703e[_0x427d('0x2a')],qs['fields'](_0x139506['query'][_0x427d('0x30')]));_0x1be510[_0x427d('0x2f')]=_0x1be510[_0x427d('0x2f')][_0x427d('0x3f')]?_0x1be510['attributes']:_0xb3703e[_0x427d('0x2a')];_0x1be510[_0x427d('0x32')]=qs[_0x427d('0x33')](_0x139506[_0x427d('0x2b')][_0x427d('0x33')]);_0x1be510[_0x427d('0x34')]=qs['filters'](_[_0x427d('0x35')](_0x139506[_0x427d('0x2b')],_0xb3703e[_0x427d('0x2d')]));if(_0x139506[_0x427d('0x2b')]['filter']){_0x1be510[_0x427d('0x34')]=_['merge'](_0x1be510[_0x427d('0x34')],{'$or':_[_0x427d('0x25')](_0x1be510['attributes'],function(_0x206cee){var _0x31fc60={};_0x31fc60[_0x206cee]={'$like':'%'+_0x139506[_0x427d('0x2b')][_0x427d('0x47')]+'%'};return _0x31fc60;})});}_0x1be510=_[_0x427d('0x36')]({},_0x1be510,_0x139506[_0x427d('0x38')]);return _0x34f38b[_0x427d('0x44')](_0x1be510);}})[_0x427d('0x39')](function(_0x86657e){if(_0x86657e){_0x5bd5d2=_0x86657e[_0x427d('0x3f')];if(!_0x139506[_0x427d('0x2b')][_0x427d('0x48')](_0x427d('0x31'))){_0x1be510[_0x427d('0x1d')]=qs[_0x427d('0x1d')](_0x139506['query'][_0x427d('0x1d')]);_0x1be510['offset']=qs[_0x427d('0x1b')](_0x139506['query']['offset']);}return _0x34f38b[_0x427d('0x44')](_0x1be510);}})[_0x427d('0x39')](function(_0x960f45){if(_0x960f45){return _0x960f45?{'count':_0x5bd5d2,'rows':_0x960f45}:null;}})['then'](respondWithResult(_0x552926,null))[_0x427d('0x3d')](handleError(_0x552926,null));};exports[_0x427d('0x49')]=function(_0x2e962d,_0x1968c2,_0x334106){var _0x3df32e={};var _0x3082d1={};var _0x3c1811;var _0xf7dcee;return db[_0x427d('0x26')][_0x427d('0x45')]({'where':{'id':_0x2e962d[_0x427d('0x3e')]['id']}})[_0x427d('0x39')](handleEntityNotFound(_0x1968c2,null))['then'](function(_0x1555da){if(_0x1555da){_0x3c1811=_0x1555da;_0x3082d1[_0x427d('0x2a')]=_[_0x427d('0x2c')](db[_0x427d('0x46')]['rawAttributes']);_0x3082d1[_0x427d('0x2b')]=_[_0x427d('0x2c')](_0x2e962d[_0x427d('0x2b')]);_0x3082d1['filters']=_['intersection'](_0x3082d1[_0x427d('0x2a')],_0x3082d1['query']);_0x3df32e['attributes']=_['intersection'](_0x3082d1['model'],qs[_0x427d('0x30')](_0x2e962d[_0x427d('0x2b')][_0x427d('0x30')]));_0x3df32e[_0x427d('0x2f')]=_0x3df32e[_0x427d('0x2f')][_0x427d('0x3f')]?_0x3df32e[_0x427d('0x2f')]:_0x3082d1[_0x427d('0x2a')];_0x3df32e[_0x427d('0x32')]=qs[_0x427d('0x33')](_0x2e962d[_0x427d('0x2b')][_0x427d('0x33')]);_0x3df32e[_0x427d('0x34')]=qs[_0x427d('0x2d')](_[_0x427d('0x35')](_0x2e962d[_0x427d('0x2b')],_0x3082d1[_0x427d('0x2d')]));if(_0x2e962d['query']['filter']){_0x3df32e[_0x427d('0x34')]=_['merge'](_0x3df32e[_0x427d('0x34')],{'$or':_[_0x427d('0x25')](_0x3df32e[_0x427d('0x2f')],function(_0x2c51ca){var _0x418b78={};_0x418b78[_0x2c51ca]={'$like':'%'+_0x2e962d[_0x427d('0x2b')][_0x427d('0x47')]+'%'};return _0x418b78;})});}_0x3df32e=_[_0x427d('0x36')]({},_0x3df32e,_0x2e962d[_0x427d('0x38')]);return _0x3c1811['getSubjects'](_0x3df32e);}})['then'](function(_0x478427){if(_0x478427){_0xf7dcee=_0x478427[_0x427d('0x3f')];if(!_0x2e962d[_0x427d('0x2b')]['hasOwnProperty'](_0x427d('0x31'))){_0x3df32e[_0x427d('0x1d')]=qs[_0x427d('0x1d')](_0x2e962d[_0x427d('0x2b')][_0x427d('0x1d')]);_0x3df32e[_0x427d('0x1b')]=qs[_0x427d('0x1b')](_0x2e962d['query'][_0x427d('0x1b')]);}return _0x3c1811[_0x427d('0x49')](_0x3df32e);}})[_0x427d('0x39')](function(_0x391164){if(_0x391164){return _0x391164?{'count':_0xf7dcee,'rows':_0x391164}:null;}})['then'](respondWithResult(_0x1968c2,null))['catch'](handleError(_0x1968c2,null));};exports['getDescriptions']=function(_0x58f06d,_0x5a5d1e,_0x26e48c){var _0x5de61f={};var _0x567189={};var _0x15308f;var _0x27df34;return db[_0x427d('0x26')][_0x427d('0x45')]({'where':{'id':_0x58f06d[_0x427d('0x3e')]['id']}})[_0x427d('0x39')](handleEntityNotFound(_0x5a5d1e,null))[_0x427d('0x39')](function(_0x56a79c){if(_0x56a79c){_0x15308f=_0x56a79c;_0x567189[_0x427d('0x2a')]=_[_0x427d('0x2c')](db[_0x427d('0x46')][_0x427d('0x27')]);_0x567189[_0x427d('0x2b')]=_[_0x427d('0x2c')](_0x58f06d[_0x427d('0x2b')]);_0x567189[_0x427d('0x2d')]=_['intersection'](_0x567189[_0x427d('0x2a')],_0x567189[_0x427d('0x2b')]);_0x5de61f['attributes']=_['intersection'](_0x567189[_0x427d('0x2a')],qs[_0x427d('0x30')](_0x58f06d[_0x427d('0x2b')][_0x427d('0x30')]));_0x5de61f[_0x427d('0x2f')]=_0x5de61f[_0x427d('0x2f')][_0x427d('0x3f')]?_0x5de61f[_0x427d('0x2f')]:_0x567189[_0x427d('0x2a')];_0x5de61f['order']=qs[_0x427d('0x33')](_0x58f06d[_0x427d('0x2b')][_0x427d('0x33')]);_0x5de61f['where']=qs[_0x427d('0x2d')](_[_0x427d('0x35')](_0x58f06d[_0x427d('0x2b')],_0x567189['filters']));if(_0x58f06d[_0x427d('0x2b')]['filter']){_0x5de61f[_0x427d('0x34')]=_[_0x427d('0x36')](_0x5de61f[_0x427d('0x34')],{'$or':_[_0x427d('0x25')](_0x5de61f['attributes'],function(_0x120d5c){var _0x65e7e9={};_0x65e7e9[_0x120d5c]={'$like':'%'+_0x58f06d[_0x427d('0x2b')]['filter']+'%'};return _0x65e7e9;})});}_0x5de61f=_[_0x427d('0x36')]({},_0x5de61f,_0x58f06d['options']);return _0x15308f[_0x427d('0x4a')](_0x5de61f);}})[_0x427d('0x39')](function(_0x48d58f){if(_0x48d58f){_0x27df34=_0x48d58f[_0x427d('0x3f')];if(!_0x58f06d[_0x427d('0x2b')]['hasOwnProperty'](_0x427d('0x31'))){_0x5de61f[_0x427d('0x1d')]=qs['limit'](_0x58f06d['query'][_0x427d('0x1d')]);_0x5de61f[_0x427d('0x1b')]=qs['offset'](_0x58f06d[_0x427d('0x2b')][_0x427d('0x1b')]);}return _0x15308f[_0x427d('0x4a')](_0x5de61f);}})['then'](function(_0xd7d2c3){if(_0xd7d2c3){return _0xd7d2c3?{'count':_0x27df34,'rows':_0xd7d2c3}:null;}})[_0x427d('0x39')](respondWithResult(_0x5a5d1e,null))[_0x427d('0x3d')](handleError(_0x5a5d1e,null));};