Built motion from commit b0a9a629.|2.6.33
[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 _0x51f9=['rows','catch','show','params','find','create','body','update','findOne','FreshsalesConfiguration','pick','nolimit','getConfigurations','addConfiguration','channel','Descriptions','FreshsalesField','remoteUri','apiKey','username','slice','substring','lastIndexOf','GET','%s%s','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','Wrong\x20credentials','statusCode','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','end','status','json','offset','undefined','limit','count','Content-Range','reject','destroy','then','sendStatus','error','name','send','index','FreshsalesAccount','rawAttributes','fieldName','type','key','model','map','keys','intersection','query','attributes','fields','length','hasOwnProperty','order','sort','where','filters','filter','merge','options','includeAll','include','findAll'];(function(_0x49ca18,_0x5e6d05){var _0x145d54=function(_0x30b9be){while(--_0x30b9be){_0x49ca18['push'](_0x49ca18['shift']());}};_0x145d54(++_0x5e6d05);}(_0x51f9,0x15c));var _0x951f=function(_0x562362,_0x5d54f4){_0x562362=_0x562362-0x0;var _0x3a18ce=_0x51f9[_0x562362];return _0x3a18ce;};'use strict';var emlformat=require(_0x951f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x951f('0x1'));var jsonpatch=require(_0x951f('0x2'));var rp=require(_0x951f('0x3'));var moment=require(_0x951f('0x4'));var BPromise=require(_0x951f('0x5'));var Mustache=require(_0x951f('0x6'));var util=require(_0x951f('0x7'));var path=require(_0x951f('0x8'));var sox=require(_0x951f('0x9'));var csv=require(_0x951f('0xa'));var ejs=require(_0x951f('0xb'));var fs=require('fs');var fs_extra=require(_0x951f('0xc'));var _=require(_0x951f('0xd'));var squel=require(_0x951f('0xe'));var crypto=require(_0x951f('0xf'));var jsforce=require(_0x951f('0x10'));var deskjs=require(_0x951f('0x11'));var toCsv=require(_0x951f('0xa'));var querystring=require(_0x951f('0x12'));var Papa=require('papaparse');var Redis=require(_0x951f('0x13'));var authService=require(_0x951f('0x14'));var qs=require(_0x951f('0x15'));var as=require(_0x951f('0x16'));var hardwareService=require(_0x951f('0x17'));var logger=require(_0x951f('0x18'))(_0x951f('0x19'));var utils=require(_0x951f('0x1a'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x951f('0x1b'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x104b65,_0x712d85){_0x712d85=_0x712d85||0xcc;return function(_0x2bdb92){if(_0x2bdb92){return _0x104b65['sendStatus'](_0x712d85);}return _0x104b65['status'](_0x712d85)[_0x951f('0x1c')]();};}function respondWithResult(_0x5021bb,_0x46aec7){_0x46aec7=_0x46aec7||0xc8;return function(_0x37dd81){if(_0x37dd81){return _0x5021bb[_0x951f('0x1d')](_0x46aec7)[_0x951f('0x1e')](_0x37dd81);}};}function respondWithFilteredResult(_0x5a331e,_0x43007d){return function(_0x50a9dd){if(_0x50a9dd){var _0x333120=typeof _0x43007d[_0x951f('0x1f')]===_0x951f('0x20')&&typeof _0x43007d[_0x951f('0x21')]===_0x951f('0x20');var _0x3554d5=_0x50a9dd[_0x951f('0x22')];var _0x2a1436=_0x333120?0x0:_0x43007d[_0x951f('0x1f')];var _0x57f445=_0x333120?_0x50a9dd[_0x951f('0x22')]:_0x43007d[_0x951f('0x1f')]+_0x43007d['limit'];var _0x38f169;if(_0x57f445>=_0x3554d5){_0x57f445=_0x3554d5;_0x38f169=0xc8;}else{_0x38f169=0xce;}_0x5a331e[_0x951f('0x1d')](_0x38f169);return _0x5a331e['set'](_0x951f('0x23'),_0x2a1436+'-'+_0x57f445+'/'+_0x3554d5)[_0x951f('0x1e')](_0x50a9dd);}return null;};}function patchUpdates(_0x19a873){return function(_0x5a67d6){try{jsonpatch['apply'](_0x5a67d6,_0x19a873,!![]);}catch(_0x3c4ed5){return BPromise[_0x951f('0x24')](_0x3c4ed5);}return _0x5a67d6['save']();};}function saveUpdates(_0x59c4cc,_0xa25eab){return function(_0x1cd08f){if(_0x1cd08f){return _0x1cd08f['update'](_0x59c4cc)['then'](function(_0x49664c){return _0x49664c;});}return null;};}function removeEntity(_0x4a4844,_0x49ca1b){return function(_0x25f54d){if(_0x25f54d){return _0x25f54d[_0x951f('0x25')]()[_0x951f('0x26')](function(){_0x4a4844[_0x951f('0x1d')](0xcc)[_0x951f('0x1c')]();});}};}function handleEntityNotFound(_0x58ede5,_0xcff2f2){return function(_0x54ee2d){if(!_0x54ee2d){_0x58ede5[_0x951f('0x27')](0x194);}return _0x54ee2d;};}function handleError(_0x4349f0,_0x295990){_0x295990=_0x295990||0x1f4;return function(_0x2cbb13){logger[_0x951f('0x28')](_0x2cbb13['stack']);if(_0x2cbb13[_0x951f('0x29')]){delete _0x2cbb13[_0x951f('0x29')];}_0x4349f0[_0x951f('0x1d')](_0x295990)[_0x951f('0x2a')](_0x2cbb13);};}exports[_0x951f('0x2b')]=function(_0x5c5d6d,_0x188979){var _0x24d01d={},_0x18fc20={},_0x293abd={'count':0x0,'rows':[]};var _0x2daae2=_['map'](db[_0x951f('0x2c')][_0x951f('0x2d')],function(_0x17a6f4){return{'name':_0x17a6f4[_0x951f('0x2e')],'type':_0x17a6f4[_0x951f('0x2f')][_0x951f('0x30')]};});_0x18fc20[_0x951f('0x31')]=_[_0x951f('0x32')](_0x2daae2,_0x951f('0x29'));_0x18fc20['query']=_[_0x951f('0x33')](_0x5c5d6d['query']);_0x18fc20['filters']=_[_0x951f('0x34')](_0x18fc20['model'],_0x18fc20[_0x951f('0x35')]);_0x24d01d[_0x951f('0x36')]=_[_0x951f('0x34')](_0x18fc20[_0x951f('0x31')],qs[_0x951f('0x37')](_0x5c5d6d[_0x951f('0x35')][_0x951f('0x37')]));_0x24d01d[_0x951f('0x36')]=_0x24d01d['attributes'][_0x951f('0x38')]?_0x24d01d['attributes']:_0x18fc20['model'];if(!_0x5c5d6d[_0x951f('0x35')][_0x951f('0x39')]('nolimit')){_0x24d01d['limit']=qs[_0x951f('0x21')](_0x5c5d6d['query']['limit']);_0x24d01d[_0x951f('0x1f')]=qs[_0x951f('0x1f')](_0x5c5d6d[_0x951f('0x35')][_0x951f('0x1f')]);}_0x24d01d[_0x951f('0x3a')]=qs[_0x951f('0x3b')](_0x5c5d6d['query']['sort']);_0x24d01d[_0x951f('0x3c')]=qs[_0x951f('0x3d')](_['pick'](_0x5c5d6d[_0x951f('0x35')],_0x18fc20['filters']),_0x2daae2);if(_0x5c5d6d[_0x951f('0x35')][_0x951f('0x3e')]){_0x24d01d['where']=_[_0x951f('0x3f')](_0x24d01d[_0x951f('0x3c')],{'$or':_[_0x951f('0x32')](_0x2daae2,function(_0x6c4c97){if(_0x6c4c97[_0x951f('0x2f')]!=='VIRTUAL'){var _0x5a7058={};_0x5a7058[_0x6c4c97[_0x951f('0x29')]]={'$like':'%'+_0x5c5d6d[_0x951f('0x35')][_0x951f('0x3e')]+'%'};return _0x5a7058;}})});}_0x24d01d=_[_0x951f('0x3f')]({},_0x24d01d,_0x5c5d6d[_0x951f('0x40')]);var _0x4189c2={'where':_0x24d01d[_0x951f('0x3c')]};return db['FreshsalesAccount'][_0x951f('0x22')](_0x4189c2)['then'](function(_0x143a6b){_0x293abd[_0x951f('0x22')]=_0x143a6b;if(_0x5c5d6d['query'][_0x951f('0x41')]){_0x24d01d[_0x951f('0x42')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x951f('0x43')](_0x24d01d);})[_0x951f('0x26')](function(_0x41af90){_0x293abd[_0x951f('0x44')]=_0x41af90;return _0x293abd;})['then'](respondWithFilteredResult(_0x188979,_0x24d01d))[_0x951f('0x45')](handleError(_0x188979,null));};exports[_0x951f('0x46')]=function(_0x5cc4de,_0x5cab63){var _0x3e9f00={'raw':![],'where':{'id':_0x5cc4de[_0x951f('0x47')]['id']}},_0x3f44b0={};_0x3f44b0[_0x951f('0x31')]=_['keys'](db[_0x951f('0x2c')]['rawAttributes']);_0x3f44b0['query']=_[_0x951f('0x33')](_0x5cc4de[_0x951f('0x35')]);_0x3f44b0[_0x951f('0x3d')]=_[_0x951f('0x34')](_0x3f44b0[_0x951f('0x31')],_0x3f44b0['query']);_0x3e9f00[_0x951f('0x36')]=_[_0x951f('0x34')](_0x3f44b0[_0x951f('0x31')],qs[_0x951f('0x37')](_0x5cc4de[_0x951f('0x35')][_0x951f('0x37')]));_0x3e9f00['attributes']=_0x3e9f00[_0x951f('0x36')][_0x951f('0x38')]?_0x3e9f00[_0x951f('0x36')]:_0x3f44b0[_0x951f('0x31')];if(_0x5cc4de['query'][_0x951f('0x41')]){_0x3e9f00[_0x951f('0x42')]=[{'all':!![]}];}_0x3e9f00=_[_0x951f('0x3f')]({},_0x3e9f00,_0x5cc4de[_0x951f('0x40')]);return db[_0x951f('0x2c')][_0x951f('0x48')](_0x3e9f00)[_0x951f('0x26')](handleEntityNotFound(_0x5cab63,null))[_0x951f('0x26')](respondWithResult(_0x5cab63,null))['catch'](handleError(_0x5cab63,null));};exports[_0x951f('0x49')]=function(_0x4c6d6d,_0xeaebcb){return db['FreshsalesAccount']['create'](_0x4c6d6d[_0x951f('0x4a')],{})[_0x951f('0x26')](respondWithResult(_0xeaebcb,0xc9))['catch'](handleError(_0xeaebcb,null));};exports[_0x951f('0x4b')]=function(_0x31a311,_0x19addc){if(_0x31a311[_0x951f('0x4a')]['id']){delete _0x31a311[_0x951f('0x4a')]['id'];}return db['FreshsalesAccount'][_0x951f('0x48')]({'where':{'id':_0x31a311[_0x951f('0x47')]['id']}})['then'](handleEntityNotFound(_0x19addc,null))['then'](saveUpdates(_0x31a311[_0x951f('0x4a')],null))[_0x951f('0x26')](respondWithResult(_0x19addc,null))[_0x951f('0x45')](handleError(_0x19addc,null));};exports[_0x951f('0x25')]=function(_0x32692d,_0x2eab77){return db['FreshsalesAccount'][_0x951f('0x48')]({'where':{'id':_0x32692d['params']['id']}})['then'](handleEntityNotFound(_0x2eab77,null))[_0x951f('0x26')](removeEntity(_0x2eab77,null))[_0x951f('0x45')](handleError(_0x2eab77,null));};exports['getConfigurations']=function(_0x323316,_0x1c12ab,_0x3204c6){var _0x26af3a={};var _0x263ca6={};var _0x489728;var _0x742f1;return db[_0x951f('0x2c')][_0x951f('0x4c')]({'where':{'id':_0x323316[_0x951f('0x47')]['id']}})[_0x951f('0x26')](handleEntityNotFound(_0x1c12ab,null))[_0x951f('0x26')](function(_0x1bc2d6){if(_0x1bc2d6){_0x489728=_0x1bc2d6;_0x263ca6[_0x951f('0x31')]=_[_0x951f('0x33')](db[_0x951f('0x4d')][_0x951f('0x2d')]);_0x263ca6[_0x951f('0x35')]=_['keys'](_0x323316['query']);_0x263ca6[_0x951f('0x3d')]=_[_0x951f('0x34')](_0x263ca6[_0x951f('0x31')],_0x263ca6[_0x951f('0x35')]);_0x26af3a[_0x951f('0x36')]=_[_0x951f('0x34')](_0x263ca6[_0x951f('0x31')],qs[_0x951f('0x37')](_0x323316['query'][_0x951f('0x37')]));_0x26af3a[_0x951f('0x36')]=_0x26af3a['attributes'][_0x951f('0x38')]?_0x26af3a['attributes']:_0x263ca6[_0x951f('0x31')];_0x26af3a[_0x951f('0x3a')]=qs[_0x951f('0x3b')](_0x323316[_0x951f('0x35')][_0x951f('0x3b')]);_0x26af3a[_0x951f('0x3c')]=qs['filters'](_[_0x951f('0x4e')](_0x323316['query'],_0x263ca6[_0x951f('0x3d')]));if(_0x323316[_0x951f('0x35')]['filter']){_0x26af3a[_0x951f('0x3c')]=_[_0x951f('0x3f')](_0x26af3a[_0x951f('0x3c')],{'$or':_[_0x951f('0x32')](_0x26af3a[_0x951f('0x36')],function(_0x574c1a){var _0x48a45e={};_0x48a45e[_0x574c1a]={'$like':'%'+_0x323316[_0x951f('0x35')]['filter']+'%'};return _0x48a45e;})});}_0x26af3a=_[_0x951f('0x3f')]({},_0x26af3a,_0x323316[_0x951f('0x40')]);return _0x489728['getConfigurations'](_0x26af3a);}})[_0x951f('0x26')](function(_0x580197){if(_0x580197){_0x742f1=_0x580197[_0x951f('0x38')];if(!_0x323316['query'][_0x951f('0x39')](_0x951f('0x4f'))){_0x26af3a[_0x951f('0x21')]=qs[_0x951f('0x21')](_0x323316[_0x951f('0x35')][_0x951f('0x21')]);_0x26af3a[_0x951f('0x1f')]=qs['offset'](_0x323316[_0x951f('0x35')][_0x951f('0x1f')]);}return _0x489728[_0x951f('0x50')](_0x26af3a);}})[_0x951f('0x26')](function(_0x34622c){if(_0x34622c){return _0x34622c?{'count':_0x742f1,'rows':_0x34622c}:null;}})[_0x951f('0x26')](respondWithResult(_0x1c12ab,null))['catch'](handleError(_0x1c12ab,null));};exports[_0x951f('0x51')]=function(_0x25e4d1,_0x15b798,_0x1ce9d1){if(_0x25e4d1['body']['id']){delete _0x25e4d1[_0x951f('0x4a')]['id'];}return db[_0x951f('0x2c')][_0x951f('0x4c')]({'where':{'id':_0x25e4d1[_0x951f('0x47')]['id']}})[_0x951f('0x26')](handleEntityNotFound(_0x15b798,null))['then'](function(_0x15d6d3){if(_0x15d6d3){_0x25e4d1[_0x951f('0x4a')]['AccountId']=_0x15d6d3['id'];_0x25e4d1[_0x951f('0x4a')]['Subjects']=integrations['getSubjects'](_0x25e4d1[_0x951f('0x4a')][_0x951f('0x52')],_0x25e4d1[_0x951f('0x4a')][_0x951f('0x2f')]);_0x25e4d1[_0x951f('0x4a')][_0x951f('0x53')]=integrations['getDescriptions'](_0x25e4d1[_0x951f('0x4a')][_0x951f('0x52')],_0x25e4d1[_0x951f('0x4a')][_0x951f('0x2f')]);return db['FreshsalesConfiguration'][_0x951f('0x49')](_0x25e4d1[_0x951f('0x4a')],{'include':[{'model':db[_0x951f('0x54')],'as':'Subjects'},{'model':db[_0x951f('0x54')],'as':_0x951f('0x53')}]});}return null;})['then'](respondWithResult(_0x15b798,null))[_0x951f('0x45')](handleError(_0x15b798,null));};exports['getFields']=function(_0xe18f23,_0xdf8927,_0x2b5153){var _0x45a844='';var _0xe69edf='';return db[_0x951f('0x2c')]['findOne']({'where':{'id':_0xe18f23[_0x951f('0x47')]['id']},'attributes':['id','username',_0x951f('0x55'),_0x951f('0x56')]})[_0x951f('0x26')](handleEntityNotFound(_0xdf8927,null))['then'](function(_0x5639e9){if(_0x5639e9){_0xe69edf=_0x5639e9[_0x951f('0x57')];_0x45a844=_0x5639e9[_0x951f('0x55')];var _0x4bbe02=_0x5639e9[_0x951f('0x55')][_0x951f('0x58')](-0x1);if(_0x4bbe02==='/'){_0x45a844=_0x45a844[_0x951f('0x59')](0x0,_0x45a844[_0x951f('0x5a')](_0x4bbe02));}return rp({'method':_0x951f('0x5b'),'uri':util['format'](_0x951f('0x5c'),_0x45a844,_0x951f('0x5d')),'headers':{'Authorization':_0x951f('0x5e')+_0x5639e9[_0x951f('0x56')]},'json':!![]});}})[_0x951f('0x26')](function(_0x12c492){if(_0x12c492){var _0x2f85df=_0x12c492[_0x951f('0x5f')];var _0x589768=![];var _0x312254=null;for(_0x312254=0x0;_0x312254<_0x2f85df['length'];_0x312254++){if(_0x2f85df[_0x312254][_0x951f('0x60')]===_0xe69edf){_0x589768=!![];}}if(_0x589768){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x951f('0x61')});}}})[_0x951f('0x26')](respondWithResult(_0xdf8927,null))[_0x951f('0x45')](function(_0x1bfb8c){var _0xb4e333=_0xe18f23[_0x951f('0x35')][_0x951f('0x62')]?0x1f4:_0x1bfb8c['statusCode']||0x1f4;logger['error'](_0x951f('0x63'),_0x951f('0x64'),_0xb4e333,JSON[_0x951f('0x65')](_0x1bfb8c));delete _0x1bfb8c[_0x951f('0x29')];if(_0xb4e333===0x191){_0xb4e333=0x190;}_0xdf8927[_0x951f('0x1d')](_0xb4e333)[_0x951f('0x2a')](_0xe18f23[_0x951f('0x35')][_0x951f('0x62')]?{'message':_0x951f('0x66'),'statusCode':_0x1bfb8c[_0x951f('0x67')]}:_0x1bfb8c);});};