Built motion from commit 775e2a94.|2.6.3
[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 _0x520c=['stack','name','send','index','map','FreshsalesAccount','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','type','options','includeAll','include','findAll','show','params','length','find','catch','create','body','update','getConfigurations','filter','addConfiguration','AccountId','getSubjects','channel','Descriptions','getDescriptions','FreshsalesConfiguration','Subjects','FreshsalesField','getFields','remoteUri','apiKey','slice','substring','lastIndexOf','GET','format','%s%s','/api/selector/owners','Token\x20token=','users','email','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','statusCode','rimraf','request-promise','moment','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','then','destroy','error'];(function(_0x1fe8be,_0x5e7860){var _0x1449bb=function(_0x17b23e){while(--_0x17b23e){_0x1fe8be['push'](_0x1fe8be['shift']());}};_0x1449bb(++_0x5e7860);}(_0x520c,0x10e));var _0xc520=function(_0x5192de,_0x4e91cd){_0x5192de=_0x5192de-0x0;var _0x4e287e=_0x520c[_0x5192de];return _0x4e287e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc520('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xc520('0x1'));var moment=require(_0xc520('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc520('0x3'));var path=require(_0xc520('0x4'));var sox=require(_0xc520('0x5'));var csv=require(_0xc520('0x6'));var ejs=require(_0xc520('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc520('0x8'));var squel=require('squel');var crypto=require(_0xc520('0x9'));var jsforce=require(_0xc520('0xa'));var deskjs=require(_0xc520('0xb'));var toCsv=require(_0xc520('0x6'));var querystring=require(_0xc520('0xc'));var Papa=require(_0xc520('0xd'));var Redis=require(_0xc520('0xe'));var authService=require(_0xc520('0xf'));var qs=require(_0xc520('0x10'));var as=require(_0xc520('0x11'));var hardwareService=require(_0xc520('0x12'));var logger=require(_0xc520('0x13'))(_0xc520('0x14'));var utils=require('../../config/utils');var config=require(_0xc520('0x15'));var licenseUtil=require(_0xc520('0x16'));var db=require(_0xc520('0x17'))['db'];var integrations=require(_0xc520('0x18'));function respondWithStatusCode(_0x44df8d,_0x258499){_0x258499=_0x258499||0xcc;return function(_0x22a20a){if(_0x22a20a){return _0x44df8d[_0xc520('0x19')](_0x258499);}return _0x44df8d[_0xc520('0x1a')](_0x258499)[_0xc520('0x1b')]();};}function respondWithResult(_0x103579,_0x931e33){_0x931e33=_0x931e33||0xc8;return function(_0x2b5b79){if(_0x2b5b79){return _0x103579[_0xc520('0x1a')](_0x931e33)[_0xc520('0x1c')](_0x2b5b79);}};}function respondWithFilteredResult(_0xec59ce,_0x4ce17d){return function(_0x309ce5){if(_0x309ce5){var _0x59afb1=typeof _0x4ce17d['offset']===_0xc520('0x1d')&&typeof _0x4ce17d[_0xc520('0x1e')]===_0xc520('0x1d');var _0x47265b=_0x309ce5[_0xc520('0x1f')];var _0x537395=_0x59afb1?0x0:_0x4ce17d['offset'];var _0x558b52=_0x59afb1?_0x309ce5['count']:_0x4ce17d[_0xc520('0x20')]+_0x4ce17d[_0xc520('0x1e')];var _0xe23559;if(_0x558b52>=_0x47265b){_0x558b52=_0x47265b;_0xe23559=0xc8;}else{_0xe23559=0xce;}_0xec59ce[_0xc520('0x1a')](_0xe23559);return _0xec59ce[_0xc520('0x21')](_0xc520('0x22'),_0x537395+'-'+_0x558b52+'/'+_0x47265b)[_0xc520('0x1c')](_0x309ce5);}return null;};}function patchUpdates(_0x26e03a){return function(_0x2d250d){try{jsonpatch['apply'](_0x2d250d,_0x26e03a,!![]);}catch(_0x43ec0b){return BPromise[_0xc520('0x23')](_0x43ec0b);}return _0x2d250d['save']();};}function saveUpdates(_0x383c74,_0x5dd787){return function(_0x5a0305){if(_0x5a0305){return _0x5a0305['update'](_0x383c74)[_0xc520('0x24')](function(_0x1b4095){return _0x1b4095;});}return null;};}function removeEntity(_0x27c19e,_0xf161e3){return function(_0x22d974){if(_0x22d974){return _0x22d974[_0xc520('0x25')]()[_0xc520('0x24')](function(){_0x27c19e[_0xc520('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x13faf5,_0x1c7888){return function(_0x39b6c6){if(!_0x39b6c6){_0x13faf5[_0xc520('0x19')](0x194);}return _0x39b6c6;};}function handleError(_0x1182d5,_0x28b64c){_0x28b64c=_0x28b64c||0x1f4;return function(_0x87ea8a){logger[_0xc520('0x26')](_0x87ea8a[_0xc520('0x27')]);if(_0x87ea8a[_0xc520('0x28')]){delete _0x87ea8a[_0xc520('0x28')];}_0x1182d5[_0xc520('0x1a')](_0x28b64c)[_0xc520('0x29')](_0x87ea8a);};}exports[_0xc520('0x2a')]=function(_0xed93cb,_0x39083a){var _0x251433={},_0x144314={},_0x141b14={'count':0x0,'rows':[]};var _0xb799e6=_[_0xc520('0x2b')](db[_0xc520('0x2c')][_0xc520('0x2d')],function(_0x4b074b){return{'name':_0x4b074b[_0xc520('0x2e')],'type':_0x4b074b['type'][_0xc520('0x2f')]};});_0x144314[_0xc520('0x30')]=_[_0xc520('0x2b')](_0xb799e6,_0xc520('0x28'));_0x144314['query']=_[_0xc520('0x31')](_0xed93cb[_0xc520('0x32')]);_0x144314[_0xc520('0x33')]=_[_0xc520('0x34')](_0x144314['model'],_0x144314['query']);_0x251433[_0xc520('0x35')]=_[_0xc520('0x34')](_0x144314[_0xc520('0x30')],qs[_0xc520('0x36')](_0xed93cb[_0xc520('0x32')][_0xc520('0x36')]));_0x251433[_0xc520('0x35')]=_0x251433[_0xc520('0x35')]['length']?_0x251433[_0xc520('0x35')]:_0x144314['model'];if(!_0xed93cb[_0xc520('0x32')][_0xc520('0x37')]('nolimit')){_0x251433[_0xc520('0x1e')]=qs[_0xc520('0x1e')](_0xed93cb[_0xc520('0x32')]['limit']);_0x251433[_0xc520('0x20')]=qs['offset'](_0xed93cb[_0xc520('0x32')][_0xc520('0x20')]);}_0x251433[_0xc520('0x38')]=qs[_0xc520('0x39')](_0xed93cb[_0xc520('0x32')][_0xc520('0x39')]);_0x251433[_0xc520('0x3a')]=qs[_0xc520('0x33')](_[_0xc520('0x3b')](_0xed93cb[_0xc520('0x32')],_0x144314[_0xc520('0x33')]),_0xb799e6);if(_0xed93cb['query']['filter']){_0x251433[_0xc520('0x3a')]=_[_0xc520('0x3c')](_0x251433[_0xc520('0x3a')],{'$or':_[_0xc520('0x2b')](_0xb799e6,function(_0x1aa644){if(_0x1aa644[_0xc520('0x3d')]!=='VIRTUAL'){var _0x2b8ed5={};_0x2b8ed5[_0x1aa644[_0xc520('0x28')]]={'$like':'%'+_0xed93cb[_0xc520('0x32')]['filter']+'%'};return _0x2b8ed5;}})});}_0x251433=_[_0xc520('0x3c')]({},_0x251433,_0xed93cb[_0xc520('0x3e')]);var _0x2f9d32={'where':_0x251433[_0xc520('0x3a')]};return db['FreshsalesAccount']['count'](_0x2f9d32)[_0xc520('0x24')](function(_0xbdd328){_0x141b14[_0xc520('0x1f')]=_0xbdd328;if(_0xed93cb[_0xc520('0x32')][_0xc520('0x3f')]){_0x251433[_0xc520('0x40')]=[{'all':!![]}];}return db[_0xc520('0x2c')][_0xc520('0x41')](_0x251433);})[_0xc520('0x24')](function(_0x2d679d){_0x141b14['rows']=_0x2d679d;return _0x141b14;})['then'](respondWithFilteredResult(_0x39083a,_0x251433))['catch'](handleError(_0x39083a,null));};exports[_0xc520('0x42')]=function(_0x1c5ae4,_0x3c0fcc){var _0x4ec6db={'raw':![],'where':{'id':_0x1c5ae4[_0xc520('0x43')]['id']}},_0x452630={};_0x452630[_0xc520('0x30')]=_[_0xc520('0x31')](db['FreshsalesAccount']['rawAttributes']);_0x452630['query']=_[_0xc520('0x31')](_0x1c5ae4[_0xc520('0x32')]);_0x452630[_0xc520('0x33')]=_[_0xc520('0x34')](_0x452630[_0xc520('0x30')],_0x452630[_0xc520('0x32')]);_0x4ec6db['attributes']=_[_0xc520('0x34')](_0x452630[_0xc520('0x30')],qs[_0xc520('0x36')](_0x1c5ae4['query'][_0xc520('0x36')]));_0x4ec6db[_0xc520('0x35')]=_0x4ec6db['attributes'][_0xc520('0x44')]?_0x4ec6db[_0xc520('0x35')]:_0x452630[_0xc520('0x30')];if(_0x1c5ae4[_0xc520('0x32')][_0xc520('0x3f')]){_0x4ec6db[_0xc520('0x40')]=[{'all':!![]}];}_0x4ec6db=_[_0xc520('0x3c')]({},_0x4ec6db,_0x1c5ae4[_0xc520('0x3e')]);return db['FreshsalesAccount'][_0xc520('0x45')](_0x4ec6db)[_0xc520('0x24')](handleEntityNotFound(_0x3c0fcc,null))[_0xc520('0x24')](respondWithResult(_0x3c0fcc,null))[_0xc520('0x46')](handleError(_0x3c0fcc,null));};exports[_0xc520('0x47')]=function(_0x47bf15,_0x3999e7){return db['FreshsalesAccount'][_0xc520('0x47')](_0x47bf15[_0xc520('0x48')],{})['then'](respondWithResult(_0x3999e7,0xc9))[_0xc520('0x46')](handleError(_0x3999e7,null));};exports[_0xc520('0x49')]=function(_0x28175a,_0x52f7da){if(_0x28175a[_0xc520('0x48')]['id']){delete _0x28175a['body']['id'];}return db['FreshsalesAccount'][_0xc520('0x45')]({'where':{'id':_0x28175a[_0xc520('0x43')]['id']}})['then'](handleEntityNotFound(_0x52f7da,null))[_0xc520('0x24')](saveUpdates(_0x28175a[_0xc520('0x48')],null))[_0xc520('0x24')](respondWithResult(_0x52f7da,null))['catch'](handleError(_0x52f7da,null));};exports['destroy']=function(_0x386d0f,_0x5b8708){return db[_0xc520('0x2c')][_0xc520('0x45')]({'where':{'id':_0x386d0f['params']['id']}})['then'](handleEntityNotFound(_0x5b8708,null))[_0xc520('0x24')](removeEntity(_0x5b8708,null))[_0xc520('0x46')](handleError(_0x5b8708,null));};exports[_0xc520('0x4a')]=function(_0x303be2,_0x310536,_0x5ab3cd){var _0x2a4192={};var _0x34c607={};var _0x10f80d;var _0x257a4d;return db[_0xc520('0x2c')]['findOne']({'where':{'id':_0x303be2['params']['id']}})[_0xc520('0x24')](handleEntityNotFound(_0x310536,null))[_0xc520('0x24')](function(_0x4a2d44){if(_0x4a2d44){_0x10f80d=_0x4a2d44;_0x34c607[_0xc520('0x30')]=_[_0xc520('0x31')](db['FreshsalesConfiguration'][_0xc520('0x2d')]);_0x34c607[_0xc520('0x32')]=_[_0xc520('0x31')](_0x303be2[_0xc520('0x32')]);_0x34c607['filters']=_[_0xc520('0x34')](_0x34c607[_0xc520('0x30')],_0x34c607[_0xc520('0x32')]);_0x2a4192[_0xc520('0x35')]=_[_0xc520('0x34')](_0x34c607[_0xc520('0x30')],qs[_0xc520('0x36')](_0x303be2[_0xc520('0x32')]['fields']));_0x2a4192[_0xc520('0x35')]=_0x2a4192['attributes']['length']?_0x2a4192[_0xc520('0x35')]:_0x34c607[_0xc520('0x30')];_0x2a4192[_0xc520('0x38')]=qs[_0xc520('0x39')](_0x303be2[_0xc520('0x32')][_0xc520('0x39')]);_0x2a4192[_0xc520('0x3a')]=qs[_0xc520('0x33')](_['pick'](_0x303be2['query'],_0x34c607[_0xc520('0x33')]));if(_0x303be2['query']['filter']){_0x2a4192[_0xc520('0x3a')]=_[_0xc520('0x3c')](_0x2a4192[_0xc520('0x3a')],{'$or':_[_0xc520('0x2b')](_0x2a4192[_0xc520('0x35')],function(_0x119041){var _0x41dec8={};_0x41dec8[_0x119041]={'$like':'%'+_0x303be2[_0xc520('0x32')][_0xc520('0x4b')]+'%'};return _0x41dec8;})});}_0x2a4192=_[_0xc520('0x3c')]({},_0x2a4192,_0x303be2['options']);return _0x10f80d[_0xc520('0x4a')](_0x2a4192);}})[_0xc520('0x24')](function(_0xb6edfb){if(_0xb6edfb){_0x257a4d=_0xb6edfb['length'];if(!_0x303be2['query']['hasOwnProperty']('nolimit')){_0x2a4192['limit']=qs[_0xc520('0x1e')](_0x303be2['query'][_0xc520('0x1e')]);_0x2a4192[_0xc520('0x20')]=qs[_0xc520('0x20')](_0x303be2[_0xc520('0x32')][_0xc520('0x20')]);}return _0x10f80d[_0xc520('0x4a')](_0x2a4192);}})['then'](function(_0x32db87){if(_0x32db87){return _0x32db87?{'count':_0x257a4d,'rows':_0x32db87}:null;}})[_0xc520('0x24')](respondWithResult(_0x310536,null))[_0xc520('0x46')](handleError(_0x310536,null));};exports[_0xc520('0x4c')]=function(_0x4dc34d,_0xb3ee64,_0x4bd5e0){if(_0x4dc34d[_0xc520('0x48')]['id']){delete _0x4dc34d[_0xc520('0x48')]['id'];}return db[_0xc520('0x2c')]['findOne']({'where':{'id':_0x4dc34d['params']['id']}})[_0xc520('0x24')](handleEntityNotFound(_0xb3ee64,null))[_0xc520('0x24')](function(_0xedfae2){if(_0xedfae2){_0x4dc34d[_0xc520('0x48')][_0xc520('0x4d')]=_0xedfae2['id'];_0x4dc34d[_0xc520('0x48')]['Subjects']=integrations[_0xc520('0x4e')](_0x4dc34d[_0xc520('0x48')][_0xc520('0x4f')],_0x4dc34d[_0xc520('0x48')]['type']);_0x4dc34d[_0xc520('0x48')][_0xc520('0x50')]=integrations[_0xc520('0x51')](_0x4dc34d[_0xc520('0x48')][_0xc520('0x4f')],_0x4dc34d[_0xc520('0x48')][_0xc520('0x3d')]);return db[_0xc520('0x52')][_0xc520('0x47')](_0x4dc34d[_0xc520('0x48')],{'include':[{'model':db['FreshsalesField'],'as':_0xc520('0x53')},{'model':db[_0xc520('0x54')],'as':_0xc520('0x50')}]});}return null;})[_0xc520('0x24')](respondWithResult(_0xb3ee64,null))[_0xc520('0x46')](handleError(_0xb3ee64,null));};exports[_0xc520('0x55')]=function(_0x5e3f58,_0x33c806,_0xb33fa9){var _0x754b45='';var _0x199475='';return db[_0xc520('0x2c')]['findOne']({'where':{'id':_0x5e3f58[_0xc520('0x43')]['id']},'attributes':['id','username',_0xc520('0x56'),_0xc520('0x57')]})[_0xc520('0x24')](handleEntityNotFound(_0x33c806,null))[_0xc520('0x24')](function(_0xe8d0ca){if(_0xe8d0ca){_0x199475=_0xe8d0ca['username'];_0x754b45=_0xe8d0ca[_0xc520('0x56')];var _0x1ec254=_0xe8d0ca[_0xc520('0x56')][_0xc520('0x58')](-0x1);if(_0x1ec254==='/'){_0x754b45=_0x754b45[_0xc520('0x59')](0x0,_0x754b45[_0xc520('0x5a')](_0x1ec254));}return rp({'method':_0xc520('0x5b'),'uri':util[_0xc520('0x5c')](_0xc520('0x5d'),_0x754b45,_0xc520('0x5e')),'headers':{'Authorization':_0xc520('0x5f')+_0xe8d0ca[_0xc520('0x57')]},'json':!![]});}})[_0xc520('0x24')](function(_0x3df8f0){if(_0x3df8f0){var _0x2d66aa=_0x3df8f0[_0xc520('0x60')];var _0x5d0a08=![];var _0x35974a=null;for(_0x35974a=0x0;_0x35974a<_0x2d66aa[_0xc520('0x44')];_0x35974a++){if(_0x2d66aa[_0x35974a][_0xc520('0x61')]===_0x199475){_0x5d0a08=!![];}}if(_0x5d0a08){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0xc520('0x24')](respondWithResult(_0x33c806,null))[_0xc520('0x46')](function(_0x2bcd3c){var _0x27b176=_0x5e3f58[_0xc520('0x32')]['test']?0x1f4:_0x2bcd3c['statusCode']||0x1f4;logger['error'](_0xc520('0x62'),_0xc520('0x55'),_0x27b176,JSON[_0xc520('0x63')](_0x2bcd3c));delete _0x2bcd3c['name'];if(_0x27b176===0x191){_0x27b176=0x190;}_0x33c806[_0xc520('0x1a')](_0x27b176)[_0xc520('0x29')](_0x5e3f58[_0xc520('0x32')][_0xc520('0x64')]?{'message':_0xc520('0x65'),'statusCode':_0x2bcd3c[_0xc520('0x66')]}:_0x2bcd3c);});};