74b7242453407af3d1d17490663f2091b837c8b8
[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 _0x6f7a=['sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','then','info','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','error','FreshsalesAccount,\x20%s,\x20%s','message','result','status','json','offset','limit','set','Content-Range','apply','reject','update','destroy','sendStatus','stack','name','send','map','FreshsalesAccount','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','count','include','findAll','catch','show','params','includeAll','find','create','body','findOne','FreshsalesConfiguration','filter','getConfigurations','addConfiguration','AccountId','getSubjects','channel','Descriptions','getDescriptions','FreshsalesField','Subjects','getFields','remoteUri','apiKey','substring','lastIndexOf','GET','%s%s','/api/selector/owners','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path'];(function(_0x5c351c,_0x2046d8){var _0x26f3b3=function(_0x47ac18){while(--_0x47ac18){_0x5c351c['push'](_0x5c351c['shift']());}};_0x26f3b3(++_0x2046d8);}(_0x6f7a,0x1ae));var _0xa6f7=function(_0x5e1161,_0x465cd4){_0x5e1161=_0x5e1161-0x0;var _0x105387=_0x6f7a[_0x5e1161];return _0x105387;};'use strict';var pdf=require(_0xa6f7('0x0'));var emlformat=require(_0xa6f7('0x1'));var rimraf=require(_0xa6f7('0x2'));var zipdir=require(_0xa6f7('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa6f7('0x4'));var moment=require(_0xa6f7('0x5'));var BPromise=require(_0xa6f7('0x6'));var Mustache=require(_0xa6f7('0x7'));var util=require(_0xa6f7('0x8'));var path=require(_0xa6f7('0x9'));var sox=require(_0xa6f7('0xa'));var csv=require(_0xa6f7('0xb'));var ejs=require(_0xa6f7('0xc'));var fs=require('fs');var _=require(_0xa6f7('0xd'));var squel=require(_0xa6f7('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa6f7('0xf'));var toCsv=require(_0xa6f7('0xb'));var querystring=require(_0xa6f7('0x10'));var Papa=require(_0xa6f7('0x11'));var Redis=require(_0xa6f7('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa6f7('0x13'));var hardwareService=require(_0xa6f7('0x14'));var logger=require('../../config/logger')(_0xa6f7('0x15'));var utils=require('../../config/utils');var config=require(_0xa6f7('0x16'));var licenseUtil=require(_0xa6f7('0x17'));var db=require(_0xa6f7('0x18'))['db'];var integrations=require(_0xa6f7('0x19'));var jayson=require('jayson/promise');var client=jayson[_0xa6f7('0x1a')]['http']({'port':0x232a});function respondWithRpcPromise(_0x25b48f,_0x68fd8a,_0x25c123,_0x4d3d59){return new BPromise(function(_0x34c02d,_0x491fae){var _0x41bc4d=_0x4d3d59||client;return _0x41bc4d['request'](_0x25b48f,_0x25c123)[_0xa6f7('0x1b')](function(_0x17f9c5){logger[_0xa6f7('0x1c')]('FreshsalesAccount,\x20%s,\x20%s',_0x68fd8a,_0xa6f7('0x1d'));logger[_0xa6f7('0x1e')](_0xa6f7('0x1f'),_0x68fd8a,_0xa6f7('0x1d'),JSON['stringify'](_0x17f9c5));if(_0x17f9c5['error']){if(_0x17f9c5[_0xa6f7('0x20')]['code']===0x1f4){logger[_0xa6f7('0x20')](_0xa6f7('0x21'),_0x68fd8a,_0x17f9c5['error'][_0xa6f7('0x22')]);return _0x491fae(_0x17f9c5[_0xa6f7('0x20')][_0xa6f7('0x22')]);}logger[_0xa6f7('0x20')](_0xa6f7('0x21'),_0x68fd8a,_0x17f9c5[_0xa6f7('0x20')]['message']);return _0x34c02d(_0x17f9c5[_0xa6f7('0x20')][_0xa6f7('0x22')]);}else{logger['info']('FreshsalesAccount,\x20%s,\x20%s',_0x68fd8a,'request\x20sent');_0x34c02d(_0x17f9c5[_0xa6f7('0x23')][_0xa6f7('0x22')]);}})['catch'](function(_0x51b71b){logger['error'](_0xa6f7('0x21'),_0x68fd8a,_0x51b71b);_0x491fae(_0x51b71b);});});}function respondWithStatusCode(_0xc77e8e,_0x28263e){_0x28263e=_0x28263e||0xcc;return function(_0x5baaa9){if(_0x5baaa9){return _0xc77e8e['sendStatus'](_0x28263e);}return _0xc77e8e[_0xa6f7('0x24')](_0x28263e)['end']();};}function respondWithResult(_0x47ef97,_0x402d25){_0x402d25=_0x402d25||0xc8;return function(_0x5efdce){if(_0x5efdce){return _0x47ef97[_0xa6f7('0x24')](_0x402d25)[_0xa6f7('0x25')](_0x5efdce);}};}function respondWithFilteredResult(_0x3c79ea,_0x2b4c6c){return function(_0x3a3508){if(_0x3a3508){var _0x4b8d2b=_0x3a3508['count'],_0x51db47=_0x2b4c6c[_0xa6f7('0x26')],_0x1c419b=_0x2b4c6c[_0xa6f7('0x26')]+_0x2b4c6c[_0xa6f7('0x27')],_0x2ad0d9;if(_0x1c419b>=_0x4b8d2b){_0x1c419b=_0x4b8d2b;_0x2ad0d9=0xc8;}else{_0x2ad0d9=0xce;}_0x3c79ea[_0xa6f7('0x24')](_0x2ad0d9);return _0x3c79ea[_0xa6f7('0x28')](_0xa6f7('0x29'),_0x51db47+'-'+_0x1c419b+'/'+_0x4b8d2b)[_0xa6f7('0x25')](_0x3a3508);}return null;};}function patchUpdates(_0x54f72c){return function(_0x57282e){try{jsonpatch[_0xa6f7('0x2a')](_0x57282e,_0x54f72c,!![]);}catch(_0x40b0f8){return BPromise[_0xa6f7('0x2b')](_0x40b0f8);}return _0x57282e['save']();};}function saveUpdates(_0x442ccf,_0x42dc49){return function(_0x5bf8e3){if(_0x5bf8e3){return _0x5bf8e3[_0xa6f7('0x2c')](_0x442ccf)[_0xa6f7('0x1b')](function(_0x4d79d8){return _0x4d79d8;});}return null;};}function removeEntity(_0x55179e,_0x176378){return function(_0x25dcad){if(_0x25dcad){return _0x25dcad[_0xa6f7('0x2d')]()[_0xa6f7('0x1b')](function(){_0x55179e[_0xa6f7('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4dfd81,_0x238e15){return function(_0x4c2acd){if(!_0x4c2acd){_0x4dfd81[_0xa6f7('0x2e')](0x194);}return _0x4c2acd;};}function handleError(_0x1caadf,_0xfa0fb6){_0xfa0fb6=_0xfa0fb6||0x1f4;return function(_0x237e5d){logger[_0xa6f7('0x20')](_0x237e5d[_0xa6f7('0x2f')]);if(_0x237e5d['name']){delete _0x237e5d[_0xa6f7('0x30')];}_0x1caadf[_0xa6f7('0x24')](_0xfa0fb6)[_0xa6f7('0x31')](_0x237e5d);};}exports['index']=function(_0x3cc778,_0x5ab03d){var _0x1170c4={},_0x2f5632={},_0x45837c={'count':0x0,'rows':[]};var _0x4ccbd3=_[_0xa6f7('0x32')](db[_0xa6f7('0x33')][_0xa6f7('0x34')],function(_0x37b833){return{'name':_0x37b833[_0xa6f7('0x35')],'type':_0x37b833[_0xa6f7('0x36')]['key']};});_0x2f5632[_0xa6f7('0x37')]=_[_0xa6f7('0x32')](_0x4ccbd3,_0xa6f7('0x30'));_0x2f5632[_0xa6f7('0x38')]=_[_0xa6f7('0x39')](_0x3cc778[_0xa6f7('0x38')]);_0x2f5632[_0xa6f7('0x3a')]=_[_0xa6f7('0x3b')](_0x2f5632['model'],_0x2f5632[_0xa6f7('0x38')]);_0x1170c4[_0xa6f7('0x3c')]=_[_0xa6f7('0x3b')](_0x2f5632['model'],qs[_0xa6f7('0x3d')](_0x3cc778[_0xa6f7('0x38')]['fields']));_0x1170c4[_0xa6f7('0x3c')]=_0x1170c4[_0xa6f7('0x3c')][_0xa6f7('0x3e')]?_0x1170c4[_0xa6f7('0x3c')]:_0x2f5632[_0xa6f7('0x37')];if(!_0x3cc778['query'][_0xa6f7('0x3f')](_0xa6f7('0x40'))){_0x1170c4[_0xa6f7('0x27')]=qs[_0xa6f7('0x27')](_0x3cc778[_0xa6f7('0x38')][_0xa6f7('0x27')]);_0x1170c4[_0xa6f7('0x26')]=qs[_0xa6f7('0x26')](_0x3cc778['query']['offset']);}_0x1170c4[_0xa6f7('0x41')]=qs[_0xa6f7('0x42')](_0x3cc778[_0xa6f7('0x38')][_0xa6f7('0x42')]);_0x1170c4[_0xa6f7('0x43')]=qs[_0xa6f7('0x3a')](_[_0xa6f7('0x44')](_0x3cc778[_0xa6f7('0x38')],_0x2f5632[_0xa6f7('0x3a')]),_0x4ccbd3);if(_0x3cc778[_0xa6f7('0x38')]['filter']){_0x1170c4[_0xa6f7('0x43')]=_[_0xa6f7('0x45')](_0x1170c4['where'],{'$or':_[_0xa6f7('0x32')](_0x4ccbd3,function(_0x28778f){if(_0x28778f[_0xa6f7('0x36')]!==_0xa6f7('0x46')){var _0x51de13={};_0x51de13[_0x28778f[_0xa6f7('0x30')]]={'$like':'%'+_0x3cc778['query']['filter']+'%'};return _0x51de13;}})});}_0x1170c4=_[_0xa6f7('0x45')]({},_0x1170c4,_0x3cc778[_0xa6f7('0x47')]);var _0x3f5ef7={'where':_0x1170c4[_0xa6f7('0x43')]};return db[_0xa6f7('0x33')][_0xa6f7('0x48')](_0x3f5ef7)[_0xa6f7('0x1b')](function(_0x5a9e9e){_0x45837c[_0xa6f7('0x48')]=_0x5a9e9e;if(_0x3cc778[_0xa6f7('0x38')]['includeAll']){_0x1170c4[_0xa6f7('0x49')]=[{'all':!![]}];}return db[_0xa6f7('0x33')][_0xa6f7('0x4a')](_0x1170c4);})['then'](function(_0xc72eff){_0x45837c['rows']=_0xc72eff;return _0x45837c;})[_0xa6f7('0x1b')](respondWithFilteredResult(_0x5ab03d,_0x1170c4))[_0xa6f7('0x4b')](handleError(_0x5ab03d,null));};exports[_0xa6f7('0x4c')]=function(_0x5f3c84,_0x5df564){var _0x2b06b5={'raw':![],'where':{'id':_0x5f3c84[_0xa6f7('0x4d')]['id']}},_0x5928e4={};_0x5928e4['model']=_['keys'](db[_0xa6f7('0x33')][_0xa6f7('0x34')]);_0x5928e4[_0xa6f7('0x38')]=_[_0xa6f7('0x39')](_0x5f3c84[_0xa6f7('0x38')]);_0x5928e4[_0xa6f7('0x3a')]=_['intersection'](_0x5928e4[_0xa6f7('0x37')],_0x5928e4[_0xa6f7('0x38')]);_0x2b06b5['attributes']=_[_0xa6f7('0x3b')](_0x5928e4['model'],qs[_0xa6f7('0x3d')](_0x5f3c84['query']['fields']));_0x2b06b5[_0xa6f7('0x3c')]=_0x2b06b5[_0xa6f7('0x3c')][_0xa6f7('0x3e')]?_0x2b06b5[_0xa6f7('0x3c')]:_0x5928e4[_0xa6f7('0x37')];if(_0x5f3c84['query'][_0xa6f7('0x4e')]){_0x2b06b5[_0xa6f7('0x49')]=[{'all':!![]}];}_0x2b06b5=_['merge']({},_0x2b06b5,_0x5f3c84[_0xa6f7('0x47')]);return db['FreshsalesAccount'][_0xa6f7('0x4f')](_0x2b06b5)[_0xa6f7('0x1b')](handleEntityNotFound(_0x5df564,null))[_0xa6f7('0x1b')](respondWithResult(_0x5df564,null))['catch'](handleError(_0x5df564,null));};exports[_0xa6f7('0x50')]=function(_0x5dab05,_0x3eaefa){return db[_0xa6f7('0x33')][_0xa6f7('0x50')](_0x5dab05[_0xa6f7('0x51')],{})[_0xa6f7('0x1b')](respondWithResult(_0x3eaefa,0xc9))['catch'](handleError(_0x3eaefa,null));};exports['update']=function(_0x38e2b8,_0x405fc){if(_0x38e2b8[_0xa6f7('0x51')]['id']){delete _0x38e2b8[_0xa6f7('0x51')]['id'];}return db['FreshsalesAccount'][_0xa6f7('0x4f')]({'where':{'id':_0x38e2b8[_0xa6f7('0x4d')]['id']}})[_0xa6f7('0x1b')](handleEntityNotFound(_0x405fc,null))[_0xa6f7('0x1b')](saveUpdates(_0x38e2b8[_0xa6f7('0x51')],null))[_0xa6f7('0x1b')](respondWithResult(_0x405fc,null))['catch'](handleError(_0x405fc,null));};exports[_0xa6f7('0x2d')]=function(_0x1649dc,_0x454252){return db['FreshsalesAccount'][_0xa6f7('0x4f')]({'where':{'id':_0x1649dc[_0xa6f7('0x4d')]['id']}})[_0xa6f7('0x1b')](handleEntityNotFound(_0x454252,null))[_0xa6f7('0x1b')](removeEntity(_0x454252,null))['catch'](handleError(_0x454252,null));};exports['getConfigurations']=function(_0x166a54,_0x134e23,_0x1103c6){var _0x52e647={};var _0x301327={};var _0x269249;var _0x1fcb72;return db['FreshsalesAccount'][_0xa6f7('0x52')]({'where':{'id':_0x166a54[_0xa6f7('0x4d')]['id']}})[_0xa6f7('0x1b')](handleEntityNotFound(_0x134e23,null))[_0xa6f7('0x1b')](function(_0x41ec86){if(_0x41ec86){_0x269249=_0x41ec86;_0x301327[_0xa6f7('0x37')]=_[_0xa6f7('0x39')](db[_0xa6f7('0x53')][_0xa6f7('0x34')]);_0x301327[_0xa6f7('0x38')]=_[_0xa6f7('0x39')](_0x166a54['query']);_0x301327[_0xa6f7('0x3a')]=_['intersection'](_0x301327[_0xa6f7('0x37')],_0x301327['query']);_0x52e647[_0xa6f7('0x3c')]=_[_0xa6f7('0x3b')](_0x301327['model'],qs[_0xa6f7('0x3d')](_0x166a54[_0xa6f7('0x38')][_0xa6f7('0x3d')]));_0x52e647['attributes']=_0x52e647[_0xa6f7('0x3c')]['length']?_0x52e647[_0xa6f7('0x3c')]:_0x301327[_0xa6f7('0x37')];_0x52e647['order']=qs[_0xa6f7('0x42')](_0x166a54['query'][_0xa6f7('0x42')]);_0x52e647['where']=qs[_0xa6f7('0x3a')](_[_0xa6f7('0x44')](_0x166a54[_0xa6f7('0x38')],_0x301327[_0xa6f7('0x3a')]));if(_0x166a54[_0xa6f7('0x38')][_0xa6f7('0x54')]){_0x52e647[_0xa6f7('0x43')]=_[_0xa6f7('0x45')](_0x52e647[_0xa6f7('0x43')],{'$or':_[_0xa6f7('0x32')](_0x52e647[_0xa6f7('0x3c')],function(_0x41545e){var _0x4b0434={};_0x4b0434[_0x41545e]={'$like':'%'+_0x166a54[_0xa6f7('0x38')][_0xa6f7('0x54')]+'%'};return _0x4b0434;})});}_0x52e647=_[_0xa6f7('0x45')]({},_0x52e647,_0x166a54[_0xa6f7('0x47')]);return _0x269249[_0xa6f7('0x55')](_0x52e647);}})[_0xa6f7('0x1b')](function(_0x474b67){if(_0x474b67){_0x1fcb72=_0x474b67[_0xa6f7('0x3e')];if(!_0x166a54['query'][_0xa6f7('0x3f')](_0xa6f7('0x40'))){_0x52e647[_0xa6f7('0x27')]=qs['limit'](_0x166a54[_0xa6f7('0x38')][_0xa6f7('0x27')]);_0x52e647[_0xa6f7('0x26')]=qs[_0xa6f7('0x26')](_0x166a54[_0xa6f7('0x38')][_0xa6f7('0x26')]);}return _0x269249[_0xa6f7('0x55')](_0x52e647);}})[_0xa6f7('0x1b')](function(_0x4c1af7){if(_0x4c1af7){return _0x4c1af7?{'count':_0x1fcb72,'rows':_0x4c1af7}:null;}})['then'](respondWithResult(_0x134e23,null))[_0xa6f7('0x4b')](handleError(_0x134e23,null));};exports[_0xa6f7('0x56')]=function(_0x5e6d94,_0x3aa759,_0x18ff29){if(_0x5e6d94[_0xa6f7('0x51')]['id']){delete _0x5e6d94['body']['id'];}return db[_0xa6f7('0x33')]['findOne']({'where':{'id':_0x5e6d94['params']['id']}})['then'](handleEntityNotFound(_0x3aa759,null))['then'](function(_0x522e5d){if(_0x522e5d){_0x5e6d94[_0xa6f7('0x51')][_0xa6f7('0x57')]=_0x522e5d['id'];_0x5e6d94[_0xa6f7('0x51')]['Subjects']=integrations[_0xa6f7('0x58')](_0x5e6d94[_0xa6f7('0x51')][_0xa6f7('0x59')],_0x5e6d94[_0xa6f7('0x51')][_0xa6f7('0x36')]);_0x5e6d94[_0xa6f7('0x51')][_0xa6f7('0x5a')]=integrations[_0xa6f7('0x5b')](_0x5e6d94[_0xa6f7('0x51')][_0xa6f7('0x59')],_0x5e6d94['body'][_0xa6f7('0x36')]);return db[_0xa6f7('0x53')][_0xa6f7('0x50')](_0x5e6d94[_0xa6f7('0x51')],{'include':[{'model':db[_0xa6f7('0x5c')],'as':_0xa6f7('0x5d')},{'model':db[_0xa6f7('0x5c')],'as':_0xa6f7('0x5a')}]});}return null;})[_0xa6f7('0x1b')](respondWithResult(_0x3aa759,null))[_0xa6f7('0x4b')](handleError(_0x3aa759,null));};exports[_0xa6f7('0x5e')]=function(_0x5327ca,_0x4e2760,_0x12962c){var _0x2b3042='';var _0x3ba166='';return db['FreshsalesAccount'][_0xa6f7('0x52')]({'where':{'id':_0x5327ca[_0xa6f7('0x4d')]['id']},'attributes':['id','username',_0xa6f7('0x5f'),_0xa6f7('0x60')]})['then'](handleEntityNotFound(_0x4e2760,null))['then'](function(_0xadf749){if(_0xadf749){_0x3ba166=_0xadf749['username'];_0x2b3042=_0xadf749[_0xa6f7('0x5f')];var _0x1959cb=_0xadf749['remoteUri']['slice'](-0x1);if(_0x1959cb==='/'){_0x2b3042=_0x2b3042[_0xa6f7('0x61')](0x0,_0x2b3042[_0xa6f7('0x62')](_0x1959cb));}return rp({'method':_0xa6f7('0x63'),'uri':util['format'](_0xa6f7('0x64'),_0x2b3042,_0xa6f7('0x65')),'headers':{'Authorization':_0xa6f7('0x66')+_0xadf749[_0xa6f7('0x60')]},'json':!![]});}})[_0xa6f7('0x1b')](function(_0x282e79){if(_0x282e79){var _0x3149a5=_0x282e79[_0xa6f7('0x67')];var _0x13f6cc=![];var _0x1f4f19=null;for(_0x1f4f19=0x0;_0x1f4f19<_0x3149a5[_0xa6f7('0x3e')];_0x1f4f19++){if(_0x3149a5[_0x1f4f19]['email']===_0x3ba166){_0x13f6cc=!![];}}if(_0x13f6cc){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xa6f7('0x68')});}}})[_0xa6f7('0x1b')](respondWithResult(_0x4e2760,null))[_0xa6f7('0x4b')](function(_0x1f3f99){var _0x46e6c4=_0x5327ca[_0xa6f7('0x38')]['test']?0x1f4:_0x1f3f99[_0xa6f7('0x69')]||0x1f4;logger[_0xa6f7('0x20')](_0xa6f7('0x6a'),_0xa6f7('0x5e'),_0x46e6c4,JSON[_0xa6f7('0x6b')](_0x1f3f99));delete _0x1f3f99[_0xa6f7('0x30')];if(_0x46e6c4===0x191){_0x46e6c4=0x190;}_0x4e2760['status'](_0x46e6c4)['send'](_0x5327ca[_0xa6f7('0x38')][_0xa6f7('0x6c')]?{'message':_0xa6f7('0x6d'),'statusCode':_0x1f3f99[_0xa6f7('0x69')]}:_0x1f3f99);});};