Built motion from commit (unavailable).|2.5.21
[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 _0x876e=['html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','FreshdeskAccount,\x20%s,\x20%s','request\x20sent','debug','FreshdeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','name','rawAttributes','type','key','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','filter','merge','where','map','VIRTUAL','options','include','FreshdeskAccount','findAll','rows','params','model','includeAll','find','create','body','destroy','getConfigurations','nolimit','findOne','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshdeskField','apiKey','remoteUri','slice','substring','lastIndexOf','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','toString','base64','subject','agent','description','priority','group','source','remove','default','custom_text','custom_dropdown','label','choices','capitalize','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','send','test','Wrong\x20credentials'];(function(_0x11b1b3,_0xf3cc69){var _0x437029=function(_0x40499a){while(--_0x40499a){_0x11b1b3['push'](_0x11b1b3['shift']());}};_0x437029(++_0xf3cc69);}(_0x876e,0x1f0));var _0xe876=function(_0x7b01af,_0x1fea0e){_0x7b01af=_0x7b01af-0x0;var _0x34464d=_0x876e[_0x7b01af];return _0x34464d;};'use strict';var pdf=require(_0xe876('0x0'));var emlformat=require(_0xe876('0x1'));var rimraf=require(_0xe876('0x2'));var zipdir=require(_0xe876('0x3'));var jsonpatch=require(_0xe876('0x4'));var rp=require(_0xe876('0x5'));var moment=require(_0xe876('0x6'));var BPromise=require(_0xe876('0x7'));var Mustache=require('mustache');var util=require(_0xe876('0x8'));var path=require(_0xe876('0x9'));var sox=require('sox');var csv=require(_0xe876('0xa'));var ejs=require(_0xe876('0xb'));var fs=require('fs');var _=require(_0xe876('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xe876('0xd'));var deskjs=require(_0xe876('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe876('0xf'));var Papa=require(_0xe876('0x10'));var Redis=require(_0xe876('0x11'));var authService=require(_0xe876('0x12'));var qs=require(_0xe876('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe876('0x14'));var logger=require(_0xe876('0x15'))('api');var utils=require(_0xe876('0x16'));var config=require(_0xe876('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xe876('0x18'))['db'];var integrations=require(_0xe876('0x19'));var jayson=require('jayson/promise');var client=jayson[_0xe876('0x1a')][_0xe876('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x5b5985,_0x55cb1c,_0x4a603d,_0x1098cc){return new BPromise(function(_0x1fc953,_0x2b87a8){var _0x46d80c=_0x1098cc||client;return _0x46d80c[_0xe876('0x1c')](_0x5b5985,_0x4a603d)[_0xe876('0x1d')](function(_0x765c94){logger[_0xe876('0x1e')](_0xe876('0x1f'),_0x55cb1c,_0xe876('0x20'));logger[_0xe876('0x21')](_0xe876('0x22'),_0x55cb1c,_0xe876('0x20'),JSON[_0xe876('0x23')](_0x765c94));if(_0x765c94['error']){if(_0x765c94[_0xe876('0x24')][_0xe876('0x25')]===0x1f4){logger['error']('FreshdeskAccount,\x20%s,\x20%s',_0x55cb1c,_0x765c94[_0xe876('0x24')][_0xe876('0x26')]);return _0x2b87a8(_0x765c94[_0xe876('0x24')][_0xe876('0x26')]);}logger[_0xe876('0x24')](_0xe876('0x1f'),_0x55cb1c,_0x765c94[_0xe876('0x24')][_0xe876('0x26')]);return _0x1fc953(_0x765c94[_0xe876('0x24')][_0xe876('0x26')]);}else{logger['info'](_0xe876('0x1f'),_0x55cb1c,_0xe876('0x20'));_0x1fc953(_0x765c94['result']['message']);}})[_0xe876('0x27')](function(_0x46d16b){logger[_0xe876('0x24')](_0xe876('0x1f'),_0x55cb1c,_0x46d16b);_0x2b87a8(_0x46d16b);});});}function respondWithStatusCode(_0x324a42,_0x4b201b){_0x4b201b=_0x4b201b||0xcc;return function(_0x21021f){if(_0x21021f){return _0x324a42[_0xe876('0x28')](_0x4b201b);}return _0x324a42[_0xe876('0x29')](_0x4b201b)[_0xe876('0x2a')]();};}function respondWithResult(_0x58c14e,_0x572072){_0x572072=_0x572072||0xc8;return function(_0x26c791){if(_0x26c791){return _0x58c14e[_0xe876('0x29')](_0x572072)[_0xe876('0x2b')](_0x26c791);}};}function respondWithFilteredResult(_0x423e87,_0x1c5ed2){return function(_0x8edbf0){if(_0x8edbf0){var _0x4268e1=_0x8edbf0[_0xe876('0x2c')],_0x338d72=_0x1c5ed2['offset'],_0x3f5398=_0x1c5ed2[_0xe876('0x2d')]+_0x1c5ed2[_0xe876('0x2e')],_0x14bd62;if(_0x3f5398>=_0x4268e1){_0x3f5398=_0x4268e1;_0x14bd62=0xc8;}else{_0x14bd62=0xce;}_0x423e87[_0xe876('0x29')](_0x14bd62);return _0x423e87[_0xe876('0x2f')](_0xe876('0x30'),_0x338d72+'-'+_0x3f5398+'/'+_0x4268e1)['json'](_0x8edbf0);}return null;};}function patchUpdates(_0x1e7c8c){return function(_0xc44d7a){try{jsonpatch['apply'](_0xc44d7a,_0x1e7c8c,!![]);}catch(_0x2bb38c){return BPromise['reject'](_0x2bb38c);}return _0xc44d7a[_0xe876('0x31')]();};}function saveUpdates(_0x8fb335,_0x396273){return function(_0x121a1d){if(_0x121a1d){return _0x121a1d[_0xe876('0x32')](_0x8fb335)[_0xe876('0x1d')](function(_0x32bbf2){return _0x32bbf2;});}return null;};}function removeEntity(_0x354855,_0x2294f1){return function(_0x1288a0){if(_0x1288a0){return _0x1288a0['destroy']()[_0xe876('0x1d')](function(){_0x354855[_0xe876('0x29')](0xcc)[_0xe876('0x2a')]();});}};}function handleEntityNotFound(_0x447271,_0x3b32b8){return function(_0x1d94c3){if(!_0x1d94c3){_0x447271[_0xe876('0x28')](0x194);}return _0x1d94c3;};}function handleError(_0x836c56,_0xd717b6){_0xd717b6=_0xd717b6||0x1f4;return function(_0x31d224){logger[_0xe876('0x24')](_0x31d224['stack']);if(_0x31d224['name']){delete _0x31d224[_0xe876('0x33')];}_0x836c56['status'](_0xd717b6)['send'](_0x31d224);};}exports['index']=function(_0x58b345,_0x2ef957){var _0x2ede87={},_0x120d91={},_0x37e672={'count':0x0,'rows':[]};var _0x512216=_['map'](db['FreshdeskAccount'][_0xe876('0x34')],function(_0x4aa683){return{'name':_0x4aa683['fieldName'],'type':_0x4aa683[_0xe876('0x35')][_0xe876('0x36')]};});_0x120d91['model']=_['map'](_0x512216,_0xe876('0x33'));_0x120d91[_0xe876('0x37')]=_[_0xe876('0x38')](_0x58b345['query']);_0x120d91[_0xe876('0x39')]=_[_0xe876('0x3a')](_0x120d91['model'],_0x120d91[_0xe876('0x37')]);_0x2ede87['attributes']=_[_0xe876('0x3a')](_0x120d91['model'],qs[_0xe876('0x3b')](_0x58b345[_0xe876('0x37')][_0xe876('0x3b')]));_0x2ede87[_0xe876('0x3c')]=_0x2ede87[_0xe876('0x3c')][_0xe876('0x3d')]?_0x2ede87['attributes']:_0x120d91['model'];if(!_0x58b345['query'][_0xe876('0x3e')]('nolimit')){_0x2ede87[_0xe876('0x2e')]=qs[_0xe876('0x2e')](_0x58b345['query'][_0xe876('0x2e')]);_0x2ede87[_0xe876('0x2d')]=qs['offset'](_0x58b345[_0xe876('0x37')][_0xe876('0x2d')]);}_0x2ede87[_0xe876('0x3f')]=qs[_0xe876('0x40')](_0x58b345[_0xe876('0x37')][_0xe876('0x40')]);_0x2ede87['where']=qs[_0xe876('0x39')](_[_0xe876('0x41')](_0x58b345[_0xe876('0x37')],_0x120d91[_0xe876('0x39')]),_0x512216);if(_0x58b345['query'][_0xe876('0x42')]){_0x2ede87['where']=_[_0xe876('0x43')](_0x2ede87[_0xe876('0x44')],{'$or':_[_0xe876('0x45')](_0x512216,function(_0x35ff55){if(_0x35ff55[_0xe876('0x35')]!==_0xe876('0x46')){var _0x1efa75={};_0x1efa75[_0x35ff55[_0xe876('0x33')]]={'$like':'%'+_0x58b345[_0xe876('0x37')][_0xe876('0x42')]+'%'};return _0x1efa75;}})});}_0x2ede87=_[_0xe876('0x43')]({},_0x2ede87,_0x58b345[_0xe876('0x47')]);var _0x4d75bc={'where':_0x2ede87[_0xe876('0x44')]};return db['FreshdeskAccount'][_0xe876('0x2c')](_0x4d75bc)['then'](function(_0x510f16){_0x37e672[_0xe876('0x2c')]=_0x510f16;if(_0x58b345[_0xe876('0x37')]['includeAll']){_0x2ede87[_0xe876('0x48')]=[{'all':!![]}];}return db[_0xe876('0x49')][_0xe876('0x4a')](_0x2ede87);})[_0xe876('0x1d')](function(_0x57cf2c){_0x37e672[_0xe876('0x4b')]=_0x57cf2c;return _0x37e672;})[_0xe876('0x1d')](respondWithFilteredResult(_0x2ef957,_0x2ede87))[_0xe876('0x27')](handleError(_0x2ef957,null));};exports['show']=function(_0x1bdf2f,_0x2d8991){var _0x49e45a={'raw':![],'where':{'id':_0x1bdf2f[_0xe876('0x4c')]['id']}},_0xd53776={};_0xd53776[_0xe876('0x4d')]=_[_0xe876('0x38')](db['FreshdeskAccount']['rawAttributes']);_0xd53776[_0xe876('0x37')]=_[_0xe876('0x38')](_0x1bdf2f[_0xe876('0x37')]);_0xd53776[_0xe876('0x39')]=_[_0xe876('0x3a')](_0xd53776['model'],_0xd53776[_0xe876('0x37')]);_0x49e45a[_0xe876('0x3c')]=_[_0xe876('0x3a')](_0xd53776['model'],qs[_0xe876('0x3b')](_0x1bdf2f[_0xe876('0x37')][_0xe876('0x3b')]));_0x49e45a[_0xe876('0x3c')]=_0x49e45a[_0xe876('0x3c')][_0xe876('0x3d')]?_0x49e45a[_0xe876('0x3c')]:_0xd53776[_0xe876('0x4d')];if(_0x1bdf2f['query'][_0xe876('0x4e')]){_0x49e45a[_0xe876('0x48')]=[{'all':!![]}];}_0x49e45a=_[_0xe876('0x43')]({},_0x49e45a,_0x1bdf2f['options']);return db[_0xe876('0x49')][_0xe876('0x4f')](_0x49e45a)[_0xe876('0x1d')](handleEntityNotFound(_0x2d8991,null))[_0xe876('0x1d')](respondWithResult(_0x2d8991,null))[_0xe876('0x27')](handleError(_0x2d8991,null));};exports[_0xe876('0x50')]=function(_0x107540,_0x3084cd){return db[_0xe876('0x49')][_0xe876('0x50')](_0x107540[_0xe876('0x51')],{})[_0xe876('0x1d')](respondWithResult(_0x3084cd,0xc9))['catch'](handleError(_0x3084cd,null));};exports[_0xe876('0x32')]=function(_0x12e3ec,_0xecb73c){if(_0x12e3ec[_0xe876('0x51')]['id']){delete _0x12e3ec[_0xe876('0x51')]['id'];}return db[_0xe876('0x49')][_0xe876('0x4f')]({'where':{'id':_0x12e3ec[_0xe876('0x4c')]['id']}})['then'](handleEntityNotFound(_0xecb73c,null))[_0xe876('0x1d')](saveUpdates(_0x12e3ec[_0xe876('0x51')],null))[_0xe876('0x1d')](respondWithResult(_0xecb73c,null))[_0xe876('0x27')](handleError(_0xecb73c,null));};exports[_0xe876('0x52')]=function(_0xa981e8,_0x3dd0e8){return db['FreshdeskAccount']['find']({'where':{'id':_0xa981e8[_0xe876('0x4c')]['id']}})[_0xe876('0x1d')](handleEntityNotFound(_0x3dd0e8,null))[_0xe876('0x1d')](removeEntity(_0x3dd0e8,null))[_0xe876('0x27')](handleError(_0x3dd0e8,null));};exports['getConfigurations']=function(_0x203d6e,_0x570e08,_0x45f867){var _0x3aeb3b={};var _0x55bde2={};var _0xafd338;var _0x2cee36;return db[_0xe876('0x49')]['findOne']({'where':{'id':_0x203d6e[_0xe876('0x4c')]['id']}})['then'](handleEntityNotFound(_0x570e08,null))[_0xe876('0x1d')](function(_0x32881b){if(_0x32881b){_0xafd338=_0x32881b;_0x55bde2[_0xe876('0x4d')]=_['keys'](db['FreshdeskConfiguration'][_0xe876('0x34')]);_0x55bde2[_0xe876('0x37')]=_[_0xe876('0x38')](_0x203d6e[_0xe876('0x37')]);_0x55bde2[_0xe876('0x39')]=_[_0xe876('0x3a')](_0x55bde2[_0xe876('0x4d')],_0x55bde2[_0xe876('0x37')]);_0x3aeb3b['attributes']=_[_0xe876('0x3a')](_0x55bde2[_0xe876('0x4d')],qs[_0xe876('0x3b')](_0x203d6e[_0xe876('0x37')][_0xe876('0x3b')]));_0x3aeb3b[_0xe876('0x3c')]=_0x3aeb3b[_0xe876('0x3c')][_0xe876('0x3d')]?_0x3aeb3b[_0xe876('0x3c')]:_0x55bde2[_0xe876('0x4d')];_0x3aeb3b[_0xe876('0x3f')]=qs[_0xe876('0x40')](_0x203d6e['query'][_0xe876('0x40')]);_0x3aeb3b[_0xe876('0x44')]=qs[_0xe876('0x39')](_[_0xe876('0x41')](_0x203d6e[_0xe876('0x37')],_0x55bde2[_0xe876('0x39')]));if(_0x203d6e[_0xe876('0x37')][_0xe876('0x42')]){_0x3aeb3b[_0xe876('0x44')]=_[_0xe876('0x43')](_0x3aeb3b[_0xe876('0x44')],{'$or':_[_0xe876('0x45')](_0x3aeb3b[_0xe876('0x3c')],function(_0x5c1699){var _0x285fda={};_0x285fda[_0x5c1699]={'$like':'%'+_0x203d6e['query'][_0xe876('0x42')]+'%'};return _0x285fda;})});}_0x3aeb3b=_[_0xe876('0x43')]({},_0x3aeb3b,_0x203d6e[_0xe876('0x47')]);return _0xafd338[_0xe876('0x53')](_0x3aeb3b);}})['then'](function(_0x1e57a1){if(_0x1e57a1){_0x2cee36=_0x1e57a1['length'];if(!_0x203d6e[_0xe876('0x37')][_0xe876('0x3e')](_0xe876('0x54'))){_0x3aeb3b[_0xe876('0x2e')]=qs['limit'](_0x203d6e['query'][_0xe876('0x2e')]);_0x3aeb3b['offset']=qs[_0xe876('0x2d')](_0x203d6e[_0xe876('0x37')][_0xe876('0x2d')]);}return _0xafd338[_0xe876('0x53')](_0x3aeb3b);}})[_0xe876('0x1d')](function(_0x401583){if(_0x401583){return _0x401583?{'count':_0x2cee36,'rows':_0x401583}:null;}})['then'](respondWithResult(_0x570e08,null))[_0xe876('0x27')](handleError(_0x570e08,null));};exports['addConfiguration']=function(_0x53ae67,_0x193bd8,_0x1b0873){if(_0x53ae67['body']['id']){delete _0x53ae67[_0xe876('0x51')]['id'];}return db[_0xe876('0x49')][_0xe876('0x55')]({'where':{'id':_0x53ae67[_0xe876('0x4c')]['id']}})['then'](handleEntityNotFound(_0x193bd8,null))['then'](function(_0x572baa){if(_0x572baa){_0x53ae67[_0xe876('0x51')][_0xe876('0x56')]=_0x572baa['id'];_0x53ae67[_0xe876('0x51')][_0xe876('0x57')]=integrations[_0xe876('0x58')](_0x53ae67[_0xe876('0x51')][_0xe876('0x59')],_0x53ae67[_0xe876('0x51')][_0xe876('0x35')]);_0x53ae67[_0xe876('0x51')][_0xe876('0x5a')]=integrations[_0xe876('0x5b')](_0x53ae67[_0xe876('0x51')][_0xe876('0x59')],_0x53ae67[_0xe876('0x51')][_0xe876('0x35')]);return db['FreshdeskConfiguration']['create'](_0x53ae67[_0xe876('0x51')],{'include':[{'model':db['FreshdeskField'],'as':_0xe876('0x57')},{'model':db[_0xe876('0x5c')],'as':_0xe876('0x5a')}]});}return null;})['then'](respondWithResult(_0x193bd8,null))[_0xe876('0x27')](handleError(_0x193bd8,null));};exports['getFields']=function(_0x45f289,_0x71d88a,_0x1fa4ec){var _0x4f3c6c='';return db[_0xe876('0x49')][_0xe876('0x55')]({'where':{'id':_0x45f289[_0xe876('0x4c')]['id']},'attributes':['id','remoteUri',_0xe876('0x5d')]})[_0xe876('0x1d')](handleEntityNotFound(_0x71d88a,null))[_0xe876('0x1d')](function(_0x17f642){if(_0x17f642){_0x4f3c6c=_0x17f642[_0xe876('0x5e')];var _0x32ad17=_0x4f3c6c[_0xe876('0x5f')](-0x1);if(_0x32ad17==='/'){_0x4f3c6c=_0x4f3c6c[_0xe876('0x60')](0x0,_0x4f3c6c[_0xe876('0x61')](_0x32ad17));}return rp({'method':_0xe876('0x62'),'uri':util[_0xe876('0x63')](_0xe876('0x64'),_0x4f3c6c,_0xe876('0x65')),'headers':{'Authorization':util[_0xe876('0x63')](_0xe876('0x66'),new Buffer(util[_0xe876('0x63')]('%s:X',_0x17f642[_0xe876('0x5d')]))[_0xe876('0x67')](_0xe876('0x68')))},'json':!![]});}})['then'](function(_0x32ec9a){if(_0x32ec9a){var _0x390c50=['requester',_0xe876('0x69'),_0xe876('0x6a'),_0xe876('0x6b'),_0xe876('0x29'),_0xe876('0x6c'),_0xe876('0x6d'),_0xe876('0x6e'),'ticket_type',_0xe876('0x6d'),'company'];_[_0xe876('0x6f')](_0x32ec9a,function(_0x3a43f6){return _0x390c50['includes'](_0x3a43f6['name'])||!_0x3a43f6[_0xe876('0x70')]&&_0x3a43f6['type']!==_0xe876('0x71')&&_0x3a43f6[_0xe876('0x35')]!==_0xe876('0x72');});return{'count':_0x32ec9a[_0xe876('0x3d')],'rows':_[_0xe876('0x45')](_0x32ec9a,function(_0x1ce8a3){return{'id':_0x1ce8a3['name'],'name':_0x1ce8a3[_0xe876('0x73')],'custom':!_0x1ce8a3[_0xe876('0x70')],'options':_0x1ce8a3[_0xe876('0x74')]?_[_0xe876('0x45')](_0x1ce8a3['choices'],function(_0x24b024){return{'name':_[_0xe876('0x75')](_0x24b024),'value':_0x24b024};}):[]};})};}})[_0xe876('0x1d')](respondWithResult(_0x71d88a,null))['catch'](function(_0x3e8b02){var _0x1e7702=_0x45f289[_0xe876('0x37')]['test']?0x1f4:_0x3e8b02[_0xe876('0x76')]||0x1f4;logger[_0xe876('0x24')](_0xe876('0x77'),_0xe876('0x78'),_0x1e7702,JSON[_0xe876('0x23')](_0x3e8b02));delete _0x3e8b02['name'];if(_0x1e7702===0x191){_0x1e7702=0x190;}_0x71d88a['status'](_0x1e7702)[_0xe876('0x79')](_0x45f289[_0xe876('0x37')][_0xe876('0x7a')]?{'message':_0xe876('0x7b'),'statusCode':_0x3e8b02[_0xe876('0x76')]}:_0x3e8b02);});};