afb4e480f1a80ceb8c51e9c2e633c89b13ed0e04
[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 _0x4522=['../../mysqldb','../../components/integrations/configuration','jayson/promise','then','info','FreshsalesAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','code','error','message','catch','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','update','destroy','name','send','index','map','FreshsalesAccount','rawAttributes','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','count','include','findAll','rows','show','includeAll','options','find','create','body','params','getConfigurations','findOne','FreshsalesConfiguration','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','type','getDescriptions','FreshsalesField','Descriptions','username','remoteUri','apiKey','slice','substring','GET','format','%s%s','users','email','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','test','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x572df6,_0x316656){var _0x465da1=function(_0x4b7318){while(--_0x4b7318){_0x572df6['push'](_0x572df6['shift']());}};_0x465da1(++_0x316656);}(_0x4522,0x1a0));var _0x2452=function(_0x7cbabb,_0x31a70d){_0x7cbabb=_0x7cbabb-0x0;var _0x54f8d8=_0x4522[_0x7cbabb];return _0x54f8d8;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x2452('0x0'));var zipdir=require(_0x2452('0x1'));var jsonpatch=require(_0x2452('0x2'));var rp=require('request-promise');var moment=require(_0x2452('0x3'));var BPromise=require(_0x2452('0x4'));var Mustache=require(_0x2452('0x5'));var util=require(_0x2452('0x6'));var path=require(_0x2452('0x7'));var sox=require(_0x2452('0x8'));var csv=require(_0x2452('0x9'));var ejs=require(_0x2452('0xa'));var fs=require('fs');var _=require(_0x2452('0xb'));var squel=require(_0x2452('0xc'));var crypto=require(_0x2452('0xd'));var jsforce=require(_0x2452('0xe'));var deskjs=require(_0x2452('0xf'));var toCsv=require(_0x2452('0x9'));var querystring=require(_0x2452('0x10'));var Papa=require(_0x2452('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2452('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x2452('0x13'))(_0x2452('0x14'));var utils=require(_0x2452('0x15'));var config=require(_0x2452('0x16'));var licenseUtil=require(_0x2452('0x17'));var db=require(_0x2452('0x18'))['db'];var integrations=require(_0x2452('0x19'));var jayson=require(_0x2452('0x1a'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x5315ed,_0x463960,_0x4fafa0,_0x33e592){return new BPromise(function(_0x506cd4,_0x209a43){var _0x42efdf=_0x33e592||client;return _0x42efdf['request'](_0x5315ed,_0x4fafa0)[_0x2452('0x1b')](function(_0x47930c){logger[_0x2452('0x1c')](_0x2452('0x1d'),_0x463960,_0x2452('0x1e'));logger[_0x2452('0x1f')]('FreshsalesAccount,\x20%s,\x20%s,\x20%s',_0x463960,_0x2452('0x1e'),JSON[_0x2452('0x20')](_0x47930c));if(_0x47930c['error']){if(_0x47930c['error'][_0x2452('0x21')]===0x1f4){logger[_0x2452('0x22')](_0x2452('0x1d'),_0x463960,_0x47930c['error'][_0x2452('0x23')]);return _0x209a43(_0x47930c[_0x2452('0x22')][_0x2452('0x23')]);}logger[_0x2452('0x22')](_0x2452('0x1d'),_0x463960,_0x47930c[_0x2452('0x22')][_0x2452('0x23')]);return _0x506cd4(_0x47930c[_0x2452('0x22')]['message']);}else{logger['info'](_0x2452('0x1d'),_0x463960,_0x2452('0x1e'));_0x506cd4(_0x47930c['result'][_0x2452('0x23')]);}})[_0x2452('0x24')](function(_0x1d5720){logger[_0x2452('0x22')](_0x2452('0x1d'),_0x463960,_0x1d5720);_0x209a43(_0x1d5720);});});}function respondWithStatusCode(_0x397f21,_0x155caa){_0x155caa=_0x155caa||0xcc;return function(_0x543b06){if(_0x543b06){return _0x397f21[_0x2452('0x25')](_0x155caa);}return _0x397f21[_0x2452('0x26')](_0x155caa)[_0x2452('0x27')]();};}function respondWithResult(_0x231410,_0x3a4326){_0x3a4326=_0x3a4326||0xc8;return function(_0x516fcf){if(_0x516fcf){return _0x231410['status'](_0x3a4326)[_0x2452('0x28')](_0x516fcf);}};}function respondWithFilteredResult(_0x159ba1,_0x46fcbb){return function(_0x3a183c){if(_0x3a183c){var _0x1aac19=_0x3a183c['count'],_0x48b313=_0x46fcbb['offset'],_0x3fba00=_0x46fcbb[_0x2452('0x29')]+_0x46fcbb[_0x2452('0x2a')],_0x118db1;if(_0x3fba00>=_0x1aac19){_0x3fba00=_0x1aac19;_0x118db1=0xc8;}else{_0x118db1=0xce;}_0x159ba1[_0x2452('0x26')](_0x118db1);return _0x159ba1[_0x2452('0x2b')](_0x2452('0x2c'),_0x48b313+'-'+_0x3fba00+'/'+_0x1aac19)[_0x2452('0x28')](_0x3a183c);}return null;};}function patchUpdates(_0x504162){return function(_0x5da9aa){try{jsonpatch[_0x2452('0x2d')](_0x5da9aa,_0x504162,!![]);}catch(_0x454e0a){return BPromise[_0x2452('0x2e')](_0x454e0a);}return _0x5da9aa['save']();};}function saveUpdates(_0x2fb2ae,_0x586a20){return function(_0x4efbff){if(_0x4efbff){return _0x4efbff[_0x2452('0x2f')](_0x2fb2ae)[_0x2452('0x1b')](function(_0x37b5e6){return _0x37b5e6;});}return null;};}function removeEntity(_0xe97b1c,_0x334aba){return function(_0x320310){if(_0x320310){return _0x320310[_0x2452('0x30')]()[_0x2452('0x1b')](function(){_0xe97b1c[_0x2452('0x26')](0xcc)[_0x2452('0x27')]();});}};}function handleEntityNotFound(_0x304ab7,_0x16c54a){return function(_0x26e841){if(!_0x26e841){_0x304ab7['sendStatus'](0x194);}return _0x26e841;};}function handleError(_0x135edd,_0x1689cd){_0x1689cd=_0x1689cd||0x1f4;return function(_0x4cd7e2){logger[_0x2452('0x22')](_0x4cd7e2['stack']);if(_0x4cd7e2[_0x2452('0x31')]){delete _0x4cd7e2[_0x2452('0x31')];}_0x135edd['status'](_0x1689cd)[_0x2452('0x32')](_0x4cd7e2);};}exports[_0x2452('0x33')]=function(_0x205c9d,_0x5ce5fb){var _0x20a4b4={},_0x4565c7={},_0x4ba2ae={'count':0x0,'rows':[]};var _0xa09d27=_[_0x2452('0x34')](db[_0x2452('0x35')][_0x2452('0x36')],function(_0x261bd8){return{'name':_0x261bd8['fieldName'],'type':_0x261bd8['type']['key']};});_0x4565c7[_0x2452('0x37')]=_[_0x2452('0x34')](_0xa09d27,_0x2452('0x31'));_0x4565c7[_0x2452('0x38')]=_[_0x2452('0x39')](_0x205c9d['query']);_0x4565c7[_0x2452('0x3a')]=_['intersection'](_0x4565c7['model'],_0x4565c7[_0x2452('0x38')]);_0x20a4b4['attributes']=_[_0x2452('0x3b')](_0x4565c7[_0x2452('0x37')],qs['fields'](_0x205c9d[_0x2452('0x38')][_0x2452('0x3c')]));_0x20a4b4[_0x2452('0x3d')]=_0x20a4b4[_0x2452('0x3d')][_0x2452('0x3e')]?_0x20a4b4[_0x2452('0x3d')]:_0x4565c7[_0x2452('0x37')];if(!_0x205c9d[_0x2452('0x38')]['hasOwnProperty'](_0x2452('0x3f'))){_0x20a4b4['limit']=qs[_0x2452('0x2a')](_0x205c9d[_0x2452('0x38')]['limit']);_0x20a4b4[_0x2452('0x29')]=qs[_0x2452('0x29')](_0x205c9d[_0x2452('0x38')][_0x2452('0x29')]);}_0x20a4b4[_0x2452('0x40')]=qs['sort'](_0x205c9d[_0x2452('0x38')][_0x2452('0x41')]);_0x20a4b4['where']=qs[_0x2452('0x3a')](_[_0x2452('0x42')](_0x205c9d[_0x2452('0x38')],_0x4565c7[_0x2452('0x3a')]),_0xa09d27);if(_0x205c9d['query'][_0x2452('0x43')]){_0x20a4b4[_0x2452('0x44')]=_[_0x2452('0x45')](_0x20a4b4[_0x2452('0x44')],{'$or':_[_0x2452('0x34')](_0xa09d27,function(_0x3cafde){if(_0x3cafde['type']!==_0x2452('0x46')){var _0x5e3364={};_0x5e3364[_0x3cafde[_0x2452('0x31')]]={'$like':'%'+_0x205c9d[_0x2452('0x38')]['filter']+'%'};return _0x5e3364;}})});}_0x20a4b4=_['merge']({},_0x20a4b4,_0x205c9d['options']);var _0x5014b8={'where':_0x20a4b4[_0x2452('0x44')]};return db['FreshsalesAccount'][_0x2452('0x47')](_0x5014b8)['then'](function(_0x1ef02b){_0x4ba2ae[_0x2452('0x47')]=_0x1ef02b;if(_0x205c9d['query']['includeAll']){_0x20a4b4[_0x2452('0x48')]=[{'all':!![]}];}return db['FreshsalesAccount'][_0x2452('0x49')](_0x20a4b4);})[_0x2452('0x1b')](function(_0x34b735){_0x4ba2ae[_0x2452('0x4a')]=_0x34b735;return _0x4ba2ae;})['then'](respondWithFilteredResult(_0x5ce5fb,_0x20a4b4))['catch'](handleError(_0x5ce5fb,null));};exports[_0x2452('0x4b')]=function(_0x38615e,_0x40a550){var _0x2d06f2={'raw':![],'where':{'id':_0x38615e['params']['id']}},_0x453373={};_0x453373[_0x2452('0x37')]=_['keys'](db[_0x2452('0x35')]['rawAttributes']);_0x453373[_0x2452('0x38')]=_[_0x2452('0x39')](_0x38615e['query']);_0x453373[_0x2452('0x3a')]=_['intersection'](_0x453373[_0x2452('0x37')],_0x453373['query']);_0x2d06f2['attributes']=_['intersection'](_0x453373[_0x2452('0x37')],qs[_0x2452('0x3c')](_0x38615e[_0x2452('0x38')]['fields']));_0x2d06f2[_0x2452('0x3d')]=_0x2d06f2[_0x2452('0x3d')][_0x2452('0x3e')]?_0x2d06f2[_0x2452('0x3d')]:_0x453373[_0x2452('0x37')];if(_0x38615e['query'][_0x2452('0x4c')]){_0x2d06f2['include']=[{'all':!![]}];}_0x2d06f2=_[_0x2452('0x45')]({},_0x2d06f2,_0x38615e[_0x2452('0x4d')]);return db[_0x2452('0x35')][_0x2452('0x4e')](_0x2d06f2)[_0x2452('0x1b')](handleEntityNotFound(_0x40a550,null))[_0x2452('0x1b')](respondWithResult(_0x40a550,null))[_0x2452('0x24')](handleError(_0x40a550,null));};exports[_0x2452('0x4f')]=function(_0x3629d3,_0x4ec01a){return db[_0x2452('0x35')]['create'](_0x3629d3[_0x2452('0x50')],{})['then'](respondWithResult(_0x4ec01a,0xc9))[_0x2452('0x24')](handleError(_0x4ec01a,null));};exports[_0x2452('0x2f')]=function(_0x5ad0f5,_0xc14c3d){if(_0x5ad0f5[_0x2452('0x50')]['id']){delete _0x5ad0f5[_0x2452('0x50')]['id'];}return db[_0x2452('0x35')][_0x2452('0x4e')]({'where':{'id':_0x5ad0f5[_0x2452('0x51')]['id']}})[_0x2452('0x1b')](handleEntityNotFound(_0xc14c3d,null))[_0x2452('0x1b')](saveUpdates(_0x5ad0f5[_0x2452('0x50')],null))[_0x2452('0x1b')](respondWithResult(_0xc14c3d,null))[_0x2452('0x24')](handleError(_0xc14c3d,null));};exports['destroy']=function(_0x6ed5fa,_0x4aef77){return db[_0x2452('0x35')]['find']({'where':{'id':_0x6ed5fa[_0x2452('0x51')]['id']}})[_0x2452('0x1b')](handleEntityNotFound(_0x4aef77,null))[_0x2452('0x1b')](removeEntity(_0x4aef77,null))[_0x2452('0x24')](handleError(_0x4aef77,null));};exports[_0x2452('0x52')]=function(_0x3b3a5a,_0x2c2bce,_0x34ff4d){var _0x3740b4={};var _0x2d615e={};var _0x1def15;var _0x4816cd;return db[_0x2452('0x35')][_0x2452('0x53')]({'where':{'id':_0x3b3a5a[_0x2452('0x51')]['id']}})[_0x2452('0x1b')](handleEntityNotFound(_0x2c2bce,null))[_0x2452('0x1b')](function(_0x47713f){if(_0x47713f){_0x1def15=_0x47713f;_0x2d615e['model']=_[_0x2452('0x39')](db[_0x2452('0x54')]['rawAttributes']);_0x2d615e[_0x2452('0x38')]=_[_0x2452('0x39')](_0x3b3a5a[_0x2452('0x38')]);_0x2d615e[_0x2452('0x3a')]=_[_0x2452('0x3b')](_0x2d615e[_0x2452('0x37')],_0x2d615e[_0x2452('0x38')]);_0x3740b4[_0x2452('0x3d')]=_[_0x2452('0x3b')](_0x2d615e[_0x2452('0x37')],qs[_0x2452('0x3c')](_0x3b3a5a['query']['fields']));_0x3740b4[_0x2452('0x3d')]=_0x3740b4['attributes'][_0x2452('0x3e')]?_0x3740b4[_0x2452('0x3d')]:_0x2d615e[_0x2452('0x37')];_0x3740b4[_0x2452('0x40')]=qs[_0x2452('0x41')](_0x3b3a5a[_0x2452('0x38')]['sort']);_0x3740b4['where']=qs[_0x2452('0x3a')](_['pick'](_0x3b3a5a[_0x2452('0x38')],_0x2d615e['filters']));if(_0x3b3a5a[_0x2452('0x38')][_0x2452('0x43')]){_0x3740b4[_0x2452('0x44')]=_[_0x2452('0x45')](_0x3740b4['where'],{'$or':_['map'](_0x3740b4['attributes'],function(_0x9ef864){var _0x19fb42={};_0x19fb42[_0x9ef864]={'$like':'%'+_0x3b3a5a['query']['filter']+'%'};return _0x19fb42;})});}_0x3740b4=_['merge']({},_0x3740b4,_0x3b3a5a['options']);return _0x1def15['getConfigurations'](_0x3740b4);}})[_0x2452('0x1b')](function(_0x4e8ab4){if(_0x4e8ab4){_0x4816cd=_0x4e8ab4['length'];if(!_0x3b3a5a[_0x2452('0x38')][_0x2452('0x55')](_0x2452('0x3f'))){_0x3740b4[_0x2452('0x2a')]=qs[_0x2452('0x2a')](_0x3b3a5a[_0x2452('0x38')]['limit']);_0x3740b4[_0x2452('0x29')]=qs[_0x2452('0x29')](_0x3b3a5a[_0x2452('0x38')]['offset']);}return _0x1def15['getConfigurations'](_0x3740b4);}})[_0x2452('0x1b')](function(_0x35eee6){if(_0x35eee6){return _0x35eee6?{'count':_0x4816cd,'rows':_0x35eee6}:null;}})[_0x2452('0x1b')](respondWithResult(_0x2c2bce,null))[_0x2452('0x24')](handleError(_0x2c2bce,null));};exports[_0x2452('0x56')]=function(_0x336fc6,_0x4dd13d,_0x2b2033){if(_0x336fc6['body']['id']){delete _0x336fc6[_0x2452('0x50')]['id'];}return db[_0x2452('0x35')][_0x2452('0x53')]({'where':{'id':_0x336fc6[_0x2452('0x51')]['id']}})['then'](handleEntityNotFound(_0x4dd13d,null))[_0x2452('0x1b')](function(_0x132cd3){if(_0x132cd3){_0x336fc6['body'][_0x2452('0x57')]=_0x132cd3['id'];_0x336fc6[_0x2452('0x50')][_0x2452('0x58')]=integrations[_0x2452('0x59')](_0x336fc6[_0x2452('0x50')][_0x2452('0x5a')],_0x336fc6[_0x2452('0x50')][_0x2452('0x5b')]);_0x336fc6['body']['Descriptions']=integrations[_0x2452('0x5c')](_0x336fc6[_0x2452('0x50')][_0x2452('0x5a')],_0x336fc6[_0x2452('0x50')]['type']);return db[_0x2452('0x54')][_0x2452('0x4f')](_0x336fc6[_0x2452('0x50')],{'include':[{'model':db[_0x2452('0x5d')],'as':'Subjects'},{'model':db[_0x2452('0x5d')],'as':_0x2452('0x5e')}]});}return null;})[_0x2452('0x1b')](respondWithResult(_0x4dd13d,null))[_0x2452('0x24')](handleError(_0x4dd13d,null));};exports['getFields']=function(_0x48fe8f,_0x21f3ca,_0x40378e){var _0x4c5192='';var _0x388fb8='';return db[_0x2452('0x35')][_0x2452('0x53')]({'where':{'id':_0x48fe8f[_0x2452('0x51')]['id']},'attributes':['id',_0x2452('0x5f'),_0x2452('0x60'),_0x2452('0x61')]})[_0x2452('0x1b')](handleEntityNotFound(_0x21f3ca,null))[_0x2452('0x1b')](function(_0x378224){if(_0x378224){_0x388fb8=_0x378224[_0x2452('0x5f')];_0x4c5192=_0x378224[_0x2452('0x60')];var _0x3abeb7=_0x378224[_0x2452('0x60')][_0x2452('0x62')](-0x1);if(_0x3abeb7==='/'){_0x4c5192=_0x4c5192[_0x2452('0x63')](0x0,_0x4c5192['lastIndexOf'](_0x3abeb7));}return rp({'method':_0x2452('0x64'),'uri':util[_0x2452('0x65')](_0x2452('0x66'),_0x4c5192,'/api/selector/owners'),'headers':{'Authorization':'Token\x20token='+_0x378224['apiKey']},'json':!![]});}})[_0x2452('0x1b')](function(_0x29318f){if(_0x29318f){var _0x1f8006=_0x29318f[_0x2452('0x67')];var _0x5c5be3=![];var _0x5b5719=null;for(_0x5b5719=0x0;_0x5b5719<_0x1f8006['length'];_0x5b5719++){if(_0x1f8006[_0x5b5719][_0x2452('0x68')]===_0x388fb8){_0x5c5be3=!![];}}if(_0x5c5be3){return!![];}else{throw new Error({'statusCode':0x194,'message':'Requested\x20Resource\x20not\x20Found'});}}})[_0x2452('0x1b')](respondWithResult(_0x21f3ca,null))['catch'](function(_0x1aa7e4){var _0x55a97d=_0x48fe8f[_0x2452('0x38')]['test']?0x1f4:_0x1aa7e4[_0x2452('0x69')]||0x1f4;logger[_0x2452('0x22')](_0x2452('0x6a'),_0x2452('0x6b'),_0x55a97d,JSON[_0x2452('0x20')](_0x1aa7e4));delete _0x1aa7e4['name'];if(_0x55a97d===0x191){_0x55a97d=0x190;}_0x21f3ca[_0x2452('0x26')](_0x55a97d)[_0x2452('0x32')](_0x48fe8f[_0x2452('0x38')][_0x2452('0x6c')]?{'message':_0x2452('0x6d'),'statusCode':_0x1aa7e4[_0x2452('0x69')]}:_0x1aa7e4);});};