Built motion from commit 5ad77b03.|2.6.3
[motion2.git] / server / api / intFreshsalesAccount / intFreshsalesAccount.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 _0x0f4c=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','undefined','limit','count','offset','Content-Range','json','apply','save','destroy','then','error','stack','name','send','index','map','fieldName','type','key','keys','query','filters','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','FreshsalesAccount','includeAll','findAll','show','length','include','find','catch','create','body','params','getConfigurations','findOne','FreshsalesConfiguration','rawAttributes','filter','addConfiguration','Descriptions','getDescriptions','FreshsalesField','Subjects','getFields','username','remoteUri','substring','lastIndexOf','format','%s%s','/api/selector/owners','Token\x20token=','apiKey','users','email','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x42d2e5,_0x1b6eb9){var _0x523153=function(_0x30eabb){while(--_0x30eabb){_0x42d2e5['push'](_0x42d2e5['shift']());}};_0x523153(++_0x1b6eb9);}(_0x0f4c,0x17e));var _0xc0f4=function(_0x5c2a2b,_0x22c94e){_0x5c2a2b=_0x5c2a2b-0x0;var _0x19921f=_0x0f4c[_0x5c2a2b];return _0x19921f;};'use strict';var emlformat=require(_0xc0f4('0x0'));var rimraf=require(_0xc0f4('0x1'));var zipdir=require(_0xc0f4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xc0f4('0x3'));var Mustache=require(_0xc0f4('0x4'));var util=require('util');var path=require(_0xc0f4('0x5'));var sox=require(_0xc0f4('0x6'));var csv=require(_0xc0f4('0x7'));var ejs=require(_0xc0f4('0x8'));var fs=require('fs');var fs_extra=require(_0xc0f4('0x9'));var _=require('lodash');var squel=require(_0xc0f4('0xa'));var crypto=require(_0xc0f4('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xc0f4('0xc'));var toCsv=require(_0xc0f4('0x7'));var querystring=require(_0xc0f4('0xd'));var Papa=require(_0xc0f4('0xe'));var Redis=require(_0xc0f4('0xf'));var authService=require(_0xc0f4('0x10'));var qs=require(_0xc0f4('0x11'));var as=require(_0xc0f4('0x12'));var hardwareService=require(_0xc0f4('0x13'));var logger=require('../../config/logger')(_0xc0f4('0x14'));var utils=require(_0xc0f4('0x15'));var config=require(_0xc0f4('0x16'));var licenseUtil=require(_0xc0f4('0x17'));var db=require(_0xc0f4('0x18'))['db'];var integrations=require(_0xc0f4('0x19'));function respondWithStatusCode(_0x4c2683,_0x118091){_0x118091=_0x118091||0xcc;return function(_0x38c48c){if(_0x38c48c){return _0x4c2683[_0xc0f4('0x1a')](_0x118091);}return _0x4c2683[_0xc0f4('0x1b')](_0x118091)['end']();};}function respondWithResult(_0x145328,_0x2138ff){_0x2138ff=_0x2138ff||0xc8;return function(_0x39c663){if(_0x39c663){return _0x145328[_0xc0f4('0x1b')](_0x2138ff)['json'](_0x39c663);}};}function respondWithFilteredResult(_0xa7b1f0,_0x47c1e4){return function(_0x3b9e85){if(_0x3b9e85){var _0x54ae36=typeof _0x47c1e4['offset']===_0xc0f4('0x1c')&&typeof _0x47c1e4[_0xc0f4('0x1d')]===_0xc0f4('0x1c');var _0x3f1985=_0x3b9e85[_0xc0f4('0x1e')];var _0x1cfa17=_0x54ae36?0x0:_0x47c1e4[_0xc0f4('0x1f')];var _0x1534cc=_0x54ae36?_0x3b9e85[_0xc0f4('0x1e')]:_0x47c1e4[_0xc0f4('0x1f')]+_0x47c1e4[_0xc0f4('0x1d')];var _0x3d32e6;if(_0x1534cc>=_0x3f1985){_0x1534cc=_0x3f1985;_0x3d32e6=0xc8;}else{_0x3d32e6=0xce;}_0xa7b1f0['status'](_0x3d32e6);return _0xa7b1f0['set'](_0xc0f4('0x20'),_0x1cfa17+'-'+_0x1534cc+'/'+_0x3f1985)[_0xc0f4('0x21')](_0x3b9e85);}return null;};}function patchUpdates(_0x315ed3){return function(_0x1350a7){try{jsonpatch[_0xc0f4('0x22')](_0x1350a7,_0x315ed3,!![]);}catch(_0x1dceec){return BPromise['reject'](_0x1dceec);}return _0x1350a7[_0xc0f4('0x23')]();};}function saveUpdates(_0x4678d2,_0x3f01b0){return function(_0x3ae5ee){if(_0x3ae5ee){return _0x3ae5ee['update'](_0x4678d2)['then'](function(_0x4977c3){return _0x4977c3;});}return null;};}function removeEntity(_0x2b375f,_0x2c2ebc){return function(_0x261d46){if(_0x261d46){return _0x261d46[_0xc0f4('0x24')]()[_0xc0f4('0x25')](function(){_0x2b375f[_0xc0f4('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ab11a,_0x2c6ba2){return function(_0x26a287){if(!_0x26a287){_0x2ab11a[_0xc0f4('0x1a')](0x194);}return _0x26a287;};}function handleError(_0xf5f572,_0x4d56ab){_0x4d56ab=_0x4d56ab||0x1f4;return function(_0x55d6a8){logger[_0xc0f4('0x26')](_0x55d6a8[_0xc0f4('0x27')]);if(_0x55d6a8['name']){delete _0x55d6a8[_0xc0f4('0x28')];}_0xf5f572[_0xc0f4('0x1b')](_0x4d56ab)[_0xc0f4('0x29')](_0x55d6a8);};}exports[_0xc0f4('0x2a')]=function(_0x2129cb,_0x2362fa){var _0x14faf5={},_0x572f5={},_0x3ce563={'count':0x0,'rows':[]};var _0x1fe545=_[_0xc0f4('0x2b')](db['FreshsalesAccount']['rawAttributes'],function(_0x1bcea3){return{'name':_0x1bcea3[_0xc0f4('0x2c')],'type':_0x1bcea3[_0xc0f4('0x2d')][_0xc0f4('0x2e')]};});_0x572f5['model']=_[_0xc0f4('0x2b')](_0x1fe545,_0xc0f4('0x28'));_0x572f5['query']=_[_0xc0f4('0x2f')](_0x2129cb[_0xc0f4('0x30')]);_0x572f5[_0xc0f4('0x31')]=_[_0xc0f4('0x32')](_0x572f5[_0xc0f4('0x33')],_0x572f5[_0xc0f4('0x30')]);_0x14faf5['attributes']=_[_0xc0f4('0x32')](_0x572f5[_0xc0f4('0x33')],qs[_0xc0f4('0x34')](_0x2129cb[_0xc0f4('0x30')][_0xc0f4('0x34')]));_0x14faf5[_0xc0f4('0x35')]=_0x14faf5['attributes']['length']?_0x14faf5[_0xc0f4('0x35')]:_0x572f5[_0xc0f4('0x33')];if(!_0x2129cb['query'][_0xc0f4('0x36')](_0xc0f4('0x37'))){_0x14faf5[_0xc0f4('0x1d')]=qs[_0xc0f4('0x1d')](_0x2129cb[_0xc0f4('0x30')][_0xc0f4('0x1d')]);_0x14faf5[_0xc0f4('0x1f')]=qs[_0xc0f4('0x1f')](_0x2129cb['query'][_0xc0f4('0x1f')]);}_0x14faf5[_0xc0f4('0x38')]=qs[_0xc0f4('0x39')](_0x2129cb[_0xc0f4('0x30')][_0xc0f4('0x39')]);_0x14faf5[_0xc0f4('0x3a')]=qs['filters'](_[_0xc0f4('0x3b')](_0x2129cb['query'],_0x572f5[_0xc0f4('0x31')]),_0x1fe545);if(_0x2129cb['query']['filter']){_0x14faf5[_0xc0f4('0x3a')]=_[_0xc0f4('0x3c')](_0x14faf5[_0xc0f4('0x3a')],{'$or':_['map'](_0x1fe545,function(_0x53f203){if(_0x53f203['type']!==_0xc0f4('0x3d')){var _0x420f32={};_0x420f32[_0x53f203[_0xc0f4('0x28')]]={'$like':'%'+_0x2129cb[_0xc0f4('0x30')]['filter']+'%'};return _0x420f32;}})});}_0x14faf5=_['merge']({},_0x14faf5,_0x2129cb[_0xc0f4('0x3e')]);var _0x2d4bcc={'where':_0x14faf5[_0xc0f4('0x3a')]};return db[_0xc0f4('0x3f')][_0xc0f4('0x1e')](_0x2d4bcc)['then'](function(_0x50c10c){_0x3ce563['count']=_0x50c10c;if(_0x2129cb[_0xc0f4('0x30')][_0xc0f4('0x40')]){_0x14faf5['include']=[{'all':!![]}];}return db[_0xc0f4('0x3f')][_0xc0f4('0x41')](_0x14faf5);})[_0xc0f4('0x25')](function(_0x1d054f){_0x3ce563['rows']=_0x1d054f;return _0x3ce563;})['then'](respondWithFilteredResult(_0x2362fa,_0x14faf5))['catch'](handleError(_0x2362fa,null));};exports[_0xc0f4('0x42')]=function(_0x399eca,_0xec0bab){var _0x247dec={'raw':![],'where':{'id':_0x399eca['params']['id']}},_0x31978a={};_0x31978a['model']=_[_0xc0f4('0x2f')](db['FreshsalesAccount']['rawAttributes']);_0x31978a[_0xc0f4('0x30')]=_[_0xc0f4('0x2f')](_0x399eca[_0xc0f4('0x30')]);_0x31978a[_0xc0f4('0x31')]=_['intersection'](_0x31978a[_0xc0f4('0x33')],_0x31978a[_0xc0f4('0x30')]);_0x247dec[_0xc0f4('0x35')]=_['intersection'](_0x31978a[_0xc0f4('0x33')],qs['fields'](_0x399eca['query'][_0xc0f4('0x34')]));_0x247dec[_0xc0f4('0x35')]=_0x247dec['attributes'][_0xc0f4('0x43')]?_0x247dec[_0xc0f4('0x35')]:_0x31978a[_0xc0f4('0x33')];if(_0x399eca['query'][_0xc0f4('0x40')]){_0x247dec[_0xc0f4('0x44')]=[{'all':!![]}];}_0x247dec=_['merge']({},_0x247dec,_0x399eca[_0xc0f4('0x3e')]);return db[_0xc0f4('0x3f')][_0xc0f4('0x45')](_0x247dec)[_0xc0f4('0x25')](handleEntityNotFound(_0xec0bab,null))['then'](respondWithResult(_0xec0bab,null))[_0xc0f4('0x46')](handleError(_0xec0bab,null));};exports[_0xc0f4('0x47')]=function(_0x5dc47a,_0x841149){return db[_0xc0f4('0x3f')][_0xc0f4('0x47')](_0x5dc47a[_0xc0f4('0x48')],{})[_0xc0f4('0x25')](respondWithResult(_0x841149,0xc9))['catch'](handleError(_0x841149,null));};exports['update']=function(_0x3312a0,_0x22dad6){if(_0x3312a0['body']['id']){delete _0x3312a0['body']['id'];}return db['FreshsalesAccount'][_0xc0f4('0x45')]({'where':{'id':_0x3312a0[_0xc0f4('0x49')]['id']}})[_0xc0f4('0x25')](handleEntityNotFound(_0x22dad6,null))['then'](saveUpdates(_0x3312a0['body'],null))[_0xc0f4('0x25')](respondWithResult(_0x22dad6,null))['catch'](handleError(_0x22dad6,null));};exports[_0xc0f4('0x24')]=function(_0x5a9cf4,_0xafbddf){return db[_0xc0f4('0x3f')][_0xc0f4('0x45')]({'where':{'id':_0x5a9cf4[_0xc0f4('0x49')]['id']}})[_0xc0f4('0x25')](handleEntityNotFound(_0xafbddf,null))[_0xc0f4('0x25')](removeEntity(_0xafbddf,null))['catch'](handleError(_0xafbddf,null));};exports[_0xc0f4('0x4a')]=function(_0x438f41,_0x190180,_0x292a24){var _0x2db5f1={};var _0x55856c={};var _0x4ebbbe;var _0x1cd763;return db[_0xc0f4('0x3f')][_0xc0f4('0x4b')]({'where':{'id':_0x438f41['params']['id']}})[_0xc0f4('0x25')](handleEntityNotFound(_0x190180,null))[_0xc0f4('0x25')](function(_0x26d160){if(_0x26d160){_0x4ebbbe=_0x26d160;_0x55856c[_0xc0f4('0x33')]=_['keys'](db[_0xc0f4('0x4c')][_0xc0f4('0x4d')]);_0x55856c[_0xc0f4('0x30')]=_['keys'](_0x438f41[_0xc0f4('0x30')]);_0x55856c[_0xc0f4('0x31')]=_[_0xc0f4('0x32')](_0x55856c[_0xc0f4('0x33')],_0x55856c['query']);_0x2db5f1[_0xc0f4('0x35')]=_[_0xc0f4('0x32')](_0x55856c[_0xc0f4('0x33')],qs[_0xc0f4('0x34')](_0x438f41[_0xc0f4('0x30')][_0xc0f4('0x34')]));_0x2db5f1[_0xc0f4('0x35')]=_0x2db5f1[_0xc0f4('0x35')][_0xc0f4('0x43')]?_0x2db5f1[_0xc0f4('0x35')]:_0x55856c['model'];_0x2db5f1[_0xc0f4('0x38')]=qs[_0xc0f4('0x39')](_0x438f41['query']['sort']);_0x2db5f1[_0xc0f4('0x3a')]=qs[_0xc0f4('0x31')](_['pick'](_0x438f41[_0xc0f4('0x30')],_0x55856c[_0xc0f4('0x31')]));if(_0x438f41['query'][_0xc0f4('0x4e')]){_0x2db5f1[_0xc0f4('0x3a')]=_[_0xc0f4('0x3c')](_0x2db5f1['where'],{'$or':_[_0xc0f4('0x2b')](_0x2db5f1[_0xc0f4('0x35')],function(_0x42ff18){var _0x468952={};_0x468952[_0x42ff18]={'$like':'%'+_0x438f41[_0xc0f4('0x30')]['filter']+'%'};return _0x468952;})});}_0x2db5f1=_['merge']({},_0x2db5f1,_0x438f41['options']);return _0x4ebbbe[_0xc0f4('0x4a')](_0x2db5f1);}})[_0xc0f4('0x25')](function(_0x5ee044){if(_0x5ee044){_0x1cd763=_0x5ee044['length'];if(!_0x438f41['query'][_0xc0f4('0x36')](_0xc0f4('0x37'))){_0x2db5f1['limit']=qs['limit'](_0x438f41[_0xc0f4('0x30')]['limit']);_0x2db5f1[_0xc0f4('0x1f')]=qs['offset'](_0x438f41[_0xc0f4('0x30')][_0xc0f4('0x1f')]);}return _0x4ebbbe[_0xc0f4('0x4a')](_0x2db5f1);}})[_0xc0f4('0x25')](function(_0x446755){if(_0x446755){return _0x446755?{'count':_0x1cd763,'rows':_0x446755}:null;}})[_0xc0f4('0x25')](respondWithResult(_0x190180,null))[_0xc0f4('0x46')](handleError(_0x190180,null));};exports[_0xc0f4('0x4f')]=function(_0x5b250b,_0x5a5d69,_0x3567f2){if(_0x5b250b[_0xc0f4('0x48')]['id']){delete _0x5b250b['body']['id'];}return db['FreshsalesAccount'][_0xc0f4('0x4b')]({'where':{'id':_0x5b250b[_0xc0f4('0x49')]['id']}})['then'](handleEntityNotFound(_0x5a5d69,null))[_0xc0f4('0x25')](function(_0x411393){if(_0x411393){_0x5b250b['body']['AccountId']=_0x411393['id'];_0x5b250b[_0xc0f4('0x48')]['Subjects']=integrations['getSubjects'](_0x5b250b['body']['channel'],_0x5b250b['body'][_0xc0f4('0x2d')]);_0x5b250b[_0xc0f4('0x48')][_0xc0f4('0x50')]=integrations[_0xc0f4('0x51')](_0x5b250b[_0xc0f4('0x48')]['channel'],_0x5b250b[_0xc0f4('0x48')][_0xc0f4('0x2d')]);return db['FreshsalesConfiguration'][_0xc0f4('0x47')](_0x5b250b[_0xc0f4('0x48')],{'include':[{'model':db[_0xc0f4('0x52')],'as':_0xc0f4('0x53')},{'model':db[_0xc0f4('0x52')],'as':_0xc0f4('0x50')}]});}return null;})['then'](respondWithResult(_0x5a5d69,null))[_0xc0f4('0x46')](handleError(_0x5a5d69,null));};exports[_0xc0f4('0x54')]=function(_0x200dcd,_0x254039,_0x5339b1){var _0x49ddc6='';var _0x71cb93='';return db[_0xc0f4('0x3f')][_0xc0f4('0x4b')]({'where':{'id':_0x200dcd['params']['id']},'attributes':['id',_0xc0f4('0x55'),_0xc0f4('0x56'),'apiKey']})['then'](handleEntityNotFound(_0x254039,null))[_0xc0f4('0x25')](function(_0x400f02){if(_0x400f02){_0x71cb93=_0x400f02[_0xc0f4('0x55')];_0x49ddc6=_0x400f02[_0xc0f4('0x56')];var _0x4f850e=_0x400f02[_0xc0f4('0x56')]['slice'](-0x1);if(_0x4f850e==='/'){_0x49ddc6=_0x49ddc6[_0xc0f4('0x57')](0x0,_0x49ddc6[_0xc0f4('0x58')](_0x4f850e));}return rp({'method':'GET','uri':util[_0xc0f4('0x59')](_0xc0f4('0x5a'),_0x49ddc6,_0xc0f4('0x5b')),'headers':{'Authorization':_0xc0f4('0x5c')+_0x400f02[_0xc0f4('0x5d')]},'json':!![]});}})[_0xc0f4('0x25')](function(_0x444af2){if(_0x444af2){var _0x16bdde=_0x444af2[_0xc0f4('0x5e')];var _0x42ddd7=![];var _0x2466ea=null;for(_0x2466ea=0x0;_0x2466ea<_0x16bdde['length'];_0x2466ea++){if(_0x16bdde[_0x2466ea][_0xc0f4('0x5f')]===_0x71cb93){_0x42ddd7=!![];}}if(_0x42ddd7){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0xc0f4('0x25')](respondWithResult(_0x254039,null))[_0xc0f4('0x46')](function(_0x2f1429){var _0x26b30b=_0x200dcd[_0xc0f4('0x30')]['test']?0x1f4:_0x2f1429[_0xc0f4('0x60')]||0x1f4;logger['error'](_0xc0f4('0x61'),_0xc0f4('0x54'),_0x26b30b,JSON['stringify'](_0x2f1429));delete _0x2f1429['name'];if(_0x26b30b===0x191){_0x26b30b=0x190;}_0x254039[_0xc0f4('0x1b')](_0x26b30b)[_0xc0f4('0x29')](_0x200dcd[_0xc0f4('0x30')][_0xc0f4('0x62')]?{'message':_0xc0f4('0x63'),'statusCode':_0x2f1429['statusCode']}:_0x2f1429);});};