Built motion from commit d5e4af8c.|2.6.23
[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 _0x5c91=['../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','status','end','json','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','send','index','map','FreshsalesAccount','rawAttributes','type','key','model','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','pick','filter','merge','where','VIRTUAL','includeAll','findAll','rows','catch','show','params','keys','include','options','find','create','body','getConfigurations','findOne','addConfiguration','AccountId','Subjects','Descriptions','getDescriptions','FreshsalesConfiguration','FreshsalesField','getFields','username','remoteUri','apiKey','slice','%s%s','/api/selector/owners','Token\x20token=','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x1d6e70,_0x19134f){var _0x42d627=function(_0x18c993){while(--_0x18c993){_0x1d6e70['push'](_0x1d6e70['shift']());}};_0x42d627(++_0x19134f);}(_0x5c91,0x110));var _0x15c9=function(_0x448ec7,_0x5c3f72){_0x448ec7=_0x448ec7-0x0;var _0x234108=_0x5c91[_0x448ec7];return _0x234108;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x15c9('0x0'));var rp=require(_0x15c9('0x1'));var moment=require(_0x15c9('0x2'));var BPromise=require(_0x15c9('0x3'));var Mustache=require(_0x15c9('0x4'));var util=require(_0x15c9('0x5'));var path=require('path');var sox=require(_0x15c9('0x6'));var csv=require(_0x15c9('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x15c9('0x8'));var squel=require('squel');var crypto=require(_0x15c9('0x9'));var jsforce=require(_0x15c9('0xa'));var deskjs=require(_0x15c9('0xb'));var toCsv=require(_0x15c9('0x7'));var querystring=require(_0x15c9('0xc'));var Papa=require('papaparse');var Redis=require(_0x15c9('0xd'));var authService=require(_0x15c9('0xe'));var qs=require(_0x15c9('0xf'));var as=require(_0x15c9('0x10'));var hardwareService=require(_0x15c9('0x11'));var logger=require(_0x15c9('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x15c9('0x13'));var licenseUtil=require(_0x15c9('0x14'));var db=require(_0x15c9('0x15'))['db'];var integrations=require(_0x15c9('0x16'));function respondWithStatusCode(_0x4fc27a,_0x51c8d4){_0x51c8d4=_0x51c8d4||0xcc;return function(_0x2a681b){if(_0x2a681b){return _0x4fc27a['sendStatus'](_0x51c8d4);}return _0x4fc27a[_0x15c9('0x17')](_0x51c8d4)[_0x15c9('0x18')]();};}function respondWithResult(_0x32d0ae,_0x35223c){_0x35223c=_0x35223c||0xc8;return function(_0x3bd4bd){if(_0x3bd4bd){return _0x32d0ae[_0x15c9('0x17')](_0x35223c)[_0x15c9('0x19')](_0x3bd4bd);}};}function respondWithFilteredResult(_0xd8cd52,_0x3eae5a){return function(_0x1d8a0c){if(_0x1d8a0c){var _0x2b7f5b=typeof _0x3eae5a['offset']===_0x15c9('0x1a')&&typeof _0x3eae5a[_0x15c9('0x1b')]===_0x15c9('0x1a');var _0x156a26=_0x1d8a0c[_0x15c9('0x1c')];var _0x50ff64=_0x2b7f5b?0x0:_0x3eae5a['offset'];var _0x284597=_0x2b7f5b?_0x1d8a0c[_0x15c9('0x1c')]:_0x3eae5a['offset']+_0x3eae5a[_0x15c9('0x1b')];var _0x3888b8;if(_0x284597>=_0x156a26){_0x284597=_0x156a26;_0x3888b8=0xc8;}else{_0x3888b8=0xce;}_0xd8cd52[_0x15c9('0x17')](_0x3888b8);return _0xd8cd52['set'](_0x15c9('0x1d'),_0x50ff64+'-'+_0x284597+'/'+_0x156a26)[_0x15c9('0x19')](_0x1d8a0c);}return null;};}function patchUpdates(_0x4dfdd5){return function(_0x10e6d8){try{jsonpatch[_0x15c9('0x1e')](_0x10e6d8,_0x4dfdd5,!![]);}catch(_0x512352){return BPromise[_0x15c9('0x1f')](_0x512352);}return _0x10e6d8[_0x15c9('0x20')]();};}function saveUpdates(_0xa01119,_0x1afde){return function(_0x48564d){if(_0x48564d){return _0x48564d[_0x15c9('0x21')](_0xa01119)[_0x15c9('0x22')](function(_0x54f739){return _0x54f739;});}return null;};}function removeEntity(_0x5114fe,_0x4fb2e1){return function(_0x15c59d){if(_0x15c59d){return _0x15c59d[_0x15c9('0x23')]()[_0x15c9('0x22')](function(){_0x5114fe[_0x15c9('0x17')](0xcc)[_0x15c9('0x18')]();});}};}function handleEntityNotFound(_0x50954a,_0x57b5c5){return function(_0x3c04e6){if(!_0x3c04e6){_0x50954a[_0x15c9('0x24')](0x194);}return _0x3c04e6;};}function handleError(_0x4a7576,_0x3c0728){_0x3c0728=_0x3c0728||0x1f4;return function(_0x59c851){logger['error'](_0x59c851[_0x15c9('0x25')]);if(_0x59c851['name']){delete _0x59c851['name'];}_0x4a7576['status'](_0x3c0728)[_0x15c9('0x26')](_0x59c851);};}exports[_0x15c9('0x27')]=function(_0x430a02,_0xd56d86){var _0x18cb7b={},_0x35a5c9={},_0x472d04={'count':0x0,'rows':[]};var _0x2137b9=_[_0x15c9('0x28')](db[_0x15c9('0x29')][_0x15c9('0x2a')],function(_0x1a82b){return{'name':_0x1a82b['fieldName'],'type':_0x1a82b[_0x15c9('0x2b')][_0x15c9('0x2c')]};});_0x35a5c9[_0x15c9('0x2d')]=_[_0x15c9('0x28')](_0x2137b9,_0x15c9('0x2e'));_0x35a5c9[_0x15c9('0x2f')]=_['keys'](_0x430a02[_0x15c9('0x2f')]);_0x35a5c9[_0x15c9('0x30')]=_[_0x15c9('0x31')](_0x35a5c9[_0x15c9('0x2d')],_0x35a5c9[_0x15c9('0x2f')]);_0x18cb7b[_0x15c9('0x32')]=_[_0x15c9('0x31')](_0x35a5c9[_0x15c9('0x2d')],qs['fields'](_0x430a02[_0x15c9('0x2f')][_0x15c9('0x33')]));_0x18cb7b[_0x15c9('0x32')]=_0x18cb7b[_0x15c9('0x32')][_0x15c9('0x34')]?_0x18cb7b[_0x15c9('0x32')]:_0x35a5c9[_0x15c9('0x2d')];if(!_0x430a02[_0x15c9('0x2f')][_0x15c9('0x35')](_0x15c9('0x36'))){_0x18cb7b[_0x15c9('0x1b')]=qs[_0x15c9('0x1b')](_0x430a02[_0x15c9('0x2f')][_0x15c9('0x1b')]);_0x18cb7b[_0x15c9('0x37')]=qs['offset'](_0x430a02[_0x15c9('0x2f')][_0x15c9('0x37')]);}_0x18cb7b[_0x15c9('0x38')]=qs[_0x15c9('0x39')](_0x430a02[_0x15c9('0x2f')][_0x15c9('0x39')]);_0x18cb7b['where']=qs[_0x15c9('0x30')](_[_0x15c9('0x3a')](_0x430a02['query'],_0x35a5c9[_0x15c9('0x30')]),_0x2137b9);if(_0x430a02['query'][_0x15c9('0x3b')]){_0x18cb7b['where']=_[_0x15c9('0x3c')](_0x18cb7b[_0x15c9('0x3d')],{'$or':_[_0x15c9('0x28')](_0x2137b9,function(_0x243c53){if(_0x243c53[_0x15c9('0x2b')]!==_0x15c9('0x3e')){var _0xedabf6={};_0xedabf6[_0x243c53[_0x15c9('0x2e')]]={'$like':'%'+_0x430a02[_0x15c9('0x2f')][_0x15c9('0x3b')]+'%'};return _0xedabf6;}})});}_0x18cb7b=_[_0x15c9('0x3c')]({},_0x18cb7b,_0x430a02['options']);var _0x4e418c={'where':_0x18cb7b[_0x15c9('0x3d')]};return db[_0x15c9('0x29')]['count'](_0x4e418c)['then'](function(_0x183924){_0x472d04['count']=_0x183924;if(_0x430a02[_0x15c9('0x2f')][_0x15c9('0x3f')]){_0x18cb7b['include']=[{'all':!![]}];}return db[_0x15c9('0x29')][_0x15c9('0x40')](_0x18cb7b);})[_0x15c9('0x22')](function(_0x356e6e){_0x472d04[_0x15c9('0x41')]=_0x356e6e;return _0x472d04;})['then'](respondWithFilteredResult(_0xd56d86,_0x18cb7b))[_0x15c9('0x42')](handleError(_0xd56d86,null));};exports[_0x15c9('0x43')]=function(_0x4c1ffe,_0x391ddb){var _0x1c1535={'raw':![],'where':{'id':_0x4c1ffe[_0x15c9('0x44')]['id']}},_0x44ac7e={};_0x44ac7e['model']=_[_0x15c9('0x45')](db[_0x15c9('0x29')]['rawAttributes']);_0x44ac7e[_0x15c9('0x2f')]=_[_0x15c9('0x45')](_0x4c1ffe[_0x15c9('0x2f')]);_0x44ac7e[_0x15c9('0x30')]=_[_0x15c9('0x31')](_0x44ac7e[_0x15c9('0x2d')],_0x44ac7e[_0x15c9('0x2f')]);_0x1c1535[_0x15c9('0x32')]=_['intersection'](_0x44ac7e[_0x15c9('0x2d')],qs[_0x15c9('0x33')](_0x4c1ffe[_0x15c9('0x2f')][_0x15c9('0x33')]));_0x1c1535[_0x15c9('0x32')]=_0x1c1535['attributes'][_0x15c9('0x34')]?_0x1c1535[_0x15c9('0x32')]:_0x44ac7e[_0x15c9('0x2d')];if(_0x4c1ffe[_0x15c9('0x2f')][_0x15c9('0x3f')]){_0x1c1535[_0x15c9('0x46')]=[{'all':!![]}];}_0x1c1535=_[_0x15c9('0x3c')]({},_0x1c1535,_0x4c1ffe[_0x15c9('0x47')]);return db[_0x15c9('0x29')][_0x15c9('0x48')](_0x1c1535)[_0x15c9('0x22')](handleEntityNotFound(_0x391ddb,null))[_0x15c9('0x22')](respondWithResult(_0x391ddb,null))['catch'](handleError(_0x391ddb,null));};exports['create']=function(_0x26d9df,_0x351b6c){return db[_0x15c9('0x29')][_0x15c9('0x49')](_0x26d9df['body'],{})['then'](respondWithResult(_0x351b6c,0xc9))['catch'](handleError(_0x351b6c,null));};exports[_0x15c9('0x21')]=function(_0x1aee88,_0x31c9d2){if(_0x1aee88[_0x15c9('0x4a')]['id']){delete _0x1aee88[_0x15c9('0x4a')]['id'];}return db[_0x15c9('0x29')][_0x15c9('0x48')]({'where':{'id':_0x1aee88['params']['id']}})['then'](handleEntityNotFound(_0x31c9d2,null))['then'](saveUpdates(_0x1aee88[_0x15c9('0x4a')],null))[_0x15c9('0x22')](respondWithResult(_0x31c9d2,null))[_0x15c9('0x42')](handleError(_0x31c9d2,null));};exports['destroy']=function(_0x216dba,_0x3cf68f){return db[_0x15c9('0x29')][_0x15c9('0x48')]({'where':{'id':_0x216dba['params']['id']}})[_0x15c9('0x22')](handleEntityNotFound(_0x3cf68f,null))[_0x15c9('0x22')](removeEntity(_0x3cf68f,null))[_0x15c9('0x42')](handleError(_0x3cf68f,null));};exports[_0x15c9('0x4b')]=function(_0x412c25,_0x58411d,_0x34fe7e){var _0x56b5e7={};var _0x26f39b={};var _0x429fb7;var _0x154b81;return db[_0x15c9('0x29')][_0x15c9('0x4c')]({'where':{'id':_0x412c25['params']['id']}})['then'](handleEntityNotFound(_0x58411d,null))[_0x15c9('0x22')](function(_0x1724e5){if(_0x1724e5){_0x429fb7=_0x1724e5;_0x26f39b['model']=_[_0x15c9('0x45')](db['FreshsalesConfiguration']['rawAttributes']);_0x26f39b['query']=_[_0x15c9('0x45')](_0x412c25[_0x15c9('0x2f')]);_0x26f39b[_0x15c9('0x30')]=_[_0x15c9('0x31')](_0x26f39b['model'],_0x26f39b[_0x15c9('0x2f')]);_0x56b5e7[_0x15c9('0x32')]=_[_0x15c9('0x31')](_0x26f39b[_0x15c9('0x2d')],qs[_0x15c9('0x33')](_0x412c25[_0x15c9('0x2f')]['fields']));_0x56b5e7['attributes']=_0x56b5e7[_0x15c9('0x32')]['length']?_0x56b5e7[_0x15c9('0x32')]:_0x26f39b[_0x15c9('0x2d')];_0x56b5e7[_0x15c9('0x38')]=qs[_0x15c9('0x39')](_0x412c25['query'][_0x15c9('0x39')]);_0x56b5e7[_0x15c9('0x3d')]=qs[_0x15c9('0x30')](_['pick'](_0x412c25[_0x15c9('0x2f')],_0x26f39b[_0x15c9('0x30')]));if(_0x412c25[_0x15c9('0x2f')][_0x15c9('0x3b')]){_0x56b5e7[_0x15c9('0x3d')]=_[_0x15c9('0x3c')](_0x56b5e7[_0x15c9('0x3d')],{'$or':_[_0x15c9('0x28')](_0x56b5e7[_0x15c9('0x32')],function(_0x1e76cd){var _0x177a6a={};_0x177a6a[_0x1e76cd]={'$like':'%'+_0x412c25[_0x15c9('0x2f')][_0x15c9('0x3b')]+'%'};return _0x177a6a;})});}_0x56b5e7=_[_0x15c9('0x3c')]({},_0x56b5e7,_0x412c25[_0x15c9('0x47')]);return _0x429fb7[_0x15c9('0x4b')](_0x56b5e7);}})[_0x15c9('0x22')](function(_0x4e294d){if(_0x4e294d){_0x154b81=_0x4e294d[_0x15c9('0x34')];if(!_0x412c25['query'][_0x15c9('0x35')]('nolimit')){_0x56b5e7[_0x15c9('0x1b')]=qs[_0x15c9('0x1b')](_0x412c25[_0x15c9('0x2f')][_0x15c9('0x1b')]);_0x56b5e7['offset']=qs[_0x15c9('0x37')](_0x412c25['query'][_0x15c9('0x37')]);}return _0x429fb7[_0x15c9('0x4b')](_0x56b5e7);}})[_0x15c9('0x22')](function(_0x4e348e){if(_0x4e348e){return _0x4e348e?{'count':_0x154b81,'rows':_0x4e348e}:null;}})[_0x15c9('0x22')](respondWithResult(_0x58411d,null))[_0x15c9('0x42')](handleError(_0x58411d,null));};exports[_0x15c9('0x4d')]=function(_0x440037,_0x13e2b1,_0x7e4423){if(_0x440037[_0x15c9('0x4a')]['id']){delete _0x440037[_0x15c9('0x4a')]['id'];}return db[_0x15c9('0x29')][_0x15c9('0x4c')]({'where':{'id':_0x440037[_0x15c9('0x44')]['id']}})['then'](handleEntityNotFound(_0x13e2b1,null))[_0x15c9('0x22')](function(_0x26ff45){if(_0x26ff45){_0x440037['body'][_0x15c9('0x4e')]=_0x26ff45['id'];_0x440037[_0x15c9('0x4a')][_0x15c9('0x4f')]=integrations['getSubjects'](_0x440037[_0x15c9('0x4a')]['channel'],_0x440037[_0x15c9('0x4a')][_0x15c9('0x2b')]);_0x440037[_0x15c9('0x4a')][_0x15c9('0x50')]=integrations[_0x15c9('0x51')](_0x440037[_0x15c9('0x4a')]['channel'],_0x440037[_0x15c9('0x4a')][_0x15c9('0x2b')]);return db[_0x15c9('0x52')][_0x15c9('0x49')](_0x440037[_0x15c9('0x4a')],{'include':[{'model':db[_0x15c9('0x53')],'as':_0x15c9('0x4f')},{'model':db['FreshsalesField'],'as':_0x15c9('0x50')}]});}return null;})['then'](respondWithResult(_0x13e2b1,null))['catch'](handleError(_0x13e2b1,null));};exports[_0x15c9('0x54')]=function(_0x511d22,_0x52ce25,_0x3968a1){var _0x31b9c7='';var _0x50c8ba='';return db[_0x15c9('0x29')][_0x15c9('0x4c')]({'where':{'id':_0x511d22[_0x15c9('0x44')]['id']},'attributes':['id',_0x15c9('0x55'),_0x15c9('0x56'),_0x15c9('0x57')]})[_0x15c9('0x22')](handleEntityNotFound(_0x52ce25,null))[_0x15c9('0x22')](function(_0x189fb6){if(_0x189fb6){_0x50c8ba=_0x189fb6[_0x15c9('0x55')];_0x31b9c7=_0x189fb6[_0x15c9('0x56')];var _0x446859=_0x189fb6[_0x15c9('0x56')][_0x15c9('0x58')](-0x1);if(_0x446859==='/'){_0x31b9c7=_0x31b9c7['substring'](0x0,_0x31b9c7['lastIndexOf'](_0x446859));}return rp({'method':'GET','uri':util['format'](_0x15c9('0x59'),_0x31b9c7,_0x15c9('0x5a')),'headers':{'Authorization':_0x15c9('0x5b')+_0x189fb6[_0x15c9('0x57')]},'json':!![]});}})[_0x15c9('0x22')](function(_0x549152){if(_0x549152){var _0x151c8e=_0x549152['users'];var _0x5a62be=![];var _0x39d9ce=null;for(_0x39d9ce=0x0;_0x39d9ce<_0x151c8e[_0x15c9('0x34')];_0x39d9ce++){if(_0x151c8e[_0x39d9ce]['email']===_0x50c8ba){_0x5a62be=!![];}}if(_0x5a62be){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x15c9('0x22')](respondWithResult(_0x52ce25,null))[_0x15c9('0x42')](function(_0x1151b8){var _0x11136b=_0x511d22['query']['test']?0x1f4:_0x1151b8[_0x15c9('0x5c')]||0x1f4;logger['error'](_0x15c9('0x5d'),_0x15c9('0x54'),_0x11136b,JSON[_0x15c9('0x5e')](_0x1151b8));delete _0x1151b8[_0x15c9('0x2e')];if(_0x11136b===0x191){_0x11136b=0x190;}_0x52ce25['status'](_0x11136b)[_0x15c9('0x26')](_0x511d22[_0x15c9('0x2f')][_0x15c9('0x5f')]?{'message':_0x15c9('0x60'),'statusCode':_0x1151b8[_0x15c9('0x5c')]}:_0x1151b8);});};