Built motion from commit 9d7072cc.|2.5.39
[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 _0x6931=['FreshdeskConfiguration','filter','merge','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','FreshdeskField','getFields','remoteUri','apiKey','slice','substring','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','toString','base64','subject','agent','description','priority','group','source','ticket_type','remove','includes','custom_text','custom_dropdown','label','default','choices','capitalize','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','stringify','send','Wrong\x20credentials','eml-format','rimraf','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../components/integrations/configuration','sendStatus','status','json','offset','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','end','stack','name','index','map','FreshdeskAccount','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','order','sort','where','pick','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','find','catch','create','body','getConfigurations','findOne'];(function(_0x594328,_0x245b08){var _0xceb535=function(_0x12ec44){while(--_0x12ec44){_0x594328['push'](_0x594328['shift']());}};_0xceb535(++_0x245b08);}(_0x6931,0xa5));var _0x1693=function(_0x57664f,_0x48a4e6){_0x57664f=_0x57664f-0x0;var _0x3828db=_0x6931[_0x57664f];return _0x3828db;};'use strict';var emlformat=require(_0x1693('0x0'));var rimraf=require(_0x1693('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1693('0x2'));var moment=require(_0x1693('0x3'));var BPromise=require(_0x1693('0x4'));var Mustache=require('mustache');var util=require(_0x1693('0x5'));var path=require(_0x1693('0x6'));var sox=require(_0x1693('0x7'));var csv=require('to-csv');var ejs=require(_0x1693('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1693('0x9'));var squel=require(_0x1693('0xa'));var crypto=require(_0x1693('0xb'));var jsforce=require(_0x1693('0xc'));var deskjs=require(_0x1693('0xd'));var toCsv=require(_0x1693('0xe'));var querystring=require(_0x1693('0xf'));var Papa=require(_0x1693('0x10'));var Redis=require(_0x1693('0x11'));var authService=require(_0x1693('0x12'));var qs=require(_0x1693('0x13'));var as=require(_0x1693('0x14'));var hardwareService=require(_0x1693('0x15'));var logger=require(_0x1693('0x16'))(_0x1693('0x17'));var utils=require(_0x1693('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x1693('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0x1693('0x1a'));function respondWithStatusCode(_0x25d9fb,_0x541657){_0x541657=_0x541657||0xcc;return function(_0x19b95a){if(_0x19b95a){return _0x25d9fb[_0x1693('0x1b')](_0x541657);}return _0x25d9fb[_0x1693('0x1c')](_0x541657)['end']();};}function respondWithResult(_0x418da9,_0x35814f){_0x35814f=_0x35814f||0xc8;return function(_0x357af7){if(_0x357af7){return _0x418da9[_0x1693('0x1c')](_0x35814f)[_0x1693('0x1d')](_0x357af7);}};}function respondWithFilteredResult(_0x11fc25,_0x4313f1){return function(_0x3ac840){if(_0x3ac840){var _0x17cdb8=typeof _0x4313f1[_0x1693('0x1e')]==='undefined'&&typeof _0x4313f1[_0x1693('0x1f')]==='undefined';var _0x32eaf0=_0x3ac840[_0x1693('0x20')];var _0x2ffa86=_0x17cdb8?0x0:_0x4313f1[_0x1693('0x1e')];var _0x3f5287=_0x17cdb8?_0x3ac840[_0x1693('0x20')]:_0x4313f1[_0x1693('0x1e')]+_0x4313f1[_0x1693('0x1f')];var _0x1af883;if(_0x3f5287>=_0x32eaf0){_0x3f5287=_0x32eaf0;_0x1af883=0xc8;}else{_0x1af883=0xce;}_0x11fc25[_0x1693('0x1c')](_0x1af883);return _0x11fc25[_0x1693('0x21')](_0x1693('0x22'),_0x2ffa86+'-'+_0x3f5287+'/'+_0x32eaf0)[_0x1693('0x1d')](_0x3ac840);}return null;};}function patchUpdates(_0x3fe732){return function(_0x1ed777){try{jsonpatch[_0x1693('0x23')](_0x1ed777,_0x3fe732,!![]);}catch(_0x4ae3e6){return BPromise[_0x1693('0x24')](_0x4ae3e6);}return _0x1ed777[_0x1693('0x25')]();};}function saveUpdates(_0x5332ae,_0x28bbc6){return function(_0x133188){if(_0x133188){return _0x133188[_0x1693('0x26')](_0x5332ae)[_0x1693('0x27')](function(_0xff18f){return _0xff18f;});}return null;};}function removeEntity(_0x588ebe,_0x28749b){return function(_0x46311f){if(_0x46311f){return _0x46311f[_0x1693('0x28')]()['then'](function(){_0x588ebe[_0x1693('0x1c')](0xcc)[_0x1693('0x29')]();});}};}function handleEntityNotFound(_0x5c81a7,_0x236d80){return function(_0x33fd5f){if(!_0x33fd5f){_0x5c81a7['sendStatus'](0x194);}return _0x33fd5f;};}function handleError(_0x5365fc,_0x5655dd){_0x5655dd=_0x5655dd||0x1f4;return function(_0xb61002){logger['error'](_0xb61002[_0x1693('0x2a')]);if(_0xb61002[_0x1693('0x2b')]){delete _0xb61002[_0x1693('0x2b')];}_0x5365fc[_0x1693('0x1c')](_0x5655dd)['send'](_0xb61002);};}exports[_0x1693('0x2c')]=function(_0xc62c54,_0x50979c){var _0x37bce9={},_0x1fe262={},_0x175922={'count':0x0,'rows':[]};var _0x4d30f4=_[_0x1693('0x2d')](db[_0x1693('0x2e')][_0x1693('0x2f')],function(_0x85bd1f){return{'name':_0x85bd1f[_0x1693('0x30')],'type':_0x85bd1f[_0x1693('0x31')][_0x1693('0x32')]};});_0x1fe262[_0x1693('0x33')]=_[_0x1693('0x2d')](_0x4d30f4,'name');_0x1fe262['query']=_['keys'](_0xc62c54[_0x1693('0x34')]);_0x1fe262[_0x1693('0x35')]=_['intersection'](_0x1fe262[_0x1693('0x33')],_0x1fe262[_0x1693('0x34')]);_0x37bce9['attributes']=_[_0x1693('0x36')](_0x1fe262[_0x1693('0x33')],qs[_0x1693('0x37')](_0xc62c54[_0x1693('0x34')]['fields']));_0x37bce9[_0x1693('0x38')]=_0x37bce9['attributes'][_0x1693('0x39')]?_0x37bce9[_0x1693('0x38')]:_0x1fe262['model'];if(!_0xc62c54[_0x1693('0x34')]['hasOwnProperty']('nolimit')){_0x37bce9['limit']=qs['limit'](_0xc62c54['query'][_0x1693('0x1f')]);_0x37bce9[_0x1693('0x1e')]=qs[_0x1693('0x1e')](_0xc62c54['query'][_0x1693('0x1e')]);}_0x37bce9[_0x1693('0x3a')]=qs[_0x1693('0x3b')](_0xc62c54[_0x1693('0x34')][_0x1693('0x3b')]);_0x37bce9[_0x1693('0x3c')]=qs['filters'](_[_0x1693('0x3d')](_0xc62c54[_0x1693('0x34')],_0x1fe262[_0x1693('0x35')]),_0x4d30f4);if(_0xc62c54[_0x1693('0x34')]['filter']){_0x37bce9[_0x1693('0x3c')]=_['merge'](_0x37bce9[_0x1693('0x3c')],{'$or':_[_0x1693('0x2d')](_0x4d30f4,function(_0x35f71d){if(_0x35f71d[_0x1693('0x31')]!==_0x1693('0x3e')){var _0x242f59={};_0x242f59[_0x35f71d[_0x1693('0x2b')]]={'$like':'%'+_0xc62c54[_0x1693('0x34')]['filter']+'%'};return _0x242f59;}})});}_0x37bce9=_['merge']({},_0x37bce9,_0xc62c54[_0x1693('0x3f')]);var _0x2fa914={'where':_0x37bce9['where']};return db[_0x1693('0x2e')][_0x1693('0x20')](_0x2fa914)[_0x1693('0x27')](function(_0x4bd572){_0x175922[_0x1693('0x20')]=_0x4bd572;if(_0xc62c54['query'][_0x1693('0x40')]){_0x37bce9[_0x1693('0x41')]=[{'all':!![]}];}return db['FreshdeskAccount'][_0x1693('0x42')](_0x37bce9);})[_0x1693('0x27')](function(_0x2900ae){_0x175922[_0x1693('0x43')]=_0x2900ae;return _0x175922;})[_0x1693('0x27')](respondWithFilteredResult(_0x50979c,_0x37bce9))['catch'](handleError(_0x50979c,null));};exports[_0x1693('0x44')]=function(_0x30c864,_0x290668){var _0x1ca464={'raw':![],'where':{'id':_0x30c864[_0x1693('0x45')]['id']}},_0x382c57={};_0x382c57['model']=_[_0x1693('0x46')](db[_0x1693('0x2e')][_0x1693('0x2f')]);_0x382c57[_0x1693('0x34')]=_['keys'](_0x30c864['query']);_0x382c57[_0x1693('0x35')]=_[_0x1693('0x36')](_0x382c57[_0x1693('0x33')],_0x382c57['query']);_0x1ca464[_0x1693('0x38')]=_[_0x1693('0x36')](_0x382c57[_0x1693('0x33')],qs[_0x1693('0x37')](_0x30c864[_0x1693('0x34')]['fields']));_0x1ca464[_0x1693('0x38')]=_0x1ca464[_0x1693('0x38')]['length']?_0x1ca464[_0x1693('0x38')]:_0x382c57[_0x1693('0x33')];if(_0x30c864[_0x1693('0x34')][_0x1693('0x40')]){_0x1ca464[_0x1693('0x41')]=[{'all':!![]}];}_0x1ca464=_['merge']({},_0x1ca464,_0x30c864[_0x1693('0x3f')]);return db['FreshdeskAccount'][_0x1693('0x47')](_0x1ca464)[_0x1693('0x27')](handleEntityNotFound(_0x290668,null))[_0x1693('0x27')](respondWithResult(_0x290668,null))[_0x1693('0x48')](handleError(_0x290668,null));};exports[_0x1693('0x49')]=function(_0x425f54,_0x348187){return db[_0x1693('0x2e')][_0x1693('0x49')](_0x425f54['body'],{})['then'](respondWithResult(_0x348187,0xc9))['catch'](handleError(_0x348187,null));};exports[_0x1693('0x26')]=function(_0x36b9f1,_0x585509){if(_0x36b9f1[_0x1693('0x4a')]['id']){delete _0x36b9f1['body']['id'];}return db[_0x1693('0x2e')][_0x1693('0x47')]({'where':{'id':_0x36b9f1[_0x1693('0x45')]['id']}})[_0x1693('0x27')](handleEntityNotFound(_0x585509,null))[_0x1693('0x27')](saveUpdates(_0x36b9f1[_0x1693('0x4a')],null))['then'](respondWithResult(_0x585509,null))[_0x1693('0x48')](handleError(_0x585509,null));};exports[_0x1693('0x28')]=function(_0x48b408,_0x231101){return db['FreshdeskAccount']['find']({'where':{'id':_0x48b408['params']['id']}})[_0x1693('0x27')](handleEntityNotFound(_0x231101,null))[_0x1693('0x27')](removeEntity(_0x231101,null))[_0x1693('0x48')](handleError(_0x231101,null));};exports[_0x1693('0x4b')]=function(_0x49998a,_0x3d44f1,_0x1242bb){var _0x45fe5a={};var _0x59e996={};var _0x3ce2e7;var _0x460e39;return db[_0x1693('0x2e')][_0x1693('0x4c')]({'where':{'id':_0x49998a[_0x1693('0x45')]['id']}})[_0x1693('0x27')](handleEntityNotFound(_0x3d44f1,null))[_0x1693('0x27')](function(_0xcc9619){if(_0xcc9619){_0x3ce2e7=_0xcc9619;_0x59e996['model']=_[_0x1693('0x46')](db[_0x1693('0x4d')]['rawAttributes']);_0x59e996[_0x1693('0x34')]=_[_0x1693('0x46')](_0x49998a[_0x1693('0x34')]);_0x59e996[_0x1693('0x35')]=_[_0x1693('0x36')](_0x59e996[_0x1693('0x33')],_0x59e996[_0x1693('0x34')]);_0x45fe5a[_0x1693('0x38')]=_['intersection'](_0x59e996[_0x1693('0x33')],qs[_0x1693('0x37')](_0x49998a[_0x1693('0x34')][_0x1693('0x37')]));_0x45fe5a[_0x1693('0x38')]=_0x45fe5a[_0x1693('0x38')][_0x1693('0x39')]?_0x45fe5a[_0x1693('0x38')]:_0x59e996[_0x1693('0x33')];_0x45fe5a[_0x1693('0x3a')]=qs[_0x1693('0x3b')](_0x49998a[_0x1693('0x34')][_0x1693('0x3b')]);_0x45fe5a[_0x1693('0x3c')]=qs['filters'](_[_0x1693('0x3d')](_0x49998a[_0x1693('0x34')],_0x59e996[_0x1693('0x35')]));if(_0x49998a[_0x1693('0x34')][_0x1693('0x4e')]){_0x45fe5a['where']=_[_0x1693('0x4f')](_0x45fe5a['where'],{'$or':_[_0x1693('0x2d')](_0x45fe5a[_0x1693('0x38')],function(_0x24cd0b){var _0x153f85={};_0x153f85[_0x24cd0b]={'$like':'%'+_0x49998a[_0x1693('0x34')][_0x1693('0x4e')]+'%'};return _0x153f85;})});}_0x45fe5a=_[_0x1693('0x4f')]({},_0x45fe5a,_0x49998a[_0x1693('0x3f')]);return _0x3ce2e7['getConfigurations'](_0x45fe5a);}})[_0x1693('0x27')](function(_0x4bb634){if(_0x4bb634){_0x460e39=_0x4bb634[_0x1693('0x39')];if(!_0x49998a['query'][_0x1693('0x50')]('nolimit')){_0x45fe5a[_0x1693('0x1f')]=qs[_0x1693('0x1f')](_0x49998a[_0x1693('0x34')][_0x1693('0x1f')]);_0x45fe5a['offset']=qs['offset'](_0x49998a[_0x1693('0x34')]['offset']);}return _0x3ce2e7[_0x1693('0x4b')](_0x45fe5a);}})[_0x1693('0x27')](function(_0x16c3ea){if(_0x16c3ea){return _0x16c3ea?{'count':_0x460e39,'rows':_0x16c3ea}:null;}})['then'](respondWithResult(_0x3d44f1,null))[_0x1693('0x48')](handleError(_0x3d44f1,null));};exports[_0x1693('0x51')]=function(_0x2c82fd,_0x122367,_0x248ba3){if(_0x2c82fd[_0x1693('0x4a')]['id']){delete _0x2c82fd[_0x1693('0x4a')]['id'];}return db[_0x1693('0x2e')]['findOne']({'where':{'id':_0x2c82fd[_0x1693('0x45')]['id']}})[_0x1693('0x27')](handleEntityNotFound(_0x122367,null))[_0x1693('0x27')](function(_0x3d4cec){if(_0x3d4cec){_0x2c82fd['body'][_0x1693('0x52')]=_0x3d4cec['id'];_0x2c82fd[_0x1693('0x4a')][_0x1693('0x53')]=integrations[_0x1693('0x54')](_0x2c82fd['body']['channel'],_0x2c82fd[_0x1693('0x4a')][_0x1693('0x31')]);_0x2c82fd['body'][_0x1693('0x55')]=integrations['getDescriptions'](_0x2c82fd[_0x1693('0x4a')]['channel'],_0x2c82fd[_0x1693('0x4a')][_0x1693('0x31')]);return db['FreshdeskConfiguration']['create'](_0x2c82fd[_0x1693('0x4a')],{'include':[{'model':db[_0x1693('0x56')],'as':'Subjects'},{'model':db[_0x1693('0x56')],'as':_0x1693('0x55')}]});}return null;})[_0x1693('0x27')](respondWithResult(_0x122367,null))[_0x1693('0x48')](handleError(_0x122367,null));};exports[_0x1693('0x57')]=function(_0x15a823,_0x1ac7af,_0x4a077e){var _0xc38539='';return db[_0x1693('0x2e')]['findOne']({'where':{'id':_0x15a823[_0x1693('0x45')]['id']},'attributes':['id',_0x1693('0x58'),_0x1693('0x59')]})[_0x1693('0x27')](handleEntityNotFound(_0x1ac7af,null))['then'](function(_0x42b7ac){if(_0x42b7ac){_0xc38539=_0x42b7ac[_0x1693('0x58')];var _0x2e9853=_0xc38539[_0x1693('0x5a')](-0x1);if(_0x2e9853==='/'){_0xc38539=_0xc38539[_0x1693('0x5b')](0x0,_0xc38539['lastIndexOf'](_0x2e9853));}return rp({'method':_0x1693('0x5c'),'uri':util[_0x1693('0x5d')](_0x1693('0x5e'),_0xc38539,_0x1693('0x5f')),'headers':{'Authorization':util[_0x1693('0x5d')](_0x1693('0x60'),new Buffer(util[_0x1693('0x5d')]('%s:X',_0x42b7ac[_0x1693('0x59')]))[_0x1693('0x61')](_0x1693('0x62')))},'json':!![]});}})['then'](function(_0x4d2d28){if(_0x4d2d28){var _0x286d4e=['requester',_0x1693('0x63'),_0x1693('0x64'),_0x1693('0x65'),'status',_0x1693('0x66'),_0x1693('0x67'),_0x1693('0x68'),_0x1693('0x69'),_0x1693('0x67'),'company'];_[_0x1693('0x6a')](_0x4d2d28,function(_0x14a72f){return _0x286d4e[_0x1693('0x6b')](_0x14a72f[_0x1693('0x2b')])||!_0x14a72f['default']&&_0x14a72f[_0x1693('0x31')]!==_0x1693('0x6c')&&_0x14a72f[_0x1693('0x31')]!==_0x1693('0x6d');});return{'count':_0x4d2d28[_0x1693('0x39')],'rows':_[_0x1693('0x2d')](_0x4d2d28,function(_0x3d2a6f){return{'id':_0x3d2a6f[_0x1693('0x2b')],'name':_0x3d2a6f[_0x1693('0x6e')],'custom':!_0x3d2a6f[_0x1693('0x6f')],'options':_0x3d2a6f[_0x1693('0x70')]?_['map'](_0x3d2a6f[_0x1693('0x70')],function(_0x42d60c){return{'name':_[_0x1693('0x71')](_0x42d60c),'value':_0x42d60c};}):[]};})};}})[_0x1693('0x27')](respondWithResult(_0x1ac7af,null))[_0x1693('0x48')](function(_0x3eb4e6){var _0x45cda6=_0x15a823[_0x1693('0x34')][_0x1693('0x72')]?0x1f4:_0x3eb4e6[_0x1693('0x73')]||0x1f4;logger[_0x1693('0x74')](_0x1693('0x75'),_0x1693('0x57'),_0x45cda6,JSON[_0x1693('0x76')](_0x3eb4e6));delete _0x3eb4e6['name'];if(_0x45cda6===0x191){_0x45cda6=0x190;}_0x1ac7af[_0x1693('0x1c')](_0x45cda6)[_0x1693('0x77')](_0x15a823[_0x1693('0x34')]['test']?{'message':_0x1693('0x78'),'statusCode':_0x3eb4e6[_0x1693('0x73')]}:_0x3eb4e6);});};