Built motion from commit (unavailable).|2.5.13
[motion2.git] / server / api / intFreshdeskAccount / intFreshdeskAccount.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 _0x6fb3=['getFields','stringify','send','Wrong\x20credentials','html-pdf','rimraf','fast-json-patch','request-promise','moment','mustache','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','info','FreshdeskAccount,\x20%s,\x20%s','debug','FreshdeskAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','catch','sendStatus','status','json','offset','set','save','then','end','stack','name','index','map','FreshdeskAccount','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','options','count','includeAll','include','rows','create','body','update','destroy','find','params','getConfigurations','findOne','FreshdeskConfiguration','AccountId','Subjects','getDescriptions','channel','FreshdeskField','Descriptions','remoteUri','apiKey','substring','lastIndexOf','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','%s:X','toString','requester','agent','description','priority','group','source','ticket_type','company','remove','includes','default','custom_text','custom_dropdown','choices','capitalize','test','statusCode'];(function(_0x1d38fc,_0x27cd20){var _0x1a260c=function(_0x3f31ab){while(--_0x3f31ab){_0x1d38fc['push'](_0x1d38fc['shift']());}};_0x1a260c(++_0x27cd20);}(_0x6fb3,0x7e));var _0x36fb=function(_0x23baed,_0x2554a1){_0x23baed=_0x23baed-0x0;var _0x36faa7=_0x6fb3[_0x23baed];return _0x36faa7;};'use strict';var pdf=require(_0x36fb('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x36fb('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x36fb('0x2'));var rp=require(_0x36fb('0x3'));var moment=require(_0x36fb('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x36fb('0x5'));var util=require('util');var path=require(_0x36fb('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x36fb('0x7'));var fs=require('fs');var _=require(_0x36fb('0x8'));var squel=require('squel');var crypto=require(_0x36fb('0x9'));var jsforce=require(_0x36fb('0xa'));var deskjs=require(_0x36fb('0xb'));var toCsv=require(_0x36fb('0xc'));var querystring=require(_0x36fb('0xd'));var Papa=require(_0x36fb('0xe'));var Redis=require(_0x36fb('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x36fb('0x10'));var as=require(_0x36fb('0x11'));var hardwareService=require(_0x36fb('0x12'));var logger=require(_0x36fb('0x13'))(_0x36fb('0x14'));var utils=require('../../config/utils');var config=require(_0x36fb('0x15'));var licenseUtil=require(_0x36fb('0x16'));var db=require(_0x36fb('0x17'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x36fb('0x18'));var client=jayson[_0x36fb('0x19')][_0x36fb('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x12dc4a,_0x33a15b,_0x521510,_0x272faa){return new BPromise(function(_0x10e608,_0x499f04){var _0x24f8ef=_0x272faa||client;return _0x24f8ef[_0x36fb('0x1b')](_0x12dc4a,_0x521510)['then'](function(_0x120e9f){logger[_0x36fb('0x1c')](_0x36fb('0x1d'),_0x33a15b,'request\x20sent');logger[_0x36fb('0x1e')](_0x36fb('0x1f'),_0x33a15b,_0x36fb('0x20'),JSON['stringify'](_0x120e9f));if(_0x120e9f[_0x36fb('0x21')]){if(_0x120e9f[_0x36fb('0x21')][_0x36fb('0x22')]===0x1f4){logger[_0x36fb('0x21')](_0x36fb('0x1d'),_0x33a15b,_0x120e9f[_0x36fb('0x21')]['message']);return _0x499f04(_0x120e9f[_0x36fb('0x21')]['message']);}logger[_0x36fb('0x21')](_0x36fb('0x1d'),_0x33a15b,_0x120e9f[_0x36fb('0x21')]['message']);return _0x10e608(_0x120e9f[_0x36fb('0x21')][_0x36fb('0x23')]);}else{logger[_0x36fb('0x1c')]('FreshdeskAccount,\x20%s,\x20%s',_0x33a15b,_0x36fb('0x20'));_0x10e608(_0x120e9f[_0x36fb('0x24')][_0x36fb('0x23')]);}})[_0x36fb('0x25')](function(_0x299f88){logger['error']('FreshdeskAccount,\x20%s,\x20%s',_0x33a15b,_0x299f88);_0x499f04(_0x299f88);});});}function respondWithStatusCode(_0x305435,_0x250892){_0x250892=_0x250892||0xcc;return function(_0x29eb09){if(_0x29eb09){return _0x305435[_0x36fb('0x26')](_0x250892);}return _0x305435[_0x36fb('0x27')](_0x250892)['end']();};}function respondWithResult(_0x361c38,_0xf0deb7){_0xf0deb7=_0xf0deb7||0xc8;return function(_0x5e33c8){if(_0x5e33c8){return _0x361c38[_0x36fb('0x27')](_0xf0deb7)[_0x36fb('0x28')](_0x5e33c8);}};}function respondWithFilteredResult(_0x4ed231,_0x84d50b){return function(_0x2065cc){if(_0x2065cc){var _0x589c4e=_0x2065cc['count'],_0xff37d=_0x84d50b[_0x36fb('0x29')],_0x27f716=_0x84d50b[_0x36fb('0x29')]+_0x84d50b['limit'],_0x4810af;if(_0x27f716>=_0x589c4e){_0x27f716=_0x589c4e;_0x4810af=0xc8;}else{_0x4810af=0xce;}_0x4ed231[_0x36fb('0x27')](_0x4810af);return _0x4ed231[_0x36fb('0x2a')]('Content-Range',_0xff37d+'-'+_0x27f716+'/'+_0x589c4e)[_0x36fb('0x28')](_0x2065cc);}return null;};}function patchUpdates(_0x4cb6a3){return function(_0x3b5c37){try{jsonpatch['apply'](_0x3b5c37,_0x4cb6a3,!![]);}catch(_0x39aed7){return BPromise['reject'](_0x39aed7);}return _0x3b5c37[_0x36fb('0x2b')]();};}function saveUpdates(_0x1dffeb,_0x4f88a4){return function(_0x15a154){if(_0x15a154){return _0x15a154['update'](_0x1dffeb)[_0x36fb('0x2c')](function(_0x4f02f5){return _0x4f02f5;});}return null;};}function removeEntity(_0x4c5943,_0x19f2f3){return function(_0x41e663){if(_0x41e663){return _0x41e663['destroy']()[_0x36fb('0x2c')](function(){_0x4c5943[_0x36fb('0x27')](0xcc)[_0x36fb('0x2d')]();});}};}function handleEntityNotFound(_0x2335df,_0x2bb22f){return function(_0x109cd6){if(!_0x109cd6){_0x2335df['sendStatus'](0x194);}return _0x109cd6;};}function handleError(_0x384742,_0x4e7736){_0x4e7736=_0x4e7736||0x1f4;return function(_0x5dc30d){logger[_0x36fb('0x21')](_0x5dc30d[_0x36fb('0x2e')]);if(_0x5dc30d[_0x36fb('0x2f')]){delete _0x5dc30d[_0x36fb('0x2f')];}_0x384742[_0x36fb('0x27')](_0x4e7736)['send'](_0x5dc30d);};}exports[_0x36fb('0x30')]=function(_0x4ebbd1,_0x3247aa){var _0x471e65={},_0x2129c3={},_0xd1c24a={'count':0x0,'rows':[]};var _0x132fdb=_[_0x36fb('0x31')](db[_0x36fb('0x32')]['rawAttributes'],function(_0x4fcb66){return{'name':_0x4fcb66['fieldName'],'type':_0x4fcb66[_0x36fb('0x33')][_0x36fb('0x34')]};});_0x2129c3[_0x36fb('0x35')]=_['map'](_0x132fdb,_0x36fb('0x2f'));_0x2129c3[_0x36fb('0x36')]=_[_0x36fb('0x37')](_0x4ebbd1[_0x36fb('0x36')]);_0x2129c3[_0x36fb('0x38')]=_[_0x36fb('0x39')](_0x2129c3[_0x36fb('0x35')],_0x2129c3[_0x36fb('0x36')]);_0x471e65[_0x36fb('0x3a')]=_[_0x36fb('0x39')](_0x2129c3[_0x36fb('0x35')],qs[_0x36fb('0x3b')](_0x4ebbd1[_0x36fb('0x36')][_0x36fb('0x3b')]));_0x471e65[_0x36fb('0x3a')]=_0x471e65[_0x36fb('0x3a')][_0x36fb('0x3c')]?_0x471e65[_0x36fb('0x3a')]:_0x2129c3[_0x36fb('0x35')];if(!_0x4ebbd1[_0x36fb('0x36')][_0x36fb('0x3d')](_0x36fb('0x3e'))){_0x471e65[_0x36fb('0x3f')]=qs[_0x36fb('0x3f')](_0x4ebbd1['query'][_0x36fb('0x3f')]);_0x471e65[_0x36fb('0x29')]=qs[_0x36fb('0x29')](_0x4ebbd1[_0x36fb('0x36')][_0x36fb('0x29')]);}_0x471e65[_0x36fb('0x40')]=qs[_0x36fb('0x41')](_0x4ebbd1[_0x36fb('0x36')]['sort']);_0x471e65[_0x36fb('0x42')]=qs[_0x36fb('0x38')](_[_0x36fb('0x43')](_0x4ebbd1['query'],_0x2129c3['filters']),_0x132fdb);if(_0x4ebbd1[_0x36fb('0x36')]['filter']){_0x471e65['where']=_['merge'](_0x471e65[_0x36fb('0x42')],{'$or':_[_0x36fb('0x31')](_0x132fdb,function(_0xc9f014){if(_0xc9f014['type']!=='VIRTUAL'){var _0x513b79={};_0x513b79[_0xc9f014[_0x36fb('0x2f')]]={'$like':'%'+_0x4ebbd1[_0x36fb('0x36')][_0x36fb('0x44')]+'%'};return _0x513b79;}})});}_0x471e65=_[_0x36fb('0x45')]({},_0x471e65,_0x4ebbd1[_0x36fb('0x46')]);var _0x513fec={'where':_0x471e65[_0x36fb('0x42')]};return db[_0x36fb('0x32')][_0x36fb('0x47')](_0x513fec)[_0x36fb('0x2c')](function(_0x5d925e){_0xd1c24a[_0x36fb('0x47')]=_0x5d925e;if(_0x4ebbd1[_0x36fb('0x36')][_0x36fb('0x48')]){_0x471e65[_0x36fb('0x49')]=[{'all':!![]}];}return db[_0x36fb('0x32')]['findAll'](_0x471e65);})['then'](function(_0x54a048){_0xd1c24a[_0x36fb('0x4a')]=_0x54a048;return _0xd1c24a;})[_0x36fb('0x2c')](respondWithFilteredResult(_0x3247aa,_0x471e65))[_0x36fb('0x25')](handleError(_0x3247aa,null));};exports['show']=function(_0x2cee6d,_0x21353f){var _0x5bac46={'raw':![],'where':{'id':_0x2cee6d['params']['id']}},_0xf4a2aa={};_0xf4a2aa[_0x36fb('0x35')]=_['keys'](db[_0x36fb('0x32')]['rawAttributes']);_0xf4a2aa['query']=_[_0x36fb('0x37')](_0x2cee6d['query']);_0xf4a2aa[_0x36fb('0x38')]=_[_0x36fb('0x39')](_0xf4a2aa[_0x36fb('0x35')],_0xf4a2aa[_0x36fb('0x36')]);_0x5bac46['attributes']=_['intersection'](_0xf4a2aa[_0x36fb('0x35')],qs[_0x36fb('0x3b')](_0x2cee6d['query'][_0x36fb('0x3b')]));_0x5bac46[_0x36fb('0x3a')]=_0x5bac46[_0x36fb('0x3a')][_0x36fb('0x3c')]?_0x5bac46['attributes']:_0xf4a2aa[_0x36fb('0x35')];if(_0x2cee6d[_0x36fb('0x36')][_0x36fb('0x48')]){_0x5bac46[_0x36fb('0x49')]=[{'all':!![]}];}_0x5bac46=_[_0x36fb('0x45')]({},_0x5bac46,_0x2cee6d['options']);return db['FreshdeskAccount']['find'](_0x5bac46)['then'](handleEntityNotFound(_0x21353f,null))[_0x36fb('0x2c')](respondWithResult(_0x21353f,null))[_0x36fb('0x25')](handleError(_0x21353f,null));};exports['create']=function(_0x42c920,_0x3d2fbb){return db[_0x36fb('0x32')][_0x36fb('0x4b')](_0x42c920[_0x36fb('0x4c')],{})['then'](respondWithResult(_0x3d2fbb,0xc9))['catch'](handleError(_0x3d2fbb,null));};exports[_0x36fb('0x4d')]=function(_0x302ad3,_0x5a5b75){if(_0x302ad3[_0x36fb('0x4c')]['id']){delete _0x302ad3[_0x36fb('0x4c')]['id'];}return db[_0x36fb('0x32')]['find']({'where':{'id':_0x302ad3['params']['id']}})[_0x36fb('0x2c')](handleEntityNotFound(_0x5a5b75,null))['then'](saveUpdates(_0x302ad3[_0x36fb('0x4c')],null))['then'](respondWithResult(_0x5a5b75,null))['catch'](handleError(_0x5a5b75,null));};exports[_0x36fb('0x4e')]=function(_0x235580,_0x10c7a9){return db[_0x36fb('0x32')][_0x36fb('0x4f')]({'where':{'id':_0x235580[_0x36fb('0x50')]['id']}})['then'](handleEntityNotFound(_0x10c7a9,null))[_0x36fb('0x2c')](removeEntity(_0x10c7a9,null))[_0x36fb('0x25')](handleError(_0x10c7a9,null));};exports[_0x36fb('0x51')]=function(_0x4bcfc3,_0x4095e9,_0x400da4){var _0x32a086={};var _0x2d91ad={};var _0x8d2608;var _0x32042a;return db[_0x36fb('0x32')][_0x36fb('0x52')]({'where':{'id':_0x4bcfc3[_0x36fb('0x50')]['id']}})['then'](handleEntityNotFound(_0x4095e9,null))[_0x36fb('0x2c')](function(_0x2d5b27){if(_0x2d5b27){_0x8d2608=_0x2d5b27;_0x2d91ad['model']=_[_0x36fb('0x37')](db[_0x36fb('0x53')]['rawAttributes']);_0x2d91ad[_0x36fb('0x36')]=_['keys'](_0x4bcfc3['query']);_0x2d91ad[_0x36fb('0x38')]=_[_0x36fb('0x39')](_0x2d91ad[_0x36fb('0x35')],_0x2d91ad[_0x36fb('0x36')]);_0x32a086[_0x36fb('0x3a')]=_['intersection'](_0x2d91ad[_0x36fb('0x35')],qs['fields'](_0x4bcfc3[_0x36fb('0x36')][_0x36fb('0x3b')]));_0x32a086[_0x36fb('0x3a')]=_0x32a086[_0x36fb('0x3a')][_0x36fb('0x3c')]?_0x32a086[_0x36fb('0x3a')]:_0x2d91ad['model'];_0x32a086[_0x36fb('0x40')]=qs[_0x36fb('0x41')](_0x4bcfc3['query'][_0x36fb('0x41')]);_0x32a086[_0x36fb('0x42')]=qs['filters'](_[_0x36fb('0x43')](_0x4bcfc3[_0x36fb('0x36')],_0x2d91ad[_0x36fb('0x38')]));if(_0x4bcfc3[_0x36fb('0x36')]['filter']){_0x32a086[_0x36fb('0x42')]=_[_0x36fb('0x45')](_0x32a086[_0x36fb('0x42')],{'$or':_[_0x36fb('0x31')](_0x32a086[_0x36fb('0x3a')],function(_0x19c4b8){var _0x1b5b90={};_0x1b5b90[_0x19c4b8]={'$like':'%'+_0x4bcfc3[_0x36fb('0x36')][_0x36fb('0x44')]+'%'};return _0x1b5b90;})});}_0x32a086=_['merge']({},_0x32a086,_0x4bcfc3[_0x36fb('0x46')]);return _0x8d2608[_0x36fb('0x51')](_0x32a086);}})[_0x36fb('0x2c')](function(_0x3edfee){if(_0x3edfee){_0x32042a=_0x3edfee[_0x36fb('0x3c')];if(!_0x4bcfc3[_0x36fb('0x36')][_0x36fb('0x3d')](_0x36fb('0x3e'))){_0x32a086[_0x36fb('0x3f')]=qs['limit'](_0x4bcfc3[_0x36fb('0x36')][_0x36fb('0x3f')]);_0x32a086[_0x36fb('0x29')]=qs[_0x36fb('0x29')](_0x4bcfc3['query'][_0x36fb('0x29')]);}return _0x8d2608[_0x36fb('0x51')](_0x32a086);}})[_0x36fb('0x2c')](function(_0x48c8f5){if(_0x48c8f5){return _0x48c8f5?{'count':_0x32042a,'rows':_0x48c8f5}:null;}})[_0x36fb('0x2c')](respondWithResult(_0x4095e9,null))['catch'](handleError(_0x4095e9,null));};exports['addConfiguration']=function(_0x5885bd,_0x56d693,_0x5d47f7){if(_0x5885bd[_0x36fb('0x4c')]['id']){delete _0x5885bd[_0x36fb('0x4c')]['id'];}return db[_0x36fb('0x32')]['findOne']({'where':{'id':_0x5885bd[_0x36fb('0x50')]['id']}})[_0x36fb('0x2c')](handleEntityNotFound(_0x56d693,null))[_0x36fb('0x2c')](function(_0x3f3062){if(_0x3f3062){_0x5885bd[_0x36fb('0x4c')][_0x36fb('0x54')]=_0x3f3062['id'];_0x5885bd[_0x36fb('0x4c')][_0x36fb('0x55')]=integrations['getSubjects'](_0x5885bd[_0x36fb('0x4c')]['channel'],_0x5885bd[_0x36fb('0x4c')][_0x36fb('0x33')]);_0x5885bd[_0x36fb('0x4c')]['Descriptions']=integrations[_0x36fb('0x56')](_0x5885bd[_0x36fb('0x4c')][_0x36fb('0x57')],_0x5885bd[_0x36fb('0x4c')][_0x36fb('0x33')]);return db[_0x36fb('0x53')]['create'](_0x5885bd[_0x36fb('0x4c')],{'include':[{'model':db[_0x36fb('0x58')],'as':'Subjects'},{'model':db[_0x36fb('0x58')],'as':_0x36fb('0x59')}]});}return null;})[_0x36fb('0x2c')](respondWithResult(_0x56d693,null))[_0x36fb('0x25')](handleError(_0x56d693,null));};exports['getFields']=function(_0xc3217f,_0x402335,_0x4ec2d7){var _0x4ab0c8='';return db[_0x36fb('0x32')][_0x36fb('0x52')]({'where':{'id':_0xc3217f[_0x36fb('0x50')]['id']},'attributes':['id',_0x36fb('0x5a'),_0x36fb('0x5b')]})[_0x36fb('0x2c')](handleEntityNotFound(_0x402335,null))[_0x36fb('0x2c')](function(_0x55639f){if(_0x55639f){_0x4ab0c8=_0x55639f[_0x36fb('0x5a')];var _0x2fe4bf=_0x4ab0c8['slice'](-0x1);if(_0x2fe4bf==='/'){_0x4ab0c8=_0x4ab0c8[_0x36fb('0x5c')](0x0,_0x4ab0c8[_0x36fb('0x5d')](_0x2fe4bf));}return rp({'method':_0x36fb('0x5e'),'uri':util[_0x36fb('0x5f')](_0x36fb('0x60'),_0x4ab0c8,_0x36fb('0x61')),'headers':{'Authorization':util['format'](_0x36fb('0x62'),new Buffer(util[_0x36fb('0x5f')](_0x36fb('0x63'),_0x55639f[_0x36fb('0x5b')]))[_0x36fb('0x64')]('base64'))},'json':!![]});}})[_0x36fb('0x2c')](function(_0xd65a9e){if(_0xd65a9e){var _0x349f2a=[_0x36fb('0x65'),'subject',_0x36fb('0x66'),_0x36fb('0x67'),_0x36fb('0x27'),_0x36fb('0x68'),_0x36fb('0x69'),_0x36fb('0x6a'),_0x36fb('0x6b'),_0x36fb('0x69'),_0x36fb('0x6c')];_[_0x36fb('0x6d')](_0xd65a9e,function(_0x1d0380){return _0x349f2a[_0x36fb('0x6e')](_0x1d0380['name'])||!_0x1d0380[_0x36fb('0x6f')]&&_0x1d0380[_0x36fb('0x33')]!==_0x36fb('0x70')&&_0x1d0380[_0x36fb('0x33')]!==_0x36fb('0x71');});return{'count':_0xd65a9e[_0x36fb('0x3c')],'rows':_[_0x36fb('0x31')](_0xd65a9e,function(_0x1d4726){return{'id':_0x1d4726[_0x36fb('0x2f')],'name':_0x1d4726['label'],'custom':!_0x1d4726['default'],'options':_0x1d4726[_0x36fb('0x72')]?_[_0x36fb('0x31')](_0x1d4726[_0x36fb('0x72')],function(_0x16e263){return{'name':_[_0x36fb('0x73')](_0x16e263),'value':_0x16e263};}):[]};})};}})[_0x36fb('0x2c')](respondWithResult(_0x402335,null))[_0x36fb('0x25')](function(_0x23850b){var _0x557542=_0xc3217f[_0x36fb('0x36')][_0x36fb('0x74')]?0x1f4:_0x23850b[_0x36fb('0x75')]||0x1f4;logger[_0x36fb('0x21')]('getFields,\x20%s,\x20%s,\x20%s',_0x36fb('0x76'),_0x557542,JSON[_0x36fb('0x77')](_0x23850b));delete _0x23850b[_0x36fb('0x2f')];if(_0x557542===0x191){_0x557542=0x190;}_0x402335[_0x36fb('0x27')](_0x557542)[_0x36fb('0x78')](_0xc3217f['query']['test']?{'message':_0x36fb('0x79'),'statusCode':_0x23850b[_0x36fb('0x75')]}:_0x23850b);});};