Built motion from commit (unavailable).|2.5.12
[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 _0xdeef=['lastIndexOf','GET','format','%s/%s','api/v2/ticket_fields','Basic\x20%s','%s:X','apiKey','toString','requester','priority','group','company','remove','includes','name','default','custom_text','label','choices','capitalize','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','jayson/promise','client','http','request','then','info','FreshdeskAccount,\x20%s,\x20%s','request\x20sent','debug','FreshdeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','end','json','count','offset','limit','set','apply','reject','update','destroy','stack','index','map','FreshdeskAccount','rawAttributes','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','catch','show','params','keys','include','find','body','getConfigurations','findOne','FreshdeskConfiguration','addConfiguration','Subjects','getSubjects','Descriptions','getDescriptions','channel','FreshdeskField','getFields','remoteUri','slice','substring'];(function(_0x190c7a,_0x3d6341){var _0x2dea23=function(_0x3647a5){while(--_0x3647a5){_0x190c7a['push'](_0x190c7a['shift']());}};_0x2dea23(++_0x3d6341);}(_0xdeef,0x188));var _0xfdee=function(_0x1bb161,_0x25b93c){_0x1bb161=_0x1bb161-0x0;var _0x2d4246=_0xdeef[_0x1bb161];return _0x2d4246;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xfdee('0x0'));var rimraf=require(_0xfdee('0x1'));var zipdir=require(_0xfdee('0x2'));var jsonpatch=require(_0xfdee('0x3'));var rp=require(_0xfdee('0x4'));var moment=require(_0xfdee('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xfdee('0x6'));var util=require(_0xfdee('0x7'));var path=require(_0xfdee('0x8'));var sox=require(_0xfdee('0x9'));var csv=require(_0xfdee('0xa'));var ejs=require(_0xfdee('0xb'));var fs=require('fs');var _=require(_0xfdee('0xc'));var squel=require('squel');var crypto=require(_0xfdee('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xfdee('0xe'));var toCsv=require(_0xfdee('0xa'));var querystring=require(_0xfdee('0xf'));var Papa=require(_0xfdee('0x10'));var Redis=require(_0xfdee('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xfdee('0x12'));var as=require(_0xfdee('0x13'));var hardwareService=require(_0xfdee('0x14'));var logger=require(_0xfdee('0x15'))('api');var utils=require(_0xfdee('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xfdee('0x17'));var client=jayson[_0xfdee('0x18')][_0xfdee('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x1cdde7,_0x1d253c,_0x38dc88,_0x283eaf){return new BPromise(function(_0x50dec6,_0x3b2038){var _0x337edf=_0x283eaf||client;return _0x337edf[_0xfdee('0x1a')](_0x1cdde7,_0x38dc88)[_0xfdee('0x1b')](function(_0x5eb654){logger[_0xfdee('0x1c')](_0xfdee('0x1d'),_0x1d253c,_0xfdee('0x1e'));logger[_0xfdee('0x1f')](_0xfdee('0x20'),_0x1d253c,'request\x20sent',JSON[_0xfdee('0x21')](_0x5eb654));if(_0x5eb654[_0xfdee('0x22')]){if(_0x5eb654[_0xfdee('0x22')][_0xfdee('0x23')]===0x1f4){logger[_0xfdee('0x22')]('FreshdeskAccount,\x20%s,\x20%s',_0x1d253c,_0x5eb654[_0xfdee('0x22')][_0xfdee('0x24')]);return _0x3b2038(_0x5eb654[_0xfdee('0x22')]['message']);}logger[_0xfdee('0x22')]('FreshdeskAccount,\x20%s,\x20%s',_0x1d253c,_0x5eb654[_0xfdee('0x22')][_0xfdee('0x24')]);return _0x50dec6(_0x5eb654['error'][_0xfdee('0x24')]);}else{logger[_0xfdee('0x1c')]('FreshdeskAccount,\x20%s,\x20%s',_0x1d253c,'request\x20sent');_0x50dec6(_0x5eb654[_0xfdee('0x25')][_0xfdee('0x24')]);}})['catch'](function(_0x43d166){logger[_0xfdee('0x22')](_0xfdee('0x1d'),_0x1d253c,_0x43d166);_0x3b2038(_0x43d166);});});}function respondWithStatusCode(_0x2fb38b,_0x1634a8){_0x1634a8=_0x1634a8||0xcc;return function(_0x239911){if(_0x239911){return _0x2fb38b[_0xfdee('0x26')](_0x1634a8);}return _0x2fb38b[_0xfdee('0x27')](_0x1634a8)[_0xfdee('0x28')]();};}function respondWithResult(_0x3ab354,_0x1db48c){_0x1db48c=_0x1db48c||0xc8;return function(_0x25d961){if(_0x25d961){return _0x3ab354['status'](_0x1db48c)[_0xfdee('0x29')](_0x25d961);}};}function respondWithFilteredResult(_0x503aae,_0x590409){return function(_0x21a65a){if(_0x21a65a){var _0x1b07ea=_0x21a65a[_0xfdee('0x2a')],_0xe7e0d3=_0x590409[_0xfdee('0x2b')],_0x54eee1=_0x590409[_0xfdee('0x2b')]+_0x590409[_0xfdee('0x2c')],_0x5f535c;if(_0x54eee1>=_0x1b07ea){_0x54eee1=_0x1b07ea;_0x5f535c=0xc8;}else{_0x5f535c=0xce;}_0x503aae['status'](_0x5f535c);return _0x503aae[_0xfdee('0x2d')]('Content-Range',_0xe7e0d3+'-'+_0x54eee1+'/'+_0x1b07ea)[_0xfdee('0x29')](_0x21a65a);}return null;};}function patchUpdates(_0x1c02be){return function(_0x17ecb1){try{jsonpatch[_0xfdee('0x2e')](_0x17ecb1,_0x1c02be,!![]);}catch(_0x121d76){return BPromise[_0xfdee('0x2f')](_0x121d76);}return _0x17ecb1['save']();};}function saveUpdates(_0x5b2050,_0x213086){return function(_0x1e30a0){if(_0x1e30a0){return _0x1e30a0[_0xfdee('0x30')](_0x5b2050)['then'](function(_0x1d518b){return _0x1d518b;});}return null;};}function removeEntity(_0x225233,_0x3ccade){return function(_0x1ada4a){if(_0x1ada4a){return _0x1ada4a[_0xfdee('0x31')]()[_0xfdee('0x1b')](function(){_0x225233[_0xfdee('0x27')](0xcc)[_0xfdee('0x28')]();});}};}function handleEntityNotFound(_0x8c011d,_0x9230c0){return function(_0x5ef7e4){if(!_0x5ef7e4){_0x8c011d[_0xfdee('0x26')](0x194);}return _0x5ef7e4;};}function handleError(_0x54d6e1,_0x18d280){_0x18d280=_0x18d280||0x1f4;return function(_0x1abc6b){logger[_0xfdee('0x22')](_0x1abc6b[_0xfdee('0x32')]);if(_0x1abc6b['name']){delete _0x1abc6b['name'];}_0x54d6e1[_0xfdee('0x27')](_0x18d280)['send'](_0x1abc6b);};}exports[_0xfdee('0x33')]=function(_0x18d4f8,_0x5261f9){var _0x47efcf={},_0x3b8ca6={},_0x5f0389={'count':0x0,'rows':[]};var _0x1c7bca=_[_0xfdee('0x34')](db[_0xfdee('0x35')][_0xfdee('0x36')],function(_0x1cade8){return{'name':_0x1cade8['fieldName'],'type':_0x1cade8[_0xfdee('0x37')][_0xfdee('0x38')]};});_0x3b8ca6[_0xfdee('0x39')]=_[_0xfdee('0x34')](_0x1c7bca,'name');_0x3b8ca6[_0xfdee('0x3a')]=_['keys'](_0x18d4f8[_0xfdee('0x3a')]);_0x3b8ca6['filters']=_['intersection'](_0x3b8ca6[_0xfdee('0x39')],_0x3b8ca6[_0xfdee('0x3a')]);_0x47efcf[_0xfdee('0x3b')]=_[_0xfdee('0x3c')](_0x3b8ca6['model'],qs[_0xfdee('0x3d')](_0x18d4f8[_0xfdee('0x3a')]['fields']));_0x47efcf[_0xfdee('0x3b')]=_0x47efcf[_0xfdee('0x3b')][_0xfdee('0x3e')]?_0x47efcf[_0xfdee('0x3b')]:_0x3b8ca6[_0xfdee('0x39')];if(!_0x18d4f8['query'][_0xfdee('0x3f')](_0xfdee('0x40'))){_0x47efcf['limit']=qs[_0xfdee('0x2c')](_0x18d4f8[_0xfdee('0x3a')]['limit']);_0x47efcf[_0xfdee('0x2b')]=qs[_0xfdee('0x2b')](_0x18d4f8[_0xfdee('0x3a')][_0xfdee('0x2b')]);}_0x47efcf[_0xfdee('0x41')]=qs[_0xfdee('0x42')](_0x18d4f8['query']['sort']);_0x47efcf[_0xfdee('0x43')]=qs[_0xfdee('0x44')](_[_0xfdee('0x45')](_0x18d4f8[_0xfdee('0x3a')],_0x3b8ca6['filters']),_0x1c7bca);if(_0x18d4f8[_0xfdee('0x3a')][_0xfdee('0x46')]){_0x47efcf[_0xfdee('0x43')]=_[_0xfdee('0x47')](_0x47efcf[_0xfdee('0x43')],{'$or':_['map'](_0x1c7bca,function(_0x49ac9f){if(_0x49ac9f['type']!==_0xfdee('0x48')){var _0x15987a={};_0x15987a[_0x49ac9f['name']]={'$like':'%'+_0x18d4f8[_0xfdee('0x3a')][_0xfdee('0x46')]+'%'};return _0x15987a;}})});}_0x47efcf=_[_0xfdee('0x47')]({},_0x47efcf,_0x18d4f8[_0xfdee('0x49')]);var _0x31c783={'where':_0x47efcf[_0xfdee('0x43')]};return db[_0xfdee('0x35')][_0xfdee('0x2a')](_0x31c783)[_0xfdee('0x1b')](function(_0x3b07f5){_0x5f0389[_0xfdee('0x2a')]=_0x3b07f5;if(_0x18d4f8['query'][_0xfdee('0x4a')]){_0x47efcf['include']=[{'all':!![]}];}return db[_0xfdee('0x35')]['findAll'](_0x47efcf);})[_0xfdee('0x1b')](function(_0x516096){_0x5f0389['rows']=_0x516096;return _0x5f0389;})[_0xfdee('0x1b')](respondWithFilteredResult(_0x5261f9,_0x47efcf))[_0xfdee('0x4b')](handleError(_0x5261f9,null));};exports[_0xfdee('0x4c')]=function(_0x3b2c66,_0x3202d3){var _0x272c18={'raw':![],'where':{'id':_0x3b2c66[_0xfdee('0x4d')]['id']}},_0x4e4635={};_0x4e4635[_0xfdee('0x39')]=_[_0xfdee('0x4e')](db[_0xfdee('0x35')]['rawAttributes']);_0x4e4635['query']=_[_0xfdee('0x4e')](_0x3b2c66[_0xfdee('0x3a')]);_0x4e4635['filters']=_[_0xfdee('0x3c')](_0x4e4635[_0xfdee('0x39')],_0x4e4635[_0xfdee('0x3a')]);_0x272c18['attributes']=_[_0xfdee('0x3c')](_0x4e4635['model'],qs['fields'](_0x3b2c66[_0xfdee('0x3a')][_0xfdee('0x3d')]));_0x272c18['attributes']=_0x272c18[_0xfdee('0x3b')]['length']?_0x272c18['attributes']:_0x4e4635['model'];if(_0x3b2c66[_0xfdee('0x3a')][_0xfdee('0x4a')]){_0x272c18[_0xfdee('0x4f')]=[{'all':!![]}];}_0x272c18=_[_0xfdee('0x47')]({},_0x272c18,_0x3b2c66[_0xfdee('0x49')]);return db[_0xfdee('0x35')][_0xfdee('0x50')](_0x272c18)['then'](handleEntityNotFound(_0x3202d3,null))['then'](respondWithResult(_0x3202d3,null))[_0xfdee('0x4b')](handleError(_0x3202d3,null));};exports['create']=function(_0x3e3052,_0x51e5bf){return db[_0xfdee('0x35')]['create'](_0x3e3052[_0xfdee('0x51')],{})[_0xfdee('0x1b')](respondWithResult(_0x51e5bf,0xc9))['catch'](handleError(_0x51e5bf,null));};exports[_0xfdee('0x30')]=function(_0x4fab2d,_0xd7dc28){if(_0x4fab2d[_0xfdee('0x51')]['id']){delete _0x4fab2d['body']['id'];}return db[_0xfdee('0x35')][_0xfdee('0x50')]({'where':{'id':_0x4fab2d[_0xfdee('0x4d')]['id']}})[_0xfdee('0x1b')](handleEntityNotFound(_0xd7dc28,null))[_0xfdee('0x1b')](saveUpdates(_0x4fab2d[_0xfdee('0x51')],null))[_0xfdee('0x1b')](respondWithResult(_0xd7dc28,null))[_0xfdee('0x4b')](handleError(_0xd7dc28,null));};exports[_0xfdee('0x31')]=function(_0x45b9b9,_0x303c66){return db['FreshdeskAccount'][_0xfdee('0x50')]({'where':{'id':_0x45b9b9[_0xfdee('0x4d')]['id']}})[_0xfdee('0x1b')](handleEntityNotFound(_0x303c66,null))[_0xfdee('0x1b')](removeEntity(_0x303c66,null))['catch'](handleError(_0x303c66,null));};exports[_0xfdee('0x52')]=function(_0x49a759,_0x5307a7,_0x1137ee){var _0x200d82={};var _0xcbe8f1={};var _0x3ee58d;var _0x489243;return db[_0xfdee('0x35')][_0xfdee('0x53')]({'where':{'id':_0x49a759[_0xfdee('0x4d')]['id']}})[_0xfdee('0x1b')](handleEntityNotFound(_0x5307a7,null))[_0xfdee('0x1b')](function(_0x27f877){if(_0x27f877){_0x3ee58d=_0x27f877;_0xcbe8f1[_0xfdee('0x39')]=_['keys'](db[_0xfdee('0x54')][_0xfdee('0x36')]);_0xcbe8f1[_0xfdee('0x3a')]=_[_0xfdee('0x4e')](_0x49a759[_0xfdee('0x3a')]);_0xcbe8f1[_0xfdee('0x44')]=_[_0xfdee('0x3c')](_0xcbe8f1[_0xfdee('0x39')],_0xcbe8f1['query']);_0x200d82[_0xfdee('0x3b')]=_[_0xfdee('0x3c')](_0xcbe8f1['model'],qs[_0xfdee('0x3d')](_0x49a759['query']['fields']));_0x200d82['attributes']=_0x200d82[_0xfdee('0x3b')][_0xfdee('0x3e')]?_0x200d82['attributes']:_0xcbe8f1['model'];_0x200d82['order']=qs[_0xfdee('0x42')](_0x49a759[_0xfdee('0x3a')][_0xfdee('0x42')]);_0x200d82[_0xfdee('0x43')]=qs[_0xfdee('0x44')](_['pick'](_0x49a759[_0xfdee('0x3a')],_0xcbe8f1[_0xfdee('0x44')]));if(_0x49a759[_0xfdee('0x3a')][_0xfdee('0x46')]){_0x200d82['where']=_[_0xfdee('0x47')](_0x200d82[_0xfdee('0x43')],{'$or':_[_0xfdee('0x34')](_0x200d82[_0xfdee('0x3b')],function(_0xa5417f){var _0x356ed2={};_0x356ed2[_0xa5417f]={'$like':'%'+_0x49a759[_0xfdee('0x3a')][_0xfdee('0x46')]+'%'};return _0x356ed2;})});}_0x200d82=_['merge']({},_0x200d82,_0x49a759[_0xfdee('0x49')]);return _0x3ee58d[_0xfdee('0x52')](_0x200d82);}})[_0xfdee('0x1b')](function(_0x54cf34){if(_0x54cf34){_0x489243=_0x54cf34[_0xfdee('0x3e')];if(!_0x49a759[_0xfdee('0x3a')][_0xfdee('0x3f')](_0xfdee('0x40'))){_0x200d82[_0xfdee('0x2c')]=qs[_0xfdee('0x2c')](_0x49a759[_0xfdee('0x3a')][_0xfdee('0x2c')]);_0x200d82[_0xfdee('0x2b')]=qs['offset'](_0x49a759['query'][_0xfdee('0x2b')]);}return _0x3ee58d[_0xfdee('0x52')](_0x200d82);}})[_0xfdee('0x1b')](function(_0x342a3c){if(_0x342a3c){return _0x342a3c?{'count':_0x489243,'rows':_0x342a3c}:null;}})[_0xfdee('0x1b')](respondWithResult(_0x5307a7,null))[_0xfdee('0x4b')](handleError(_0x5307a7,null));};exports[_0xfdee('0x55')]=function(_0x3813d9,_0x4bd616,_0x1b4fc7){if(_0x3813d9[_0xfdee('0x51')]['id']){delete _0x3813d9[_0xfdee('0x51')]['id'];}return db['FreshdeskAccount'][_0xfdee('0x53')]({'where':{'id':_0x3813d9['params']['id']}})[_0xfdee('0x1b')](handleEntityNotFound(_0x4bd616,null))[_0xfdee('0x1b')](function(_0x254dad){if(_0x254dad){_0x3813d9[_0xfdee('0x51')]['AccountId']=_0x254dad['id'];_0x3813d9[_0xfdee('0x51')][_0xfdee('0x56')]=integrations[_0xfdee('0x57')](_0x3813d9['body']['channel'],_0x3813d9[_0xfdee('0x51')]['type']);_0x3813d9[_0xfdee('0x51')][_0xfdee('0x58')]=integrations[_0xfdee('0x59')](_0x3813d9['body'][_0xfdee('0x5a')],_0x3813d9[_0xfdee('0x51')][_0xfdee('0x37')]);return db['FreshdeskConfiguration']['create'](_0x3813d9[_0xfdee('0x51')],{'include':[{'model':db[_0xfdee('0x5b')],'as':'Subjects'},{'model':db[_0xfdee('0x5b')],'as':_0xfdee('0x58')}]});}return null;})[_0xfdee('0x1b')](respondWithResult(_0x4bd616,null))[_0xfdee('0x4b')](handleError(_0x4bd616,null));};exports[_0xfdee('0x5c')]=function(_0x59476f,_0x497292,_0x1dd26d){var _0x398b0a='';return db[_0xfdee('0x35')][_0xfdee('0x53')]({'where':{'id':_0x59476f[_0xfdee('0x4d')]['id']},'attributes':['id','remoteUri','apiKey']})['then'](handleEntityNotFound(_0x497292,null))[_0xfdee('0x1b')](function(_0x22c0c7){if(_0x22c0c7){_0x398b0a=_0x22c0c7[_0xfdee('0x5d')];var _0x50c1e2=_0x398b0a[_0xfdee('0x5e')](-0x1);if(_0x50c1e2==='/'){_0x398b0a=_0x398b0a[_0xfdee('0x5f')](0x0,_0x398b0a[_0xfdee('0x60')](_0x50c1e2));}return rp({'method':_0xfdee('0x61'),'uri':util[_0xfdee('0x62')](_0xfdee('0x63'),_0x398b0a,_0xfdee('0x64')),'headers':{'Authorization':util[_0xfdee('0x62')](_0xfdee('0x65'),new Buffer(util['format'](_0xfdee('0x66'),_0x22c0c7[_0xfdee('0x67')]))[_0xfdee('0x68')]('base64'))},'json':!![]});}})[_0xfdee('0x1b')](function(_0x28febc){if(_0x28febc){var _0x358e6d=[_0xfdee('0x69'),'subject','agent','description',_0xfdee('0x27'),_0xfdee('0x6a'),'group','source','ticket_type',_0xfdee('0x6b'),_0xfdee('0x6c')];_[_0xfdee('0x6d')](_0x28febc,function(_0x15ae5f){return _0x358e6d[_0xfdee('0x6e')](_0x15ae5f[_0xfdee('0x6f')])||!_0x15ae5f[_0xfdee('0x70')]&&_0x15ae5f[_0xfdee('0x37')]!==_0xfdee('0x71')&&_0x15ae5f[_0xfdee('0x37')]!=='custom_dropdown';});return{'count':_0x28febc[_0xfdee('0x3e')],'rows':_[_0xfdee('0x34')](_0x28febc,function(_0x27478d){return{'id':_0x27478d[_0xfdee('0x6f')],'name':_0x27478d[_0xfdee('0x72')],'custom':!_0x27478d[_0xfdee('0x70')],'options':_0x27478d[_0xfdee('0x73')]?_[_0xfdee('0x34')](_0x27478d[_0xfdee('0x73')],function(_0xb006a4){return{'name':_[_0xfdee('0x74')](_0xb006a4),'value':_0xb006a4};}):[]};})};}})[_0xfdee('0x1b')](respondWithResult(_0x497292,null))[_0xfdee('0x4b')](function(_0x1d88e0){var _0x59836f=_0x59476f[_0xfdee('0x3a')][_0xfdee('0x75')]?0x1f4:_0x1d88e0[_0xfdee('0x76')]||0x1f4;logger[_0xfdee('0x22')](_0xfdee('0x77'),'getFields',_0x59836f,JSON[_0xfdee('0x21')](_0x1d88e0));delete _0x1d88e0[_0xfdee('0x6f')];if(_0x59836f===0x191){_0x59836f=0x190;}_0x497292['status'](_0x59836f)[_0xfdee('0x78')](_0x59476f[_0xfdee('0x3a')][_0xfdee('0x75')]?{'message':_0xfdee('0x79'),'statusCode':_0x1d88e0['statusCode']}:_0x1d88e0);});};