Built motion from commit 26159a51.|2.5.44
[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 _0xac9f=['getFields','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','end','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','sendStatus','stack','name','send','map','FreshsalesAccount','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','VIRTUAL','merge','options','include','findAll','rows','show','params','rawAttributes','includeAll','find','catch','create','body','getConfigurations','where','nolimit','findOne','Subjects','getSubjects','channel','Descriptions','getDescriptions','FreshsalesConfiguration','remoteUri','slice','substring','lastIndexOf','GET','Token\x20token=','apiKey','users','email','test','error','getFields,\x20%s,\x20%s,\x20%s'];(function(_0x1900bd,_0x48a6b6){var _0x5c162e=function(_0x17240c){while(--_0x17240c){_0x1900bd['push'](_0x1900bd['shift']());}};_0x5c162e(++_0x48a6b6);}(_0xac9f,0xc4));var _0xfac9=function(_0x4be155,_0x909814){_0x4be155=_0x4be155-0x0;var _0x4ad8c2=_0xac9f[_0x4be155];return _0x4ad8c2;};'use strict';var emlformat=require(_0xfac9('0x0'));var rimraf=require(_0xfac9('0x1'));var zipdir=require(_0xfac9('0x2'));var jsonpatch=require(_0xfac9('0x3'));var rp=require(_0xfac9('0x4'));var moment=require(_0xfac9('0x5'));var BPromise=require(_0xfac9('0x6'));var Mustache=require('mustache');var util=require(_0xfac9('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xfac9('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfac9('0x9'));var squel=require(_0xfac9('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xfac9('0xb'));var toCsv=require('to-csv');var querystring=require(_0xfac9('0xc'));var Papa=require('papaparse');var Redis=require(_0xfac9('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xfac9('0xe'));var as=require(_0xfac9('0xf'));var hardwareService=require(_0xfac9('0x10'));var logger=require('../../config/logger')(_0xfac9('0x11'));var utils=require(_0xfac9('0x12'));var config=require(_0xfac9('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xfac9('0x14'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x5a0589,_0x2d7212){_0x2d7212=_0x2d7212||0xcc;return function(_0x37a828){if(_0x37a828){return _0x5a0589['sendStatus'](_0x2d7212);}return _0x5a0589['status'](_0x2d7212)[_0xfac9('0x15')]();};}function respondWithResult(_0x509843,_0x15d586){_0x15d586=_0x15d586||0xc8;return function(_0x40e3f4){if(_0x40e3f4){return _0x509843[_0xfac9('0x16')](_0x15d586)[_0xfac9('0x17')](_0x40e3f4);}};}function respondWithFilteredResult(_0x317681,_0x195927){return function(_0x5be756){if(_0x5be756){var _0x27f7b7=typeof _0x195927['offset']===_0xfac9('0x18')&&typeof _0x195927[_0xfac9('0x19')]==='undefined';var _0x5e9394=_0x5be756[_0xfac9('0x1a')];var _0x4803dc=_0x27f7b7?0x0:_0x195927[_0xfac9('0x1b')];var _0x3062c4=_0x27f7b7?_0x5be756[_0xfac9('0x1a')]:_0x195927['offset']+_0x195927[_0xfac9('0x19')];var _0x368a5e;if(_0x3062c4>=_0x5e9394){_0x3062c4=_0x5e9394;_0x368a5e=0xc8;}else{_0x368a5e=0xce;}_0x317681[_0xfac9('0x16')](_0x368a5e);return _0x317681[_0xfac9('0x1c')](_0xfac9('0x1d'),_0x4803dc+'-'+_0x3062c4+'/'+_0x5e9394)[_0xfac9('0x17')](_0x5be756);}return null;};}function patchUpdates(_0x2967e0){return function(_0x371d1d){try{jsonpatch[_0xfac9('0x1e')](_0x371d1d,_0x2967e0,!![]);}catch(_0x453de1){return BPromise[_0xfac9('0x1f')](_0x453de1);}return _0x371d1d['save']();};}function saveUpdates(_0x141a2e,_0x217ee1){return function(_0x39fc60){if(_0x39fc60){return _0x39fc60[_0xfac9('0x20')](_0x141a2e)[_0xfac9('0x21')](function(_0x40a892){return _0x40a892;});}return null;};}function removeEntity(_0xdf2bca,_0x5a77e1){return function(_0x17ecf7){if(_0x17ecf7){return _0x17ecf7[_0xfac9('0x22')]()[_0xfac9('0x21')](function(){_0xdf2bca[_0xfac9('0x16')](0xcc)[_0xfac9('0x15')]();});}};}function handleEntityNotFound(_0x3f89b4,_0x51f7e2){return function(_0x5c212a){if(!_0x5c212a){_0x3f89b4[_0xfac9('0x23')](0x194);}return _0x5c212a;};}function handleError(_0x3892dc,_0x3be94e){_0x3be94e=_0x3be94e||0x1f4;return function(_0x47007d){logger['error'](_0x47007d[_0xfac9('0x24')]);if(_0x47007d[_0xfac9('0x25')]){delete _0x47007d[_0xfac9('0x25')];}_0x3892dc['status'](_0x3be94e)[_0xfac9('0x26')](_0x47007d);};}exports['index']=function(_0x4fe104,_0x272029){var _0x4289bb={},_0x5d478c={},_0x485355={'count':0x0,'rows':[]};var _0x932eaf=_[_0xfac9('0x27')](db[_0xfac9('0x28')]['rawAttributes'],function(_0x5e58db){return{'name':_0x5e58db['fieldName'],'type':_0x5e58db[_0xfac9('0x29')][_0xfac9('0x2a')]};});_0x5d478c[_0xfac9('0x2b')]=_[_0xfac9('0x27')](_0x932eaf,_0xfac9('0x25'));_0x5d478c[_0xfac9('0x2c')]=_[_0xfac9('0x2d')](_0x4fe104[_0xfac9('0x2c')]);_0x5d478c[_0xfac9('0x2e')]=_[_0xfac9('0x2f')](_0x5d478c[_0xfac9('0x2b')],_0x5d478c[_0xfac9('0x2c')]);_0x4289bb[_0xfac9('0x30')]=_[_0xfac9('0x2f')](_0x5d478c[_0xfac9('0x2b')],qs[_0xfac9('0x31')](_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x31')]));_0x4289bb[_0xfac9('0x30')]=_0x4289bb[_0xfac9('0x30')][_0xfac9('0x32')]?_0x4289bb['attributes']:_0x5d478c['model'];if(!_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x33')]('nolimit')){_0x4289bb[_0xfac9('0x19')]=qs[_0xfac9('0x19')](_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x19')]);_0x4289bb[_0xfac9('0x1b')]=qs[_0xfac9('0x1b')](_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x1b')]);}_0x4289bb[_0xfac9('0x34')]=qs[_0xfac9('0x35')](_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x35')]);_0x4289bb['where']=qs['filters'](_[_0xfac9('0x36')](_0x4fe104[_0xfac9('0x2c')],_0x5d478c[_0xfac9('0x2e')]),_0x932eaf);if(_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x37')]){_0x4289bb['where']=_['merge'](_0x4289bb['where'],{'$or':_[_0xfac9('0x27')](_0x932eaf,function(_0x13d825){if(_0x13d825[_0xfac9('0x29')]!==_0xfac9('0x38')){var _0x468dab={};_0x468dab[_0x13d825[_0xfac9('0x25')]]={'$like':'%'+_0x4fe104[_0xfac9('0x2c')][_0xfac9('0x37')]+'%'};return _0x468dab;}})});}_0x4289bb=_[_0xfac9('0x39')]({},_0x4289bb,_0x4fe104[_0xfac9('0x3a')]);var _0x42f386={'where':_0x4289bb['where']};return db[_0xfac9('0x28')]['count'](_0x42f386)[_0xfac9('0x21')](function(_0x361ede){_0x485355[_0xfac9('0x1a')]=_0x361ede;if(_0x4fe104[_0xfac9('0x2c')]['includeAll']){_0x4289bb[_0xfac9('0x3b')]=[{'all':!![]}];}return db[_0xfac9('0x28')][_0xfac9('0x3c')](_0x4289bb);})[_0xfac9('0x21')](function(_0xc02324){_0x485355[_0xfac9('0x3d')]=_0xc02324;return _0x485355;})[_0xfac9('0x21')](respondWithFilteredResult(_0x272029,_0x4289bb))['catch'](handleError(_0x272029,null));};exports[_0xfac9('0x3e')]=function(_0x2b3474,_0x49c736){var _0x19d085={'raw':![],'where':{'id':_0x2b3474[_0xfac9('0x3f')]['id']}},_0x15d6e8={};_0x15d6e8[_0xfac9('0x2b')]=_[_0xfac9('0x2d')](db['FreshsalesAccount'][_0xfac9('0x40')]);_0x15d6e8[_0xfac9('0x2c')]=_[_0xfac9('0x2d')](_0x2b3474[_0xfac9('0x2c')]);_0x15d6e8['filters']=_['intersection'](_0x15d6e8[_0xfac9('0x2b')],_0x15d6e8[_0xfac9('0x2c')]);_0x19d085[_0xfac9('0x30')]=_[_0xfac9('0x2f')](_0x15d6e8[_0xfac9('0x2b')],qs[_0xfac9('0x31')](_0x2b3474[_0xfac9('0x2c')]['fields']));_0x19d085[_0xfac9('0x30')]=_0x19d085['attributes']['length']?_0x19d085[_0xfac9('0x30')]:_0x15d6e8[_0xfac9('0x2b')];if(_0x2b3474[_0xfac9('0x2c')][_0xfac9('0x41')]){_0x19d085[_0xfac9('0x3b')]=[{'all':!![]}];}_0x19d085=_[_0xfac9('0x39')]({},_0x19d085,_0x2b3474[_0xfac9('0x3a')]);return db[_0xfac9('0x28')][_0xfac9('0x42')](_0x19d085)['then'](handleEntityNotFound(_0x49c736,null))['then'](respondWithResult(_0x49c736,null))[_0xfac9('0x43')](handleError(_0x49c736,null));};exports[_0xfac9('0x44')]=function(_0x4fb12f,_0xdb7414){return db[_0xfac9('0x28')][_0xfac9('0x44')](_0x4fb12f['body'],{})[_0xfac9('0x21')](respondWithResult(_0xdb7414,0xc9))[_0xfac9('0x43')](handleError(_0xdb7414,null));};exports[_0xfac9('0x20')]=function(_0x16d27a,_0x127f93){if(_0x16d27a[_0xfac9('0x45')]['id']){delete _0x16d27a[_0xfac9('0x45')]['id'];}return db[_0xfac9('0x28')][_0xfac9('0x42')]({'where':{'id':_0x16d27a['params']['id']}})[_0xfac9('0x21')](handleEntityNotFound(_0x127f93,null))[_0xfac9('0x21')](saveUpdates(_0x16d27a[_0xfac9('0x45')],null))[_0xfac9('0x21')](respondWithResult(_0x127f93,null))[_0xfac9('0x43')](handleError(_0x127f93,null));};exports[_0xfac9('0x22')]=function(_0x2773fe,_0x36804e){return db[_0xfac9('0x28')][_0xfac9('0x42')]({'where':{'id':_0x2773fe[_0xfac9('0x3f')]['id']}})[_0xfac9('0x21')](handleEntityNotFound(_0x36804e,null))['then'](removeEntity(_0x36804e,null))[_0xfac9('0x43')](handleError(_0x36804e,null));};exports[_0xfac9('0x46')]=function(_0x67e9e5,_0xf383c0,_0x3774e3){var _0x4cf0e1={};var _0x2dab5a={};var _0x5dee35;var _0x219cfb;return db[_0xfac9('0x28')]['findOne']({'where':{'id':_0x67e9e5[_0xfac9('0x3f')]['id']}})[_0xfac9('0x21')](handleEntityNotFound(_0xf383c0,null))[_0xfac9('0x21')](function(_0x72f168){if(_0x72f168){_0x5dee35=_0x72f168;_0x2dab5a[_0xfac9('0x2b')]=_[_0xfac9('0x2d')](db['FreshsalesConfiguration'][_0xfac9('0x40')]);_0x2dab5a[_0xfac9('0x2c')]=_[_0xfac9('0x2d')](_0x67e9e5[_0xfac9('0x2c')]);_0x2dab5a[_0xfac9('0x2e')]=_['intersection'](_0x2dab5a['model'],_0x2dab5a[_0xfac9('0x2c')]);_0x4cf0e1[_0xfac9('0x30')]=_[_0xfac9('0x2f')](_0x2dab5a[_0xfac9('0x2b')],qs['fields'](_0x67e9e5['query']['fields']));_0x4cf0e1[_0xfac9('0x30')]=_0x4cf0e1[_0xfac9('0x30')][_0xfac9('0x32')]?_0x4cf0e1['attributes']:_0x2dab5a['model'];_0x4cf0e1[_0xfac9('0x34')]=qs[_0xfac9('0x35')](_0x67e9e5[_0xfac9('0x2c')][_0xfac9('0x35')]);_0x4cf0e1[_0xfac9('0x47')]=qs['filters'](_[_0xfac9('0x36')](_0x67e9e5[_0xfac9('0x2c')],_0x2dab5a['filters']));if(_0x67e9e5[_0xfac9('0x2c')][_0xfac9('0x37')]){_0x4cf0e1[_0xfac9('0x47')]=_[_0xfac9('0x39')](_0x4cf0e1[_0xfac9('0x47')],{'$or':_['map'](_0x4cf0e1[_0xfac9('0x30')],function(_0xe87973){var _0x45dc4b={};_0x45dc4b[_0xe87973]={'$like':'%'+_0x67e9e5[_0xfac9('0x2c')][_0xfac9('0x37')]+'%'};return _0x45dc4b;})});}_0x4cf0e1=_[_0xfac9('0x39')]({},_0x4cf0e1,_0x67e9e5[_0xfac9('0x3a')]);return _0x5dee35[_0xfac9('0x46')](_0x4cf0e1);}})[_0xfac9('0x21')](function(_0xa169c0){if(_0xa169c0){_0x219cfb=_0xa169c0['length'];if(!_0x67e9e5[_0xfac9('0x2c')][_0xfac9('0x33')](_0xfac9('0x48'))){_0x4cf0e1[_0xfac9('0x19')]=qs['limit'](_0x67e9e5['query'][_0xfac9('0x19')]);_0x4cf0e1[_0xfac9('0x1b')]=qs['offset'](_0x67e9e5[_0xfac9('0x2c')][_0xfac9('0x1b')]);}return _0x5dee35['getConfigurations'](_0x4cf0e1);}})['then'](function(_0x3e63bb){if(_0x3e63bb){return _0x3e63bb?{'count':_0x219cfb,'rows':_0x3e63bb}:null;}})[_0xfac9('0x21')](respondWithResult(_0xf383c0,null))[_0xfac9('0x43')](handleError(_0xf383c0,null));};exports['addConfiguration']=function(_0x365e87,_0x5319d5,_0x43c988){if(_0x365e87[_0xfac9('0x45')]['id']){delete _0x365e87[_0xfac9('0x45')]['id'];}return db[_0xfac9('0x28')][_0xfac9('0x49')]({'where':{'id':_0x365e87[_0xfac9('0x3f')]['id']}})['then'](handleEntityNotFound(_0x5319d5,null))['then'](function(_0x22582e){if(_0x22582e){_0x365e87[_0xfac9('0x45')]['AccountId']=_0x22582e['id'];_0x365e87['body'][_0xfac9('0x4a')]=integrations[_0xfac9('0x4b')](_0x365e87['body'][_0xfac9('0x4c')],_0x365e87[_0xfac9('0x45')][_0xfac9('0x29')]);_0x365e87[_0xfac9('0x45')][_0xfac9('0x4d')]=integrations[_0xfac9('0x4e')](_0x365e87[_0xfac9('0x45')][_0xfac9('0x4c')],_0x365e87[_0xfac9('0x45')][_0xfac9('0x29')]);return db[_0xfac9('0x4f')]['create'](_0x365e87[_0xfac9('0x45')],{'include':[{'model':db['FreshsalesField'],'as':'Subjects'},{'model':db['FreshsalesField'],'as':_0xfac9('0x4d')}]});}return null;})[_0xfac9('0x21')](respondWithResult(_0x5319d5,null))[_0xfac9('0x43')](handleError(_0x5319d5,null));};exports['getFields']=function(_0x1b7358,_0x45c554,_0x1305f0){var _0x533d9a='';var _0x46953d='';return db[_0xfac9('0x28')][_0xfac9('0x49')]({'where':{'id':_0x1b7358['params']['id']},'attributes':['id','username','remoteUri','apiKey']})[_0xfac9('0x21')](handleEntityNotFound(_0x45c554,null))[_0xfac9('0x21')](function(_0x4f6b0d){if(_0x4f6b0d){_0x46953d=_0x4f6b0d['username'];_0x533d9a=_0x4f6b0d[_0xfac9('0x50')];var _0x573fc9=_0x4f6b0d[_0xfac9('0x50')][_0xfac9('0x51')](-0x1);if(_0x573fc9==='/'){_0x533d9a=_0x533d9a[_0xfac9('0x52')](0x0,_0x533d9a[_0xfac9('0x53')](_0x573fc9));}return rp({'method':_0xfac9('0x54'),'uri':util['format']('%s%s',_0x533d9a,'/api/selector/owners'),'headers':{'Authorization':_0xfac9('0x55')+_0x4f6b0d[_0xfac9('0x56')]},'json':!![]});}})[_0xfac9('0x21')](function(_0x1dcb58){if(_0x1dcb58){var _0x2fce52=_0x1dcb58[_0xfac9('0x57')];var _0x49dd8c=![];var _0x455a76=null;for(_0x455a76=0x0;_0x455a76<_0x2fce52[_0xfac9('0x32')];_0x455a76++){if(_0x2fce52[_0x455a76][_0xfac9('0x58')]===_0x46953d){_0x49dd8c=!![];}}if(_0x49dd8c){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})['then'](respondWithResult(_0x45c554,null))[_0xfac9('0x43')](function(_0x51fef0){var _0x3fec91=_0x1b7358[_0xfac9('0x2c')][_0xfac9('0x59')]?0x1f4:_0x51fef0['statusCode']||0x1f4;logger[_0xfac9('0x5a')](_0xfac9('0x5b'),_0xfac9('0x5c'),_0x3fec91,JSON[_0xfac9('0x5d')](_0x51fef0));delete _0x51fef0['name'];if(_0x3fec91===0x191){_0x3fec91=0x190;}_0x45c554[_0xfac9('0x16')](_0x3fec91)[_0xfac9('0x26')](_0x1b7358[_0xfac9('0x2c')][_0xfac9('0x59')]?{'message':_0xfac9('0x5e'),'statusCode':_0x51fef0[_0xfac9('0x5f')]}:_0x51fef0);});};