de023c52440c8f0920c5d09c40bc60f526a8a9ee
[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 _0x0676=['set','apply','save','update','then','destroy','error','stack','name','send','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','FreshsalesAccount','includeAll','include','findAll','rows','find','create','body','params','catch','getConfigurations','findOne','FreshsalesConfiguration','length','order','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','FreshsalesField','Descriptions','getFields','username','apiKey','remoteUri','slice','substring','GET','format','%s%s','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','test','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count'];(function(_0x2a1596,_0x4ab29e){var _0x206b01=function(_0x27f837){while(--_0x27f837){_0x2a1596['push'](_0x2a1596['shift']());}};_0x206b01(++_0x4ab29e);}(_0x0676,0x18b));var _0x6067=function(_0x1376ce,_0x1bcc3c){_0x1376ce=_0x1376ce-0x0;var _0x2f07ab=_0x0676[_0x1376ce];return _0x2f07ab;};'use strict';var emlformat=require(_0x6067('0x0'));var rimraf=require(_0x6067('0x1'));var zipdir=require(_0x6067('0x2'));var jsonpatch=require(_0x6067('0x3'));var rp=require(_0x6067('0x4'));var moment=require(_0x6067('0x5'));var BPromise=require(_0x6067('0x6'));var Mustache=require(_0x6067('0x7'));var util=require('util');var path=require(_0x6067('0x8'));var sox=require(_0x6067('0x9'));var csv=require(_0x6067('0xa'));var ejs=require(_0x6067('0xb'));var fs=require('fs');var fs_extra=require(_0x6067('0xc'));var _=require(_0x6067('0xd'));var squel=require(_0x6067('0xe'));var crypto=require(_0x6067('0xf'));var jsforce=require(_0x6067('0x10'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6067('0x11'));var Papa=require(_0x6067('0x12'));var Redis=require(_0x6067('0x13'));var authService=require(_0x6067('0x14'));var qs=require(_0x6067('0x15'));var as=require(_0x6067('0x16'));var hardwareService=require(_0x6067('0x17'));var logger=require(_0x6067('0x18'))(_0x6067('0x19'));var utils=require('../../config/utils');var config=require(_0x6067('0x1a'));var licenseUtil=require(_0x6067('0x1b'));var db=require('../../mysqldb')['db'];var integrations=require(_0x6067('0x1c'));function respondWithStatusCode(_0x25abbb,_0x2f9442){_0x2f9442=_0x2f9442||0xcc;return function(_0x5b5e66){if(_0x5b5e66){return _0x25abbb[_0x6067('0x1d')](_0x2f9442);}return _0x25abbb[_0x6067('0x1e')](_0x2f9442)[_0x6067('0x1f')]();};}function respondWithResult(_0x1da903,_0x1ac3e7){_0x1ac3e7=_0x1ac3e7||0xc8;return function(_0x1344e3){if(_0x1344e3){return _0x1da903['status'](_0x1ac3e7)[_0x6067('0x20')](_0x1344e3);}};}function respondWithFilteredResult(_0x4f5dd8,_0x2ad8dd){return function(_0xf4529b){if(_0xf4529b){var _0x54dfea=typeof _0x2ad8dd[_0x6067('0x21')]===_0x6067('0x22')&&typeof _0x2ad8dd[_0x6067('0x23')]===_0x6067('0x22');var _0x3b5dac=_0xf4529b[_0x6067('0x24')];var _0x352f8a=_0x54dfea?0x0:_0x2ad8dd['offset'];var _0xa3f5c1=_0x54dfea?_0xf4529b['count']:_0x2ad8dd[_0x6067('0x21')]+_0x2ad8dd[_0x6067('0x23')];var _0x2b7f74;if(_0xa3f5c1>=_0x3b5dac){_0xa3f5c1=_0x3b5dac;_0x2b7f74=0xc8;}else{_0x2b7f74=0xce;}_0x4f5dd8['status'](_0x2b7f74);return _0x4f5dd8[_0x6067('0x25')]('Content-Range',_0x352f8a+'-'+_0xa3f5c1+'/'+_0x3b5dac)[_0x6067('0x20')](_0xf4529b);}return null;};}function patchUpdates(_0xe87f24){return function(_0x46ebc9){try{jsonpatch[_0x6067('0x26')](_0x46ebc9,_0xe87f24,!![]);}catch(_0x1dbfbd){return BPromise['reject'](_0x1dbfbd);}return _0x46ebc9[_0x6067('0x27')]();};}function saveUpdates(_0x4e83ac,_0x54dda9){return function(_0x4d064a){if(_0x4d064a){return _0x4d064a[_0x6067('0x28')](_0x4e83ac)[_0x6067('0x29')](function(_0x4e7c0c){return _0x4e7c0c;});}return null;};}function removeEntity(_0xb4bdb1,_0x2aa6c9){return function(_0x4255ca){if(_0x4255ca){return _0x4255ca[_0x6067('0x2a')]()[_0x6067('0x29')](function(){_0xb4bdb1[_0x6067('0x1e')](0xcc)[_0x6067('0x1f')]();});}};}function handleEntityNotFound(_0x4d3fd6,_0x3017f4){return function(_0x3cace1){if(!_0x3cace1){_0x4d3fd6[_0x6067('0x1d')](0x194);}return _0x3cace1;};}function handleError(_0x8ccbff,_0x2bdc36){_0x2bdc36=_0x2bdc36||0x1f4;return function(_0x51bf11){logger[_0x6067('0x2b')](_0x51bf11[_0x6067('0x2c')]);if(_0x51bf11[_0x6067('0x2d')]){delete _0x51bf11['name'];}_0x8ccbff[_0x6067('0x1e')](_0x2bdc36)[_0x6067('0x2e')](_0x51bf11);};}exports['index']=function(_0x53ae3e,_0x18a988){var _0x3720be={},_0x4b1a3e={},_0x36cc11={'count':0x0,'rows':[]};var _0x2774c2=_[_0x6067('0x2f')](db['FreshsalesAccount'][_0x6067('0x30')],function(_0x4cdf2e){return{'name':_0x4cdf2e['fieldName'],'type':_0x4cdf2e[_0x6067('0x31')][_0x6067('0x32')]};});_0x4b1a3e[_0x6067('0x33')]=_[_0x6067('0x2f')](_0x2774c2,_0x6067('0x2d'));_0x4b1a3e[_0x6067('0x34')]=_[_0x6067('0x35')](_0x53ae3e[_0x6067('0x34')]);_0x4b1a3e[_0x6067('0x36')]=_[_0x6067('0x37')](_0x4b1a3e['model'],_0x4b1a3e[_0x6067('0x34')]);_0x3720be[_0x6067('0x38')]=_[_0x6067('0x37')](_0x4b1a3e[_0x6067('0x33')],qs[_0x6067('0x39')](_0x53ae3e['query'][_0x6067('0x39')]));_0x3720be[_0x6067('0x38')]=_0x3720be[_0x6067('0x38')]['length']?_0x3720be[_0x6067('0x38')]:_0x4b1a3e[_0x6067('0x33')];if(!_0x53ae3e[_0x6067('0x34')][_0x6067('0x3a')]('nolimit')){_0x3720be[_0x6067('0x23')]=qs[_0x6067('0x23')](_0x53ae3e[_0x6067('0x34')][_0x6067('0x23')]);_0x3720be[_0x6067('0x21')]=qs[_0x6067('0x21')](_0x53ae3e[_0x6067('0x34')]['offset']);}_0x3720be['order']=qs[_0x6067('0x3b')](_0x53ae3e[_0x6067('0x34')][_0x6067('0x3b')]);_0x3720be[_0x6067('0x3c')]=qs[_0x6067('0x36')](_[_0x6067('0x3d')](_0x53ae3e[_0x6067('0x34')],_0x4b1a3e['filters']),_0x2774c2);if(_0x53ae3e['query'][_0x6067('0x3e')]){_0x3720be[_0x6067('0x3c')]=_[_0x6067('0x3f')](_0x3720be[_0x6067('0x3c')],{'$or':_[_0x6067('0x2f')](_0x2774c2,function(_0x6d6861){if(_0x6d6861['type']!==_0x6067('0x40')){var _0x438c41={};_0x438c41[_0x6d6861[_0x6067('0x2d')]]={'$like':'%'+_0x53ae3e['query'][_0x6067('0x3e')]+'%'};return _0x438c41;}})});}_0x3720be=_[_0x6067('0x3f')]({},_0x3720be,_0x53ae3e[_0x6067('0x41')]);var _0x112413={'where':_0x3720be['where']};return db[_0x6067('0x42')]['count'](_0x112413)[_0x6067('0x29')](function(_0x47bad1){_0x36cc11[_0x6067('0x24')]=_0x47bad1;if(_0x53ae3e['query'][_0x6067('0x43')]){_0x3720be[_0x6067('0x44')]=[{'all':!![]}];}return db[_0x6067('0x42')][_0x6067('0x45')](_0x3720be);})['then'](function(_0x24fc7a){_0x36cc11[_0x6067('0x46')]=_0x24fc7a;return _0x36cc11;})[_0x6067('0x29')](respondWithFilteredResult(_0x18a988,_0x3720be))['catch'](handleError(_0x18a988,null));};exports['show']=function(_0x53f3a0,_0xf341a4){var _0x153214={'raw':![],'where':{'id':_0x53f3a0['params']['id']}},_0x2d8240={};_0x2d8240[_0x6067('0x33')]=_[_0x6067('0x35')](db['FreshsalesAccount'][_0x6067('0x30')]);_0x2d8240[_0x6067('0x34')]=_[_0x6067('0x35')](_0x53f3a0['query']);_0x2d8240[_0x6067('0x36')]=_[_0x6067('0x37')](_0x2d8240[_0x6067('0x33')],_0x2d8240['query']);_0x153214[_0x6067('0x38')]=_[_0x6067('0x37')](_0x2d8240[_0x6067('0x33')],qs[_0x6067('0x39')](_0x53f3a0[_0x6067('0x34')][_0x6067('0x39')]));_0x153214[_0x6067('0x38')]=_0x153214['attributes']['length']?_0x153214['attributes']:_0x2d8240[_0x6067('0x33')];if(_0x53f3a0[_0x6067('0x34')]['includeAll']){_0x153214[_0x6067('0x44')]=[{'all':!![]}];}_0x153214=_[_0x6067('0x3f')]({},_0x153214,_0x53f3a0[_0x6067('0x41')]);return db[_0x6067('0x42')][_0x6067('0x47')](_0x153214)[_0x6067('0x29')](handleEntityNotFound(_0xf341a4,null))[_0x6067('0x29')](respondWithResult(_0xf341a4,null))['catch'](handleError(_0xf341a4,null));};exports[_0x6067('0x48')]=function(_0x4b59d8,_0x39d8dd){return db[_0x6067('0x42')][_0x6067('0x48')](_0x4b59d8['body'],{})[_0x6067('0x29')](respondWithResult(_0x39d8dd,0xc9))['catch'](handleError(_0x39d8dd,null));};exports[_0x6067('0x28')]=function(_0x581927,_0x1366ed){if(_0x581927[_0x6067('0x49')]['id']){delete _0x581927[_0x6067('0x49')]['id'];}return db['FreshsalesAccount'][_0x6067('0x47')]({'where':{'id':_0x581927[_0x6067('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1366ed,null))[_0x6067('0x29')](saveUpdates(_0x581927[_0x6067('0x49')],null))['then'](respondWithResult(_0x1366ed,null))[_0x6067('0x4b')](handleError(_0x1366ed,null));};exports['destroy']=function(_0x409e5b,_0x280dd1){return db[_0x6067('0x42')][_0x6067('0x47')]({'where':{'id':_0x409e5b[_0x6067('0x4a')]['id']}})[_0x6067('0x29')](handleEntityNotFound(_0x280dd1,null))['then'](removeEntity(_0x280dd1,null))['catch'](handleError(_0x280dd1,null));};exports[_0x6067('0x4c')]=function(_0xd1c7c2,_0x4f5b3d,_0x1c6a44){var _0x30ddab={};var _0x2fb0c7={};var _0x21b400;var _0x3c2c55;return db['FreshsalesAccount'][_0x6067('0x4d')]({'where':{'id':_0xd1c7c2[_0x6067('0x4a')]['id']}})[_0x6067('0x29')](handleEntityNotFound(_0x4f5b3d,null))[_0x6067('0x29')](function(_0x2c606f){if(_0x2c606f){_0x21b400=_0x2c606f;_0x2fb0c7[_0x6067('0x33')]=_[_0x6067('0x35')](db[_0x6067('0x4e')][_0x6067('0x30')]);_0x2fb0c7[_0x6067('0x34')]=_[_0x6067('0x35')](_0xd1c7c2[_0x6067('0x34')]);_0x2fb0c7[_0x6067('0x36')]=_[_0x6067('0x37')](_0x2fb0c7['model'],_0x2fb0c7[_0x6067('0x34')]);_0x30ddab['attributes']=_[_0x6067('0x37')](_0x2fb0c7[_0x6067('0x33')],qs[_0x6067('0x39')](_0xd1c7c2[_0x6067('0x34')][_0x6067('0x39')]));_0x30ddab[_0x6067('0x38')]=_0x30ddab[_0x6067('0x38')][_0x6067('0x4f')]?_0x30ddab['attributes']:_0x2fb0c7[_0x6067('0x33')];_0x30ddab[_0x6067('0x50')]=qs['sort'](_0xd1c7c2[_0x6067('0x34')][_0x6067('0x3b')]);_0x30ddab[_0x6067('0x3c')]=qs['filters'](_['pick'](_0xd1c7c2[_0x6067('0x34')],_0x2fb0c7[_0x6067('0x36')]));if(_0xd1c7c2[_0x6067('0x34')][_0x6067('0x3e')]){_0x30ddab[_0x6067('0x3c')]=_[_0x6067('0x3f')](_0x30ddab['where'],{'$or':_[_0x6067('0x2f')](_0x30ddab['attributes'],function(_0x4b4fa4){var _0x2a11c9={};_0x2a11c9[_0x4b4fa4]={'$like':'%'+_0xd1c7c2[_0x6067('0x34')][_0x6067('0x3e')]+'%'};return _0x2a11c9;})});}_0x30ddab=_[_0x6067('0x3f')]({},_0x30ddab,_0xd1c7c2['options']);return _0x21b400['getConfigurations'](_0x30ddab);}})[_0x6067('0x29')](function(_0x43bc48){if(_0x43bc48){_0x3c2c55=_0x43bc48[_0x6067('0x4f')];if(!_0xd1c7c2[_0x6067('0x34')]['hasOwnProperty'](_0x6067('0x51'))){_0x30ddab[_0x6067('0x23')]=qs['limit'](_0xd1c7c2['query'][_0x6067('0x23')]);_0x30ddab[_0x6067('0x21')]=qs[_0x6067('0x21')](_0xd1c7c2[_0x6067('0x34')][_0x6067('0x21')]);}return _0x21b400[_0x6067('0x4c')](_0x30ddab);}})[_0x6067('0x29')](function(_0x57ba27){if(_0x57ba27){return _0x57ba27?{'count':_0x3c2c55,'rows':_0x57ba27}:null;}})['then'](respondWithResult(_0x4f5b3d,null))[_0x6067('0x4b')](handleError(_0x4f5b3d,null));};exports[_0x6067('0x52')]=function(_0x249dd4,_0x2d75df,_0xc7e93f){if(_0x249dd4[_0x6067('0x49')]['id']){delete _0x249dd4[_0x6067('0x49')]['id'];}return db['FreshsalesAccount'][_0x6067('0x4d')]({'where':{'id':_0x249dd4[_0x6067('0x4a')]['id']}})[_0x6067('0x29')](handleEntityNotFound(_0x2d75df,null))['then'](function(_0x361c32){if(_0x361c32){_0x249dd4[_0x6067('0x49')][_0x6067('0x53')]=_0x361c32['id'];_0x249dd4[_0x6067('0x49')][_0x6067('0x54')]=integrations[_0x6067('0x55')](_0x249dd4['body'][_0x6067('0x56')],_0x249dd4['body']['type']);_0x249dd4[_0x6067('0x49')]['Descriptions']=integrations[_0x6067('0x57')](_0x249dd4[_0x6067('0x49')]['channel'],_0x249dd4[_0x6067('0x49')][_0x6067('0x31')]);return db['FreshsalesConfiguration'][_0x6067('0x48')](_0x249dd4['body'],{'include':[{'model':db[_0x6067('0x58')],'as':_0x6067('0x54')},{'model':db[_0x6067('0x58')],'as':_0x6067('0x59')}]});}return null;})[_0x6067('0x29')](respondWithResult(_0x2d75df,null))['catch'](handleError(_0x2d75df,null));};exports[_0x6067('0x5a')]=function(_0x2b0c52,_0x59c430,_0x5716ae){var _0x2ca5af='';var _0x5d286a='';return db[_0x6067('0x42')][_0x6067('0x4d')]({'where':{'id':_0x2b0c52[_0x6067('0x4a')]['id']},'attributes':['id',_0x6067('0x5b'),'remoteUri',_0x6067('0x5c')]})[_0x6067('0x29')](handleEntityNotFound(_0x59c430,null))[_0x6067('0x29')](function(_0x3471db){if(_0x3471db){_0x5d286a=_0x3471db[_0x6067('0x5b')];_0x2ca5af=_0x3471db[_0x6067('0x5d')];var _0x1fd311=_0x3471db[_0x6067('0x5d')][_0x6067('0x5e')](-0x1);if(_0x1fd311==='/'){_0x2ca5af=_0x2ca5af[_0x6067('0x5f')](0x0,_0x2ca5af['lastIndexOf'](_0x1fd311));}return rp({'method':_0x6067('0x60'),'uri':util[_0x6067('0x61')](_0x6067('0x62'),_0x2ca5af,'/api/selector/owners'),'headers':{'Authorization':_0x6067('0x63')+_0x3471db[_0x6067('0x5c')]},'json':!![]});}})[_0x6067('0x29')](function(_0x4110f5){if(_0x4110f5){var _0x1c3735=_0x4110f5[_0x6067('0x64')];var _0x54c924=![];var _0x2b0445=null;for(_0x2b0445=0x0;_0x2b0445<_0x1c3735['length'];_0x2b0445++){if(_0x1c3735[_0x2b0445][_0x6067('0x65')]===_0x5d286a){_0x54c924=!![];}}if(_0x54c924){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x6067('0x66')});}}})['then'](respondWithResult(_0x59c430,null))['catch'](function(_0x27e21f){var _0x3cec6b=_0x2b0c52[_0x6067('0x34')][_0x6067('0x67')]?0x1f4:_0x27e21f['statusCode']||0x1f4;logger[_0x6067('0x2b')](_0x6067('0x68'),_0x6067('0x5a'),_0x3cec6b,JSON[_0x6067('0x69')](_0x27e21f));delete _0x27e21f[_0x6067('0x2d')];if(_0x3cec6b===0x191){_0x3cec6b=0x190;}_0x59c430[_0x6067('0x1e')](_0x3cec6b)[_0x6067('0x2e')](_0x2b0c52['query']['test']?{'message':_0x6067('0x6a'),'statusCode':_0x27e21f[_0x6067('0x6b')]}:_0x27e21f);});};