Built motion from commit da24aabd.|2.6.20
[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 _0xd04e=['keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','params','options','create','body','find','getConfigurations','FreshsalesConfiguration','findOne','Subjects','getSubjects','channel','FreshsalesField','getFields','username','remoteUri','apiKey','slice','lastIndexOf','GET','format','/api/selector/owners','Token\x20token=','users','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','statusCode','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','then','end','sendStatus','error','stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','type','key','model','query'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xd04e,0xff));var _0xed04=function(_0x2261ce,_0x9ed8b6){_0x2261ce=_0x2261ce-0x0;var _0x524640=_0xd04e[_0x2261ce];return _0x524640;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xed04('0x0'));var zipdir=require(_0xed04('0x1'));var jsonpatch=require(_0xed04('0x2'));var rp=require('request-promise');var moment=require(_0xed04('0x3'));var BPromise=require(_0xed04('0x4'));var Mustache=require(_0xed04('0x5'));var util=require(_0xed04('0x6'));var path=require(_0xed04('0x7'));var sox=require('sox');var csv=require(_0xed04('0x8'));var ejs=require(_0xed04('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xed04('0xa'));var squel=require(_0xed04('0xb'));var crypto=require(_0xed04('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xed04('0xd'));var toCsv=require(_0xed04('0x8'));var querystring=require(_0xed04('0xe'));var Papa=require(_0xed04('0xf'));var Redis=require(_0xed04('0x10'));var authService=require(_0xed04('0x11'));var qs=require(_0xed04('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xed04('0x13'));var logger=require(_0xed04('0x14'))(_0xed04('0x15'));var utils=require(_0xed04('0x16'));var config=require(_0xed04('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xed04('0x18'))['db'];var integrations=require(_0xed04('0x19'));function respondWithStatusCode(_0x1b036e,_0x4e8333){_0x4e8333=_0x4e8333||0xcc;return function(_0x4a1abb){if(_0x4a1abb){return _0x1b036e['sendStatus'](_0x4e8333);}return _0x1b036e[_0xed04('0x1a')](_0x4e8333)['end']();};}function respondWithResult(_0x2471a7,_0x53c977){_0x53c977=_0x53c977||0xc8;return function(_0x37df3a){if(_0x37df3a){return _0x2471a7[_0xed04('0x1a')](_0x53c977)[_0xed04('0x1b')](_0x37df3a);}};}function respondWithFilteredResult(_0x14af8f,_0x5e9fbd){return function(_0x585ac0){if(_0x585ac0){var _0x196964=typeof _0x5e9fbd[_0xed04('0x1c')]===_0xed04('0x1d')&&typeof _0x5e9fbd[_0xed04('0x1e')]===_0xed04('0x1d');var _0x1575f7=_0x585ac0[_0xed04('0x1f')];var _0x529473=_0x196964?0x0:_0x5e9fbd['offset'];var _0x70a42c=_0x196964?_0x585ac0['count']:_0x5e9fbd['offset']+_0x5e9fbd[_0xed04('0x1e')];var _0x2bb087;if(_0x70a42c>=_0x1575f7){_0x70a42c=_0x1575f7;_0x2bb087=0xc8;}else{_0x2bb087=0xce;}_0x14af8f[_0xed04('0x1a')](_0x2bb087);return _0x14af8f['set'](_0xed04('0x20'),_0x529473+'-'+_0x70a42c+'/'+_0x1575f7)[_0xed04('0x1b')](_0x585ac0);}return null;};}function patchUpdates(_0x231c43){return function(_0x14e8e8){try{jsonpatch[_0xed04('0x21')](_0x14e8e8,_0x231c43,!![]);}catch(_0x5789c8){return BPromise[_0xed04('0x22')](_0x5789c8);}return _0x14e8e8[_0xed04('0x23')]();};}function saveUpdates(_0x32ed5a,_0x1206e3){return function(_0x1225ea){if(_0x1225ea){return _0x1225ea[_0xed04('0x24')](_0x32ed5a)['then'](function(_0x2ee239){return _0x2ee239;});}return null;};}function removeEntity(_0x33bbc5,_0x2a38ed){return function(_0x26a7ca){if(_0x26a7ca){return _0x26a7ca[_0xed04('0x25')]()[_0xed04('0x26')](function(){_0x33bbc5[_0xed04('0x1a')](0xcc)[_0xed04('0x27')]();});}};}function handleEntityNotFound(_0x178206,_0x3e28db){return function(_0x1550c0){if(!_0x1550c0){_0x178206[_0xed04('0x28')](0x194);}return _0x1550c0;};}function handleError(_0x488a8a,_0x449132){_0x449132=_0x449132||0x1f4;return function(_0x266ce2){logger[_0xed04('0x29')](_0x266ce2[_0xed04('0x2a')]);if(_0x266ce2[_0xed04('0x2b')]){delete _0x266ce2[_0xed04('0x2b')];}_0x488a8a[_0xed04('0x1a')](_0x449132)[_0xed04('0x2c')](_0x266ce2);};}exports[_0xed04('0x2d')]=function(_0x2467a1,_0x1c7622){var _0xd7a217={},_0x104e0={},_0x2392f5={'count':0x0,'rows':[]};var _0x564d64=_[_0xed04('0x2e')](db[_0xed04('0x2f')][_0xed04('0x30')],function(_0x6134c6){return{'name':_0x6134c6[_0xed04('0x31')],'type':_0x6134c6[_0xed04('0x32')][_0xed04('0x33')]};});_0x104e0[_0xed04('0x34')]=_['map'](_0x564d64,_0xed04('0x2b'));_0x104e0[_0xed04('0x35')]=_[_0xed04('0x36')](_0x2467a1[_0xed04('0x35')]);_0x104e0[_0xed04('0x37')]=_[_0xed04('0x38')](_0x104e0[_0xed04('0x34')],_0x104e0[_0xed04('0x35')]);_0xd7a217['attributes']=_[_0xed04('0x38')](_0x104e0[_0xed04('0x34')],qs[_0xed04('0x39')](_0x2467a1[_0xed04('0x35')][_0xed04('0x39')]));_0xd7a217[_0xed04('0x3a')]=_0xd7a217[_0xed04('0x3a')][_0xed04('0x3b')]?_0xd7a217[_0xed04('0x3a')]:_0x104e0[_0xed04('0x34')];if(!_0x2467a1[_0xed04('0x35')][_0xed04('0x3c')](_0xed04('0x3d'))){_0xd7a217[_0xed04('0x1e')]=qs[_0xed04('0x1e')](_0x2467a1[_0xed04('0x35')]['limit']);_0xd7a217[_0xed04('0x1c')]=qs['offset'](_0x2467a1[_0xed04('0x35')]['offset']);}_0xd7a217[_0xed04('0x3e')]=qs[_0xed04('0x3f')](_0x2467a1[_0xed04('0x35')][_0xed04('0x3f')]);_0xd7a217[_0xed04('0x40')]=qs[_0xed04('0x37')](_[_0xed04('0x41')](_0x2467a1[_0xed04('0x35')],_0x104e0[_0xed04('0x37')]),_0x564d64);if(_0x2467a1['query'][_0xed04('0x42')]){_0xd7a217[_0xed04('0x40')]=_[_0xed04('0x43')](_0xd7a217[_0xed04('0x40')],{'$or':_[_0xed04('0x2e')](_0x564d64,function(_0x649766){if(_0x649766[_0xed04('0x32')]!==_0xed04('0x44')){var _0x219f9f={};_0x219f9f[_0x649766[_0xed04('0x2b')]]={'$like':'%'+_0x2467a1[_0xed04('0x35')][_0xed04('0x42')]+'%'};return _0x219f9f;}})});}_0xd7a217=_[_0xed04('0x43')]({},_0xd7a217,_0x2467a1['options']);var _0x31dab6={'where':_0xd7a217[_0xed04('0x40')]};return db[_0xed04('0x2f')]['count'](_0x31dab6)['then'](function(_0x577f98){_0x2392f5['count']=_0x577f98;if(_0x2467a1[_0xed04('0x35')][_0xed04('0x45')]){_0xd7a217[_0xed04('0x46')]=[{'all':!![]}];}return db[_0xed04('0x2f')][_0xed04('0x47')](_0xd7a217);})['then'](function(_0x502935){_0x2392f5[_0xed04('0x48')]=_0x502935;return _0x2392f5;})[_0xed04('0x26')](respondWithFilteredResult(_0x1c7622,_0xd7a217))[_0xed04('0x49')](handleError(_0x1c7622,null));};exports['show']=function(_0x4c46d3,_0x2cf7e2){var _0x1314d6={'raw':![],'where':{'id':_0x4c46d3[_0xed04('0x4a')]['id']}},_0x14025f={};_0x14025f[_0xed04('0x34')]=_[_0xed04('0x36')](db['FreshsalesAccount'][_0xed04('0x30')]);_0x14025f[_0xed04('0x35')]=_[_0xed04('0x36')](_0x4c46d3[_0xed04('0x35')]);_0x14025f[_0xed04('0x37')]=_['intersection'](_0x14025f[_0xed04('0x34')],_0x14025f[_0xed04('0x35')]);_0x1314d6[_0xed04('0x3a')]=_[_0xed04('0x38')](_0x14025f[_0xed04('0x34')],qs[_0xed04('0x39')](_0x4c46d3[_0xed04('0x35')]['fields']));_0x1314d6[_0xed04('0x3a')]=_0x1314d6['attributes'][_0xed04('0x3b')]?_0x1314d6[_0xed04('0x3a')]:_0x14025f[_0xed04('0x34')];if(_0x4c46d3['query'][_0xed04('0x45')]){_0x1314d6['include']=[{'all':!![]}];}_0x1314d6=_['merge']({},_0x1314d6,_0x4c46d3[_0xed04('0x4b')]);return db[_0xed04('0x2f')]['find'](_0x1314d6)[_0xed04('0x26')](handleEntityNotFound(_0x2cf7e2,null))[_0xed04('0x26')](respondWithResult(_0x2cf7e2,null))['catch'](handleError(_0x2cf7e2,null));};exports['create']=function(_0x69602f,_0x81500f){return db[_0xed04('0x2f')][_0xed04('0x4c')](_0x69602f[_0xed04('0x4d')],{})[_0xed04('0x26')](respondWithResult(_0x81500f,0xc9))['catch'](handleError(_0x81500f,null));};exports[_0xed04('0x24')]=function(_0x4fe28b,_0x48a5ba){if(_0x4fe28b[_0xed04('0x4d')]['id']){delete _0x4fe28b['body']['id'];}return db[_0xed04('0x2f')][_0xed04('0x4e')]({'where':{'id':_0x4fe28b['params']['id']}})['then'](handleEntityNotFound(_0x48a5ba,null))['then'](saveUpdates(_0x4fe28b[_0xed04('0x4d')],null))[_0xed04('0x26')](respondWithResult(_0x48a5ba,null))[_0xed04('0x49')](handleError(_0x48a5ba,null));};exports[_0xed04('0x25')]=function(_0x1e43a3,_0x4997c9){return db['FreshsalesAccount'][_0xed04('0x4e')]({'where':{'id':_0x1e43a3['params']['id']}})[_0xed04('0x26')](handleEntityNotFound(_0x4997c9,null))[_0xed04('0x26')](removeEntity(_0x4997c9,null))[_0xed04('0x49')](handleError(_0x4997c9,null));};exports[_0xed04('0x4f')]=function(_0x29daad,_0x346f,_0x403faa){var _0x229d2f={};var _0x15d55={};var _0x786842;var _0x12c775;return db['FreshsalesAccount']['findOne']({'where':{'id':_0x29daad['params']['id']}})[_0xed04('0x26')](handleEntityNotFound(_0x346f,null))[_0xed04('0x26')](function(_0x34f03f){if(_0x34f03f){_0x786842=_0x34f03f;_0x15d55[_0xed04('0x34')]=_[_0xed04('0x36')](db[_0xed04('0x50')][_0xed04('0x30')]);_0x15d55['query']=_[_0xed04('0x36')](_0x29daad[_0xed04('0x35')]);_0x15d55[_0xed04('0x37')]=_[_0xed04('0x38')](_0x15d55['model'],_0x15d55['query']);_0x229d2f[_0xed04('0x3a')]=_[_0xed04('0x38')](_0x15d55[_0xed04('0x34')],qs[_0xed04('0x39')](_0x29daad[_0xed04('0x35')]['fields']));_0x229d2f[_0xed04('0x3a')]=_0x229d2f[_0xed04('0x3a')][_0xed04('0x3b')]?_0x229d2f[_0xed04('0x3a')]:_0x15d55[_0xed04('0x34')];_0x229d2f[_0xed04('0x3e')]=qs[_0xed04('0x3f')](_0x29daad['query'][_0xed04('0x3f')]);_0x229d2f[_0xed04('0x40')]=qs[_0xed04('0x37')](_[_0xed04('0x41')](_0x29daad[_0xed04('0x35')],_0x15d55[_0xed04('0x37')]));if(_0x29daad[_0xed04('0x35')][_0xed04('0x42')]){_0x229d2f[_0xed04('0x40')]=_['merge'](_0x229d2f[_0xed04('0x40')],{'$or':_['map'](_0x229d2f[_0xed04('0x3a')],function(_0x5d75e0){var _0x2fa210={};_0x2fa210[_0x5d75e0]={'$like':'%'+_0x29daad[_0xed04('0x35')][_0xed04('0x42')]+'%'};return _0x2fa210;})});}_0x229d2f=_['merge']({},_0x229d2f,_0x29daad[_0xed04('0x4b')]);return _0x786842['getConfigurations'](_0x229d2f);}})[_0xed04('0x26')](function(_0x1e468d){if(_0x1e468d){_0x12c775=_0x1e468d[_0xed04('0x3b')];if(!_0x29daad[_0xed04('0x35')]['hasOwnProperty'](_0xed04('0x3d'))){_0x229d2f[_0xed04('0x1e')]=qs[_0xed04('0x1e')](_0x29daad[_0xed04('0x35')][_0xed04('0x1e')]);_0x229d2f[_0xed04('0x1c')]=qs[_0xed04('0x1c')](_0x29daad[_0xed04('0x35')][_0xed04('0x1c')]);}return _0x786842[_0xed04('0x4f')](_0x229d2f);}})['then'](function(_0x3d29bc){if(_0x3d29bc){return _0x3d29bc?{'count':_0x12c775,'rows':_0x3d29bc}:null;}})[_0xed04('0x26')](respondWithResult(_0x346f,null))[_0xed04('0x49')](handleError(_0x346f,null));};exports['addConfiguration']=function(_0x442cfc,_0xb1ca8f,_0x4db3c4){if(_0x442cfc[_0xed04('0x4d')]['id']){delete _0x442cfc[_0xed04('0x4d')]['id'];}return db[_0xed04('0x2f')][_0xed04('0x51')]({'where':{'id':_0x442cfc['params']['id']}})['then'](handleEntityNotFound(_0xb1ca8f,null))[_0xed04('0x26')](function(_0x57d840){if(_0x57d840){_0x442cfc[_0xed04('0x4d')]['AccountId']=_0x57d840['id'];_0x442cfc[_0xed04('0x4d')][_0xed04('0x52')]=integrations[_0xed04('0x53')](_0x442cfc[_0xed04('0x4d')][_0xed04('0x54')],_0x442cfc[_0xed04('0x4d')]['type']);_0x442cfc[_0xed04('0x4d')]['Descriptions']=integrations['getDescriptions'](_0x442cfc['body']['channel'],_0x442cfc['body'][_0xed04('0x32')]);return db['FreshsalesConfiguration'][_0xed04('0x4c')](_0x442cfc['body'],{'include':[{'model':db[_0xed04('0x55')],'as':_0xed04('0x52')},{'model':db[_0xed04('0x55')],'as':'Descriptions'}]});}return null;})[_0xed04('0x26')](respondWithResult(_0xb1ca8f,null))[_0xed04('0x49')](handleError(_0xb1ca8f,null));};exports[_0xed04('0x56')]=function(_0x14ea6d,_0x420b85,_0xa05cc7){var _0x3aa732='';var _0x4ae96b='';return db[_0xed04('0x2f')][_0xed04('0x51')]({'where':{'id':_0x14ea6d[_0xed04('0x4a')]['id']},'attributes':['id',_0xed04('0x57'),_0xed04('0x58'),_0xed04('0x59')]})[_0xed04('0x26')](handleEntityNotFound(_0x420b85,null))[_0xed04('0x26')](function(_0x4e2db0){if(_0x4e2db0){_0x4ae96b=_0x4e2db0['username'];_0x3aa732=_0x4e2db0[_0xed04('0x58')];var _0x4e0164=_0x4e2db0[_0xed04('0x58')][_0xed04('0x5a')](-0x1);if(_0x4e0164==='/'){_0x3aa732=_0x3aa732['substring'](0x0,_0x3aa732[_0xed04('0x5b')](_0x4e0164));}return rp({'method':_0xed04('0x5c'),'uri':util[_0xed04('0x5d')]('%s%s',_0x3aa732,_0xed04('0x5e')),'headers':{'Authorization':_0xed04('0x5f')+_0x4e2db0[_0xed04('0x59')]},'json':!![]});}})[_0xed04('0x26')](function(_0x500bc0){if(_0x500bc0){var _0x409f80=_0x500bc0[_0xed04('0x60')];var _0x277b2a=![];var _0x5ce07a=null;for(_0x5ce07a=0x0;_0x5ce07a<_0x409f80['length'];_0x5ce07a++){if(_0x409f80[_0x5ce07a]['email']===_0x4ae96b){_0x277b2a=!![];}}if(_0x277b2a){return!![];}else{throw new Error({'statusCode':0x194,'message':_0xed04('0x61')});}}})[_0xed04('0x26')](respondWithResult(_0x420b85,null))[_0xed04('0x49')](function(_0x4ddf6c){var _0xc915cf=_0x14ea6d[_0xed04('0x35')][_0xed04('0x62')]?0x1f4:_0x4ddf6c['statusCode']||0x1f4;logger[_0xed04('0x29')](_0xed04('0x63'),_0xed04('0x56'),_0xc915cf,JSON[_0xed04('0x64')](_0x4ddf6c));delete _0x4ddf6c[_0xed04('0x2b')];if(_0xc915cf===0x191){_0xc915cf=0x190;}_0x420b85[_0xed04('0x1a')](_0xc915cf)[_0xed04('0x2c')](_0x14ea6d[_0xed04('0x35')][_0xed04('0x62')]?{'message':_0xed04('0x65'),'statusCode':_0x4ddf6c[_0xed04('0x66')]}:_0x4ddf6c);});};