Built motion from commit (unavailable).|2.5.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 _0xb469=['users','email','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','lodash','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','FreshsalesAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','code','error','message','catch','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','save','update','destroy','stack','send','index','map','FreshsalesAccount','type','key','model','name','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','count','findAll','rows','show','includeAll','include','find','create','body','params','getConfigurations','rawAttributes','length','addConfiguration','findOne','AccountId','Subjects','getSubjects','Descriptions','FreshsalesField','username','remoteUri','apiKey','GET','%s%s','/api/selector/owners','Token\x20token='];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0xb469,0x13b));var _0x9b46=function(_0x490808,_0x360f10){_0x490808=_0x490808-0x0;var _0x34d533=_0xb469[_0x490808];return _0x34d533;};'use strict';var pdf=require(_0x9b46('0x0'));var emlformat=require(_0x9b46('0x1'));var rimraf=require(_0x9b46('0x2'));var zipdir=require(_0x9b46('0x3'));var jsonpatch=require(_0x9b46('0x4'));var rp=require(_0x9b46('0x5'));var moment=require(_0x9b46('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x9b46('0x7'));var util=require(_0x9b46('0x8'));var path=require('path');var sox=require(_0x9b46('0x9'));var csv=require(_0x9b46('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9b46('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9b46('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x9b46('0xa'));var querystring=require(_0x9b46('0xd'));var Papa=require(_0x9b46('0xe'));var Redis=require('ioredis');var authService=require(_0x9b46('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x9b46('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9b46('0x11'))('api');var utils=require(_0x9b46('0x12'));var config=require(_0x9b46('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x9b46('0x14'))['db'];var integrations=require(_0x9b46('0x15'));var jayson=require('jayson/promise');var client=jayson[_0x9b46('0x16')][_0x9b46('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x3d9618,_0x467086,_0xa8f4ac,_0x35c5c1){return new BPromise(function(_0x2136bc,_0x2e70c3){var _0x3f2b28=_0x35c5c1||client;return _0x3f2b28[_0x9b46('0x18')](_0x3d9618,_0xa8f4ac)[_0x9b46('0x19')](function(_0x135cc2){logger[_0x9b46('0x1a')]('FreshsalesAccount,\x20%s,\x20%s',_0x467086,'request\x20sent');logger['debug'](_0x9b46('0x1b'),_0x467086,_0x9b46('0x1c'),JSON[_0x9b46('0x1d')](_0x135cc2));if(_0x135cc2['error']){if(_0x135cc2['error'][_0x9b46('0x1e')]===0x1f4){logger['error']('FreshsalesAccount,\x20%s,\x20%s',_0x467086,_0x135cc2[_0x9b46('0x1f')][_0x9b46('0x20')]);return _0x2e70c3(_0x135cc2['error'][_0x9b46('0x20')]);}logger[_0x9b46('0x1f')]('FreshsalesAccount,\x20%s,\x20%s',_0x467086,_0x135cc2['error'][_0x9b46('0x20')]);return _0x2136bc(_0x135cc2[_0x9b46('0x1f')][_0x9b46('0x20')]);}else{logger['info']('FreshsalesAccount,\x20%s,\x20%s',_0x467086,_0x9b46('0x1c'));_0x2136bc(_0x135cc2['result'][_0x9b46('0x20')]);}})[_0x9b46('0x21')](function(_0x561408){logger[_0x9b46('0x1f')]('FreshsalesAccount,\x20%s,\x20%s',_0x467086,_0x561408);_0x2e70c3(_0x561408);});});}function respondWithStatusCode(_0x141cb6,_0x2b6f72){_0x2b6f72=_0x2b6f72||0xcc;return function(_0x4d3b1b){if(_0x4d3b1b){return _0x141cb6[_0x9b46('0x22')](_0x2b6f72);}return _0x141cb6[_0x9b46('0x23')](_0x2b6f72)[_0x9b46('0x24')]();};}function respondWithResult(_0x319930,_0x33ea06){_0x33ea06=_0x33ea06||0xc8;return function(_0x3e4899){if(_0x3e4899){return _0x319930[_0x9b46('0x23')](_0x33ea06)['json'](_0x3e4899);}};}function respondWithFilteredResult(_0xdd756c,_0x3ac37e){return function(_0x478105){if(_0x478105){var _0x268821=_0x478105['count'],_0x2468be=_0x3ac37e[_0x9b46('0x25')],_0x2a79a5=_0x3ac37e[_0x9b46('0x25')]+_0x3ac37e[_0x9b46('0x26')],_0x125fd6;if(_0x2a79a5>=_0x268821){_0x2a79a5=_0x268821;_0x125fd6=0xc8;}else{_0x125fd6=0xce;}_0xdd756c[_0x9b46('0x23')](_0x125fd6);return _0xdd756c[_0x9b46('0x27')](_0x9b46('0x28'),_0x2468be+'-'+_0x2a79a5+'/'+_0x268821)[_0x9b46('0x29')](_0x478105);}return null;};}function patchUpdates(_0x17ba3d){return function(_0x163359){try{jsonpatch[_0x9b46('0x2a')](_0x163359,_0x17ba3d,!![]);}catch(_0x2e1c51){return BPromise['reject'](_0x2e1c51);}return _0x163359[_0x9b46('0x2b')]();};}function saveUpdates(_0x27f326,_0x807f2){return function(_0x1ce069){if(_0x1ce069){return _0x1ce069[_0x9b46('0x2c')](_0x27f326)[_0x9b46('0x19')](function(_0xbf8bc5){return _0xbf8bc5;});}return null;};}function removeEntity(_0x3cafc4,_0x3ab49a){return function(_0x451e47){if(_0x451e47){return _0x451e47[_0x9b46('0x2d')]()['then'](function(){_0x3cafc4[_0x9b46('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x380737,_0x3f3887){return function(_0x3fd0f7){if(!_0x3fd0f7){_0x380737['sendStatus'](0x194);}return _0x3fd0f7;};}function handleError(_0x413f75,_0x127a92){_0x127a92=_0x127a92||0x1f4;return function(_0x37de29){logger[_0x9b46('0x1f')](_0x37de29[_0x9b46('0x2e')]);if(_0x37de29['name']){delete _0x37de29['name'];}_0x413f75[_0x9b46('0x23')](_0x127a92)[_0x9b46('0x2f')](_0x37de29);};}exports[_0x9b46('0x30')]=function(_0x3d93d5,_0x4fa731){var _0x44327d={},_0x59873c={},_0x1ebfd1={'count':0x0,'rows':[]};var _0x105b21=_[_0x9b46('0x31')](db[_0x9b46('0x32')]['rawAttributes'],function(_0x1a96df){return{'name':_0x1a96df['fieldName'],'type':_0x1a96df[_0x9b46('0x33')][_0x9b46('0x34')]};});_0x59873c[_0x9b46('0x35')]=_[_0x9b46('0x31')](_0x105b21,_0x9b46('0x36'));_0x59873c[_0x9b46('0x37')]=_[_0x9b46('0x38')](_0x3d93d5[_0x9b46('0x37')]);_0x59873c[_0x9b46('0x39')]=_[_0x9b46('0x3a')](_0x59873c[_0x9b46('0x35')],_0x59873c['query']);_0x44327d[_0x9b46('0x3b')]=_['intersection'](_0x59873c[_0x9b46('0x35')],qs[_0x9b46('0x3c')](_0x3d93d5['query'][_0x9b46('0x3c')]));_0x44327d['attributes']=_0x44327d[_0x9b46('0x3b')]['length']?_0x44327d[_0x9b46('0x3b')]:_0x59873c[_0x9b46('0x35')];if(!_0x3d93d5[_0x9b46('0x37')][_0x9b46('0x3d')](_0x9b46('0x3e'))){_0x44327d['limit']=qs['limit'](_0x3d93d5[_0x9b46('0x37')]['limit']);_0x44327d['offset']=qs['offset'](_0x3d93d5['query'][_0x9b46('0x25')]);}_0x44327d['order']=qs[_0x9b46('0x3f')](_0x3d93d5['query'][_0x9b46('0x3f')]);_0x44327d[_0x9b46('0x40')]=qs[_0x9b46('0x39')](_[_0x9b46('0x41')](_0x3d93d5[_0x9b46('0x37')],_0x59873c[_0x9b46('0x39')]),_0x105b21);if(_0x3d93d5[_0x9b46('0x37')][_0x9b46('0x42')]){_0x44327d[_0x9b46('0x40')]=_['merge'](_0x44327d[_0x9b46('0x40')],{'$or':_[_0x9b46('0x31')](_0x105b21,function(_0x46cc6a){if(_0x46cc6a[_0x9b46('0x33')]!==_0x9b46('0x43')){var _0x2c12f5={};_0x2c12f5[_0x46cc6a[_0x9b46('0x36')]]={'$like':'%'+_0x3d93d5[_0x9b46('0x37')][_0x9b46('0x42')]+'%'};return _0x2c12f5;}})});}_0x44327d=_[_0x9b46('0x44')]({},_0x44327d,_0x3d93d5[_0x9b46('0x45')]);var _0x386587={'where':_0x44327d[_0x9b46('0x40')]};return db[_0x9b46('0x32')]['count'](_0x386587)['then'](function(_0xf81543){_0x1ebfd1[_0x9b46('0x46')]=_0xf81543;if(_0x3d93d5[_0x9b46('0x37')]['includeAll']){_0x44327d['include']=[{'all':!![]}];}return db[_0x9b46('0x32')][_0x9b46('0x47')](_0x44327d);})[_0x9b46('0x19')](function(_0x16091f){_0x1ebfd1[_0x9b46('0x48')]=_0x16091f;return _0x1ebfd1;})[_0x9b46('0x19')](respondWithFilteredResult(_0x4fa731,_0x44327d))['catch'](handleError(_0x4fa731,null));};exports[_0x9b46('0x49')]=function(_0x32e34d,_0x11b732){var _0x47a938={'raw':![],'where':{'id':_0x32e34d['params']['id']}},_0x3f143a={};_0x3f143a[_0x9b46('0x35')]=_[_0x9b46('0x38')](db[_0x9b46('0x32')]['rawAttributes']);_0x3f143a[_0x9b46('0x37')]=_[_0x9b46('0x38')](_0x32e34d[_0x9b46('0x37')]);_0x3f143a[_0x9b46('0x39')]=_[_0x9b46('0x3a')](_0x3f143a[_0x9b46('0x35')],_0x3f143a['query']);_0x47a938[_0x9b46('0x3b')]=_[_0x9b46('0x3a')](_0x3f143a[_0x9b46('0x35')],qs[_0x9b46('0x3c')](_0x32e34d[_0x9b46('0x37')][_0x9b46('0x3c')]));_0x47a938['attributes']=_0x47a938[_0x9b46('0x3b')]['length']?_0x47a938[_0x9b46('0x3b')]:_0x3f143a[_0x9b46('0x35')];if(_0x32e34d[_0x9b46('0x37')][_0x9b46('0x4a')]){_0x47a938[_0x9b46('0x4b')]=[{'all':!![]}];}_0x47a938=_['merge']({},_0x47a938,_0x32e34d[_0x9b46('0x45')]);return db[_0x9b46('0x32')][_0x9b46('0x4c')](_0x47a938)[_0x9b46('0x19')](handleEntityNotFound(_0x11b732,null))[_0x9b46('0x19')](respondWithResult(_0x11b732,null))[_0x9b46('0x21')](handleError(_0x11b732,null));};exports[_0x9b46('0x4d')]=function(_0x1fd62e,_0x10b9d9){return db[_0x9b46('0x32')][_0x9b46('0x4d')](_0x1fd62e['body'],{})['then'](respondWithResult(_0x10b9d9,0xc9))['catch'](handleError(_0x10b9d9,null));};exports[_0x9b46('0x2c')]=function(_0x5cf1b0,_0x5e30c5){if(_0x5cf1b0['body']['id']){delete _0x5cf1b0[_0x9b46('0x4e')]['id'];}return db['FreshsalesAccount'][_0x9b46('0x4c')]({'where':{'id':_0x5cf1b0[_0x9b46('0x4f')]['id']}})[_0x9b46('0x19')](handleEntityNotFound(_0x5e30c5,null))[_0x9b46('0x19')](saveUpdates(_0x5cf1b0[_0x9b46('0x4e')],null))['then'](respondWithResult(_0x5e30c5,null))[_0x9b46('0x21')](handleError(_0x5e30c5,null));};exports[_0x9b46('0x2d')]=function(_0x2c77d2,_0x3cd595){return db[_0x9b46('0x32')]['find']({'where':{'id':_0x2c77d2['params']['id']}})[_0x9b46('0x19')](handleEntityNotFound(_0x3cd595,null))[_0x9b46('0x19')](removeEntity(_0x3cd595,null))[_0x9b46('0x21')](handleError(_0x3cd595,null));};exports[_0x9b46('0x50')]=function(_0x976f08,_0x164167,_0x1647da){var _0x367dc5={};var _0x4e7804={};var _0x26b4bb;var _0x149837;return db[_0x9b46('0x32')]['findOne']({'where':{'id':_0x976f08[_0x9b46('0x4f')]['id']}})[_0x9b46('0x19')](handleEntityNotFound(_0x164167,null))[_0x9b46('0x19')](function(_0x12d825){if(_0x12d825){_0x26b4bb=_0x12d825;_0x4e7804[_0x9b46('0x35')]=_[_0x9b46('0x38')](db['FreshsalesConfiguration'][_0x9b46('0x51')]);_0x4e7804[_0x9b46('0x37')]=_[_0x9b46('0x38')](_0x976f08[_0x9b46('0x37')]);_0x4e7804[_0x9b46('0x39')]=_[_0x9b46('0x3a')](_0x4e7804['model'],_0x4e7804[_0x9b46('0x37')]);_0x367dc5['attributes']=_[_0x9b46('0x3a')](_0x4e7804['model'],qs[_0x9b46('0x3c')](_0x976f08[_0x9b46('0x37')]['fields']));_0x367dc5[_0x9b46('0x3b')]=_0x367dc5[_0x9b46('0x3b')][_0x9b46('0x52')]?_0x367dc5[_0x9b46('0x3b')]:_0x4e7804[_0x9b46('0x35')];_0x367dc5['order']=qs[_0x9b46('0x3f')](_0x976f08[_0x9b46('0x37')]['sort']);_0x367dc5['where']=qs[_0x9b46('0x39')](_[_0x9b46('0x41')](_0x976f08[_0x9b46('0x37')],_0x4e7804[_0x9b46('0x39')]));if(_0x976f08[_0x9b46('0x37')][_0x9b46('0x42')]){_0x367dc5[_0x9b46('0x40')]=_[_0x9b46('0x44')](_0x367dc5['where'],{'$or':_['map'](_0x367dc5[_0x9b46('0x3b')],function(_0x3485ad){var _0x56bb27={};_0x56bb27[_0x3485ad]={'$like':'%'+_0x976f08[_0x9b46('0x37')]['filter']+'%'};return _0x56bb27;})});}_0x367dc5=_[_0x9b46('0x44')]({},_0x367dc5,_0x976f08['options']);return _0x26b4bb[_0x9b46('0x50')](_0x367dc5);}})[_0x9b46('0x19')](function(_0x23d5ff){if(_0x23d5ff){_0x149837=_0x23d5ff['length'];if(!_0x976f08[_0x9b46('0x37')][_0x9b46('0x3d')](_0x9b46('0x3e'))){_0x367dc5['limit']=qs[_0x9b46('0x26')](_0x976f08[_0x9b46('0x37')][_0x9b46('0x26')]);_0x367dc5[_0x9b46('0x25')]=qs[_0x9b46('0x25')](_0x976f08['query']['offset']);}return _0x26b4bb['getConfigurations'](_0x367dc5);}})['then'](function(_0x56345d){if(_0x56345d){return _0x56345d?{'count':_0x149837,'rows':_0x56345d}:null;}})[_0x9b46('0x19')](respondWithResult(_0x164167,null))[_0x9b46('0x21')](handleError(_0x164167,null));};exports[_0x9b46('0x53')]=function(_0x378c2f,_0x368cd2,_0x471ebf){if(_0x378c2f[_0x9b46('0x4e')]['id']){delete _0x378c2f[_0x9b46('0x4e')]['id'];}return db['FreshsalesAccount'][_0x9b46('0x54')]({'where':{'id':_0x378c2f[_0x9b46('0x4f')]['id']}})['then'](handleEntityNotFound(_0x368cd2,null))[_0x9b46('0x19')](function(_0x4ea405){if(_0x4ea405){_0x378c2f[_0x9b46('0x4e')][_0x9b46('0x55')]=_0x4ea405['id'];_0x378c2f[_0x9b46('0x4e')][_0x9b46('0x56')]=integrations[_0x9b46('0x57')](_0x378c2f['body']['channel'],_0x378c2f[_0x9b46('0x4e')]['type']);_0x378c2f[_0x9b46('0x4e')][_0x9b46('0x58')]=integrations['getDescriptions'](_0x378c2f['body']['channel'],_0x378c2f[_0x9b46('0x4e')]['type']);return db['FreshsalesConfiguration'][_0x9b46('0x4d')](_0x378c2f[_0x9b46('0x4e')],{'include':[{'model':db[_0x9b46('0x59')],'as':_0x9b46('0x56')},{'model':db['FreshsalesField'],'as':_0x9b46('0x58')}]});}return null;})[_0x9b46('0x19')](respondWithResult(_0x368cd2,null))[_0x9b46('0x21')](handleError(_0x368cd2,null));};exports['getFields']=function(_0x49603f,_0x1b17e3,_0x21a395){var _0x4354e8='';var _0x4fa1ad='';return db[_0x9b46('0x32')][_0x9b46('0x54')]({'where':{'id':_0x49603f['params']['id']},'attributes':['id',_0x9b46('0x5a'),_0x9b46('0x5b'),_0x9b46('0x5c')]})[_0x9b46('0x19')](handleEntityNotFound(_0x1b17e3,null))['then'](function(_0x5d9da7){if(_0x5d9da7){_0x4fa1ad=_0x5d9da7[_0x9b46('0x5a')];_0x4354e8=_0x5d9da7['remoteUri'];var _0x13688b=_0x5d9da7[_0x9b46('0x5b')]['slice'](-0x1);if(_0x13688b==='/'){_0x4354e8=_0x4354e8['substring'](0x0,_0x4354e8['lastIndexOf'](_0x13688b));}return rp({'method':_0x9b46('0x5d'),'uri':util['format'](_0x9b46('0x5e'),_0x4354e8,_0x9b46('0x5f')),'headers':{'Authorization':_0x9b46('0x60')+_0x5d9da7[_0x9b46('0x5c')]},'json':!![]});}})['then'](function(_0x2cabc6){if(_0x2cabc6){var _0x217439=_0x2cabc6[_0x9b46('0x61')];var _0x195cf0=![];var _0x1fc17e=null;for(_0x1fc17e=0x0;_0x1fc17e<_0x217439['length'];_0x1fc17e++){if(_0x217439[_0x1fc17e][_0x9b46('0x62')]===_0x4fa1ad){_0x195cf0=!![];}}if(_0x195cf0){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x9b46('0x19')](respondWithResult(_0x1b17e3,null))[_0x9b46('0x21')](function(_0x514124){var _0x1652aa=_0x49603f[_0x9b46('0x37')][_0x9b46('0x63')]?0x1f4:_0x514124[_0x9b46('0x64')]||0x1f4;logger['error'](_0x9b46('0x65'),'getFields',_0x1652aa,JSON[_0x9b46('0x1d')](_0x514124));delete _0x514124[_0x9b46('0x36')];if(_0x1652aa===0x191){_0x1652aa=0x190;}_0x1b17e3[_0x9b46('0x23')](_0x1652aa)['send'](_0x49603f[_0x9b46('0x37')][_0x9b46('0x63')]?{'message':_0x9b46('0x66'),'statusCode':_0x514124[_0x9b46('0x64')]}:_0x514124);});};