Built motion from commit (unavailable).|2.5.14
[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 _0x6a27=['desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','FreshdeskAccount,\x20%s,\x20%s','request\x20sent','debug','FreshdeskAccount,\x20%s,\x20%s,\x20%s','error','message','result','catch','sendStatus','end','status','json','offset','limit','apply','reject','save','update','destroy','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','type','VIRTUAL','filter','options','FreshdeskAccount','count','includeAll','include','findAll','params','find','create','body','findOne','FreshdeskConfiguration','getConfigurations','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshdeskField','getFields','remoteUri','apiKey','slice','lastIndexOf','GET','%s/%s','api/v2/ticket_fields','format','Basic\x20%s','%s:X','base64','requester','subject','agent','priority','group','ticket_type','company','remove','includes','default','custom_text','custom_dropdown','label','choices','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','html-pdf','eml-format','rimraf','moment','mustache','util','to-csv','ejs','crypto','jsforce'];(function(_0x1865d4,_0x569a81){var _0x1f0e1c=function(_0x57887d){while(--_0x57887d){_0x1865d4['push'](_0x1865d4['shift']());}};_0x1f0e1c(++_0x569a81);}(_0x6a27,0x70));var _0x76a2=function(_0x168dab,_0x4abfce){_0x168dab=_0x168dab-0x0;var _0x166a20=_0x6a27[_0x168dab];return _0x166a20;};'use strict';var pdf=require(_0x76a2('0x0'));var emlformat=require(_0x76a2('0x1'));var rimraf=require(_0x76a2('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x76a2('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x76a2('0x4'));var util=require(_0x76a2('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x76a2('0x6'));var ejs=require(_0x76a2('0x7'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x76a2('0x8'));var jsforce=require(_0x76a2('0x9'));var deskjs=require(_0x76a2('0xa'));var toCsv=require(_0x76a2('0x6'));var querystring=require(_0x76a2('0xb'));var Papa=require(_0x76a2('0xc'));var Redis=require(_0x76a2('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x76a2('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x76a2('0xf'));var logger=require(_0x76a2('0x10'))('api');var utils=require(_0x76a2('0x11'));var config=require(_0x76a2('0x12'));var licenseUtil=require(_0x76a2('0x13'));var db=require(_0x76a2('0x14'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x76a2('0x15'));var client=jayson[_0x76a2('0x16')][_0x76a2('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x490033,_0x615000,_0x65a29f,_0x18d566){return new BPromise(function(_0x13b364,_0x16ea01){var _0x44ea00=_0x18d566||client;return _0x44ea00[_0x76a2('0x18')](_0x490033,_0x65a29f)[_0x76a2('0x19')](function(_0x98b791){logger[_0x76a2('0x1a')](_0x76a2('0x1b'),_0x615000,_0x76a2('0x1c'));logger[_0x76a2('0x1d')](_0x76a2('0x1e'),_0x615000,_0x76a2('0x1c'),JSON['stringify'](_0x98b791));if(_0x98b791[_0x76a2('0x1f')]){if(_0x98b791[_0x76a2('0x1f')]['code']===0x1f4){logger[_0x76a2('0x1f')](_0x76a2('0x1b'),_0x615000,_0x98b791[_0x76a2('0x1f')][_0x76a2('0x20')]);return _0x16ea01(_0x98b791[_0x76a2('0x1f')][_0x76a2('0x20')]);}logger[_0x76a2('0x1f')](_0x76a2('0x1b'),_0x615000,_0x98b791['error'][_0x76a2('0x20')]);return _0x13b364(_0x98b791['error'][_0x76a2('0x20')]);}else{logger[_0x76a2('0x1a')]('FreshdeskAccount,\x20%s,\x20%s',_0x615000,_0x76a2('0x1c'));_0x13b364(_0x98b791[_0x76a2('0x21')][_0x76a2('0x20')]);}})[_0x76a2('0x22')](function(_0x2f886b){logger[_0x76a2('0x1f')](_0x76a2('0x1b'),_0x615000,_0x2f886b);_0x16ea01(_0x2f886b);});});}function respondWithStatusCode(_0x9a84d3,_0x3c5fb2){_0x3c5fb2=_0x3c5fb2||0xcc;return function(_0x14cb68){if(_0x14cb68){return _0x9a84d3[_0x76a2('0x23')](_0x3c5fb2);}return _0x9a84d3['status'](_0x3c5fb2)[_0x76a2('0x24')]();};}function respondWithResult(_0x38b432,_0x2c9a02){_0x2c9a02=_0x2c9a02||0xc8;return function(_0x48db52){if(_0x48db52){return _0x38b432[_0x76a2('0x25')](_0x2c9a02)[_0x76a2('0x26')](_0x48db52);}};}function respondWithFilteredResult(_0x16152a,_0xe7863e){return function(_0x43bc71){if(_0x43bc71){var _0x12210a=_0x43bc71['count'],_0x35fb9f=_0xe7863e[_0x76a2('0x27')],_0x267b41=_0xe7863e[_0x76a2('0x27')]+_0xe7863e[_0x76a2('0x28')],_0x15e1f8;if(_0x267b41>=_0x12210a){_0x267b41=_0x12210a;_0x15e1f8=0xc8;}else{_0x15e1f8=0xce;}_0x16152a[_0x76a2('0x25')](_0x15e1f8);return _0x16152a['set']('Content-Range',_0x35fb9f+'-'+_0x267b41+'/'+_0x12210a)['json'](_0x43bc71);}return null;};}function patchUpdates(_0x41da47){return function(_0x8f492){try{jsonpatch[_0x76a2('0x29')](_0x8f492,_0x41da47,!![]);}catch(_0x15104f){return BPromise[_0x76a2('0x2a')](_0x15104f);}return _0x8f492[_0x76a2('0x2b')]();};}function saveUpdates(_0x1a6b49,_0x177cb9){return function(_0x2282d9){if(_0x2282d9){return _0x2282d9[_0x76a2('0x2c')](_0x1a6b49)['then'](function(_0x10650b){return _0x10650b;});}return null;};}function removeEntity(_0xdbc58b,_0x38f271){return function(_0x8a785a){if(_0x8a785a){return _0x8a785a[_0x76a2('0x2d')]()['then'](function(){_0xdbc58b[_0x76a2('0x25')](0xcc)[_0x76a2('0x24')]();});}};}function handleEntityNotFound(_0x4e8d9c,_0x51e908){return function(_0xa08b85){if(!_0xa08b85){_0x4e8d9c[_0x76a2('0x23')](0x194);}return _0xa08b85;};}function handleError(_0x409272,_0x342fdd){_0x342fdd=_0x342fdd||0x1f4;return function(_0x386711){logger[_0x76a2('0x1f')](_0x386711[_0x76a2('0x2e')]);if(_0x386711[_0x76a2('0x2f')]){delete _0x386711[_0x76a2('0x2f')];}_0x409272[_0x76a2('0x25')](_0x342fdd)['send'](_0x386711);};}exports[_0x76a2('0x30')]=function(_0x226890,_0x32a032){var _0x4eaf9b={},_0x3d695f={},_0xd7c9b1={'count':0x0,'rows':[]};var _0x212b0a=_[_0x76a2('0x31')](db['FreshdeskAccount'][_0x76a2('0x32')],function(_0xe8fa68){return{'name':_0xe8fa68[_0x76a2('0x33')],'type':_0xe8fa68['type'][_0x76a2('0x34')]};});_0x3d695f[_0x76a2('0x35')]=_[_0x76a2('0x31')](_0x212b0a,'name');_0x3d695f[_0x76a2('0x36')]=_[_0x76a2('0x37')](_0x226890['query']);_0x3d695f[_0x76a2('0x38')]=_[_0x76a2('0x39')](_0x3d695f[_0x76a2('0x35')],_0x3d695f[_0x76a2('0x36')]);_0x4eaf9b[_0x76a2('0x3a')]=_[_0x76a2('0x39')](_0x3d695f['model'],qs[_0x76a2('0x3b')](_0x226890['query'][_0x76a2('0x3b')]));_0x4eaf9b['attributes']=_0x4eaf9b[_0x76a2('0x3a')][_0x76a2('0x3c')]?_0x4eaf9b[_0x76a2('0x3a')]:_0x3d695f[_0x76a2('0x35')];if(!_0x226890[_0x76a2('0x36')][_0x76a2('0x3d')](_0x76a2('0x3e'))){_0x4eaf9b[_0x76a2('0x28')]=qs[_0x76a2('0x28')](_0x226890[_0x76a2('0x36')][_0x76a2('0x28')]);_0x4eaf9b['offset']=qs[_0x76a2('0x27')](_0x226890['query'][_0x76a2('0x27')]);}_0x4eaf9b[_0x76a2('0x3f')]=qs[_0x76a2('0x40')](_0x226890[_0x76a2('0x36')][_0x76a2('0x40')]);_0x4eaf9b['where']=qs[_0x76a2('0x38')](_[_0x76a2('0x41')](_0x226890['query'],_0x3d695f[_0x76a2('0x38')]),_0x212b0a);if(_0x226890['query']['filter']){_0x4eaf9b[_0x76a2('0x42')]=_[_0x76a2('0x43')](_0x4eaf9b['where'],{'$or':_[_0x76a2('0x31')](_0x212b0a,function(_0x493a93){if(_0x493a93[_0x76a2('0x44')]!==_0x76a2('0x45')){var _0x31753c={};_0x31753c[_0x493a93['name']]={'$like':'%'+_0x226890[_0x76a2('0x36')][_0x76a2('0x46')]+'%'};return _0x31753c;}})});}_0x4eaf9b=_['merge']({},_0x4eaf9b,_0x226890[_0x76a2('0x47')]);var _0x1405bb={'where':_0x4eaf9b[_0x76a2('0x42')]};return db[_0x76a2('0x48')][_0x76a2('0x49')](_0x1405bb)[_0x76a2('0x19')](function(_0x443a97){_0xd7c9b1[_0x76a2('0x49')]=_0x443a97;if(_0x226890['query'][_0x76a2('0x4a')]){_0x4eaf9b[_0x76a2('0x4b')]=[{'all':!![]}];}return db[_0x76a2('0x48')][_0x76a2('0x4c')](_0x4eaf9b);})[_0x76a2('0x19')](function(_0x40edde){_0xd7c9b1['rows']=_0x40edde;return _0xd7c9b1;})[_0x76a2('0x19')](respondWithFilteredResult(_0x32a032,_0x4eaf9b))[_0x76a2('0x22')](handleError(_0x32a032,null));};exports['show']=function(_0x3c4a50,_0x52e1d4){var _0x2f2280={'raw':![],'where':{'id':_0x3c4a50[_0x76a2('0x4d')]['id']}},_0x133e79={};_0x133e79[_0x76a2('0x35')]=_[_0x76a2('0x37')](db['FreshdeskAccount'][_0x76a2('0x32')]);_0x133e79[_0x76a2('0x36')]=_[_0x76a2('0x37')](_0x3c4a50[_0x76a2('0x36')]);_0x133e79[_0x76a2('0x38')]=_[_0x76a2('0x39')](_0x133e79['model'],_0x133e79['query']);_0x2f2280[_0x76a2('0x3a')]=_['intersection'](_0x133e79[_0x76a2('0x35')],qs[_0x76a2('0x3b')](_0x3c4a50[_0x76a2('0x36')][_0x76a2('0x3b')]));_0x2f2280['attributes']=_0x2f2280[_0x76a2('0x3a')]['length']?_0x2f2280['attributes']:_0x133e79[_0x76a2('0x35')];if(_0x3c4a50['query'][_0x76a2('0x4a')]){_0x2f2280['include']=[{'all':!![]}];}_0x2f2280=_[_0x76a2('0x43')]({},_0x2f2280,_0x3c4a50[_0x76a2('0x47')]);return db[_0x76a2('0x48')][_0x76a2('0x4e')](_0x2f2280)[_0x76a2('0x19')](handleEntityNotFound(_0x52e1d4,null))[_0x76a2('0x19')](respondWithResult(_0x52e1d4,null))[_0x76a2('0x22')](handleError(_0x52e1d4,null));};exports[_0x76a2('0x4f')]=function(_0x5723bf,_0x8ebd13){return db[_0x76a2('0x48')][_0x76a2('0x4f')](_0x5723bf['body'],{})[_0x76a2('0x19')](respondWithResult(_0x8ebd13,0xc9))[_0x76a2('0x22')](handleError(_0x8ebd13,null));};exports[_0x76a2('0x2c')]=function(_0x35f8e6,_0x424b4a){if(_0x35f8e6[_0x76a2('0x50')]['id']){delete _0x35f8e6['body']['id'];}return db[_0x76a2('0x48')][_0x76a2('0x4e')]({'where':{'id':_0x35f8e6[_0x76a2('0x4d')]['id']}})['then'](handleEntityNotFound(_0x424b4a,null))[_0x76a2('0x19')](saveUpdates(_0x35f8e6[_0x76a2('0x50')],null))['then'](respondWithResult(_0x424b4a,null))['catch'](handleError(_0x424b4a,null));};exports[_0x76a2('0x2d')]=function(_0x54d5bc,_0x95094d){return db[_0x76a2('0x48')][_0x76a2('0x4e')]({'where':{'id':_0x54d5bc[_0x76a2('0x4d')]['id']}})['then'](handleEntityNotFound(_0x95094d,null))['then'](removeEntity(_0x95094d,null))['catch'](handleError(_0x95094d,null));};exports['getConfigurations']=function(_0x5bb370,_0x633627,_0x1b3b76){var _0x191c99={};var _0x363875={};var _0x32337e;var _0x18a76e;return db[_0x76a2('0x48')][_0x76a2('0x51')]({'where':{'id':_0x5bb370[_0x76a2('0x4d')]['id']}})[_0x76a2('0x19')](handleEntityNotFound(_0x633627,null))[_0x76a2('0x19')](function(_0x45871e){if(_0x45871e){_0x32337e=_0x45871e;_0x363875[_0x76a2('0x35')]=_['keys'](db[_0x76a2('0x52')][_0x76a2('0x32')]);_0x363875[_0x76a2('0x36')]=_[_0x76a2('0x37')](_0x5bb370[_0x76a2('0x36')]);_0x363875['filters']=_['intersection'](_0x363875['model'],_0x363875[_0x76a2('0x36')]);_0x191c99['attributes']=_['intersection'](_0x363875[_0x76a2('0x35')],qs[_0x76a2('0x3b')](_0x5bb370['query']['fields']));_0x191c99[_0x76a2('0x3a')]=_0x191c99[_0x76a2('0x3a')][_0x76a2('0x3c')]?_0x191c99[_0x76a2('0x3a')]:_0x363875[_0x76a2('0x35')];_0x191c99[_0x76a2('0x3f')]=qs[_0x76a2('0x40')](_0x5bb370[_0x76a2('0x36')][_0x76a2('0x40')]);_0x191c99[_0x76a2('0x42')]=qs['filters'](_[_0x76a2('0x41')](_0x5bb370[_0x76a2('0x36')],_0x363875[_0x76a2('0x38')]));if(_0x5bb370[_0x76a2('0x36')]['filter']){_0x191c99['where']=_[_0x76a2('0x43')](_0x191c99['where'],{'$or':_[_0x76a2('0x31')](_0x191c99['attributes'],function(_0x57a0b8){var _0x5e6783={};_0x5e6783[_0x57a0b8]={'$like':'%'+_0x5bb370['query']['filter']+'%'};return _0x5e6783;})});}_0x191c99=_[_0x76a2('0x43')]({},_0x191c99,_0x5bb370['options']);return _0x32337e[_0x76a2('0x53')](_0x191c99);}})[_0x76a2('0x19')](function(_0x57e8c0){if(_0x57e8c0){_0x18a76e=_0x57e8c0[_0x76a2('0x3c')];if(!_0x5bb370[_0x76a2('0x36')][_0x76a2('0x3d')](_0x76a2('0x3e'))){_0x191c99[_0x76a2('0x28')]=qs[_0x76a2('0x28')](_0x5bb370[_0x76a2('0x36')][_0x76a2('0x28')]);_0x191c99[_0x76a2('0x27')]=qs[_0x76a2('0x27')](_0x5bb370[_0x76a2('0x36')][_0x76a2('0x27')]);}return _0x32337e[_0x76a2('0x53')](_0x191c99);}})[_0x76a2('0x19')](function(_0x5709d2){if(_0x5709d2){return _0x5709d2?{'count':_0x18a76e,'rows':_0x5709d2}:null;}})[_0x76a2('0x19')](respondWithResult(_0x633627,null))[_0x76a2('0x22')](handleError(_0x633627,null));};exports['addConfiguration']=function(_0x4524e4,_0x311893,_0x2ab5fb){if(_0x4524e4[_0x76a2('0x50')]['id']){delete _0x4524e4[_0x76a2('0x50')]['id'];}return db[_0x76a2('0x48')][_0x76a2('0x51')]({'where':{'id':_0x4524e4[_0x76a2('0x4d')]['id']}})[_0x76a2('0x19')](handleEntityNotFound(_0x311893,null))[_0x76a2('0x19')](function(_0x28f684){if(_0x28f684){_0x4524e4[_0x76a2('0x50')][_0x76a2('0x54')]=_0x28f684['id'];_0x4524e4[_0x76a2('0x50')][_0x76a2('0x55')]=integrations[_0x76a2('0x56')](_0x4524e4[_0x76a2('0x50')][_0x76a2('0x57')],_0x4524e4[_0x76a2('0x50')]['type']);_0x4524e4[_0x76a2('0x50')][_0x76a2('0x58')]=integrations[_0x76a2('0x59')](_0x4524e4[_0x76a2('0x50')][_0x76a2('0x57')],_0x4524e4['body']['type']);return db[_0x76a2('0x52')][_0x76a2('0x4f')](_0x4524e4[_0x76a2('0x50')],{'include':[{'model':db[_0x76a2('0x5a')],'as':_0x76a2('0x55')},{'model':db[_0x76a2('0x5a')],'as':_0x76a2('0x58')}]});}return null;})['then'](respondWithResult(_0x311893,null))[_0x76a2('0x22')](handleError(_0x311893,null));};exports[_0x76a2('0x5b')]=function(_0x4d2f1f,_0x12676e,_0x4ab612){var _0x4ce30f='';return db[_0x76a2('0x48')]['findOne']({'where':{'id':_0x4d2f1f[_0x76a2('0x4d')]['id']},'attributes':['id',_0x76a2('0x5c'),_0x76a2('0x5d')]})[_0x76a2('0x19')](handleEntityNotFound(_0x12676e,null))[_0x76a2('0x19')](function(_0x54be83){if(_0x54be83){_0x4ce30f=_0x54be83[_0x76a2('0x5c')];var _0x4aec9c=_0x4ce30f[_0x76a2('0x5e')](-0x1);if(_0x4aec9c==='/'){_0x4ce30f=_0x4ce30f['substring'](0x0,_0x4ce30f[_0x76a2('0x5f')](_0x4aec9c));}return rp({'method':_0x76a2('0x60'),'uri':util['format'](_0x76a2('0x61'),_0x4ce30f,_0x76a2('0x62')),'headers':{'Authorization':util[_0x76a2('0x63')](_0x76a2('0x64'),new Buffer(util[_0x76a2('0x63')](_0x76a2('0x65'),_0x54be83[_0x76a2('0x5d')]))['toString'](_0x76a2('0x66')))},'json':!![]});}})['then'](function(_0x3a56b3){if(_0x3a56b3){var _0x3d8489=[_0x76a2('0x67'),_0x76a2('0x68'),_0x76a2('0x69'),'description',_0x76a2('0x25'),_0x76a2('0x6a'),_0x76a2('0x6b'),'source',_0x76a2('0x6c'),'group',_0x76a2('0x6d')];_[_0x76a2('0x6e')](_0x3a56b3,function(_0x4c897d){return _0x3d8489[_0x76a2('0x6f')](_0x4c897d[_0x76a2('0x2f')])||!_0x4c897d[_0x76a2('0x70')]&&_0x4c897d['type']!==_0x76a2('0x71')&&_0x4c897d[_0x76a2('0x44')]!==_0x76a2('0x72');});return{'count':_0x3a56b3[_0x76a2('0x3c')],'rows':_[_0x76a2('0x31')](_0x3a56b3,function(_0x526b75){return{'id':_0x526b75[_0x76a2('0x2f')],'name':_0x526b75[_0x76a2('0x73')],'custom':!_0x526b75[_0x76a2('0x70')],'options':_0x526b75['choices']?_['map'](_0x526b75[_0x76a2('0x74')],function(_0x379326){return{'name':_['capitalize'](_0x379326),'value':_0x379326};}):[]};})};}})[_0x76a2('0x19')](respondWithResult(_0x12676e,null))['catch'](function(_0x4bb29b){var _0x40b43b=_0x4d2f1f[_0x76a2('0x36')][_0x76a2('0x75')]?0x1f4:_0x4bb29b[_0x76a2('0x76')]||0x1f4;logger[_0x76a2('0x1f')](_0x76a2('0x77'),_0x76a2('0x5b'),_0x40b43b,JSON['stringify'](_0x4bb29b));delete _0x4bb29b[_0x76a2('0x2f')];if(_0x40b43b===0x191){_0x40b43b=0x190;}_0x12676e[_0x76a2('0x25')](_0x40b43b)[_0x76a2('0x78')](_0x4d2f1f[_0x76a2('0x36')][_0x76a2('0x75')]?{'message':_0x76a2('0x79'),'statusCode':_0x4bb29b['statusCode']}:_0x4bb29b);});};