Built motion from commit (unavailable).|2.5.22
[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 _0xd62b=['result','catch','sendStatus','status','count','offset','limit','Content-Range','json','reject','destroy','end','stack','name','index','ServicenowConfiguration','type','key','map','query','keys','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','find','create','body','getFields','findOne','rawAttributes','getSubjects','getDescriptions','ServicenowField','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','ServicenowConfiguration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','info'];(function(_0x4bc4c4,_0x5d6c2c){var _0x2b5b13=function(_0x991e28){while(--_0x991e28){_0x4bc4c4['push'](_0x4bc4c4['shift']());}};_0x2b5b13(++_0x5d6c2c);}(_0xd62b,0x8c));var _0xbd62=function(_0x53b594,_0x559767){_0x53b594=_0x53b594-0x0;var _0x1e616f=_0xd62b[_0x53b594];return _0x1e616f;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xbd62('0x0'));var zipdir=require(_0xbd62('0x1'));var jsonpatch=require(_0xbd62('0x2'));var rp=require('request-promise');var moment=require(_0xbd62('0x3'));var BPromise=require(_0xbd62('0x4'));var Mustache=require(_0xbd62('0x5'));var util=require(_0xbd62('0x6'));var path=require(_0xbd62('0x7'));var sox=require(_0xbd62('0x8'));var csv=require(_0xbd62('0x9'));var ejs=require(_0xbd62('0xa'));var fs=require('fs');var _=require(_0xbd62('0xb'));var squel=require('squel');var crypto=require(_0xbd62('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xbd62('0x9'));var querystring=require(_0xbd62('0xd'));var Papa=require(_0xbd62('0xe'));var Redis=require(_0xbd62('0xf'));var authService=require(_0xbd62('0x10'));var qs=require(_0xbd62('0x11'));var as=require(_0xbd62('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xbd62('0x13'));var utils=require(_0xbd62('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xbd62('0x15'));var db=require(_0xbd62('0x16'))['db'];var jayson=require(_0xbd62('0x17'));var client=jayson[_0xbd62('0x18')][_0xbd62('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x3d74b6,_0x5968df,_0x42997e,_0x351594){return new BPromise(function(_0x17146f,_0x54527b){var _0x10d00c=_0x351594||client;return _0x10d00c[_0xbd62('0x1a')](_0x3d74b6,_0x42997e)[_0xbd62('0x1b')](function(_0x5cd7e0){logger['info'](_0xbd62('0x1c'),_0x5968df,_0xbd62('0x1d'));logger[_0xbd62('0x1e')]('ServicenowConfiguration,\x20%s,\x20%s,\x20%s',_0x5968df,'request\x20sent',JSON[_0xbd62('0x1f')](_0x5cd7e0));if(_0x5cd7e0[_0xbd62('0x20')]){if(_0x5cd7e0[_0xbd62('0x20')][_0xbd62('0x21')]===0x1f4){logger[_0xbd62('0x20')](_0xbd62('0x1c'),_0x5968df,_0x5cd7e0['error'][_0xbd62('0x22')]);return _0x54527b(_0x5cd7e0['error']['message']);}logger[_0xbd62('0x20')](_0xbd62('0x1c'),_0x5968df,_0x5cd7e0[_0xbd62('0x20')]['message']);return _0x17146f(_0x5cd7e0[_0xbd62('0x20')][_0xbd62('0x22')]);}else{logger[_0xbd62('0x23')]('ServicenowConfiguration,\x20%s,\x20%s',_0x5968df,_0xbd62('0x1d'));_0x17146f(_0x5cd7e0[_0xbd62('0x24')][_0xbd62('0x22')]);}})[_0xbd62('0x25')](function(_0x35238a){logger[_0xbd62('0x20')](_0xbd62('0x1c'),_0x5968df,_0x35238a);_0x54527b(_0x35238a);});});}function respondWithStatusCode(_0x1bca75,_0x328868){_0x328868=_0x328868||0xcc;return function(_0x1b8fbe){if(_0x1b8fbe){return _0x1bca75[_0xbd62('0x26')](_0x328868);}return _0x1bca75[_0xbd62('0x27')](_0x328868)['end']();};}function respondWithResult(_0x28fabc,_0x3e1222){_0x3e1222=_0x3e1222||0xc8;return function(_0x5c512b){if(_0x5c512b){return _0x28fabc['status'](_0x3e1222)['json'](_0x5c512b);}};}function respondWithFilteredResult(_0x568f6e,_0xdf69aa){return function(_0x55359a){if(_0x55359a){var _0x582a0e=_0x55359a[_0xbd62('0x28')],_0x34bcc3=_0xdf69aa[_0xbd62('0x29')],_0x2077a9=_0xdf69aa[_0xbd62('0x29')]+_0xdf69aa[_0xbd62('0x2a')],_0x361089;if(_0x2077a9>=_0x582a0e){_0x2077a9=_0x582a0e;_0x361089=0xc8;}else{_0x361089=0xce;}_0x568f6e[_0xbd62('0x27')](_0x361089);return _0x568f6e['set'](_0xbd62('0x2b'),_0x34bcc3+'-'+_0x2077a9+'/'+_0x582a0e)[_0xbd62('0x2c')](_0x55359a);}return null;};}function patchUpdates(_0x2340eb){return function(_0x1a58d5){try{jsonpatch['apply'](_0x1a58d5,_0x2340eb,!![]);}catch(_0x2e500a){return BPromise[_0xbd62('0x2d')](_0x2e500a);}return _0x1a58d5['save']();};}function saveUpdates(_0x404342,_0x2f300e){return function(_0x4878c3){if(_0x4878c3){return _0x4878c3['update'](_0x404342)[_0xbd62('0x1b')](function(_0x117952){return _0x117952;});}return null;};}function removeEntity(_0x50d01c,_0x3a326b){return function(_0x230b82){if(_0x230b82){return _0x230b82[_0xbd62('0x2e')]()[_0xbd62('0x1b')](function(){_0x50d01c[_0xbd62('0x27')](0xcc)[_0xbd62('0x2f')]();});}};}function handleEntityNotFound(_0xd9871a,_0x15ff71){return function(_0x1e0b19){if(!_0x1e0b19){_0xd9871a[_0xbd62('0x26')](0x194);}return _0x1e0b19;};}function handleError(_0x4f57d2,_0x3d8465){_0x3d8465=_0x3d8465||0x1f4;return function(_0x389f3a){logger['error'](_0x389f3a[_0xbd62('0x30')]);if(_0x389f3a[_0xbd62('0x31')]){delete _0x389f3a[_0xbd62('0x31')];}_0x4f57d2[_0xbd62('0x27')](_0x3d8465)['send'](_0x389f3a);};}exports[_0xbd62('0x32')]=function(_0x4b7346,_0x2d9acc){var _0x2f9e9d={},_0x1086bd={},_0x1a27e3={'count':0x0,'rows':[]};var _0x33ce37=_['map'](db[_0xbd62('0x33')]['rawAttributes'],function(_0xec8aa1){return{'name':_0xec8aa1['fieldName'],'type':_0xec8aa1[_0xbd62('0x34')][_0xbd62('0x35')]};});_0x1086bd['model']=_[_0xbd62('0x36')](_0x33ce37,_0xbd62('0x31'));_0x1086bd[_0xbd62('0x37')]=_[_0xbd62('0x38')](_0x4b7346['query']);_0x1086bd['filters']=_[_0xbd62('0x39')](_0x1086bd['model'],_0x1086bd[_0xbd62('0x37')]);_0x2f9e9d[_0xbd62('0x3a')]=_[_0xbd62('0x39')](_0x1086bd[_0xbd62('0x3b')],qs['fields'](_0x4b7346[_0xbd62('0x37')][_0xbd62('0x3c')]));_0x2f9e9d['attributes']=_0x2f9e9d['attributes']['length']?_0x2f9e9d['attributes']:_0x1086bd[_0xbd62('0x3b')];if(!_0x4b7346[_0xbd62('0x37')][_0xbd62('0x3d')](_0xbd62('0x3e'))){_0x2f9e9d[_0xbd62('0x2a')]=qs[_0xbd62('0x2a')](_0x4b7346[_0xbd62('0x37')][_0xbd62('0x2a')]);_0x2f9e9d[_0xbd62('0x29')]=qs['offset'](_0x4b7346[_0xbd62('0x37')]['offset']);}_0x2f9e9d[_0xbd62('0x3f')]=qs[_0xbd62('0x40')](_0x4b7346['query'][_0xbd62('0x40')]);_0x2f9e9d['where']=qs[_0xbd62('0x41')](_[_0xbd62('0x42')](_0x4b7346['query'],_0x1086bd['filters']),_0x33ce37);if(_0x4b7346['query'][_0xbd62('0x43')]){_0x2f9e9d[_0xbd62('0x44')]=_[_0xbd62('0x45')](_0x2f9e9d[_0xbd62('0x44')],{'$or':_[_0xbd62('0x36')](_0x33ce37,function(_0xa90dd){if(_0xa90dd[_0xbd62('0x34')]!==_0xbd62('0x46')){var _0x5406f8={};_0x5406f8[_0xa90dd[_0xbd62('0x31')]]={'$like':'%'+_0x4b7346[_0xbd62('0x37')][_0xbd62('0x43')]+'%'};return _0x5406f8;}})});}_0x2f9e9d=_[_0xbd62('0x45')]({},_0x2f9e9d,_0x4b7346[_0xbd62('0x47')]);var _0x1474a3={'where':_0x2f9e9d[_0xbd62('0x44')]};return db[_0xbd62('0x33')][_0xbd62('0x28')](_0x1474a3)[_0xbd62('0x1b')](function(_0x4f0986){_0x1a27e3['count']=_0x4f0986;if(_0x4b7346[_0xbd62('0x37')][_0xbd62('0x48')]){_0x2f9e9d[_0xbd62('0x49')]=[{'all':!![]}];}return db[_0xbd62('0x33')][_0xbd62('0x4a')](_0x2f9e9d);})[_0xbd62('0x1b')](function(_0x506d3d){_0x1a27e3[_0xbd62('0x4b')]=_0x506d3d;return _0x1a27e3;})[_0xbd62('0x1b')](respondWithFilteredResult(_0x2d9acc,_0x2f9e9d))[_0xbd62('0x25')](handleError(_0x2d9acc,null));};exports[_0xbd62('0x4c')]=function(_0x31a116,_0x45c35f){var _0x248699={'raw':![],'where':{'id':_0x31a116[_0xbd62('0x4d')]['id']}},_0x28b201={};_0x28b201[_0xbd62('0x3b')]=_[_0xbd62('0x38')](db[_0xbd62('0x33')]['rawAttributes']);_0x28b201[_0xbd62('0x37')]=_[_0xbd62('0x38')](_0x31a116[_0xbd62('0x37')]);_0x28b201[_0xbd62('0x41')]=_[_0xbd62('0x39')](_0x28b201['model'],_0x28b201[_0xbd62('0x37')]);_0x248699['attributes']=_[_0xbd62('0x39')](_0x28b201[_0xbd62('0x3b')],qs['fields'](_0x31a116[_0xbd62('0x37')][_0xbd62('0x3c')]));_0x248699[_0xbd62('0x3a')]=_0x248699[_0xbd62('0x3a')][_0xbd62('0x4e')]?_0x248699['attributes']:_0x28b201['model'];if(_0x31a116[_0xbd62('0x37')]['includeAll']){_0x248699[_0xbd62('0x49')]=[{'all':!![]}];}_0x248699=_[_0xbd62('0x45')]({},_0x248699,_0x31a116[_0xbd62('0x47')]);return db[_0xbd62('0x33')][_0xbd62('0x4f')](_0x248699)[_0xbd62('0x1b')](handleEntityNotFound(_0x45c35f,null))[_0xbd62('0x1b')](respondWithResult(_0x45c35f,null))[_0xbd62('0x25')](handleError(_0x45c35f,null));};exports[_0xbd62('0x50')]=function(_0x776195,_0xb3f4b6){return db['ServicenowConfiguration'][_0xbd62('0x50')](_0x776195[_0xbd62('0x51')],{})[_0xbd62('0x1b')](respondWithResult(_0xb3f4b6,0xc9))[_0xbd62('0x25')](handleError(_0xb3f4b6,null));};exports['update']=function(_0x37f364,_0x1bc630){if(_0x37f364['body']['id']){delete _0x37f364['body']['id'];}return db[_0xbd62('0x33')][_0xbd62('0x4f')]({'where':{'id':_0x37f364[_0xbd62('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1bc630,null))[_0xbd62('0x1b')](saveUpdates(_0x37f364['body'],null))[_0xbd62('0x1b')](respondWithResult(_0x1bc630,null))[_0xbd62('0x25')](handleError(_0x1bc630,null));};exports['destroy']=function(_0x187fb4,_0x4fdbc4){return db[_0xbd62('0x33')][_0xbd62('0x4f')]({'where':{'id':_0x187fb4[_0xbd62('0x4d')]['id']}})[_0xbd62('0x1b')](handleEntityNotFound(_0x4fdbc4,null))['then'](removeEntity(_0x4fdbc4,null))[_0xbd62('0x25')](handleError(_0x4fdbc4,null));};exports[_0xbd62('0x52')]=function(_0x312080,_0x1ec2c9,_0x5763c9){var _0x2b3898={};var _0x17eae5={};var _0x3d42ce;var _0x5501ee;return db[_0xbd62('0x33')][_0xbd62('0x53')]({'where':{'id':_0x312080['params']['id']}})[_0xbd62('0x1b')](handleEntityNotFound(_0x1ec2c9,null))['then'](function(_0x39d74f){if(_0x39d74f){_0x3d42ce=_0x39d74f;_0x17eae5['model']=_[_0xbd62('0x38')](db['ServicenowField'][_0xbd62('0x54')]);_0x17eae5['query']=_[_0xbd62('0x38')](_0x312080['query']);_0x17eae5[_0xbd62('0x41')]=_['intersection'](_0x17eae5['model'],_0x17eae5[_0xbd62('0x37')]);_0x2b3898[_0xbd62('0x3a')]=_['intersection'](_0x17eae5[_0xbd62('0x3b')],qs['fields'](_0x312080[_0xbd62('0x37')][_0xbd62('0x3c')]));_0x2b3898[_0xbd62('0x3a')]=_0x2b3898[_0xbd62('0x3a')]['length']?_0x2b3898[_0xbd62('0x3a')]:_0x17eae5[_0xbd62('0x3b')];_0x2b3898['order']=qs[_0xbd62('0x40')](_0x312080[_0xbd62('0x37')][_0xbd62('0x40')]);_0x2b3898[_0xbd62('0x44')]=qs[_0xbd62('0x41')](_[_0xbd62('0x42')](_0x312080[_0xbd62('0x37')],_0x17eae5[_0xbd62('0x41')]));if(_0x312080[_0xbd62('0x37')]['filter']){_0x2b3898[_0xbd62('0x44')]=_[_0xbd62('0x45')](_0x2b3898[_0xbd62('0x44')],{'$or':_[_0xbd62('0x36')](_0x2b3898['attributes'],function(_0x2d5a66){var _0x2948ac={};_0x2948ac[_0x2d5a66]={'$like':'%'+_0x312080[_0xbd62('0x37')][_0xbd62('0x43')]+'%'};return _0x2948ac;})});}_0x2b3898=_[_0xbd62('0x45')]({},_0x2b3898,_0x312080[_0xbd62('0x47')]);return _0x3d42ce[_0xbd62('0x52')](_0x2b3898);}})[_0xbd62('0x1b')](function(_0xb58b51){if(_0xb58b51){_0x5501ee=_0xb58b51[_0xbd62('0x4e')];if(!_0x312080[_0xbd62('0x37')]['hasOwnProperty']('nolimit')){_0x2b3898[_0xbd62('0x2a')]=qs[_0xbd62('0x2a')](_0x312080[_0xbd62('0x37')]['limit']);_0x2b3898['offset']=qs['offset'](_0x312080[_0xbd62('0x37')][_0xbd62('0x29')]);}return _0x3d42ce[_0xbd62('0x52')](_0x2b3898);}})['then'](function(_0x5b2d21){if(_0x5b2d21){return _0x5b2d21?{'count':_0x5501ee,'rows':_0x5b2d21}:null;}})[_0xbd62('0x1b')](respondWithResult(_0x1ec2c9,null))[_0xbd62('0x25')](handleError(_0x1ec2c9,null));};exports['getSubjects']=function(_0x31bb06,_0x5ebdf3,_0x5d9efc){var _0xc95b36={};var _0x549170={};var _0x27a24b;var _0x1058fa;return db[_0xbd62('0x33')][_0xbd62('0x53')]({'where':{'id':_0x31bb06[_0xbd62('0x4d')]['id']}})[_0xbd62('0x1b')](handleEntityNotFound(_0x5ebdf3,null))['then'](function(_0x5f2111){if(_0x5f2111){_0x27a24b=_0x5f2111;_0x549170[_0xbd62('0x3b')]=_['keys'](db['ServicenowField'][_0xbd62('0x54')]);_0x549170['query']=_['keys'](_0x31bb06[_0xbd62('0x37')]);_0x549170['filters']=_[_0xbd62('0x39')](_0x549170[_0xbd62('0x3b')],_0x549170[_0xbd62('0x37')]);_0xc95b36[_0xbd62('0x3a')]=_['intersection'](_0x549170['model'],qs['fields'](_0x31bb06[_0xbd62('0x37')]['fields']));_0xc95b36[_0xbd62('0x3a')]=_0xc95b36[_0xbd62('0x3a')][_0xbd62('0x4e')]?_0xc95b36[_0xbd62('0x3a')]:_0x549170[_0xbd62('0x3b')];_0xc95b36['order']=qs[_0xbd62('0x40')](_0x31bb06[_0xbd62('0x37')][_0xbd62('0x40')]);_0xc95b36[_0xbd62('0x44')]=qs[_0xbd62('0x41')](_[_0xbd62('0x42')](_0x31bb06[_0xbd62('0x37')],_0x549170[_0xbd62('0x41')]));if(_0x31bb06[_0xbd62('0x37')][_0xbd62('0x43')]){_0xc95b36[_0xbd62('0x44')]=_[_0xbd62('0x45')](_0xc95b36[_0xbd62('0x44')],{'$or':_[_0xbd62('0x36')](_0xc95b36['attributes'],function(_0x1138ac){var _0x5eaa8a={};_0x5eaa8a[_0x1138ac]={'$like':'%'+_0x31bb06[_0xbd62('0x37')][_0xbd62('0x43')]+'%'};return _0x5eaa8a;})});}_0xc95b36=_['merge']({},_0xc95b36,_0x31bb06[_0xbd62('0x47')]);return _0x27a24b['getSubjects'](_0xc95b36);}})[_0xbd62('0x1b')](function(_0x1553ef){if(_0x1553ef){_0x1058fa=_0x1553ef['length'];if(!_0x31bb06[_0xbd62('0x37')]['hasOwnProperty'](_0xbd62('0x3e'))){_0xc95b36['limit']=qs[_0xbd62('0x2a')](_0x31bb06[_0xbd62('0x37')][_0xbd62('0x2a')]);_0xc95b36['offset']=qs[_0xbd62('0x29')](_0x31bb06[_0xbd62('0x37')][_0xbd62('0x29')]);}return _0x27a24b[_0xbd62('0x55')](_0xc95b36);}})[_0xbd62('0x1b')](function(_0x2881a8){if(_0x2881a8){return _0x2881a8?{'count':_0x1058fa,'rows':_0x2881a8}:null;}})[_0xbd62('0x1b')](respondWithResult(_0x5ebdf3,null))[_0xbd62('0x25')](handleError(_0x5ebdf3,null));};exports[_0xbd62('0x56')]=function(_0x48127f,_0x5b947a,_0x52b020){var _0xe6fe52={};var _0x3df30b={};var _0xcfd590;var _0x522be7;return db[_0xbd62('0x33')][_0xbd62('0x53')]({'where':{'id':_0x48127f[_0xbd62('0x4d')]['id']}})[_0xbd62('0x1b')](handleEntityNotFound(_0x5b947a,null))[_0xbd62('0x1b')](function(_0x19a0eb){if(_0x19a0eb){_0xcfd590=_0x19a0eb;_0x3df30b['model']=_[_0xbd62('0x38')](db[_0xbd62('0x57')][_0xbd62('0x54')]);_0x3df30b[_0xbd62('0x37')]=_[_0xbd62('0x38')](_0x48127f[_0xbd62('0x37')]);_0x3df30b['filters']=_[_0xbd62('0x39')](_0x3df30b[_0xbd62('0x3b')],_0x3df30b[_0xbd62('0x37')]);_0xe6fe52[_0xbd62('0x3a')]=_[_0xbd62('0x39')](_0x3df30b[_0xbd62('0x3b')],qs[_0xbd62('0x3c')](_0x48127f['query'][_0xbd62('0x3c')]));_0xe6fe52[_0xbd62('0x3a')]=_0xe6fe52[_0xbd62('0x3a')][_0xbd62('0x4e')]?_0xe6fe52[_0xbd62('0x3a')]:_0x3df30b['model'];_0xe6fe52[_0xbd62('0x3f')]=qs['sort'](_0x48127f['query'][_0xbd62('0x40')]);_0xe6fe52['where']=qs[_0xbd62('0x41')](_['pick'](_0x48127f[_0xbd62('0x37')],_0x3df30b['filters']));if(_0x48127f[_0xbd62('0x37')][_0xbd62('0x43')]){_0xe6fe52[_0xbd62('0x44')]=_['merge'](_0xe6fe52[_0xbd62('0x44')],{'$or':_[_0xbd62('0x36')](_0xe6fe52[_0xbd62('0x3a')],function(_0x33ad65){var _0x39f0db={};_0x39f0db[_0x33ad65]={'$like':'%'+_0x48127f['query'][_0xbd62('0x43')]+'%'};return _0x39f0db;})});}_0xe6fe52=_[_0xbd62('0x45')]({},_0xe6fe52,_0x48127f[_0xbd62('0x47')]);return _0xcfd590[_0xbd62('0x56')](_0xe6fe52);}})[_0xbd62('0x1b')](function(_0x2c3fc5){if(_0x2c3fc5){_0x522be7=_0x2c3fc5['length'];if(!_0x48127f['query']['hasOwnProperty'](_0xbd62('0x3e'))){_0xe6fe52[_0xbd62('0x2a')]=qs[_0xbd62('0x2a')](_0x48127f['query'][_0xbd62('0x2a')]);_0xe6fe52[_0xbd62('0x29')]=qs[_0xbd62('0x29')](_0x48127f[_0xbd62('0x37')][_0xbd62('0x29')]);}return _0xcfd590[_0xbd62('0x56')](_0xe6fe52);}})['then'](function(_0x58e827){if(_0x58e827){return _0x58e827?{'count':_0x522be7,'rows':_0x58e827}:null;}})[_0xbd62('0x1b')](respondWithResult(_0x5b947a,null))['catch'](handleError(_0x5b947a,null));};