Built motion from commit (unavailable).|2.5.30
[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 _0x32b2=['getConfigurations','FreshsalesConfiguration','addConfiguration','findOne','Subjects','getSubjects','channel','FreshsalesField','Descriptions','getFields','username','remoteUri','slice','substring','lastIndexOf','format','%s%s','/api/selector/owners','Token\x20token=','apiKey','users','email','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','FreshsalesAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','status','json','offset','limit','undefined','count','set','apply','update','destroy','end','sendStatus','name','send','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','FreshsalesAccount','findAll','show','params','includeAll','include','merge','create','body','find'];(function(_0x409353,_0xe9f04d){var _0x4f4b59=function(_0x64b587){while(--_0x64b587){_0x409353['push'](_0x409353['shift']());}};_0x4f4b59(++_0xe9f04d);}(_0x32b2,0x16e));var _0x232b=function(_0x124096,_0xbb4341){_0x124096=_0x124096-0x0;var _0x123aed=_0x32b2[_0x124096];return _0x123aed;};'use strict';var emlformat=require(_0x232b('0x0'));var rimraf=require(_0x232b('0x1'));var zipdir=require(_0x232b('0x2'));var jsonpatch=require(_0x232b('0x3'));var rp=require(_0x232b('0x4'));var moment=require(_0x232b('0x5'));var BPromise=require(_0x232b('0x6'));var Mustache=require(_0x232b('0x7'));var util=require(_0x232b('0x8'));var path=require(_0x232b('0x9'));var sox=require(_0x232b('0xa'));var csv=require(_0x232b('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x232b('0xc'));var _=require(_0x232b('0xd'));var squel=require(_0x232b('0xe'));var crypto=require(_0x232b('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x232b('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x232b('0x11'));var authService=require(_0x232b('0x12'));var qs=require(_0x232b('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x232b('0x14'));var logger=require(_0x232b('0x15'))('api');var utils=require(_0x232b('0x16'));var config=require(_0x232b('0x17'));var licenseUtil=require(_0x232b('0x18'));var db=require(_0x232b('0x19'))['db'];var integrations=require(_0x232b('0x1a'));var jayson=require('jayson/promise');var client=jayson[_0x232b('0x1b')][_0x232b('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x54122f,_0x24b1ae,_0x172d30,_0x22ddd5){return new BPromise(function(_0x32f5d1,_0x107595){var _0x1bc280=_0x22ddd5||client;return _0x1bc280[_0x232b('0x1d')](_0x54122f,_0x172d30)[_0x232b('0x1e')](function(_0x43ba2f){logger[_0x232b('0x1f')](_0x232b('0x20'),_0x24b1ae,_0x232b('0x21'));logger[_0x232b('0x22')](_0x232b('0x23'),_0x24b1ae,_0x232b('0x21'),JSON[_0x232b('0x24')](_0x43ba2f));if(_0x43ba2f[_0x232b('0x25')]){if(_0x43ba2f[_0x232b('0x25')]['code']===0x1f4){logger[_0x232b('0x25')](_0x232b('0x20'),_0x24b1ae,_0x43ba2f[_0x232b('0x25')][_0x232b('0x26')]);return _0x107595(_0x43ba2f[_0x232b('0x25')][_0x232b('0x26')]);}logger[_0x232b('0x25')]('FreshsalesAccount,\x20%s,\x20%s',_0x24b1ae,_0x43ba2f[_0x232b('0x25')][_0x232b('0x26')]);return _0x32f5d1(_0x43ba2f[_0x232b('0x25')][_0x232b('0x26')]);}else{logger['info']('FreshsalesAccount,\x20%s,\x20%s',_0x24b1ae,_0x232b('0x21'));_0x32f5d1(_0x43ba2f[_0x232b('0x27')]['message']);}})[_0x232b('0x28')](function(_0x15c85d){logger[_0x232b('0x25')](_0x232b('0x20'),_0x24b1ae,_0x15c85d);_0x107595(_0x15c85d);});});}function respondWithStatusCode(_0x23f077,_0x35c133){_0x35c133=_0x35c133||0xcc;return function(_0x3854f1){if(_0x3854f1){return _0x23f077['sendStatus'](_0x35c133);}return _0x23f077[_0x232b('0x29')](_0x35c133)['end']();};}function respondWithResult(_0x46c254,_0x877d93){_0x877d93=_0x877d93||0xc8;return function(_0x30b72e){if(_0x30b72e){return _0x46c254[_0x232b('0x29')](_0x877d93)[_0x232b('0x2a')](_0x30b72e);}};}function respondWithFilteredResult(_0x1ed007,_0x141620){return function(_0x23eeef){if(_0x23eeef){var _0x573dc8=typeof _0x141620[_0x232b('0x2b')]==='undefined'&&typeof _0x141620[_0x232b('0x2c')]===_0x232b('0x2d');var _0x4b6587=_0x23eeef[_0x232b('0x2e')];var _0x8141ef=_0x573dc8?0x0:_0x141620['offset'];var _0x27bf36=_0x573dc8?_0x23eeef[_0x232b('0x2e')]:_0x141620['offset']+_0x141620[_0x232b('0x2c')];var _0x1429c6;if(_0x27bf36>=_0x4b6587){_0x27bf36=_0x4b6587;_0x1429c6=0xc8;}else{_0x1429c6=0xce;}_0x1ed007['status'](_0x1429c6);return _0x1ed007[_0x232b('0x2f')]('Content-Range',_0x8141ef+'-'+_0x27bf36+'/'+_0x4b6587)[_0x232b('0x2a')](_0x23eeef);}return null;};}function patchUpdates(_0x5e68b8){return function(_0x2ddd5d){try{jsonpatch[_0x232b('0x30')](_0x2ddd5d,_0x5e68b8,!![]);}catch(_0x10e4e3){return BPromise['reject'](_0x10e4e3);}return _0x2ddd5d['save']();};}function saveUpdates(_0x50dc03,_0x454ec1){return function(_0x5a1777){if(_0x5a1777){return _0x5a1777[_0x232b('0x31')](_0x50dc03)[_0x232b('0x1e')](function(_0xc6b8a6){return _0xc6b8a6;});}return null;};}function removeEntity(_0x5039c1,_0x26257a){return function(_0x146a75){if(_0x146a75){return _0x146a75[_0x232b('0x32')]()[_0x232b('0x1e')](function(){_0x5039c1['status'](0xcc)[_0x232b('0x33')]();});}};}function handleEntityNotFound(_0x3583aa,_0x1661a1){return function(_0x577000){if(!_0x577000){_0x3583aa[_0x232b('0x34')](0x194);}return _0x577000;};}function handleError(_0x19f86b,_0x500d63){_0x500d63=_0x500d63||0x1f4;return function(_0x2d50f7){logger[_0x232b('0x25')](_0x2d50f7['stack']);if(_0x2d50f7['name']){delete _0x2d50f7[_0x232b('0x35')];}_0x19f86b[_0x232b('0x29')](_0x500d63)[_0x232b('0x36')](_0x2d50f7);};}exports[_0x232b('0x37')]=function(_0x5bbc65,_0x5664ca){var _0x1b4a44={},_0x2b9a79={},_0x5e3ea6={'count':0x0,'rows':[]};var _0x320ccd=_[_0x232b('0x38')](db['FreshsalesAccount'][_0x232b('0x39')],function(_0x33e4be){return{'name':_0x33e4be[_0x232b('0x3a')],'type':_0x33e4be[_0x232b('0x3b')]['key']};});_0x2b9a79[_0x232b('0x3c')]=_[_0x232b('0x38')](_0x320ccd,_0x232b('0x35'));_0x2b9a79[_0x232b('0x3d')]=_[_0x232b('0x3e')](_0x5bbc65['query']);_0x2b9a79[_0x232b('0x3f')]=_[_0x232b('0x40')](_0x2b9a79[_0x232b('0x3c')],_0x2b9a79[_0x232b('0x3d')]);_0x1b4a44['attributes']=_[_0x232b('0x40')](_0x2b9a79[_0x232b('0x3c')],qs[_0x232b('0x41')](_0x5bbc65[_0x232b('0x3d')][_0x232b('0x41')]));_0x1b4a44[_0x232b('0x42')]=_0x1b4a44['attributes'][_0x232b('0x43')]?_0x1b4a44['attributes']:_0x2b9a79[_0x232b('0x3c')];if(!_0x5bbc65[_0x232b('0x3d')][_0x232b('0x44')](_0x232b('0x45'))){_0x1b4a44['limit']=qs[_0x232b('0x2c')](_0x5bbc65['query'][_0x232b('0x2c')]);_0x1b4a44[_0x232b('0x2b')]=qs['offset'](_0x5bbc65[_0x232b('0x3d')][_0x232b('0x2b')]);}_0x1b4a44[_0x232b('0x46')]=qs['sort'](_0x5bbc65[_0x232b('0x3d')][_0x232b('0x47')]);_0x1b4a44[_0x232b('0x48')]=qs[_0x232b('0x3f')](_[_0x232b('0x49')](_0x5bbc65[_0x232b('0x3d')],_0x2b9a79['filters']),_0x320ccd);if(_0x5bbc65[_0x232b('0x3d')][_0x232b('0x4a')]){_0x1b4a44[_0x232b('0x48')]=_['merge'](_0x1b4a44['where'],{'$or':_[_0x232b('0x38')](_0x320ccd,function(_0x138c49){if(_0x138c49['type']!=='VIRTUAL'){var _0x16cda7={};_0x16cda7[_0x138c49['name']]={'$like':'%'+_0x5bbc65['query']['filter']+'%'};return _0x16cda7;}})});}_0x1b4a44=_['merge']({},_0x1b4a44,_0x5bbc65[_0x232b('0x4b')]);var _0x357fa0={'where':_0x1b4a44['where']};return db[_0x232b('0x4c')]['count'](_0x357fa0)[_0x232b('0x1e')](function(_0x339e5b){_0x5e3ea6['count']=_0x339e5b;if(_0x5bbc65[_0x232b('0x3d')]['includeAll']){_0x1b4a44['include']=[{'all':!![]}];}return db[_0x232b('0x4c')][_0x232b('0x4d')](_0x1b4a44);})[_0x232b('0x1e')](function(_0x11a8a1){_0x5e3ea6['rows']=_0x11a8a1;return _0x5e3ea6;})[_0x232b('0x1e')](respondWithFilteredResult(_0x5664ca,_0x1b4a44))[_0x232b('0x28')](handleError(_0x5664ca,null));};exports[_0x232b('0x4e')]=function(_0xca974a,_0x543f02){var _0x47aba0={'raw':![],'where':{'id':_0xca974a[_0x232b('0x4f')]['id']}},_0x314201={};_0x314201[_0x232b('0x3c')]=_[_0x232b('0x3e')](db[_0x232b('0x4c')]['rawAttributes']);_0x314201[_0x232b('0x3d')]=_[_0x232b('0x3e')](_0xca974a['query']);_0x314201['filters']=_[_0x232b('0x40')](_0x314201[_0x232b('0x3c')],_0x314201[_0x232b('0x3d')]);_0x47aba0[_0x232b('0x42')]=_[_0x232b('0x40')](_0x314201[_0x232b('0x3c')],qs[_0x232b('0x41')](_0xca974a[_0x232b('0x3d')]['fields']));_0x47aba0[_0x232b('0x42')]=_0x47aba0[_0x232b('0x42')]['length']?_0x47aba0[_0x232b('0x42')]:_0x314201['model'];if(_0xca974a['query'][_0x232b('0x50')]){_0x47aba0[_0x232b('0x51')]=[{'all':!![]}];}_0x47aba0=_[_0x232b('0x52')]({},_0x47aba0,_0xca974a[_0x232b('0x4b')]);return db[_0x232b('0x4c')]['find'](_0x47aba0)[_0x232b('0x1e')](handleEntityNotFound(_0x543f02,null))[_0x232b('0x1e')](respondWithResult(_0x543f02,null))[_0x232b('0x28')](handleError(_0x543f02,null));};exports[_0x232b('0x53')]=function(_0xd24172,_0x466924){return db[_0x232b('0x4c')][_0x232b('0x53')](_0xd24172[_0x232b('0x54')],{})['then'](respondWithResult(_0x466924,0xc9))[_0x232b('0x28')](handleError(_0x466924,null));};exports[_0x232b('0x31')]=function(_0x3720ec,_0x3d7333){if(_0x3720ec[_0x232b('0x54')]['id']){delete _0x3720ec[_0x232b('0x54')]['id'];}return db[_0x232b('0x4c')][_0x232b('0x55')]({'where':{'id':_0x3720ec[_0x232b('0x4f')]['id']}})[_0x232b('0x1e')](handleEntityNotFound(_0x3d7333,null))[_0x232b('0x1e')](saveUpdates(_0x3720ec[_0x232b('0x54')],null))[_0x232b('0x1e')](respondWithResult(_0x3d7333,null))[_0x232b('0x28')](handleError(_0x3d7333,null));};exports[_0x232b('0x32')]=function(_0x375cb5,_0x22ba9c){return db['FreshsalesAccount'][_0x232b('0x55')]({'where':{'id':_0x375cb5[_0x232b('0x4f')]['id']}})[_0x232b('0x1e')](handleEntityNotFound(_0x22ba9c,null))[_0x232b('0x1e')](removeEntity(_0x22ba9c,null))[_0x232b('0x28')](handleError(_0x22ba9c,null));};exports[_0x232b('0x56')]=function(_0x483592,_0x53d725,_0x2e996f){var _0x11c822={};var _0x3fd7de={};var _0x301936;var _0x44c6e1;return db[_0x232b('0x4c')]['findOne']({'where':{'id':_0x483592[_0x232b('0x4f')]['id']}})[_0x232b('0x1e')](handleEntityNotFound(_0x53d725,null))[_0x232b('0x1e')](function(_0x477e35){if(_0x477e35){_0x301936=_0x477e35;_0x3fd7de[_0x232b('0x3c')]=_[_0x232b('0x3e')](db[_0x232b('0x57')]['rawAttributes']);_0x3fd7de['query']=_[_0x232b('0x3e')](_0x483592[_0x232b('0x3d')]);_0x3fd7de[_0x232b('0x3f')]=_[_0x232b('0x40')](_0x3fd7de['model'],_0x3fd7de[_0x232b('0x3d')]);_0x11c822['attributes']=_[_0x232b('0x40')](_0x3fd7de['model'],qs[_0x232b('0x41')](_0x483592[_0x232b('0x3d')][_0x232b('0x41')]));_0x11c822[_0x232b('0x42')]=_0x11c822['attributes']['length']?_0x11c822[_0x232b('0x42')]:_0x3fd7de[_0x232b('0x3c')];_0x11c822[_0x232b('0x46')]=qs['sort'](_0x483592['query'][_0x232b('0x47')]);_0x11c822['where']=qs[_0x232b('0x3f')](_[_0x232b('0x49')](_0x483592[_0x232b('0x3d')],_0x3fd7de[_0x232b('0x3f')]));if(_0x483592[_0x232b('0x3d')][_0x232b('0x4a')]){_0x11c822[_0x232b('0x48')]=_[_0x232b('0x52')](_0x11c822[_0x232b('0x48')],{'$or':_[_0x232b('0x38')](_0x11c822[_0x232b('0x42')],function(_0x2ec79b){var _0x433db4={};_0x433db4[_0x2ec79b]={'$like':'%'+_0x483592[_0x232b('0x3d')][_0x232b('0x4a')]+'%'};return _0x433db4;})});}_0x11c822=_['merge']({},_0x11c822,_0x483592['options']);return _0x301936[_0x232b('0x56')](_0x11c822);}})[_0x232b('0x1e')](function(_0xd0dcd6){if(_0xd0dcd6){_0x44c6e1=_0xd0dcd6[_0x232b('0x43')];if(!_0x483592['query'][_0x232b('0x44')](_0x232b('0x45'))){_0x11c822[_0x232b('0x2c')]=qs[_0x232b('0x2c')](_0x483592['query']['limit']);_0x11c822[_0x232b('0x2b')]=qs['offset'](_0x483592[_0x232b('0x3d')][_0x232b('0x2b')]);}return _0x301936[_0x232b('0x56')](_0x11c822);}})[_0x232b('0x1e')](function(_0x538a69){if(_0x538a69){return _0x538a69?{'count':_0x44c6e1,'rows':_0x538a69}:null;}})[_0x232b('0x1e')](respondWithResult(_0x53d725,null))['catch'](handleError(_0x53d725,null));};exports[_0x232b('0x58')]=function(_0x38df73,_0x364b9a,_0x57d9b1){if(_0x38df73[_0x232b('0x54')]['id']){delete _0x38df73['body']['id'];}return db[_0x232b('0x4c')][_0x232b('0x59')]({'where':{'id':_0x38df73['params']['id']}})[_0x232b('0x1e')](handleEntityNotFound(_0x364b9a,null))['then'](function(_0x4a838e){if(_0x4a838e){_0x38df73[_0x232b('0x54')]['AccountId']=_0x4a838e['id'];_0x38df73['body'][_0x232b('0x5a')]=integrations[_0x232b('0x5b')](_0x38df73[_0x232b('0x54')][_0x232b('0x5c')],_0x38df73[_0x232b('0x54')][_0x232b('0x3b')]);_0x38df73['body']['Descriptions']=integrations['getDescriptions'](_0x38df73['body'][_0x232b('0x5c')],_0x38df73[_0x232b('0x54')][_0x232b('0x3b')]);return db['FreshsalesConfiguration'][_0x232b('0x53')](_0x38df73[_0x232b('0x54')],{'include':[{'model':db[_0x232b('0x5d')],'as':_0x232b('0x5a')},{'model':db[_0x232b('0x5d')],'as':_0x232b('0x5e')}]});}return null;})['then'](respondWithResult(_0x364b9a,null))[_0x232b('0x28')](handleError(_0x364b9a,null));};exports[_0x232b('0x5f')]=function(_0xc7ca73,_0x108db4,_0x35659e){var _0x4565cb='';var _0x3e66cb='';return db[_0x232b('0x4c')][_0x232b('0x59')]({'where':{'id':_0xc7ca73['params']['id']},'attributes':['id',_0x232b('0x60'),_0x232b('0x61'),'apiKey']})[_0x232b('0x1e')](handleEntityNotFound(_0x108db4,null))[_0x232b('0x1e')](function(_0x853d13){if(_0x853d13){_0x3e66cb=_0x853d13['username'];_0x4565cb=_0x853d13[_0x232b('0x61')];var _0x109219=_0x853d13[_0x232b('0x61')][_0x232b('0x62')](-0x1);if(_0x109219==='/'){_0x4565cb=_0x4565cb[_0x232b('0x63')](0x0,_0x4565cb[_0x232b('0x64')](_0x109219));}return rp({'method':'GET','uri':util[_0x232b('0x65')](_0x232b('0x66'),_0x4565cb,_0x232b('0x67')),'headers':{'Authorization':_0x232b('0x68')+_0x853d13[_0x232b('0x69')]},'json':!![]});}})[_0x232b('0x1e')](function(_0x6b1604){if(_0x6b1604){var _0x228ff7=_0x6b1604[_0x232b('0x6a')];var _0x4b8ab6=![];var _0x3e17eb=null;for(_0x3e17eb=0x0;_0x3e17eb<_0x228ff7[_0x232b('0x43')];_0x3e17eb++){if(_0x228ff7[_0x3e17eb][_0x232b('0x6b')]===_0x3e66cb){_0x4b8ab6=!![];}}if(_0x4b8ab6){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x232b('0x6c')});}}})[_0x232b('0x1e')](respondWithResult(_0x108db4,null))[_0x232b('0x28')](function(_0x25c162){var _0x552340=_0xc7ca73['query'][_0x232b('0x6d')]?0x1f4:_0x25c162['statusCode']||0x1f4;logger[_0x232b('0x25')](_0x232b('0x6e'),_0x232b('0x5f'),_0x552340,JSON[_0x232b('0x24')](_0x25c162));delete _0x25c162[_0x232b('0x35')];if(_0x552340===0x191){_0x552340=0x190;}_0x108db4['status'](_0x552340)[_0x232b('0x36')](_0xc7ca73[_0x232b('0x3d')][_0x232b('0x6d')]?{'message':_0x232b('0x6f'),'statusCode':_0x25c162[_0x232b('0x70')]}:_0x25c162);});};