Built motion from commit 2b9af5da.|2.6.26
[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 _0x76bc=['%s:X','toString','subject','agent','description','priority','group','ticket_type','company','remove','default','custom_text','custom_dropdown','label','choices','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','send','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','limit','undefined','count','offset','set','Content-Range','apply','reject','update','then','stack','name','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','FreshdeskAccount','include','findAll','rows','catch','body','find','params','destroy','findOne','FreshdeskConfiguration','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','FreshdeskField','remoteUri','apiKey','slice','substring','lastIndexOf','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s'];(function(_0x5780fd,_0x39b057){var _0x2d0395=function(_0x365d55){while(--_0x365d55){_0x5780fd['push'](_0x5780fd['shift']());}};_0x2d0395(++_0x39b057);}(_0x76bc,0x17f));var _0xc76b=function(_0x237f8b,_0xc5eddb){_0x237f8b=_0x237f8b-0x0;var _0x423f94=_0x76bc[_0x237f8b];return _0x423f94;};'use strict';var emlformat=require(_0xc76b('0x0'));var rimraf=require(_0xc76b('0x1'));var zipdir=require(_0xc76b('0x2'));var jsonpatch=require(_0xc76b('0x3'));var rp=require(_0xc76b('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xc76b('0x5'));var util=require(_0xc76b('0x6'));var path=require(_0xc76b('0x7'));var sox=require(_0xc76b('0x8'));var csv=require(_0xc76b('0x9'));var ejs=require(_0xc76b('0xa'));var fs=require('fs');var fs_extra=require(_0xc76b('0xb'));var _=require(_0xc76b('0xc'));var squel=require(_0xc76b('0xd'));var crypto=require(_0xc76b('0xe'));var jsforce=require(_0xc76b('0xf'));var deskjs=require(_0xc76b('0x10'));var toCsv=require(_0xc76b('0x9'));var querystring=require(_0xc76b('0x11'));var Papa=require(_0xc76b('0x12'));var Redis=require(_0xc76b('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xc76b('0x14'));var as=require(_0xc76b('0x15'));var hardwareService=require(_0xc76b('0x16'));var logger=require(_0xc76b('0x17'))(_0xc76b('0x18'));var utils=require(_0xc76b('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xc76b('0x1a'));var db=require(_0xc76b('0x1b'))['db'];var integrations=require(_0xc76b('0x1c'));function respondWithStatusCode(_0xc84b2c,_0x4474cd){_0x4474cd=_0x4474cd||0xcc;return function(_0x161f3a){if(_0x161f3a){return _0xc84b2c[_0xc76b('0x1d')](_0x4474cd);}return _0xc84b2c['status'](_0x4474cd)['end']();};}function respondWithResult(_0x38a0f1,_0x25e4a1){_0x25e4a1=_0x25e4a1||0xc8;return function(_0x33e886){if(_0x33e886){return _0x38a0f1[_0xc76b('0x1e')](_0x25e4a1)[_0xc76b('0x1f')](_0x33e886);}};}function respondWithFilteredResult(_0x5d1130,_0x21d99a){return function(_0x2db167){if(_0x2db167){var _0x17c624=typeof _0x21d99a['offset']==='undefined'&&typeof _0x21d99a[_0xc76b('0x20')]===_0xc76b('0x21');var _0x348b6d=_0x2db167[_0xc76b('0x22')];var _0x20e2a3=_0x17c624?0x0:_0x21d99a['offset'];var _0x48f9c0=_0x17c624?_0x2db167['count']:_0x21d99a[_0xc76b('0x23')]+_0x21d99a[_0xc76b('0x20')];var _0x42fff6;if(_0x48f9c0>=_0x348b6d){_0x48f9c0=_0x348b6d;_0x42fff6=0xc8;}else{_0x42fff6=0xce;}_0x5d1130[_0xc76b('0x1e')](_0x42fff6);return _0x5d1130[_0xc76b('0x24')](_0xc76b('0x25'),_0x20e2a3+'-'+_0x48f9c0+'/'+_0x348b6d)[_0xc76b('0x1f')](_0x2db167);}return null;};}function patchUpdates(_0x20aed4){return function(_0x144f6c){try{jsonpatch[_0xc76b('0x26')](_0x144f6c,_0x20aed4,!![]);}catch(_0x48395b){return BPromise[_0xc76b('0x27')](_0x48395b);}return _0x144f6c['save']();};}function saveUpdates(_0x51fafe,_0x3bbede){return function(_0x475432){if(_0x475432){return _0x475432[_0xc76b('0x28')](_0x51fafe)[_0xc76b('0x29')](function(_0x18332d){return _0x18332d;});}return null;};}function removeEntity(_0xa6a862,_0x24ee9a){return function(_0x6c9ee0){if(_0x6c9ee0){return _0x6c9ee0['destroy']()[_0xc76b('0x29')](function(){_0xa6a862[_0xc76b('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0xf43320,_0x2ac9de){return function(_0x161816){if(!_0x161816){_0xf43320[_0xc76b('0x1d')](0x194);}return _0x161816;};}function handleError(_0x369fc1,_0x451ee1){_0x451ee1=_0x451ee1||0x1f4;return function(_0x54e0ec){logger['error'](_0x54e0ec[_0xc76b('0x2a')]);if(_0x54e0ec[_0xc76b('0x2b')]){delete _0x54e0ec[_0xc76b('0x2b')];}_0x369fc1[_0xc76b('0x1e')](_0x451ee1)['send'](_0x54e0ec);};}exports[_0xc76b('0x2c')]=function(_0x26c19b,_0x35d1bc){var _0x4a0918={},_0x24142f={},_0x2cbdb7={'count':0x0,'rows':[]};var _0x368277=_[_0xc76b('0x2d')](db['FreshdeskAccount'][_0xc76b('0x2e')],function(_0x1c06d6){return{'name':_0x1c06d6[_0xc76b('0x2f')],'type':_0x1c06d6[_0xc76b('0x30')][_0xc76b('0x31')]};});_0x24142f['model']=_[_0xc76b('0x2d')](_0x368277,'name');_0x24142f[_0xc76b('0x32')]=_[_0xc76b('0x33')](_0x26c19b[_0xc76b('0x32')]);_0x24142f[_0xc76b('0x34')]=_[_0xc76b('0x35')](_0x24142f[_0xc76b('0x36')],_0x24142f['query']);_0x4a0918['attributes']=_[_0xc76b('0x35')](_0x24142f[_0xc76b('0x36')],qs[_0xc76b('0x37')](_0x26c19b[_0xc76b('0x32')][_0xc76b('0x37')]));_0x4a0918[_0xc76b('0x38')]=_0x4a0918[_0xc76b('0x38')][_0xc76b('0x39')]?_0x4a0918[_0xc76b('0x38')]:_0x24142f[_0xc76b('0x36')];if(!_0x26c19b[_0xc76b('0x32')][_0xc76b('0x3a')](_0xc76b('0x3b'))){_0x4a0918[_0xc76b('0x20')]=qs[_0xc76b('0x20')](_0x26c19b['query'][_0xc76b('0x20')]);_0x4a0918[_0xc76b('0x23')]=qs[_0xc76b('0x23')](_0x26c19b[_0xc76b('0x32')][_0xc76b('0x23')]);}_0x4a0918[_0xc76b('0x3c')]=qs[_0xc76b('0x3d')](_0x26c19b[_0xc76b('0x32')][_0xc76b('0x3d')]);_0x4a0918[_0xc76b('0x3e')]=qs[_0xc76b('0x34')](_[_0xc76b('0x3f')](_0x26c19b[_0xc76b('0x32')],_0x24142f[_0xc76b('0x34')]),_0x368277);if(_0x26c19b['query'][_0xc76b('0x40')]){_0x4a0918['where']=_[_0xc76b('0x41')](_0x4a0918['where'],{'$or':_[_0xc76b('0x2d')](_0x368277,function(_0xaccb61){if(_0xaccb61[_0xc76b('0x30')]!==_0xc76b('0x42')){var _0x11c6f4={};_0x11c6f4[_0xaccb61['name']]={'$like':'%'+_0x26c19b[_0xc76b('0x32')][_0xc76b('0x40')]+'%'};return _0x11c6f4;}})});}_0x4a0918=_[_0xc76b('0x41')]({},_0x4a0918,_0x26c19b[_0xc76b('0x43')]);var _0x92bcd5={'where':_0x4a0918[_0xc76b('0x3e')]};return db[_0xc76b('0x44')][_0xc76b('0x22')](_0x92bcd5)[_0xc76b('0x29')](function(_0x3e9f77){_0x2cbdb7['count']=_0x3e9f77;if(_0x26c19b[_0xc76b('0x32')]['includeAll']){_0x4a0918[_0xc76b('0x45')]=[{'all':!![]}];}return db[_0xc76b('0x44')][_0xc76b('0x46')](_0x4a0918);})[_0xc76b('0x29')](function(_0x81a7ae){_0x2cbdb7[_0xc76b('0x47')]=_0x81a7ae;return _0x2cbdb7;})[_0xc76b('0x29')](respondWithFilteredResult(_0x35d1bc,_0x4a0918))[_0xc76b('0x48')](handleError(_0x35d1bc,null));};exports['show']=function(_0x2b3d36,_0x4ba8a9){var _0x4b3485={'raw':![],'where':{'id':_0x2b3d36['params']['id']}},_0x225dd8={};_0x225dd8[_0xc76b('0x36')]=_[_0xc76b('0x33')](db[_0xc76b('0x44')][_0xc76b('0x2e')]);_0x225dd8[_0xc76b('0x32')]=_['keys'](_0x2b3d36[_0xc76b('0x32')]);_0x225dd8[_0xc76b('0x34')]=_[_0xc76b('0x35')](_0x225dd8[_0xc76b('0x36')],_0x225dd8[_0xc76b('0x32')]);_0x4b3485[_0xc76b('0x38')]=_[_0xc76b('0x35')](_0x225dd8['model'],qs[_0xc76b('0x37')](_0x2b3d36['query'][_0xc76b('0x37')]));_0x4b3485[_0xc76b('0x38')]=_0x4b3485['attributes'][_0xc76b('0x39')]?_0x4b3485[_0xc76b('0x38')]:_0x225dd8['model'];if(_0x2b3d36[_0xc76b('0x32')]['includeAll']){_0x4b3485[_0xc76b('0x45')]=[{'all':!![]}];}_0x4b3485=_['merge']({},_0x4b3485,_0x2b3d36[_0xc76b('0x43')]);return db[_0xc76b('0x44')]['find'](_0x4b3485)[_0xc76b('0x29')](handleEntityNotFound(_0x4ba8a9,null))[_0xc76b('0x29')](respondWithResult(_0x4ba8a9,null))[_0xc76b('0x48')](handleError(_0x4ba8a9,null));};exports['create']=function(_0x43f414,_0x340c8c){return db[_0xc76b('0x44')]['create'](_0x43f414[_0xc76b('0x49')],{})[_0xc76b('0x29')](respondWithResult(_0x340c8c,0xc9))[_0xc76b('0x48')](handleError(_0x340c8c,null));};exports[_0xc76b('0x28')]=function(_0x4d65eb,_0xa0e0f3){if(_0x4d65eb[_0xc76b('0x49')]['id']){delete _0x4d65eb[_0xc76b('0x49')]['id'];}return db[_0xc76b('0x44')][_0xc76b('0x4a')]({'where':{'id':_0x4d65eb[_0xc76b('0x4b')]['id']}})[_0xc76b('0x29')](handleEntityNotFound(_0xa0e0f3,null))[_0xc76b('0x29')](saveUpdates(_0x4d65eb[_0xc76b('0x49')],null))['then'](respondWithResult(_0xa0e0f3,null))[_0xc76b('0x48')](handleError(_0xa0e0f3,null));};exports[_0xc76b('0x4c')]=function(_0x17b009,_0x5b069d){return db[_0xc76b('0x44')][_0xc76b('0x4a')]({'where':{'id':_0x17b009[_0xc76b('0x4b')]['id']}})[_0xc76b('0x29')](handleEntityNotFound(_0x5b069d,null))[_0xc76b('0x29')](removeEntity(_0x5b069d,null))[_0xc76b('0x48')](handleError(_0x5b069d,null));};exports['getConfigurations']=function(_0xddb2ce,_0x91add4,_0x159fec){var _0x36076d={};var _0x55411e={};var _0x3c2f94;var _0x129f78;return db[_0xc76b('0x44')][_0xc76b('0x4d')]({'where':{'id':_0xddb2ce[_0xc76b('0x4b')]['id']}})[_0xc76b('0x29')](handleEntityNotFound(_0x91add4,null))['then'](function(_0x48cfc1){if(_0x48cfc1){_0x3c2f94=_0x48cfc1;_0x55411e[_0xc76b('0x36')]=_['keys'](db[_0xc76b('0x4e')][_0xc76b('0x2e')]);_0x55411e[_0xc76b('0x32')]=_[_0xc76b('0x33')](_0xddb2ce['query']);_0x55411e[_0xc76b('0x34')]=_['intersection'](_0x55411e[_0xc76b('0x36')],_0x55411e[_0xc76b('0x32')]);_0x36076d[_0xc76b('0x38')]=_['intersection'](_0x55411e[_0xc76b('0x36')],qs[_0xc76b('0x37')](_0xddb2ce[_0xc76b('0x32')][_0xc76b('0x37')]));_0x36076d[_0xc76b('0x38')]=_0x36076d[_0xc76b('0x38')][_0xc76b('0x39')]?_0x36076d['attributes']:_0x55411e[_0xc76b('0x36')];_0x36076d[_0xc76b('0x3c')]=qs[_0xc76b('0x3d')](_0xddb2ce[_0xc76b('0x32')][_0xc76b('0x3d')]);_0x36076d[_0xc76b('0x3e')]=qs['filters'](_[_0xc76b('0x3f')](_0xddb2ce[_0xc76b('0x32')],_0x55411e[_0xc76b('0x34')]));if(_0xddb2ce['query'][_0xc76b('0x40')]){_0x36076d[_0xc76b('0x3e')]=_[_0xc76b('0x41')](_0x36076d[_0xc76b('0x3e')],{'$or':_[_0xc76b('0x2d')](_0x36076d[_0xc76b('0x38')],function(_0x42293f){var _0x1bb0a6={};_0x1bb0a6[_0x42293f]={'$like':'%'+_0xddb2ce['query'][_0xc76b('0x40')]+'%'};return _0x1bb0a6;})});}_0x36076d=_[_0xc76b('0x41')]({},_0x36076d,_0xddb2ce[_0xc76b('0x43')]);return _0x3c2f94[_0xc76b('0x4f')](_0x36076d);}})[_0xc76b('0x29')](function(_0x30658c){if(_0x30658c){_0x129f78=_0x30658c[_0xc76b('0x39')];if(!_0xddb2ce[_0xc76b('0x32')][_0xc76b('0x3a')](_0xc76b('0x3b'))){_0x36076d[_0xc76b('0x20')]=qs[_0xc76b('0x20')](_0xddb2ce['query'][_0xc76b('0x20')]);_0x36076d[_0xc76b('0x23')]=qs['offset'](_0xddb2ce['query'][_0xc76b('0x23')]);}return _0x3c2f94['getConfigurations'](_0x36076d);}})[_0xc76b('0x29')](function(_0x3c7608){if(_0x3c7608){return _0x3c7608?{'count':_0x129f78,'rows':_0x3c7608}:null;}})[_0xc76b('0x29')](respondWithResult(_0x91add4,null))[_0xc76b('0x48')](handleError(_0x91add4,null));};exports[_0xc76b('0x50')]=function(_0x3e6ef7,_0x2f1134,_0xc2f197){if(_0x3e6ef7['body']['id']){delete _0x3e6ef7[_0xc76b('0x49')]['id'];}return db['FreshdeskAccount'][_0xc76b('0x4d')]({'where':{'id':_0x3e6ef7['params']['id']}})['then'](handleEntityNotFound(_0x2f1134,null))['then'](function(_0x21aaf4){if(_0x21aaf4){_0x3e6ef7[_0xc76b('0x49')][_0xc76b('0x51')]=_0x21aaf4['id'];_0x3e6ef7[_0xc76b('0x49')][_0xc76b('0x52')]=integrations[_0xc76b('0x53')](_0x3e6ef7[_0xc76b('0x49')][_0xc76b('0x54')],_0x3e6ef7[_0xc76b('0x49')]['type']);_0x3e6ef7[_0xc76b('0x49')][_0xc76b('0x55')]=integrations['getDescriptions'](_0x3e6ef7[_0xc76b('0x49')]['channel'],_0x3e6ef7[_0xc76b('0x49')]['type']);return db[_0xc76b('0x4e')]['create'](_0x3e6ef7[_0xc76b('0x49')],{'include':[{'model':db[_0xc76b('0x56')],'as':_0xc76b('0x52')},{'model':db[_0xc76b('0x56')],'as':_0xc76b('0x55')}]});}return null;})[_0xc76b('0x29')](respondWithResult(_0x2f1134,null))['catch'](handleError(_0x2f1134,null));};exports['getFields']=function(_0x31682f,_0x914127,_0x3d2050){var _0x439814='';return db[_0xc76b('0x44')]['findOne']({'where':{'id':_0x31682f['params']['id']},'attributes':['id',_0xc76b('0x57'),_0xc76b('0x58')]})['then'](handleEntityNotFound(_0x914127,null))[_0xc76b('0x29')](function(_0x429868){if(_0x429868){_0x439814=_0x429868[_0xc76b('0x57')];var _0x2cca0c=_0x439814[_0xc76b('0x59')](-0x1);if(_0x2cca0c==='/'){_0x439814=_0x439814[_0xc76b('0x5a')](0x0,_0x439814[_0xc76b('0x5b')](_0x2cca0c));}return rp({'method':_0xc76b('0x5c'),'uri':util[_0xc76b('0x5d')](_0xc76b('0x5e'),_0x439814,_0xc76b('0x5f')),'headers':{'Authorization':util[_0xc76b('0x5d')](_0xc76b('0x60'),new Buffer(util[_0xc76b('0x5d')](_0xc76b('0x61'),_0x429868[_0xc76b('0x58')]))[_0xc76b('0x62')]('base64'))},'json':!![]});}})[_0xc76b('0x29')](function(_0x208ebc){if(_0x208ebc){var _0x1c63f5=['requester',_0xc76b('0x63'),_0xc76b('0x64'),_0xc76b('0x65'),_0xc76b('0x1e'),_0xc76b('0x66'),_0xc76b('0x67'),'source',_0xc76b('0x68'),'group',_0xc76b('0x69')];_[_0xc76b('0x6a')](_0x208ebc,function(_0x14e737){return _0x1c63f5['includes'](_0x14e737[_0xc76b('0x2b')])||!_0x14e737[_0xc76b('0x6b')]&&_0x14e737[_0xc76b('0x30')]!==_0xc76b('0x6c')&&_0x14e737[_0xc76b('0x30')]!==_0xc76b('0x6d');});return{'count':_0x208ebc['length'],'rows':_['map'](_0x208ebc,function(_0x3c914d){return{'id':_0x3c914d[_0xc76b('0x2b')],'name':_0x3c914d[_0xc76b('0x6e')],'custom':!_0x3c914d[_0xc76b('0x6b')],'options':_0x3c914d['choices']?_['map'](_0x3c914d[_0xc76b('0x6f')],function(_0x3c16b0){return{'name':_['capitalize'](_0x3c16b0),'value':_0x3c16b0};}):[]};})};}})[_0xc76b('0x29')](respondWithResult(_0x914127,null))[_0xc76b('0x48')](function(_0x3af26a){var _0x37617e=_0x31682f[_0xc76b('0x32')][_0xc76b('0x70')]?0x1f4:_0x3af26a[_0xc76b('0x71')]||0x1f4;logger[_0xc76b('0x72')](_0xc76b('0x73'),_0xc76b('0x74'),_0x37617e,JSON[_0xc76b('0x75')](_0x3af26a));delete _0x3af26a['name'];if(_0x37617e===0x191){_0x37617e=0x190;}_0x914127[_0xc76b('0x1e')](_0x37617e)[_0xc76b('0x76')](_0x31682f[_0xc76b('0x32')][_0xc76b('0x70')]?{'message':_0xc76b('0x77'),'statusCode':_0x3af26a[_0xc76b('0x71')]}:_0x3af26a);});};