Built motion from commit (unavailable).|2.5.1
[motion2.git] / server / api / intZendeskAccount / intZendeskAccount.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 _0x9c02=['includeAll','catch','create','body','params','destroy','find','getConfigurations','findOne','ZendeskConfiguration','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','ZendeskField','username','password','authType','remoteUri','slice','GET','headers','Basic\x20%s','format','%s:%s','%s/token:%s','toString','base64','ValidationError','Unknown\x20authentication\x20type','description','group','assignee','remove','includes','ticket_fields','position','title','system_field_options','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','Wrong\x20credentials','html-pdf','eml-format','rimraf','bluebird','util','sox','ejs','lodash','squel','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','ZendeskAccount,\x20%s,\x20%s','request\x20sent','debug','ZendeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','status','json','count','offset','set','apply','save','update','end','sendStatus','stack','name','send','map','ZendeskAccount','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','pick','filter','where','VIRTUAL','merge','options','include','show'];(function(_0x153e7d,_0x10a35f){var _0x3c22dd=function(_0x4d33f6){while(--_0x4d33f6){_0x153e7d['push'](_0x153e7d['shift']());}};_0x3c22dd(++_0x10a35f);}(_0x9c02,0x196));var _0x29c0=function(_0x5cb23e,_0x4ee4a7){_0x5cb23e=_0x5cb23e-0x0;var _0x135c55=_0x9c02[_0x5cb23e];return _0x135c55;};'use strict';var pdf=require(_0x29c0('0x0'));var emlformat=require(_0x29c0('0x1'));var rimraf=require(_0x29c0('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x29c0('0x3'));var Mustache=require('mustache');var util=require(_0x29c0('0x4'));var path=require('path');var sox=require(_0x29c0('0x5'));var csv=require('to-csv');var ejs=require(_0x29c0('0x6'));var fs=require('fs');var _=require(_0x29c0('0x7'));var squel=require(_0x29c0('0x8'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x29c0('0x9'));var toCsv=require(_0x29c0('0xa'));var querystring=require(_0x29c0('0xb'));var Papa=require(_0x29c0('0xc'));var Redis=require(_0x29c0('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x29c0('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x29c0('0xf'))(_0x29c0('0x10'));var utils=require(_0x29c0('0x11'));var config=require(_0x29c0('0x12'));var licenseUtil=require(_0x29c0('0x13'));var db=require(_0x29c0('0x14'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x29c0('0x15'));var client=jayson[_0x29c0('0x16')][_0x29c0('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x85aba,_0x2b7027,_0x28cc02,_0x1e622a){return new BPromise(function(_0x2947da,_0x50025f){var _0x36a0f1=_0x1e622a||client;return _0x36a0f1[_0x29c0('0x18')](_0x85aba,_0x28cc02)[_0x29c0('0x19')](function(_0x235725){logger[_0x29c0('0x1a')](_0x29c0('0x1b'),_0x2b7027,_0x29c0('0x1c'));logger[_0x29c0('0x1d')](_0x29c0('0x1e'),_0x2b7027,_0x29c0('0x1c'),JSON[_0x29c0('0x1f')](_0x235725));if(_0x235725[_0x29c0('0x20')]){if(_0x235725[_0x29c0('0x20')][_0x29c0('0x21')]===0x1f4){logger[_0x29c0('0x20')](_0x29c0('0x1b'),_0x2b7027,_0x235725[_0x29c0('0x20')][_0x29c0('0x22')]);return _0x50025f(_0x235725['error'][_0x29c0('0x22')]);}logger[_0x29c0('0x20')](_0x29c0('0x1b'),_0x2b7027,_0x235725[_0x29c0('0x20')][_0x29c0('0x22')]);return _0x2947da(_0x235725[_0x29c0('0x20')]['message']);}else{logger[_0x29c0('0x1a')](_0x29c0('0x1b'),_0x2b7027,_0x29c0('0x1c'));_0x2947da(_0x235725[_0x29c0('0x23')][_0x29c0('0x22')]);}})['catch'](function(_0x282e83){logger[_0x29c0('0x20')]('ZendeskAccount,\x20%s,\x20%s',_0x2b7027,_0x282e83);_0x50025f(_0x282e83);});});}function respondWithStatusCode(_0x1114a8,_0x402c54){_0x402c54=_0x402c54||0xcc;return function(_0x3698fe){if(_0x3698fe){return _0x1114a8['sendStatus'](_0x402c54);}return _0x1114a8[_0x29c0('0x24')](_0x402c54)['end']();};}function respondWithResult(_0x161b39,_0x140988){_0x140988=_0x140988||0xc8;return function(_0x5561af){if(_0x5561af){return _0x161b39[_0x29c0('0x24')](_0x140988)[_0x29c0('0x25')](_0x5561af);}};}function respondWithFilteredResult(_0x3946f8,_0x184998){return function(_0x2cb718){if(_0x2cb718){var _0x46be76=_0x2cb718[_0x29c0('0x26')],_0x4d11b3=_0x184998[_0x29c0('0x27')],_0x531c2c=_0x184998['offset']+_0x184998['limit'],_0x4b6e93;if(_0x531c2c>=_0x46be76){_0x531c2c=_0x46be76;_0x4b6e93=0xc8;}else{_0x4b6e93=0xce;}_0x3946f8[_0x29c0('0x24')](_0x4b6e93);return _0x3946f8[_0x29c0('0x28')]('Content-Range',_0x4d11b3+'-'+_0x531c2c+'/'+_0x46be76)['json'](_0x2cb718);}return null;};}function patchUpdates(_0x4d4f31){return function(_0x2bad53){try{jsonpatch[_0x29c0('0x29')](_0x2bad53,_0x4d4f31,!![]);}catch(_0x322c86){return BPromise['reject'](_0x322c86);}return _0x2bad53[_0x29c0('0x2a')]();};}function saveUpdates(_0x291748,_0x598bc4){return function(_0x36a094){if(_0x36a094){return _0x36a094[_0x29c0('0x2b')](_0x291748)[_0x29c0('0x19')](function(_0x188910){return _0x188910;});}return null;};}function removeEntity(_0x46bfd1,_0x190425){return function(_0x3452ca){if(_0x3452ca){return _0x3452ca['destroy']()['then'](function(){_0x46bfd1[_0x29c0('0x24')](0xcc)[_0x29c0('0x2c')]();});}};}function handleEntityNotFound(_0x43d575,_0x5df159){return function(_0x409446){if(!_0x409446){_0x43d575[_0x29c0('0x2d')](0x194);}return _0x409446;};}function handleError(_0x4851ae,_0x490527){_0x490527=_0x490527||0x1f4;return function(_0x2467a4){logger[_0x29c0('0x20')](_0x2467a4[_0x29c0('0x2e')]);if(_0x2467a4[_0x29c0('0x2f')]){delete _0x2467a4[_0x29c0('0x2f')];}_0x4851ae[_0x29c0('0x24')](_0x490527)[_0x29c0('0x30')](_0x2467a4);};}exports['index']=function(_0x315bca,_0x5b0be7){var _0x7397d6={},_0x7037e8={},_0x3064e4={'count':0x0,'rows':[]};var _0x58a6e1=_[_0x29c0('0x31')](db[_0x29c0('0x32')]['rawAttributes'],function(_0x2e41dc){return{'name':_0x2e41dc[_0x29c0('0x33')],'type':_0x2e41dc[_0x29c0('0x34')][_0x29c0('0x35')]};});_0x7037e8[_0x29c0('0x36')]=_[_0x29c0('0x31')](_0x58a6e1,_0x29c0('0x2f'));_0x7037e8[_0x29c0('0x37')]=_[_0x29c0('0x38')](_0x315bca[_0x29c0('0x37')]);_0x7037e8[_0x29c0('0x39')]=_[_0x29c0('0x3a')](_0x7037e8[_0x29c0('0x36')],_0x7037e8[_0x29c0('0x37')]);_0x7397d6[_0x29c0('0x3b')]=_[_0x29c0('0x3a')](_0x7037e8[_0x29c0('0x36')],qs[_0x29c0('0x3c')](_0x315bca[_0x29c0('0x37')][_0x29c0('0x3c')]));_0x7397d6[_0x29c0('0x3b')]=_0x7397d6[_0x29c0('0x3b')][_0x29c0('0x3d')]?_0x7397d6['attributes']:_0x7037e8[_0x29c0('0x36')];if(!_0x315bca[_0x29c0('0x37')][_0x29c0('0x3e')](_0x29c0('0x3f'))){_0x7397d6[_0x29c0('0x40')]=qs['limit'](_0x315bca[_0x29c0('0x37')][_0x29c0('0x40')]);_0x7397d6[_0x29c0('0x27')]=qs['offset'](_0x315bca[_0x29c0('0x37')][_0x29c0('0x27')]);}_0x7397d6['order']=qs[_0x29c0('0x41')](_0x315bca['query'][_0x29c0('0x41')]);_0x7397d6['where']=qs[_0x29c0('0x39')](_[_0x29c0('0x42')](_0x315bca[_0x29c0('0x37')],_0x7037e8[_0x29c0('0x39')]),_0x58a6e1);if(_0x315bca[_0x29c0('0x37')][_0x29c0('0x43')]){_0x7397d6['where']=_['merge'](_0x7397d6[_0x29c0('0x44')],{'$or':_[_0x29c0('0x31')](_0x58a6e1,function(_0x47f09c){if(_0x47f09c[_0x29c0('0x34')]!==_0x29c0('0x45')){var _0x455fd7={};_0x455fd7[_0x47f09c[_0x29c0('0x2f')]]={'$like':'%'+_0x315bca[_0x29c0('0x37')][_0x29c0('0x43')]+'%'};return _0x455fd7;}})});}_0x7397d6=_[_0x29c0('0x46')]({},_0x7397d6,_0x315bca[_0x29c0('0x47')]);var _0xd857ff={'where':_0x7397d6[_0x29c0('0x44')]};return db[_0x29c0('0x32')][_0x29c0('0x26')](_0xd857ff)[_0x29c0('0x19')](function(_0x3b2757){_0x3064e4[_0x29c0('0x26')]=_0x3b2757;if(_0x315bca[_0x29c0('0x37')]['includeAll']){_0x7397d6[_0x29c0('0x48')]=[{'all':!![]}];}return db[_0x29c0('0x32')]['findAll'](_0x7397d6);})[_0x29c0('0x19')](function(_0x4606f5){_0x3064e4['rows']=_0x4606f5;return _0x3064e4;})[_0x29c0('0x19')](respondWithFilteredResult(_0x5b0be7,_0x7397d6))['catch'](handleError(_0x5b0be7,null));};exports[_0x29c0('0x49')]=function(_0x49371c,_0x1b74f9){var _0x4127b5={'raw':![],'where':{'id':_0x49371c['params']['id']}},_0x51856d={};_0x51856d[_0x29c0('0x36')]=_['keys'](db[_0x29c0('0x32')]['rawAttributes']);_0x51856d[_0x29c0('0x37')]=_[_0x29c0('0x38')](_0x49371c[_0x29c0('0x37')]);_0x51856d[_0x29c0('0x39')]=_[_0x29c0('0x3a')](_0x51856d['model'],_0x51856d[_0x29c0('0x37')]);_0x4127b5[_0x29c0('0x3b')]=_['intersection'](_0x51856d[_0x29c0('0x36')],qs[_0x29c0('0x3c')](_0x49371c[_0x29c0('0x37')][_0x29c0('0x3c')]));_0x4127b5[_0x29c0('0x3b')]=_0x4127b5[_0x29c0('0x3b')]['length']?_0x4127b5[_0x29c0('0x3b')]:_0x51856d[_0x29c0('0x36')];if(_0x49371c['query'][_0x29c0('0x4a')]){_0x4127b5[_0x29c0('0x48')]=[{'all':!![]}];}_0x4127b5=_['merge']({},_0x4127b5,_0x49371c[_0x29c0('0x47')]);return db['ZendeskAccount']['find'](_0x4127b5)[_0x29c0('0x19')](handleEntityNotFound(_0x1b74f9,null))['then'](respondWithResult(_0x1b74f9,null))[_0x29c0('0x4b')](handleError(_0x1b74f9,null));};exports[_0x29c0('0x4c')]=function(_0x331cb9,_0x336277){return db[_0x29c0('0x32')]['create'](_0x331cb9['body'],{})[_0x29c0('0x19')](respondWithResult(_0x336277,0xc9))['catch'](handleError(_0x336277,null));};exports[_0x29c0('0x2b')]=function(_0x46d9eb,_0x512bfe){if(_0x46d9eb[_0x29c0('0x4d')]['id']){delete _0x46d9eb['body']['id'];}return db[_0x29c0('0x32')]['find']({'where':{'id':_0x46d9eb[_0x29c0('0x4e')]['id']}})[_0x29c0('0x19')](handleEntityNotFound(_0x512bfe,null))['then'](saveUpdates(_0x46d9eb['body'],null))['then'](respondWithResult(_0x512bfe,null))[_0x29c0('0x4b')](handleError(_0x512bfe,null));};exports[_0x29c0('0x4f')]=function(_0x5badf2,_0x5b6c2c){return db[_0x29c0('0x32')][_0x29c0('0x50')]({'where':{'id':_0x5badf2[_0x29c0('0x4e')]['id']}})[_0x29c0('0x19')](handleEntityNotFound(_0x5b6c2c,null))[_0x29c0('0x19')](removeEntity(_0x5b6c2c,null))['catch'](handleError(_0x5b6c2c,null));};exports[_0x29c0('0x51')]=function(_0x52f7a2,_0x56a057,_0x44aef9){var _0x203641={};var _0x8bd093={};var _0x20c44b;var _0x3ac7ab;return db[_0x29c0('0x32')][_0x29c0('0x52')]({'where':{'id':_0x52f7a2[_0x29c0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x56a057,null))['then'](function(_0xa964f){if(_0xa964f){_0x20c44b=_0xa964f;_0x8bd093[_0x29c0('0x36')]=_[_0x29c0('0x38')](db[_0x29c0('0x53')]['rawAttributes']);_0x8bd093['query']=_[_0x29c0('0x38')](_0x52f7a2[_0x29c0('0x37')]);_0x8bd093[_0x29c0('0x39')]=_['intersection'](_0x8bd093['model'],_0x8bd093[_0x29c0('0x37')]);_0x203641['attributes']=_[_0x29c0('0x3a')](_0x8bd093[_0x29c0('0x36')],qs[_0x29c0('0x3c')](_0x52f7a2[_0x29c0('0x37')][_0x29c0('0x3c')]));_0x203641[_0x29c0('0x3b')]=_0x203641[_0x29c0('0x3b')][_0x29c0('0x3d')]?_0x203641['attributes']:_0x8bd093[_0x29c0('0x36')];_0x203641['order']=qs[_0x29c0('0x41')](_0x52f7a2[_0x29c0('0x37')][_0x29c0('0x41')]);_0x203641[_0x29c0('0x44')]=qs[_0x29c0('0x39')](_[_0x29c0('0x42')](_0x52f7a2[_0x29c0('0x37')],_0x8bd093[_0x29c0('0x39')]));if(_0x52f7a2[_0x29c0('0x37')]['filter']){_0x203641['where']=_[_0x29c0('0x46')](_0x203641[_0x29c0('0x44')],{'$or':_[_0x29c0('0x31')](_0x203641[_0x29c0('0x3b')],function(_0x2006fd){var _0x2c5c7c={};_0x2c5c7c[_0x2006fd]={'$like':'%'+_0x52f7a2['query']['filter']+'%'};return _0x2c5c7c;})});}_0x203641=_[_0x29c0('0x46')]({},_0x203641,_0x52f7a2['options']);return _0x20c44b[_0x29c0('0x51')](_0x203641);}})['then'](function(_0x5b925f){if(_0x5b925f){_0x3ac7ab=_0x5b925f[_0x29c0('0x3d')];if(!_0x52f7a2['query'][_0x29c0('0x3e')](_0x29c0('0x3f'))){_0x203641[_0x29c0('0x40')]=qs[_0x29c0('0x40')](_0x52f7a2[_0x29c0('0x37')]['limit']);_0x203641[_0x29c0('0x27')]=qs[_0x29c0('0x27')](_0x52f7a2[_0x29c0('0x37')][_0x29c0('0x27')]);}return _0x20c44b[_0x29c0('0x51')](_0x203641);}})[_0x29c0('0x19')](function(_0x146a41){if(_0x146a41){return _0x146a41?{'count':_0x3ac7ab,'rows':_0x146a41}:null;}})[_0x29c0('0x19')](respondWithResult(_0x56a057,null))[_0x29c0('0x4b')](handleError(_0x56a057,null));};exports[_0x29c0('0x54')]=function(_0x4a0629,_0x32609d,_0x340052){if(_0x4a0629['body']['id']){delete _0x4a0629[_0x29c0('0x4d')]['id'];}return db[_0x29c0('0x32')]['findOne']({'where':{'id':_0x4a0629[_0x29c0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x32609d,null))['then'](function(_0x58341b){if(_0x58341b){_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x55')]=_0x58341b['id'];_0x4a0629['body'][_0x29c0('0x56')]=integrations['getSubjects'](_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x57')],_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x34')]);_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x58')]=integrations[_0x29c0('0x59')](_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x57')],_0x4a0629[_0x29c0('0x4d')][_0x29c0('0x34')]);return db[_0x29c0('0x53')]['create'](_0x4a0629[_0x29c0('0x4d')],{'include':[{'model':db[_0x29c0('0x5a')],'as':_0x29c0('0x56')},{'model':db[_0x29c0('0x5a')],'as':_0x29c0('0x58')}]});}return null;})[_0x29c0('0x19')](respondWithResult(_0x32609d,null))[_0x29c0('0x4b')](handleError(_0x32609d,null));};exports['getFields']=function(_0x2f21ec,_0x3be0f2,_0x3591ef){var _0x16bdb4='';return db[_0x29c0('0x32')][_0x29c0('0x52')]({'where':{'id':_0x2f21ec['params']['id']},'attributes':['id',_0x29c0('0x5b'),_0x29c0('0x5c'),'token',_0x29c0('0x5d'),_0x29c0('0x5e')]})[_0x29c0('0x19')](handleEntityNotFound(_0x3be0f2,null))[_0x29c0('0x19')](function(_0x22ff20){if(_0x22ff20){_0x16bdb4=_0x22ff20[_0x29c0('0x5e')];var _0x1785ee=_0x16bdb4[_0x29c0('0x5f')](-0x1);if(_0x1785ee==='/'){_0x16bdb4=_0x16bdb4['substring'](0x0,_0x16bdb4['lastIndexOf'](_0x1785ee));}var _0x5d4097={'method':_0x29c0('0x60'),'uri':util['format']('%s/%s',_0x16bdb4,'ticket_fields'),'json':!![]};switch(_0x22ff20['authType']){case'password':_0x5d4097[_0x29c0('0x61')]={'Authorization':util['format'](_0x29c0('0x62'),new Buffer(util[_0x29c0('0x63')](_0x29c0('0x64'),_0x22ff20['username'],_0x22ff20[_0x29c0('0x5c')]))['toString']('base64'))};break;case'token':_0x5d4097[_0x29c0('0x61')]={'Authorization':util[_0x29c0('0x63')](_0x29c0('0x62'),new Buffer(util[_0x29c0('0x63')](_0x29c0('0x65'),_0x22ff20[_0x29c0('0x5b')],_0x22ff20['token']))[_0x29c0('0x66')](_0x29c0('0x67')))};break;default:throw new db['Sequelize'][(_0x29c0('0x68'))](_0x29c0('0x69'));}return rp(_0x5d4097);}})[_0x29c0('0x19')](function(_0x464e29){if(_0x464e29){var _0x42cc6d=['subject',_0x29c0('0x6a'),_0x29c0('0x6b'),_0x29c0('0x6c')];_[_0x29c0('0x6d')](_0x464e29['ticket_fields'],function(_0xbeac03){return _0x42cc6d[_0x29c0('0x6e')](_0xbeac03[_0x29c0('0x34')]);});return{'count':_0x464e29['ticket_fields']['length'],'rows':_[_0x29c0('0x31')](_0x464e29[_0x29c0('0x6f')],function(_0x128380){return{'id':_0x128380['id'],'name':_0x128380[_0x29c0('0x70')]>0x7?_0x128380[_0x29c0('0x71')]:_0x128380[_0x29c0('0x34')],'custom':_0x128380[_0x29c0('0x70')]>0x7?!![]:![],'options':_0x128380[_0x29c0('0x72')]?_0x128380[_0x29c0('0x72')]:_0x128380['custom_field_options']?_0x128380['custom_field_options']:[]};})};}})[_0x29c0('0x19')](respondWithResult(_0x3be0f2,null))[_0x29c0('0x4b')](function(_0x258f3d){var _0x1ede23=_0x2f21ec[_0x29c0('0x37')][_0x29c0('0x73')]?0x1f4:_0x258f3d[_0x29c0('0x74')]||0x1f4;logger[_0x29c0('0x20')](_0x29c0('0x75'),_0x29c0('0x76'),_0x1ede23,JSON['stringify'](_0x258f3d));delete _0x258f3d[_0x29c0('0x2f')];if(_0x1ede23===0x191){_0x1ede23=0x190;}_0x3be0f2[_0x29c0('0x24')](_0x1ede23)[_0x29c0('0x30')](_0x2f21ec['query']['test']?{'message':_0x29c0('0x77'),'statusCode':_0x258f3d[_0x29c0('0x74')]}:_0x258f3d);});};