Built motion from commit b0a9a629.|2.6.33
[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 _0xc820=['then','destroy','sendStatus','stack','name','send','index','FreshdeskAccount','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','rows','catch','params','rawAttributes','length','create','body','find','findOne','FreshdeskConfiguration','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshdeskField','getFields','apiKey','remoteUri','slice','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','%s:X','base64','requester','subject','agent','priority','source','ticket_type','group','company','remove','includes','default','custom_text','label','choices','test','error','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','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/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','status','end','json','undefined','limit','offset','count','set','apply','reject','save','update'];(function(_0x1b4180,_0x4f1d53){var _0x21e6b0=function(_0x5577b1){while(--_0x5577b1){_0x1b4180['push'](_0x1b4180['shift']());}};_0x21e6b0(++_0x4f1d53);}(_0xc820,0x13f));var _0x0c82=function(_0x458882,_0x4cea4e){_0x458882=_0x458882-0x0;var _0x4a7970=_0xc820[_0x458882];return _0x4a7970;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0c82('0x0'));var zipdir=require(_0x0c82('0x1'));var jsonpatch=require(_0x0c82('0x2'));var rp=require(_0x0c82('0x3'));var moment=require(_0x0c82('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0c82('0x5'));var util=require('util');var path=require(_0x0c82('0x6'));var sox=require(_0x0c82('0x7'));var csv=require(_0x0c82('0x8'));var ejs=require(_0x0c82('0x9'));var fs=require('fs');var fs_extra=require(_0x0c82('0xa'));var _=require(_0x0c82('0xb'));var squel=require(_0x0c82('0xc'));var crypto=require(_0x0c82('0xd'));var jsforce=require(_0x0c82('0xe'));var deskjs=require(_0x0c82('0xf'));var toCsv=require(_0x0c82('0x8'));var querystring=require(_0x0c82('0x10'));var Papa=require(_0x0c82('0x11'));var Redis=require(_0x0c82('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x0c82('0x13'));var as=require(_0x0c82('0x14'));var hardwareService=require(_0x0c82('0x15'));var logger=require(_0x0c82('0x16'))(_0x0c82('0x17'));var utils=require(_0x0c82('0x18'));var config=require(_0x0c82('0x19'));var licenseUtil=require(_0x0c82('0x1a'));var db=require(_0x0c82('0x1b'))['db'];var integrations=require(_0x0c82('0x1c'));function respondWithStatusCode(_0x505706,_0xc9a01b){_0xc9a01b=_0xc9a01b||0xcc;return function(_0x54b6da){if(_0x54b6da){return _0x505706['sendStatus'](_0xc9a01b);}return _0x505706[_0x0c82('0x1d')](_0xc9a01b)[_0x0c82('0x1e')]();};}function respondWithResult(_0x3e1ff8,_0x1bf511){_0x1bf511=_0x1bf511||0xc8;return function(_0x20439a){if(_0x20439a){return _0x3e1ff8['status'](_0x1bf511)[_0x0c82('0x1f')](_0x20439a);}};}function respondWithFilteredResult(_0x17376c,_0x693427){return function(_0x54caf2){if(_0x54caf2){var _0x44033d=typeof _0x693427['offset']===_0x0c82('0x20')&&typeof _0x693427[_0x0c82('0x21')]===_0x0c82('0x20');var _0x5c5b3a=_0x54caf2['count'];var _0x3e2478=_0x44033d?0x0:_0x693427[_0x0c82('0x22')];var _0x49231a=_0x44033d?_0x54caf2[_0x0c82('0x23')]:_0x693427['offset']+_0x693427[_0x0c82('0x21')];var _0x3aa4c3;if(_0x49231a>=_0x5c5b3a){_0x49231a=_0x5c5b3a;_0x3aa4c3=0xc8;}else{_0x3aa4c3=0xce;}_0x17376c['status'](_0x3aa4c3);return _0x17376c[_0x0c82('0x24')]('Content-Range',_0x3e2478+'-'+_0x49231a+'/'+_0x5c5b3a)[_0x0c82('0x1f')](_0x54caf2);}return null;};}function patchUpdates(_0x55e106){return function(_0xf2ff44){try{jsonpatch[_0x0c82('0x25')](_0xf2ff44,_0x55e106,!![]);}catch(_0x599ca8){return BPromise[_0x0c82('0x26')](_0x599ca8);}return _0xf2ff44[_0x0c82('0x27')]();};}function saveUpdates(_0x8a6e02,_0x4a4a04){return function(_0x2a576a){if(_0x2a576a){return _0x2a576a[_0x0c82('0x28')](_0x8a6e02)[_0x0c82('0x29')](function(_0x1d2691){return _0x1d2691;});}return null;};}function removeEntity(_0x514993,_0x2bcc7f){return function(_0x242f79){if(_0x242f79){return _0x242f79[_0x0c82('0x2a')]()[_0x0c82('0x29')](function(){_0x514993[_0x0c82('0x1d')](0xcc)[_0x0c82('0x1e')]();});}};}function handleEntityNotFound(_0x807d12,_0x590553){return function(_0xf08c1){if(!_0xf08c1){_0x807d12[_0x0c82('0x2b')](0x194);}return _0xf08c1;};}function handleError(_0x4e7f33,_0x17031f){_0x17031f=_0x17031f||0x1f4;return function(_0x4aa36f){logger['error'](_0x4aa36f[_0x0c82('0x2c')]);if(_0x4aa36f[_0x0c82('0x2d')]){delete _0x4aa36f[_0x0c82('0x2d')];}_0x4e7f33[_0x0c82('0x1d')](_0x17031f)[_0x0c82('0x2e')](_0x4aa36f);};}exports[_0x0c82('0x2f')]=function(_0x4c58e1,_0x206283){var _0x5ab0c7={},_0x548e98={},_0x17b569={'count':0x0,'rows':[]};var _0x596232=_['map'](db[_0x0c82('0x30')]['rawAttributes'],function(_0x57442c){return{'name':_0x57442c[_0x0c82('0x31')],'type':_0x57442c[_0x0c82('0x32')][_0x0c82('0x33')]};});_0x548e98[_0x0c82('0x34')]=_[_0x0c82('0x35')](_0x596232,_0x0c82('0x2d'));_0x548e98[_0x0c82('0x36')]=_[_0x0c82('0x37')](_0x4c58e1[_0x0c82('0x36')]);_0x548e98[_0x0c82('0x38')]=_[_0x0c82('0x39')](_0x548e98[_0x0c82('0x34')],_0x548e98['query']);_0x5ab0c7['attributes']=_[_0x0c82('0x39')](_0x548e98[_0x0c82('0x34')],qs[_0x0c82('0x3a')](_0x4c58e1[_0x0c82('0x36')][_0x0c82('0x3a')]));_0x5ab0c7[_0x0c82('0x3b')]=_0x5ab0c7[_0x0c82('0x3b')]['length']?_0x5ab0c7[_0x0c82('0x3b')]:_0x548e98[_0x0c82('0x34')];if(!_0x4c58e1['query'][_0x0c82('0x3c')]('nolimit')){_0x5ab0c7['limit']=qs[_0x0c82('0x21')](_0x4c58e1['query']['limit']);_0x5ab0c7[_0x0c82('0x22')]=qs[_0x0c82('0x22')](_0x4c58e1[_0x0c82('0x36')][_0x0c82('0x22')]);}_0x5ab0c7[_0x0c82('0x3d')]=qs[_0x0c82('0x3e')](_0x4c58e1['query']['sort']);_0x5ab0c7[_0x0c82('0x3f')]=qs[_0x0c82('0x38')](_[_0x0c82('0x40')](_0x4c58e1['query'],_0x548e98[_0x0c82('0x38')]),_0x596232);if(_0x4c58e1[_0x0c82('0x36')]['filter']){_0x5ab0c7[_0x0c82('0x3f')]=_[_0x0c82('0x41')](_0x5ab0c7['where'],{'$or':_[_0x0c82('0x35')](_0x596232,function(_0x2da3dc){if(_0x2da3dc[_0x0c82('0x32')]!==_0x0c82('0x42')){var _0x5dcb49={};_0x5dcb49[_0x2da3dc[_0x0c82('0x2d')]]={'$like':'%'+_0x4c58e1[_0x0c82('0x36')][_0x0c82('0x43')]+'%'};return _0x5dcb49;}})});}_0x5ab0c7=_[_0x0c82('0x41')]({},_0x5ab0c7,_0x4c58e1[_0x0c82('0x44')]);var _0x2fa180={'where':_0x5ab0c7[_0x0c82('0x3f')]};return db['FreshdeskAccount'][_0x0c82('0x23')](_0x2fa180)[_0x0c82('0x29')](function(_0x534ec5){_0x17b569[_0x0c82('0x23')]=_0x534ec5;if(_0x4c58e1[_0x0c82('0x36')][_0x0c82('0x45')]){_0x5ab0c7[_0x0c82('0x46')]=[{'all':!![]}];}return db['FreshdeskAccount']['findAll'](_0x5ab0c7);})[_0x0c82('0x29')](function(_0x557b29){_0x17b569[_0x0c82('0x47')]=_0x557b29;return _0x17b569;})[_0x0c82('0x29')](respondWithFilteredResult(_0x206283,_0x5ab0c7))[_0x0c82('0x48')](handleError(_0x206283,null));};exports['show']=function(_0x4b3257,_0x3b09f6){var _0x161077={'raw':![],'where':{'id':_0x4b3257[_0x0c82('0x49')]['id']}},_0x3a7ba2={};_0x3a7ba2[_0x0c82('0x34')]=_['keys'](db['FreshdeskAccount'][_0x0c82('0x4a')]);_0x3a7ba2['query']=_['keys'](_0x4b3257['query']);_0x3a7ba2[_0x0c82('0x38')]=_[_0x0c82('0x39')](_0x3a7ba2['model'],_0x3a7ba2[_0x0c82('0x36')]);_0x161077[_0x0c82('0x3b')]=_[_0x0c82('0x39')](_0x3a7ba2['model'],qs['fields'](_0x4b3257[_0x0c82('0x36')]['fields']));_0x161077[_0x0c82('0x3b')]=_0x161077[_0x0c82('0x3b')][_0x0c82('0x4b')]?_0x161077[_0x0c82('0x3b')]:_0x3a7ba2[_0x0c82('0x34')];if(_0x4b3257[_0x0c82('0x36')][_0x0c82('0x45')]){_0x161077[_0x0c82('0x46')]=[{'all':!![]}];}_0x161077=_[_0x0c82('0x41')]({},_0x161077,_0x4b3257[_0x0c82('0x44')]);return db[_0x0c82('0x30')]['find'](_0x161077)['then'](handleEntityNotFound(_0x3b09f6,null))[_0x0c82('0x29')](respondWithResult(_0x3b09f6,null))[_0x0c82('0x48')](handleError(_0x3b09f6,null));};exports[_0x0c82('0x4c')]=function(_0x4b0660,_0x4383cf){return db[_0x0c82('0x30')][_0x0c82('0x4c')](_0x4b0660['body'],{})['then'](respondWithResult(_0x4383cf,0xc9))[_0x0c82('0x48')](handleError(_0x4383cf,null));};exports[_0x0c82('0x28')]=function(_0x4e789d,_0x221efc){if(_0x4e789d['body']['id']){delete _0x4e789d[_0x0c82('0x4d')]['id'];}return db[_0x0c82('0x30')]['find']({'where':{'id':_0x4e789d[_0x0c82('0x49')]['id']}})[_0x0c82('0x29')](handleEntityNotFound(_0x221efc,null))[_0x0c82('0x29')](saveUpdates(_0x4e789d[_0x0c82('0x4d')],null))[_0x0c82('0x29')](respondWithResult(_0x221efc,null))[_0x0c82('0x48')](handleError(_0x221efc,null));};exports['destroy']=function(_0x5cf09e,_0x7d9138){return db[_0x0c82('0x30')][_0x0c82('0x4e')]({'where':{'id':_0x5cf09e[_0x0c82('0x49')]['id']}})[_0x0c82('0x29')](handleEntityNotFound(_0x7d9138,null))[_0x0c82('0x29')](removeEntity(_0x7d9138,null))[_0x0c82('0x48')](handleError(_0x7d9138,null));};exports['getConfigurations']=function(_0x584e0d,_0xec04c9,_0x5dfb0b){var _0x195ed3={};var _0x432791={};var _0x5e3328;var _0x367726;return db[_0x0c82('0x30')][_0x0c82('0x4f')]({'where':{'id':_0x584e0d[_0x0c82('0x49')]['id']}})['then'](handleEntityNotFound(_0xec04c9,null))[_0x0c82('0x29')](function(_0x2e7fe5){if(_0x2e7fe5){_0x5e3328=_0x2e7fe5;_0x432791[_0x0c82('0x34')]=_[_0x0c82('0x37')](db[_0x0c82('0x50')]['rawAttributes']);_0x432791[_0x0c82('0x36')]=_[_0x0c82('0x37')](_0x584e0d[_0x0c82('0x36')]);_0x432791[_0x0c82('0x38')]=_[_0x0c82('0x39')](_0x432791[_0x0c82('0x34')],_0x432791[_0x0c82('0x36')]);_0x195ed3[_0x0c82('0x3b')]=_['intersection'](_0x432791[_0x0c82('0x34')],qs[_0x0c82('0x3a')](_0x584e0d[_0x0c82('0x36')][_0x0c82('0x3a')]));_0x195ed3[_0x0c82('0x3b')]=_0x195ed3[_0x0c82('0x3b')][_0x0c82('0x4b')]?_0x195ed3[_0x0c82('0x3b')]:_0x432791[_0x0c82('0x34')];_0x195ed3[_0x0c82('0x3d')]=qs[_0x0c82('0x3e')](_0x584e0d[_0x0c82('0x36')][_0x0c82('0x3e')]);_0x195ed3['where']=qs[_0x0c82('0x38')](_[_0x0c82('0x40')](_0x584e0d['query'],_0x432791[_0x0c82('0x38')]));if(_0x584e0d['query']['filter']){_0x195ed3['where']=_[_0x0c82('0x41')](_0x195ed3[_0x0c82('0x3f')],{'$or':_[_0x0c82('0x35')](_0x195ed3[_0x0c82('0x3b')],function(_0x2383e7){var _0x372a8e={};_0x372a8e[_0x2383e7]={'$like':'%'+_0x584e0d[_0x0c82('0x36')][_0x0c82('0x43')]+'%'};return _0x372a8e;})});}_0x195ed3=_[_0x0c82('0x41')]({},_0x195ed3,_0x584e0d['options']);return _0x5e3328[_0x0c82('0x51')](_0x195ed3);}})['then'](function(_0x51d773){if(_0x51d773){_0x367726=_0x51d773['length'];if(!_0x584e0d['query']['hasOwnProperty']('nolimit')){_0x195ed3[_0x0c82('0x21')]=qs[_0x0c82('0x21')](_0x584e0d[_0x0c82('0x36')][_0x0c82('0x21')]);_0x195ed3[_0x0c82('0x22')]=qs['offset'](_0x584e0d['query']['offset']);}return _0x5e3328[_0x0c82('0x51')](_0x195ed3);}})['then'](function(_0x38dfce){if(_0x38dfce){return _0x38dfce?{'count':_0x367726,'rows':_0x38dfce}:null;}})['then'](respondWithResult(_0xec04c9,null))['catch'](handleError(_0xec04c9,null));};exports[_0x0c82('0x52')]=function(_0x1ad770,_0xd72773,_0x3e2afc){if(_0x1ad770['body']['id']){delete _0x1ad770[_0x0c82('0x4d')]['id'];}return db[_0x0c82('0x30')][_0x0c82('0x4f')]({'where':{'id':_0x1ad770['params']['id']}})[_0x0c82('0x29')](handleEntityNotFound(_0xd72773,null))['then'](function(_0x5d6b84){if(_0x5d6b84){_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x53')]=_0x5d6b84['id'];_0x1ad770['body'][_0x0c82('0x54')]=integrations[_0x0c82('0x55')](_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x56')],_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x32')]);_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x57')]=integrations[_0x0c82('0x58')](_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x56')],_0x1ad770[_0x0c82('0x4d')][_0x0c82('0x32')]);return db['FreshdeskConfiguration'][_0x0c82('0x4c')](_0x1ad770['body'],{'include':[{'model':db['FreshdeskField'],'as':_0x0c82('0x54')},{'model':db[_0x0c82('0x59')],'as':_0x0c82('0x57')}]});}return null;})[_0x0c82('0x29')](respondWithResult(_0xd72773,null))['catch'](handleError(_0xd72773,null));};exports[_0x0c82('0x5a')]=function(_0x105130,_0x43c5a6,_0x548731){var _0xe1bfd0='';return db[_0x0c82('0x30')][_0x0c82('0x4f')]({'where':{'id':_0x105130['params']['id']},'attributes':['id','remoteUri',_0x0c82('0x5b')]})[_0x0c82('0x29')](handleEntityNotFound(_0x43c5a6,null))[_0x0c82('0x29')](function(_0x1825d4){if(_0x1825d4){_0xe1bfd0=_0x1825d4[_0x0c82('0x5c')];var _0x2d66a6=_0xe1bfd0[_0x0c82('0x5d')](-0x1);if(_0x2d66a6==='/'){_0xe1bfd0=_0xe1bfd0['substring'](0x0,_0xe1bfd0['lastIndexOf'](_0x2d66a6));}return rp({'method':_0x0c82('0x5e'),'uri':util[_0x0c82('0x5f')](_0x0c82('0x60'),_0xe1bfd0,_0x0c82('0x61')),'headers':{'Authorization':util[_0x0c82('0x5f')](_0x0c82('0x62'),new Buffer(util[_0x0c82('0x5f')](_0x0c82('0x63'),_0x1825d4['apiKey']))['toString'](_0x0c82('0x64')))},'json':!![]});}})[_0x0c82('0x29')](function(_0x2bd532){if(_0x2bd532){var _0x38c0bf=[_0x0c82('0x65'),_0x0c82('0x66'),_0x0c82('0x67'),'description','status',_0x0c82('0x68'),'group',_0x0c82('0x69'),_0x0c82('0x6a'),_0x0c82('0x6b'),_0x0c82('0x6c')];_[_0x0c82('0x6d')](_0x2bd532,function(_0x4e1e60){return _0x38c0bf[_0x0c82('0x6e')](_0x4e1e60[_0x0c82('0x2d')])||!_0x4e1e60[_0x0c82('0x6f')]&&_0x4e1e60[_0x0c82('0x32')]!==_0x0c82('0x70')&&_0x4e1e60[_0x0c82('0x32')]!=='custom_dropdown';});return{'count':_0x2bd532[_0x0c82('0x4b')],'rows':_[_0x0c82('0x35')](_0x2bd532,function(_0x9f625){return{'id':_0x9f625[_0x0c82('0x2d')],'name':_0x9f625[_0x0c82('0x71')],'custom':!_0x9f625[_0x0c82('0x6f')],'options':_0x9f625[_0x0c82('0x72')]?_[_0x0c82('0x35')](_0x9f625['choices'],function(_0x10f5ab){return{'name':_['capitalize'](_0x10f5ab),'value':_0x10f5ab};}):[]};})};}})[_0x0c82('0x29')](respondWithResult(_0x43c5a6,null))[_0x0c82('0x48')](function(_0x4b19ea){var _0x238388=_0x105130[_0x0c82('0x36')][_0x0c82('0x73')]?0x1f4:_0x4b19ea['statusCode']||0x1f4;logger[_0x0c82('0x74')](_0x0c82('0x75'),'getFields',_0x238388,JSON[_0x0c82('0x76')](_0x4b19ea));delete _0x4b19ea[_0x0c82('0x2d')];if(_0x238388===0x191){_0x238388=0x190;}_0x43c5a6[_0x0c82('0x1d')](_0x238388)[_0x0c82('0x2e')](_0x105130[_0x0c82('0x36')][_0x0c82('0x73')]?{'message':_0x0c82('0x77'),'statusCode':_0x4b19ea['statusCode']}:_0x4b19ea);});};