Built motion from commit 15aa0e42.|2.6.19
[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 _0x2f29=['format','Token\x20token=','email','Requested\x20Resource\x20not\x20Found','test','stringify','Wrong\x20credentials','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','undefined','limit','count','offset','Content-Range','json','apply','reject','save','update','then','end','error','stack','name','send','index','FreshsalesAccount','rawAttributes','fieldName','type','key','map','query','keys','intersection','model','attributes','length','hasOwnProperty','nolimit','sort','where','filters','filter','merge','VIRTUAL','findAll','rows','catch','params','fields','includeAll','include','options','find','create','body','destroy','getConfigurations','findOne','FreshsalesConfiguration','pick','addConfiguration','AccountId','Subjects','channel','Descriptions','FreshsalesField','getFields','username','remoteUri','apiKey','slice','substring','lastIndexOf','GET'];(function(_0x1e24b1,_0x14ab30){var _0x212baf=function(_0x2bd3e9){while(--_0x2bd3e9){_0x1e24b1['push'](_0x1e24b1['shift']());}};_0x212baf(++_0x14ab30);}(_0x2f29,0x197));var _0x92f2=function(_0x199572,_0x33e667){_0x199572=_0x199572-0x0;var _0x13cfa3=_0x2f29[_0x199572];return _0x13cfa3;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x92f2('0x0'));var rp=require(_0x92f2('0x1'));var moment=require(_0x92f2('0x2'));var BPromise=require(_0x92f2('0x3'));var Mustache=require(_0x92f2('0x4'));var util=require(_0x92f2('0x5'));var path=require(_0x92f2('0x6'));var sox=require(_0x92f2('0x7'));var csv=require(_0x92f2('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x92f2('0x9'));var _=require(_0x92f2('0xa'));var squel=require(_0x92f2('0xb'));var crypto=require(_0x92f2('0xc'));var jsforce=require(_0x92f2('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x92f2('0xe'));var Papa=require(_0x92f2('0xf'));var Redis=require('ioredis');var authService=require(_0x92f2('0x10'));var qs=require(_0x92f2('0x11'));var as=require(_0x92f2('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x92f2('0x13'))(_0x92f2('0x14'));var utils=require('../../config/utils');var config=require(_0x92f2('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x92f2('0x16'))['db'];var integrations=require(_0x92f2('0x17'));function respondWithStatusCode(_0x5a6064,_0x3e0135){_0x3e0135=_0x3e0135||0xcc;return function(_0x3b704c){if(_0x3b704c){return _0x5a6064[_0x92f2('0x18')](_0x3e0135);}return _0x5a6064['status'](_0x3e0135)['end']();};}function respondWithResult(_0x3d736e,_0x33e50c){_0x33e50c=_0x33e50c||0xc8;return function(_0x2fa648){if(_0x2fa648){return _0x3d736e[_0x92f2('0x19')](_0x33e50c)['json'](_0x2fa648);}};}function respondWithFilteredResult(_0x36fe11,_0x4a1a49){return function(_0x186e95){if(_0x186e95){var _0x1f20aa=typeof _0x4a1a49['offset']===_0x92f2('0x1a')&&typeof _0x4a1a49[_0x92f2('0x1b')]==='undefined';var _0x4804a7=_0x186e95[_0x92f2('0x1c')];var _0xe7deca=_0x1f20aa?0x0:_0x4a1a49[_0x92f2('0x1d')];var _0x107960=_0x1f20aa?_0x186e95[_0x92f2('0x1c')]:_0x4a1a49[_0x92f2('0x1d')]+_0x4a1a49[_0x92f2('0x1b')];var _0x4c0fe9;if(_0x107960>=_0x4804a7){_0x107960=_0x4804a7;_0x4c0fe9=0xc8;}else{_0x4c0fe9=0xce;}_0x36fe11[_0x92f2('0x19')](_0x4c0fe9);return _0x36fe11['set'](_0x92f2('0x1e'),_0xe7deca+'-'+_0x107960+'/'+_0x4804a7)[_0x92f2('0x1f')](_0x186e95);}return null;};}function patchUpdates(_0x4a3c4a){return function(_0x1e93ab){try{jsonpatch[_0x92f2('0x20')](_0x1e93ab,_0x4a3c4a,!![]);}catch(_0x407751){return BPromise[_0x92f2('0x21')](_0x407751);}return _0x1e93ab[_0x92f2('0x22')]();};}function saveUpdates(_0x494fdc,_0x4c7c32){return function(_0x410fe2){if(_0x410fe2){return _0x410fe2[_0x92f2('0x23')](_0x494fdc)[_0x92f2('0x24')](function(_0x1840a8){return _0x1840a8;});}return null;};}function removeEntity(_0xd53a69,_0x380fe9){return function(_0x15f621){if(_0x15f621){return _0x15f621['destroy']()[_0x92f2('0x24')](function(){_0xd53a69['status'](0xcc)[_0x92f2('0x25')]();});}};}function handleEntityNotFound(_0x73608d,_0x8ac543){return function(_0x20db05){if(!_0x20db05){_0x73608d[_0x92f2('0x18')](0x194);}return _0x20db05;};}function handleError(_0x14f512,_0x2c356a){_0x2c356a=_0x2c356a||0x1f4;return function(_0x36c765){logger[_0x92f2('0x26')](_0x36c765[_0x92f2('0x27')]);if(_0x36c765[_0x92f2('0x28')]){delete _0x36c765['name'];}_0x14f512['status'](_0x2c356a)[_0x92f2('0x29')](_0x36c765);};}exports[_0x92f2('0x2a')]=function(_0x395156,_0x32aa8f){var _0x108b55={},_0x1e2e08={},_0x5dbb99={'count':0x0,'rows':[]};var _0x32dea3=_['map'](db[_0x92f2('0x2b')][_0x92f2('0x2c')],function(_0x20dcfc){return{'name':_0x20dcfc[_0x92f2('0x2d')],'type':_0x20dcfc[_0x92f2('0x2e')][_0x92f2('0x2f')]};});_0x1e2e08['model']=_[_0x92f2('0x30')](_0x32dea3,_0x92f2('0x28'));_0x1e2e08[_0x92f2('0x31')]=_[_0x92f2('0x32')](_0x395156[_0x92f2('0x31')]);_0x1e2e08['filters']=_[_0x92f2('0x33')](_0x1e2e08[_0x92f2('0x34')],_0x1e2e08[_0x92f2('0x31')]);_0x108b55[_0x92f2('0x35')]=_['intersection'](_0x1e2e08[_0x92f2('0x34')],qs['fields'](_0x395156[_0x92f2('0x31')]['fields']));_0x108b55[_0x92f2('0x35')]=_0x108b55['attributes'][_0x92f2('0x36')]?_0x108b55[_0x92f2('0x35')]:_0x1e2e08[_0x92f2('0x34')];if(!_0x395156[_0x92f2('0x31')][_0x92f2('0x37')](_0x92f2('0x38'))){_0x108b55[_0x92f2('0x1b')]=qs[_0x92f2('0x1b')](_0x395156[_0x92f2('0x31')]['limit']);_0x108b55['offset']=qs[_0x92f2('0x1d')](_0x395156[_0x92f2('0x31')][_0x92f2('0x1d')]);}_0x108b55['order']=qs[_0x92f2('0x39')](_0x395156[_0x92f2('0x31')]['sort']);_0x108b55[_0x92f2('0x3a')]=qs[_0x92f2('0x3b')](_['pick'](_0x395156[_0x92f2('0x31')],_0x1e2e08['filters']),_0x32dea3);if(_0x395156[_0x92f2('0x31')][_0x92f2('0x3c')]){_0x108b55[_0x92f2('0x3a')]=_[_0x92f2('0x3d')](_0x108b55['where'],{'$or':_[_0x92f2('0x30')](_0x32dea3,function(_0x352ba3){if(_0x352ba3[_0x92f2('0x2e')]!==_0x92f2('0x3e')){var _0x10bef7={};_0x10bef7[_0x352ba3[_0x92f2('0x28')]]={'$like':'%'+_0x395156[_0x92f2('0x31')][_0x92f2('0x3c')]+'%'};return _0x10bef7;}})});}_0x108b55=_[_0x92f2('0x3d')]({},_0x108b55,_0x395156['options']);var _0x187380={'where':_0x108b55[_0x92f2('0x3a')]};return db[_0x92f2('0x2b')]['count'](_0x187380)[_0x92f2('0x24')](function(_0x47f36d){_0x5dbb99['count']=_0x47f36d;if(_0x395156['query']['includeAll']){_0x108b55['include']=[{'all':!![]}];}return db[_0x92f2('0x2b')][_0x92f2('0x3f')](_0x108b55);})[_0x92f2('0x24')](function(_0xac213a){_0x5dbb99[_0x92f2('0x40')]=_0xac213a;return _0x5dbb99;})[_0x92f2('0x24')](respondWithFilteredResult(_0x32aa8f,_0x108b55))[_0x92f2('0x41')](handleError(_0x32aa8f,null));};exports['show']=function(_0x31caa5,_0x519747){var _0x2ffea7={'raw':![],'where':{'id':_0x31caa5[_0x92f2('0x42')]['id']}},_0x57da5f={};_0x57da5f[_0x92f2('0x34')]=_[_0x92f2('0x32')](db[_0x92f2('0x2b')][_0x92f2('0x2c')]);_0x57da5f[_0x92f2('0x31')]=_['keys'](_0x31caa5[_0x92f2('0x31')]);_0x57da5f[_0x92f2('0x3b')]=_['intersection'](_0x57da5f['model'],_0x57da5f['query']);_0x2ffea7[_0x92f2('0x35')]=_[_0x92f2('0x33')](_0x57da5f[_0x92f2('0x34')],qs[_0x92f2('0x43')](_0x31caa5[_0x92f2('0x31')][_0x92f2('0x43')]));_0x2ffea7[_0x92f2('0x35')]=_0x2ffea7[_0x92f2('0x35')][_0x92f2('0x36')]?_0x2ffea7['attributes']:_0x57da5f[_0x92f2('0x34')];if(_0x31caa5[_0x92f2('0x31')][_0x92f2('0x44')]){_0x2ffea7[_0x92f2('0x45')]=[{'all':!![]}];}_0x2ffea7=_[_0x92f2('0x3d')]({},_0x2ffea7,_0x31caa5[_0x92f2('0x46')]);return db[_0x92f2('0x2b')][_0x92f2('0x47')](_0x2ffea7)[_0x92f2('0x24')](handleEntityNotFound(_0x519747,null))[_0x92f2('0x24')](respondWithResult(_0x519747,null))[_0x92f2('0x41')](handleError(_0x519747,null));};exports[_0x92f2('0x48')]=function(_0x542d5a,_0x3eff1c){return db[_0x92f2('0x2b')][_0x92f2('0x48')](_0x542d5a[_0x92f2('0x49')],{})[_0x92f2('0x24')](respondWithResult(_0x3eff1c,0xc9))[_0x92f2('0x41')](handleError(_0x3eff1c,null));};exports[_0x92f2('0x23')]=function(_0x1c597d,_0x981c77){if(_0x1c597d[_0x92f2('0x49')]['id']){delete _0x1c597d['body']['id'];}return db[_0x92f2('0x2b')][_0x92f2('0x47')]({'where':{'id':_0x1c597d[_0x92f2('0x42')]['id']}})[_0x92f2('0x24')](handleEntityNotFound(_0x981c77,null))[_0x92f2('0x24')](saveUpdates(_0x1c597d[_0x92f2('0x49')],null))[_0x92f2('0x24')](respondWithResult(_0x981c77,null))['catch'](handleError(_0x981c77,null));};exports[_0x92f2('0x4a')]=function(_0x2a3c24,_0x21bba7){return db['FreshsalesAccount']['find']({'where':{'id':_0x2a3c24[_0x92f2('0x42')]['id']}})[_0x92f2('0x24')](handleEntityNotFound(_0x21bba7,null))[_0x92f2('0x24')](removeEntity(_0x21bba7,null))[_0x92f2('0x41')](handleError(_0x21bba7,null));};exports[_0x92f2('0x4b')]=function(_0x1ffaa5,_0x414431,_0x549245){var _0xf4cc2f={};var _0x3a3c7d={};var _0x420eac;var _0x4cd57f;return db[_0x92f2('0x2b')][_0x92f2('0x4c')]({'where':{'id':_0x1ffaa5['params']['id']}})[_0x92f2('0x24')](handleEntityNotFound(_0x414431,null))[_0x92f2('0x24')](function(_0x288529){if(_0x288529){_0x420eac=_0x288529;_0x3a3c7d[_0x92f2('0x34')]=_[_0x92f2('0x32')](db[_0x92f2('0x4d')][_0x92f2('0x2c')]);_0x3a3c7d['query']=_[_0x92f2('0x32')](_0x1ffaa5['query']);_0x3a3c7d[_0x92f2('0x3b')]=_[_0x92f2('0x33')](_0x3a3c7d[_0x92f2('0x34')],_0x3a3c7d[_0x92f2('0x31')]);_0xf4cc2f[_0x92f2('0x35')]=_[_0x92f2('0x33')](_0x3a3c7d[_0x92f2('0x34')],qs[_0x92f2('0x43')](_0x1ffaa5[_0x92f2('0x31')][_0x92f2('0x43')]));_0xf4cc2f['attributes']=_0xf4cc2f['attributes'][_0x92f2('0x36')]?_0xf4cc2f[_0x92f2('0x35')]:_0x3a3c7d[_0x92f2('0x34')];_0xf4cc2f['order']=qs[_0x92f2('0x39')](_0x1ffaa5[_0x92f2('0x31')][_0x92f2('0x39')]);_0xf4cc2f['where']=qs[_0x92f2('0x3b')](_[_0x92f2('0x4e')](_0x1ffaa5[_0x92f2('0x31')],_0x3a3c7d[_0x92f2('0x3b')]));if(_0x1ffaa5[_0x92f2('0x31')]['filter']){_0xf4cc2f[_0x92f2('0x3a')]=_['merge'](_0xf4cc2f['where'],{'$or':_['map'](_0xf4cc2f['attributes'],function(_0x3c3099){var _0x48721c={};_0x48721c[_0x3c3099]={'$like':'%'+_0x1ffaa5[_0x92f2('0x31')]['filter']+'%'};return _0x48721c;})});}_0xf4cc2f=_[_0x92f2('0x3d')]({},_0xf4cc2f,_0x1ffaa5[_0x92f2('0x46')]);return _0x420eac[_0x92f2('0x4b')](_0xf4cc2f);}})[_0x92f2('0x24')](function(_0x369094){if(_0x369094){_0x4cd57f=_0x369094[_0x92f2('0x36')];if(!_0x1ffaa5[_0x92f2('0x31')][_0x92f2('0x37')](_0x92f2('0x38'))){_0xf4cc2f[_0x92f2('0x1b')]=qs['limit'](_0x1ffaa5[_0x92f2('0x31')]['limit']);_0xf4cc2f[_0x92f2('0x1d')]=qs[_0x92f2('0x1d')](_0x1ffaa5[_0x92f2('0x31')]['offset']);}return _0x420eac[_0x92f2('0x4b')](_0xf4cc2f);}})[_0x92f2('0x24')](function(_0x264a1b){if(_0x264a1b){return _0x264a1b?{'count':_0x4cd57f,'rows':_0x264a1b}:null;}})[_0x92f2('0x24')](respondWithResult(_0x414431,null))[_0x92f2('0x41')](handleError(_0x414431,null));};exports[_0x92f2('0x4f')]=function(_0x12db47,_0x355e56,_0x4a92c9){if(_0x12db47[_0x92f2('0x49')]['id']){delete _0x12db47[_0x92f2('0x49')]['id'];}return db['FreshsalesAccount'][_0x92f2('0x4c')]({'where':{'id':_0x12db47[_0x92f2('0x42')]['id']}})[_0x92f2('0x24')](handleEntityNotFound(_0x355e56,null))[_0x92f2('0x24')](function(_0x241aac){if(_0x241aac){_0x12db47['body'][_0x92f2('0x50')]=_0x241aac['id'];_0x12db47[_0x92f2('0x49')][_0x92f2('0x51')]=integrations['getSubjects'](_0x12db47['body'][_0x92f2('0x52')],_0x12db47[_0x92f2('0x49')]['type']);_0x12db47[_0x92f2('0x49')][_0x92f2('0x53')]=integrations['getDescriptions'](_0x12db47[_0x92f2('0x49')][_0x92f2('0x52')],_0x12db47[_0x92f2('0x49')][_0x92f2('0x2e')]);return db[_0x92f2('0x4d')][_0x92f2('0x48')](_0x12db47[_0x92f2('0x49')],{'include':[{'model':db[_0x92f2('0x54')],'as':_0x92f2('0x51')},{'model':db[_0x92f2('0x54')],'as':_0x92f2('0x53')}]});}return null;})['then'](respondWithResult(_0x355e56,null))[_0x92f2('0x41')](handleError(_0x355e56,null));};exports[_0x92f2('0x55')]=function(_0x4a7a3a,_0x2917e7,_0x48b08d){var _0x811f9f='';var _0x20ef9c='';return db[_0x92f2('0x2b')]['findOne']({'where':{'id':_0x4a7a3a[_0x92f2('0x42')]['id']},'attributes':['id',_0x92f2('0x56'),_0x92f2('0x57'),_0x92f2('0x58')]})[_0x92f2('0x24')](handleEntityNotFound(_0x2917e7,null))[_0x92f2('0x24')](function(_0x4e37bf){if(_0x4e37bf){_0x20ef9c=_0x4e37bf['username'];_0x811f9f=_0x4e37bf[_0x92f2('0x57')];var _0x580261=_0x4e37bf['remoteUri'][_0x92f2('0x59')](-0x1);if(_0x580261==='/'){_0x811f9f=_0x811f9f[_0x92f2('0x5a')](0x0,_0x811f9f[_0x92f2('0x5b')](_0x580261));}return rp({'method':_0x92f2('0x5c'),'uri':util[_0x92f2('0x5d')]('%s%s',_0x811f9f,'/api/selector/owners'),'headers':{'Authorization':_0x92f2('0x5e')+_0x4e37bf[_0x92f2('0x58')]},'json':!![]});}})[_0x92f2('0x24')](function(_0x31e8a4){if(_0x31e8a4){var _0x20b9ce=_0x31e8a4['users'];var _0x48daab=![];var _0x5524a6=null;for(_0x5524a6=0x0;_0x5524a6<_0x20b9ce[_0x92f2('0x36')];_0x5524a6++){if(_0x20b9ce[_0x5524a6][_0x92f2('0x5f')]===_0x20ef9c){_0x48daab=!![];}}if(_0x48daab){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x92f2('0x60')});}}})['then'](respondWithResult(_0x2917e7,null))[_0x92f2('0x41')](function(_0x229556){var _0x322ce8=_0x4a7a3a[_0x92f2('0x31')][_0x92f2('0x61')]?0x1f4:_0x229556['statusCode']||0x1f4;logger[_0x92f2('0x26')]('getFields,\x20%s,\x20%s,\x20%s',_0x92f2('0x55'),_0x322ce8,JSON[_0x92f2('0x62')](_0x229556));delete _0x229556['name'];if(_0x322ce8===0x191){_0x322ce8=0x190;}_0x2917e7[_0x92f2('0x19')](_0x322ce8)[_0x92f2('0x29')](_0x4a7a3a[_0x92f2('0x31')][_0x92f2('0x61')]?{'message':_0x92f2('0x63'),'statusCode':_0x229556['statusCode']}:_0x229556);});};