Built motion from commit 0900f080.|2.5.45
[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 _0x5635=['includeAll','findAll','catch','show','params','keys','include','options','find','create','body','destroy','findOne','FreshsalesConfiguration','order','getConfigurations','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','getFields','apiKey','remoteUri','slice','substring','lastIndexOf','format','/api/selector/owners','Token\x20token=','users','email','Requested\x20Resource\x20not\x20Found','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','test','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','error','name','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','FreshsalesAccount'];(function(_0x5a1b31,_0x293ffd){var _0x273ef3=function(_0x12d585){while(--_0x12d585){_0x5a1b31['push'](_0x5a1b31['shift']());}};_0x273ef3(++_0x293ffd);}(_0x5635,0x90));var _0x5563=function(_0x4df53f,_0x161edc){_0x4df53f=_0x4df53f-0x0;var _0x24e733=_0x5635[_0x4df53f];return _0x24e733;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5563('0x0'));var zipdir=require(_0x5563('0x1'));var jsonpatch=require(_0x5563('0x2'));var rp=require(_0x5563('0x3'));var moment=require('moment');var BPromise=require(_0x5563('0x4'));var Mustache=require(_0x5563('0x5'));var util=require(_0x5563('0x6'));var path=require('path');var sox=require(_0x5563('0x7'));var csv=require('to-csv');var ejs=require(_0x5563('0x8'));var fs=require('fs');var fs_extra=require(_0x5563('0x9'));var _=require(_0x5563('0xa'));var squel=require(_0x5563('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x5563('0xc'));var querystring=require(_0x5563('0xd'));var Papa=require(_0x5563('0xe'));var Redis=require('ioredis');var authService=require(_0x5563('0xf'));var qs=require(_0x5563('0x10'));var as=require(_0x5563('0x11'));var hardwareService=require(_0x5563('0x12'));var logger=require(_0x5563('0x13'))(_0x5563('0x14'));var utils=require(_0x5563('0x15'));var config=require(_0x5563('0x16'));var licenseUtil=require(_0x5563('0x17'));var db=require(_0x5563('0x18'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x47ee17,_0x46c53f){_0x46c53f=_0x46c53f||0xcc;return function(_0xb2944a){if(_0xb2944a){return _0x47ee17[_0x5563('0x19')](_0x46c53f);}return _0x47ee17[_0x5563('0x1a')](_0x46c53f)[_0x5563('0x1b')]();};}function respondWithResult(_0x214d9b,_0x1335b8){_0x1335b8=_0x1335b8||0xc8;return function(_0x13f8fd){if(_0x13f8fd){return _0x214d9b['status'](_0x1335b8)[_0x5563('0x1c')](_0x13f8fd);}};}function respondWithFilteredResult(_0x180418,_0x5155eb){return function(_0x512249){if(_0x512249){var _0x4ddf7f=typeof _0x5155eb[_0x5563('0x1d')]===_0x5563('0x1e')&&typeof _0x5155eb[_0x5563('0x1f')]===_0x5563('0x1e');var _0x12d571=_0x512249[_0x5563('0x20')];var _0x3a43c2=_0x4ddf7f?0x0:_0x5155eb['offset'];var _0x37b705=_0x4ddf7f?_0x512249[_0x5563('0x20')]:_0x5155eb['offset']+_0x5155eb[_0x5563('0x1f')];var _0x1bf850;if(_0x37b705>=_0x12d571){_0x37b705=_0x12d571;_0x1bf850=0xc8;}else{_0x1bf850=0xce;}_0x180418['status'](_0x1bf850);return _0x180418[_0x5563('0x21')](_0x5563('0x22'),_0x3a43c2+'-'+_0x37b705+'/'+_0x12d571)[_0x5563('0x1c')](_0x512249);}return null;};}function patchUpdates(_0x24fd0a){return function(_0x3e04ff){try{jsonpatch[_0x5563('0x23')](_0x3e04ff,_0x24fd0a,!![]);}catch(_0xe56e17){return BPromise[_0x5563('0x24')](_0xe56e17);}return _0x3e04ff[_0x5563('0x25')]();};}function saveUpdates(_0x51842e,_0x4693ff){return function(_0x5309e2){if(_0x5309e2){return _0x5309e2[_0x5563('0x26')](_0x51842e)[_0x5563('0x27')](function(_0x5ebe12){return _0x5ebe12;});}return null;};}function removeEntity(_0x218cd9,_0x1745ad){return function(_0x227199){if(_0x227199){return _0x227199['destroy']()['then'](function(){_0x218cd9['status'](0xcc)[_0x5563('0x1b')]();});}};}function handleEntityNotFound(_0x29d444,_0x5273cf){return function(_0x553639){if(!_0x553639){_0x29d444[_0x5563('0x19')](0x194);}return _0x553639;};}function handleError(_0x30014e,_0x4f501c){_0x4f501c=_0x4f501c||0x1f4;return function(_0x3825e8){logger[_0x5563('0x28')](_0x3825e8['stack']);if(_0x3825e8[_0x5563('0x29')]){delete _0x3825e8[_0x5563('0x29')];}_0x30014e['status'](_0x4f501c)['send'](_0x3825e8);};}exports[_0x5563('0x2a')]=function(_0x5e28c8,_0x1ac724){var _0x42ec11={},_0x386ce3={},_0x4f3938={'count':0x0,'rows':[]};var _0x1a56ab=_[_0x5563('0x2b')](db['FreshsalesAccount'][_0x5563('0x2c')],function(_0x4aef01){return{'name':_0x4aef01[_0x5563('0x2d')],'type':_0x4aef01[_0x5563('0x2e')][_0x5563('0x2f')]};});_0x386ce3[_0x5563('0x30')]=_['map'](_0x1a56ab,_0x5563('0x29'));_0x386ce3[_0x5563('0x31')]=_['keys'](_0x5e28c8[_0x5563('0x31')]);_0x386ce3[_0x5563('0x32')]=_[_0x5563('0x33')](_0x386ce3[_0x5563('0x30')],_0x386ce3[_0x5563('0x31')]);_0x42ec11[_0x5563('0x34')]=_[_0x5563('0x33')](_0x386ce3[_0x5563('0x30')],qs[_0x5563('0x35')](_0x5e28c8[_0x5563('0x31')][_0x5563('0x35')]));_0x42ec11[_0x5563('0x34')]=_0x42ec11[_0x5563('0x34')][_0x5563('0x36')]?_0x42ec11[_0x5563('0x34')]:_0x386ce3[_0x5563('0x30')];if(!_0x5e28c8['query'][_0x5563('0x37')](_0x5563('0x38'))){_0x42ec11[_0x5563('0x1f')]=qs[_0x5563('0x1f')](_0x5e28c8['query'][_0x5563('0x1f')]);_0x42ec11['offset']=qs[_0x5563('0x1d')](_0x5e28c8[_0x5563('0x31')][_0x5563('0x1d')]);}_0x42ec11['order']=qs[_0x5563('0x39')](_0x5e28c8['query'][_0x5563('0x39')]);_0x42ec11['where']=qs[_0x5563('0x32')](_[_0x5563('0x3a')](_0x5e28c8[_0x5563('0x31')],_0x386ce3[_0x5563('0x32')]),_0x1a56ab);if(_0x5e28c8[_0x5563('0x31')][_0x5563('0x3b')]){_0x42ec11[_0x5563('0x3c')]=_[_0x5563('0x3d')](_0x42ec11[_0x5563('0x3c')],{'$or':_[_0x5563('0x2b')](_0x1a56ab,function(_0x301837){if(_0x301837['type']!==_0x5563('0x3e')){var _0x351297={};_0x351297[_0x301837[_0x5563('0x29')]]={'$like':'%'+_0x5e28c8[_0x5563('0x31')][_0x5563('0x3b')]+'%'};return _0x351297;}})});}_0x42ec11=_[_0x5563('0x3d')]({},_0x42ec11,_0x5e28c8['options']);var _0x497b67={'where':_0x42ec11[_0x5563('0x3c')]};return db[_0x5563('0x3f')][_0x5563('0x20')](_0x497b67)[_0x5563('0x27')](function(_0x2a1f30){_0x4f3938[_0x5563('0x20')]=_0x2a1f30;if(_0x5e28c8[_0x5563('0x31')][_0x5563('0x40')]){_0x42ec11['include']=[{'all':!![]}];}return db[_0x5563('0x3f')][_0x5563('0x41')](_0x42ec11);})['then'](function(_0xe21d54){_0x4f3938['rows']=_0xe21d54;return _0x4f3938;})['then'](respondWithFilteredResult(_0x1ac724,_0x42ec11))[_0x5563('0x42')](handleError(_0x1ac724,null));};exports[_0x5563('0x43')]=function(_0x886c7,_0x1c7f8f){var _0x35049e={'raw':![],'where':{'id':_0x886c7[_0x5563('0x44')]['id']}},_0x1e902f={};_0x1e902f['model']=_[_0x5563('0x45')](db['FreshsalesAccount'][_0x5563('0x2c')]);_0x1e902f['query']=_[_0x5563('0x45')](_0x886c7['query']);_0x1e902f[_0x5563('0x32')]=_[_0x5563('0x33')](_0x1e902f['model'],_0x1e902f['query']);_0x35049e['attributes']=_[_0x5563('0x33')](_0x1e902f['model'],qs[_0x5563('0x35')](_0x886c7[_0x5563('0x31')]['fields']));_0x35049e[_0x5563('0x34')]=_0x35049e[_0x5563('0x34')][_0x5563('0x36')]?_0x35049e[_0x5563('0x34')]:_0x1e902f['model'];if(_0x886c7[_0x5563('0x31')]['includeAll']){_0x35049e[_0x5563('0x46')]=[{'all':!![]}];}_0x35049e=_[_0x5563('0x3d')]({},_0x35049e,_0x886c7[_0x5563('0x47')]);return db['FreshsalesAccount'][_0x5563('0x48')](_0x35049e)[_0x5563('0x27')](handleEntityNotFound(_0x1c7f8f,null))[_0x5563('0x27')](respondWithResult(_0x1c7f8f,null))['catch'](handleError(_0x1c7f8f,null));};exports[_0x5563('0x49')]=function(_0x3bb0a3,_0x2731e4){return db[_0x5563('0x3f')][_0x5563('0x49')](_0x3bb0a3[_0x5563('0x4a')],{})[_0x5563('0x27')](respondWithResult(_0x2731e4,0xc9))[_0x5563('0x42')](handleError(_0x2731e4,null));};exports[_0x5563('0x26')]=function(_0x4ec6f3,_0x3bcf02){if(_0x4ec6f3[_0x5563('0x4a')]['id']){delete _0x4ec6f3[_0x5563('0x4a')]['id'];}return db[_0x5563('0x3f')][_0x5563('0x48')]({'where':{'id':_0x4ec6f3[_0x5563('0x44')]['id']}})[_0x5563('0x27')](handleEntityNotFound(_0x3bcf02,null))[_0x5563('0x27')](saveUpdates(_0x4ec6f3[_0x5563('0x4a')],null))['then'](respondWithResult(_0x3bcf02,null))['catch'](handleError(_0x3bcf02,null));};exports[_0x5563('0x4b')]=function(_0x354772,_0x3b22de){return db['FreshsalesAccount']['find']({'where':{'id':_0x354772[_0x5563('0x44')]['id']}})[_0x5563('0x27')](handleEntityNotFound(_0x3b22de,null))[_0x5563('0x27')](removeEntity(_0x3b22de,null))[_0x5563('0x42')](handleError(_0x3b22de,null));};exports['getConfigurations']=function(_0x1bd5d7,_0x115664,_0x4c2112){var _0x1bccb5={};var _0x54cd1a={};var _0x17681e;var _0x22036a;return db[_0x5563('0x3f')][_0x5563('0x4c')]({'where':{'id':_0x1bd5d7[_0x5563('0x44')]['id']}})[_0x5563('0x27')](handleEntityNotFound(_0x115664,null))[_0x5563('0x27')](function(_0x5380ee){if(_0x5380ee){_0x17681e=_0x5380ee;_0x54cd1a[_0x5563('0x30')]=_['keys'](db[_0x5563('0x4d')]['rawAttributes']);_0x54cd1a['query']=_[_0x5563('0x45')](_0x1bd5d7[_0x5563('0x31')]);_0x54cd1a['filters']=_[_0x5563('0x33')](_0x54cd1a[_0x5563('0x30')],_0x54cd1a['query']);_0x1bccb5[_0x5563('0x34')]=_[_0x5563('0x33')](_0x54cd1a[_0x5563('0x30')],qs['fields'](_0x1bd5d7[_0x5563('0x31')][_0x5563('0x35')]));_0x1bccb5[_0x5563('0x34')]=_0x1bccb5[_0x5563('0x34')][_0x5563('0x36')]?_0x1bccb5[_0x5563('0x34')]:_0x54cd1a['model'];_0x1bccb5[_0x5563('0x4e')]=qs[_0x5563('0x39')](_0x1bd5d7[_0x5563('0x31')][_0x5563('0x39')]);_0x1bccb5[_0x5563('0x3c')]=qs[_0x5563('0x32')](_['pick'](_0x1bd5d7[_0x5563('0x31')],_0x54cd1a[_0x5563('0x32')]));if(_0x1bd5d7[_0x5563('0x31')]['filter']){_0x1bccb5['where']=_['merge'](_0x1bccb5[_0x5563('0x3c')],{'$or':_[_0x5563('0x2b')](_0x1bccb5[_0x5563('0x34')],function(_0x1377bc){var _0x17c886={};_0x17c886[_0x1377bc]={'$like':'%'+_0x1bd5d7['query'][_0x5563('0x3b')]+'%'};return _0x17c886;})});}_0x1bccb5=_[_0x5563('0x3d')]({},_0x1bccb5,_0x1bd5d7[_0x5563('0x47')]);return _0x17681e[_0x5563('0x4f')](_0x1bccb5);}})[_0x5563('0x27')](function(_0x1aa7c1){if(_0x1aa7c1){_0x22036a=_0x1aa7c1['length'];if(!_0x1bd5d7[_0x5563('0x31')][_0x5563('0x37')](_0x5563('0x38'))){_0x1bccb5[_0x5563('0x1f')]=qs[_0x5563('0x1f')](_0x1bd5d7[_0x5563('0x31')]['limit']);_0x1bccb5[_0x5563('0x1d')]=qs['offset'](_0x1bd5d7[_0x5563('0x31')][_0x5563('0x1d')]);}return _0x17681e[_0x5563('0x4f')](_0x1bccb5);}})[_0x5563('0x27')](function(_0x27ea4e){if(_0x27ea4e){return _0x27ea4e?{'count':_0x22036a,'rows':_0x27ea4e}:null;}})[_0x5563('0x27')](respondWithResult(_0x115664,null))[_0x5563('0x42')](handleError(_0x115664,null));};exports[_0x5563('0x50')]=function(_0x10a89c,_0x3cbc28,_0x4e76ab){if(_0x10a89c['body']['id']){delete _0x10a89c['body']['id'];}return db['FreshsalesAccount'][_0x5563('0x4c')]({'where':{'id':_0x10a89c[_0x5563('0x44')]['id']}})[_0x5563('0x27')](handleEntityNotFound(_0x3cbc28,null))[_0x5563('0x27')](function(_0x3c1410){if(_0x3c1410){_0x10a89c[_0x5563('0x4a')][_0x5563('0x51')]=_0x3c1410['id'];_0x10a89c[_0x5563('0x4a')][_0x5563('0x52')]=integrations['getSubjects'](_0x10a89c[_0x5563('0x4a')][_0x5563('0x53')],_0x10a89c['body']['type']);_0x10a89c[_0x5563('0x4a')][_0x5563('0x54')]=integrations[_0x5563('0x55')](_0x10a89c[_0x5563('0x4a')]['channel'],_0x10a89c[_0x5563('0x4a')]['type']);return db[_0x5563('0x4d')][_0x5563('0x49')](_0x10a89c['body'],{'include':[{'model':db['FreshsalesField'],'as':'Subjects'},{'model':db['FreshsalesField'],'as':_0x5563('0x54')}]});}return null;})[_0x5563('0x27')](respondWithResult(_0x3cbc28,null))[_0x5563('0x42')](handleError(_0x3cbc28,null));};exports[_0x5563('0x56')]=function(_0x158f22,_0x241644,_0x5de6c7){var _0xaa8d84='';var _0x2dd175='';return db[_0x5563('0x3f')]['findOne']({'where':{'id':_0x158f22[_0x5563('0x44')]['id']},'attributes':['id','username','remoteUri',_0x5563('0x57')]})[_0x5563('0x27')](handleEntityNotFound(_0x241644,null))[_0x5563('0x27')](function(_0x320fe1){if(_0x320fe1){_0x2dd175=_0x320fe1['username'];_0xaa8d84=_0x320fe1[_0x5563('0x58')];var _0x5c2f30=_0x320fe1[_0x5563('0x58')][_0x5563('0x59')](-0x1);if(_0x5c2f30==='/'){_0xaa8d84=_0xaa8d84[_0x5563('0x5a')](0x0,_0xaa8d84[_0x5563('0x5b')](_0x5c2f30));}return rp({'method':'GET','uri':util[_0x5563('0x5c')]('%s%s',_0xaa8d84,_0x5563('0x5d')),'headers':{'Authorization':_0x5563('0x5e')+_0x320fe1[_0x5563('0x57')]},'json':!![]});}})['then'](function(_0x23c1c1){if(_0x23c1c1){var _0x147a73=_0x23c1c1[_0x5563('0x5f')];var _0xb0cc70=![];var _0xdc919e=null;for(_0xdc919e=0x0;_0xdc919e<_0x147a73[_0x5563('0x36')];_0xdc919e++){if(_0x147a73[_0xdc919e][_0x5563('0x60')]===_0x2dd175){_0xb0cc70=!![];}}if(_0xb0cc70){return!![];}else{throw new Error({'statusCode':0x194,'message':_0x5563('0x61')});}}})['then'](respondWithResult(_0x241644,null))[_0x5563('0x42')](function(_0x1b264d){var _0xd0a375=_0x158f22[_0x5563('0x31')]['test']?0x1f4:_0x1b264d[_0x5563('0x62')]||0x1f4;logger[_0x5563('0x28')](_0x5563('0x63'),'getFields',_0xd0a375,JSON[_0x5563('0x64')](_0x1b264d));delete _0x1b264d[_0x5563('0x29')];if(_0xd0a375===0x191){_0xd0a375=0x190;}_0x241644[_0x5563('0x1a')](_0xd0a375)[_0x5563('0x65')](_0x158f22[_0x5563('0x31')][_0x5563('0x66')]?{'message':_0x5563('0x67'),'statusCode':_0x1b264d[_0x5563('0x62')]}:_0x1b264d);});};