Built motion from commit (unavailable).|2.5.10
[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 _0x4566=['http','request','then','info','request\x20sent','FreshdeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','FreshdeskAccount,\x20%s,\x20%s','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','destroy','stack','send','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','name','options','includeAll','FreshdeskAccount','findAll','rows','params','include','find','create','body','getConfigurations','findOne','addConfiguration','AccountId','getSubjects','channel','Descriptions','FreshdeskConfiguration','Subjects','FreshdeskField','getFields','apiKey','remoteUri','slice','substring','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','base64','requester','subject','description','priority','group','source','ticket_type','company','remove','includes','custom_text','label','default','choices','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','rimraf','zip-dir','request-promise','moment','mustache','util','path','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x4566,0x1e3));var _0x6456=function(_0x49226e,_0x5eb4c8){_0x49226e=_0x49226e-0x0;var _0x3078fd=_0x4566[_0x49226e];return _0x3078fd;};'use strict';var pdf=require(_0x6456('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6456('0x1'));var zipdir=require(_0x6456('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6456('0x3'));var moment=require(_0x6456('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6456('0x5'));var util=require(_0x6456('0x6'));var path=require(_0x6456('0x7'));var sox=require('sox');var csv=require(_0x6456('0x8'));var ejs=require(_0x6456('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x6456('0xa'));var crypto=require('crypto');var jsforce=require(_0x6456('0xb'));var deskjs=require(_0x6456('0xc'));var toCsv=require(_0x6456('0x8'));var querystring=require(_0x6456('0xd'));var Papa=require(_0x6456('0xe'));var Redis=require(_0x6456('0xf'));var authService=require(_0x6456('0x10'));var qs=require(_0x6456('0x11'));var as=require(_0x6456('0x12'));var hardwareService=require(_0x6456('0x13'));var logger=require(_0x6456('0x14'))(_0x6456('0x15'));var utils=require(_0x6456('0x16'));var config=require(_0x6456('0x17'));var licenseUtil=require(_0x6456('0x18'));var db=require(_0x6456('0x19'))['db'];var integrations=require(_0x6456('0x1a'));var jayson=require(_0x6456('0x1b'));var client=jayson[_0x6456('0x1c')][_0x6456('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x257f59,_0x3db388,_0x297dbf,_0x1b2185){return new BPromise(function(_0x19b173,_0x4b08bc){var _0x227295=_0x1b2185||client;return _0x227295[_0x6456('0x1e')](_0x257f59,_0x297dbf)[_0x6456('0x1f')](function(_0x556066){logger[_0x6456('0x20')]('FreshdeskAccount,\x20%s,\x20%s',_0x3db388,_0x6456('0x21'));logger['debug'](_0x6456('0x22'),_0x3db388,_0x6456('0x21'),JSON[_0x6456('0x23')](_0x556066));if(_0x556066['error']){if(_0x556066[_0x6456('0x24')][_0x6456('0x25')]===0x1f4){logger[_0x6456('0x24')]('FreshdeskAccount,\x20%s,\x20%s',_0x3db388,_0x556066[_0x6456('0x24')][_0x6456('0x26')]);return _0x4b08bc(_0x556066[_0x6456('0x24')]['message']);}logger[_0x6456('0x24')]('FreshdeskAccount,\x20%s,\x20%s',_0x3db388,_0x556066[_0x6456('0x24')][_0x6456('0x26')]);return _0x19b173(_0x556066[_0x6456('0x24')][_0x6456('0x26')]);}else{logger[_0x6456('0x20')](_0x6456('0x27'),_0x3db388,_0x6456('0x21'));_0x19b173(_0x556066['result'][_0x6456('0x26')]);}})[_0x6456('0x28')](function(_0x451318){logger['error']('FreshdeskAccount,\x20%s,\x20%s',_0x3db388,_0x451318);_0x4b08bc(_0x451318);});});}function respondWithStatusCode(_0x2f0497,_0x3b1f02){_0x3b1f02=_0x3b1f02||0xcc;return function(_0x5efb7e){if(_0x5efb7e){return _0x2f0497[_0x6456('0x29')](_0x3b1f02);}return _0x2f0497[_0x6456('0x2a')](_0x3b1f02)[_0x6456('0x2b')]();};}function respondWithResult(_0x1006fd,_0x2e347e){_0x2e347e=_0x2e347e||0xc8;return function(_0x43b6ff){if(_0x43b6ff){return _0x1006fd[_0x6456('0x2a')](_0x2e347e)[_0x6456('0x2c')](_0x43b6ff);}};}function respondWithFilteredResult(_0x207873,_0x9cdcc6){return function(_0x421a4d){if(_0x421a4d){var _0xf5f124=_0x421a4d[_0x6456('0x2d')],_0x18ea2a=_0x9cdcc6[_0x6456('0x2e')],_0xabe12b=_0x9cdcc6['offset']+_0x9cdcc6[_0x6456('0x2f')],_0x886ab4;if(_0xabe12b>=_0xf5f124){_0xabe12b=_0xf5f124;_0x886ab4=0xc8;}else{_0x886ab4=0xce;}_0x207873['status'](_0x886ab4);return _0x207873[_0x6456('0x30')](_0x6456('0x31'),_0x18ea2a+'-'+_0xabe12b+'/'+_0xf5f124)['json'](_0x421a4d);}return null;};}function patchUpdates(_0x2d6d90){return function(_0x29877c){try{jsonpatch['apply'](_0x29877c,_0x2d6d90,!![]);}catch(_0x35ee01){return BPromise[_0x6456('0x32')](_0x35ee01);}return _0x29877c[_0x6456('0x33')]();};}function saveUpdates(_0x1290d9,_0x4facc4){return function(_0x55a2ae){if(_0x55a2ae){return _0x55a2ae[_0x6456('0x34')](_0x1290d9)[_0x6456('0x1f')](function(_0x4a2516){return _0x4a2516;});}return null;};}function removeEntity(_0x3b24a0,_0x40c826){return function(_0xe6f92e){if(_0xe6f92e){return _0xe6f92e[_0x6456('0x35')]()['then'](function(){_0x3b24a0[_0x6456('0x2a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43446b,_0x482b68){return function(_0x16b7cf){if(!_0x16b7cf){_0x43446b[_0x6456('0x29')](0x194);}return _0x16b7cf;};}function handleError(_0x2d0320,_0x1a54cf){_0x1a54cf=_0x1a54cf||0x1f4;return function(_0x3c037c){logger['error'](_0x3c037c[_0x6456('0x36')]);if(_0x3c037c['name']){delete _0x3c037c['name'];}_0x2d0320['status'](_0x1a54cf)[_0x6456('0x37')](_0x3c037c);};}exports['index']=function(_0x7d4aae,_0xc59484){var _0x1fc205={},_0x1fed3c={},_0xafe0a2={'count':0x0,'rows':[]};var _0x56af9f=_[_0x6456('0x38')](db['FreshdeskAccount'][_0x6456('0x39')],function(_0x3a8411){return{'name':_0x3a8411[_0x6456('0x3a')],'type':_0x3a8411[_0x6456('0x3b')][_0x6456('0x3c')]};});_0x1fed3c[_0x6456('0x3d')]=_[_0x6456('0x38')](_0x56af9f,'name');_0x1fed3c[_0x6456('0x3e')]=_[_0x6456('0x3f')](_0x7d4aae[_0x6456('0x3e')]);_0x1fed3c['filters']=_[_0x6456('0x40')](_0x1fed3c[_0x6456('0x3d')],_0x1fed3c[_0x6456('0x3e')]);_0x1fc205[_0x6456('0x41')]=_[_0x6456('0x40')](_0x1fed3c['model'],qs[_0x6456('0x42')](_0x7d4aae[_0x6456('0x3e')][_0x6456('0x42')]));_0x1fc205['attributes']=_0x1fc205[_0x6456('0x41')][_0x6456('0x43')]?_0x1fc205[_0x6456('0x41')]:_0x1fed3c[_0x6456('0x3d')];if(!_0x7d4aae[_0x6456('0x3e')][_0x6456('0x44')](_0x6456('0x45'))){_0x1fc205[_0x6456('0x2f')]=qs[_0x6456('0x2f')](_0x7d4aae[_0x6456('0x3e')]['limit']);_0x1fc205['offset']=qs[_0x6456('0x2e')](_0x7d4aae[_0x6456('0x3e')][_0x6456('0x2e')]);}_0x1fc205[_0x6456('0x46')]=qs[_0x6456('0x47')](_0x7d4aae['query'][_0x6456('0x47')]);_0x1fc205[_0x6456('0x48')]=qs[_0x6456('0x49')](_[_0x6456('0x4a')](_0x7d4aae[_0x6456('0x3e')],_0x1fed3c[_0x6456('0x49')]),_0x56af9f);if(_0x7d4aae[_0x6456('0x3e')][_0x6456('0x4b')]){_0x1fc205[_0x6456('0x48')]=_[_0x6456('0x4c')](_0x1fc205['where'],{'$or':_['map'](_0x56af9f,function(_0x77f10d){if(_0x77f10d[_0x6456('0x3b')]!==_0x6456('0x4d')){var _0x1a1338={};_0x1a1338[_0x77f10d[_0x6456('0x4e')]]={'$like':'%'+_0x7d4aae[_0x6456('0x3e')][_0x6456('0x4b')]+'%'};return _0x1a1338;}})});}_0x1fc205=_['merge']({},_0x1fc205,_0x7d4aae[_0x6456('0x4f')]);var _0x415138={'where':_0x1fc205[_0x6456('0x48')]};return db['FreshdeskAccount']['count'](_0x415138)[_0x6456('0x1f')](function(_0xf414d1){_0xafe0a2[_0x6456('0x2d')]=_0xf414d1;if(_0x7d4aae['query'][_0x6456('0x50')]){_0x1fc205['include']=[{'all':!![]}];}return db[_0x6456('0x51')][_0x6456('0x52')](_0x1fc205);})[_0x6456('0x1f')](function(_0x46ff1d){_0xafe0a2[_0x6456('0x53')]=_0x46ff1d;return _0xafe0a2;})[_0x6456('0x1f')](respondWithFilteredResult(_0xc59484,_0x1fc205))[_0x6456('0x28')](handleError(_0xc59484,null));};exports['show']=function(_0x5dec9e,_0x1a2283){var _0x1b8481={'raw':![],'where':{'id':_0x5dec9e[_0x6456('0x54')]['id']}},_0x452555={};_0x452555[_0x6456('0x3d')]=_[_0x6456('0x3f')](db[_0x6456('0x51')]['rawAttributes']);_0x452555[_0x6456('0x3e')]=_[_0x6456('0x3f')](_0x5dec9e[_0x6456('0x3e')]);_0x452555[_0x6456('0x49')]=_[_0x6456('0x40')](_0x452555['model'],_0x452555[_0x6456('0x3e')]);_0x1b8481['attributes']=_['intersection'](_0x452555[_0x6456('0x3d')],qs[_0x6456('0x42')](_0x5dec9e[_0x6456('0x3e')]['fields']));_0x1b8481['attributes']=_0x1b8481[_0x6456('0x41')][_0x6456('0x43')]?_0x1b8481[_0x6456('0x41')]:_0x452555['model'];if(_0x5dec9e[_0x6456('0x3e')][_0x6456('0x50')]){_0x1b8481[_0x6456('0x55')]=[{'all':!![]}];}_0x1b8481=_[_0x6456('0x4c')]({},_0x1b8481,_0x5dec9e[_0x6456('0x4f')]);return db['FreshdeskAccount'][_0x6456('0x56')](_0x1b8481)[_0x6456('0x1f')](handleEntityNotFound(_0x1a2283,null))[_0x6456('0x1f')](respondWithResult(_0x1a2283,null))[_0x6456('0x28')](handleError(_0x1a2283,null));};exports[_0x6456('0x57')]=function(_0x5e00e5,_0x3d948f){return db[_0x6456('0x51')][_0x6456('0x57')](_0x5e00e5['body'],{})[_0x6456('0x1f')](respondWithResult(_0x3d948f,0xc9))[_0x6456('0x28')](handleError(_0x3d948f,null));};exports[_0x6456('0x34')]=function(_0x458729,_0x932b4a){if(_0x458729[_0x6456('0x58')]['id']){delete _0x458729['body']['id'];}return db[_0x6456('0x51')]['find']({'where':{'id':_0x458729[_0x6456('0x54')]['id']}})[_0x6456('0x1f')](handleEntityNotFound(_0x932b4a,null))[_0x6456('0x1f')](saveUpdates(_0x458729[_0x6456('0x58')],null))[_0x6456('0x1f')](respondWithResult(_0x932b4a,null))['catch'](handleError(_0x932b4a,null));};exports[_0x6456('0x35')]=function(_0x3e4629,_0x51127e){return db['FreshdeskAccount'][_0x6456('0x56')]({'where':{'id':_0x3e4629[_0x6456('0x54')]['id']}})[_0x6456('0x1f')](handleEntityNotFound(_0x51127e,null))[_0x6456('0x1f')](removeEntity(_0x51127e,null))[_0x6456('0x28')](handleError(_0x51127e,null));};exports[_0x6456('0x59')]=function(_0x334b02,_0xf22962,_0x184b5f){var _0x524800={};var _0x59f666={};var _0x17656f;var _0x163603;return db[_0x6456('0x51')][_0x6456('0x5a')]({'where':{'id':_0x334b02[_0x6456('0x54')]['id']}})[_0x6456('0x1f')](handleEntityNotFound(_0xf22962,null))['then'](function(_0xf4e652){if(_0xf4e652){_0x17656f=_0xf4e652;_0x59f666[_0x6456('0x3d')]=_[_0x6456('0x3f')](db['FreshdeskConfiguration'][_0x6456('0x39')]);_0x59f666['query']=_[_0x6456('0x3f')](_0x334b02[_0x6456('0x3e')]);_0x59f666['filters']=_[_0x6456('0x40')](_0x59f666[_0x6456('0x3d')],_0x59f666[_0x6456('0x3e')]);_0x524800[_0x6456('0x41')]=_[_0x6456('0x40')](_0x59f666[_0x6456('0x3d')],qs[_0x6456('0x42')](_0x334b02[_0x6456('0x3e')][_0x6456('0x42')]));_0x524800[_0x6456('0x41')]=_0x524800[_0x6456('0x41')][_0x6456('0x43')]?_0x524800[_0x6456('0x41')]:_0x59f666['model'];_0x524800[_0x6456('0x46')]=qs['sort'](_0x334b02[_0x6456('0x3e')][_0x6456('0x47')]);_0x524800[_0x6456('0x48')]=qs['filters'](_['pick'](_0x334b02[_0x6456('0x3e')],_0x59f666[_0x6456('0x49')]));if(_0x334b02[_0x6456('0x3e')]['filter']){_0x524800[_0x6456('0x48')]=_[_0x6456('0x4c')](_0x524800['where'],{'$or':_[_0x6456('0x38')](_0x524800[_0x6456('0x41')],function(_0x442aa8){var _0x2e187d={};_0x2e187d[_0x442aa8]={'$like':'%'+_0x334b02[_0x6456('0x3e')]['filter']+'%'};return _0x2e187d;})});}_0x524800=_[_0x6456('0x4c')]({},_0x524800,_0x334b02[_0x6456('0x4f')]);return _0x17656f[_0x6456('0x59')](_0x524800);}})[_0x6456('0x1f')](function(_0x90517b){if(_0x90517b){_0x163603=_0x90517b[_0x6456('0x43')];if(!_0x334b02[_0x6456('0x3e')]['hasOwnProperty'](_0x6456('0x45'))){_0x524800[_0x6456('0x2f')]=qs[_0x6456('0x2f')](_0x334b02['query'][_0x6456('0x2f')]);_0x524800[_0x6456('0x2e')]=qs[_0x6456('0x2e')](_0x334b02['query'][_0x6456('0x2e')]);}return _0x17656f[_0x6456('0x59')](_0x524800);}})[_0x6456('0x1f')](function(_0x1b74af){if(_0x1b74af){return _0x1b74af?{'count':_0x163603,'rows':_0x1b74af}:null;}})[_0x6456('0x1f')](respondWithResult(_0xf22962,null))[_0x6456('0x28')](handleError(_0xf22962,null));};exports[_0x6456('0x5b')]=function(_0x377f29,_0x5cd5d0,_0x203cc6){if(_0x377f29['body']['id']){delete _0x377f29[_0x6456('0x58')]['id'];}return db[_0x6456('0x51')][_0x6456('0x5a')]({'where':{'id':_0x377f29[_0x6456('0x54')]['id']}})[_0x6456('0x1f')](handleEntityNotFound(_0x5cd5d0,null))['then'](function(_0x1725db){if(_0x1725db){_0x377f29[_0x6456('0x58')][_0x6456('0x5c')]=_0x1725db['id'];_0x377f29['body']['Subjects']=integrations[_0x6456('0x5d')](_0x377f29[_0x6456('0x58')][_0x6456('0x5e')],_0x377f29[_0x6456('0x58')][_0x6456('0x3b')]);_0x377f29[_0x6456('0x58')][_0x6456('0x5f')]=integrations['getDescriptions'](_0x377f29[_0x6456('0x58')][_0x6456('0x5e')],_0x377f29['body']['type']);return db[_0x6456('0x60')][_0x6456('0x57')](_0x377f29[_0x6456('0x58')],{'include':[{'model':db['FreshdeskField'],'as':_0x6456('0x61')},{'model':db[_0x6456('0x62')],'as':_0x6456('0x5f')}]});}return null;})['then'](respondWithResult(_0x5cd5d0,null))[_0x6456('0x28')](handleError(_0x5cd5d0,null));};exports[_0x6456('0x63')]=function(_0x51b674,_0x44ac84,_0x295b3f){var _0x572344='';return db[_0x6456('0x51')][_0x6456('0x5a')]({'where':{'id':_0x51b674[_0x6456('0x54')]['id']},'attributes':['id','remoteUri',_0x6456('0x64')]})[_0x6456('0x1f')](handleEntityNotFound(_0x44ac84,null))[_0x6456('0x1f')](function(_0x257191){if(_0x257191){_0x572344=_0x257191[_0x6456('0x65')];var _0x47746a=_0x572344[_0x6456('0x66')](-0x1);if(_0x47746a==='/'){_0x572344=_0x572344[_0x6456('0x67')](0x0,_0x572344['lastIndexOf'](_0x47746a));}return rp({'method':_0x6456('0x68'),'uri':util[_0x6456('0x69')](_0x6456('0x6a'),_0x572344,_0x6456('0x6b')),'headers':{'Authorization':util[_0x6456('0x69')](_0x6456('0x6c'),new Buffer(util['format']('%s:X',_0x257191['apiKey']))['toString'](_0x6456('0x6d')))},'json':!![]});}})[_0x6456('0x1f')](function(_0x31020f){if(_0x31020f){var _0x2ab1e0=[_0x6456('0x6e'),_0x6456('0x6f'),'agent',_0x6456('0x70'),_0x6456('0x2a'),_0x6456('0x71'),_0x6456('0x72'),_0x6456('0x73'),_0x6456('0x74'),'group',_0x6456('0x75')];_[_0x6456('0x76')](_0x31020f,function(_0x28c030){return _0x2ab1e0[_0x6456('0x77')](_0x28c030['name'])||!_0x28c030['default']&&_0x28c030[_0x6456('0x3b')]!==_0x6456('0x78')&&_0x28c030[_0x6456('0x3b')]!=='custom_dropdown';});return{'count':_0x31020f[_0x6456('0x43')],'rows':_[_0x6456('0x38')](_0x31020f,function(_0x10841d){return{'id':_0x10841d[_0x6456('0x4e')],'name':_0x10841d[_0x6456('0x79')],'custom':!_0x10841d[_0x6456('0x7a')],'options':_0x10841d[_0x6456('0x7b')]?_[_0x6456('0x38')](_0x10841d['choices'],function(_0x7c5ae2){return{'name':_['capitalize'](_0x7c5ae2),'value':_0x7c5ae2};}):[]};})};}})[_0x6456('0x1f')](respondWithResult(_0x44ac84,null))[_0x6456('0x28')](function(_0x476de5){var _0x5f12b7=_0x51b674[_0x6456('0x3e')][_0x6456('0x7c')]?0x1f4:_0x476de5[_0x6456('0x7d')]||0x1f4;logger[_0x6456('0x24')](_0x6456('0x7e'),'getFields',_0x5f12b7,JSON['stringify'](_0x476de5));delete _0x476de5['name'];if(_0x5f12b7===0x191){_0x5f12b7=0x190;}_0x44ac84['status'](_0x5f12b7)[_0x6456('0x37')](_0x51b674[_0x6456('0x3e')][_0x6456('0x7c')]?{'message':_0x6456('0x7f'),'statusCode':_0x476de5[_0x6456('0x7d')]}:_0x476de5);});};