Built motion from commit (unavailable).|2.3.7
[motion2.git] / server / api / intSugarcrmAccount / intSugarcrmAccount.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 _0xe25d=['save','update','destroy','stack','index','SugarcrmAccount','rawAttributes','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','offset','sort','where','merge','map','type','key','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','findOne','SugarcrmConfiguration','order','pick','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','SugarcrmField','getFields','name','assigned_user_id','description','date_start','duration_hours','parent_id','parent_type','direction','username','remoteUri','slice','substring','lastIndexOf','POST','format','%s%s','/service/v4_1/rest.php','login','JSON','password','PLAIN','xCALLY\x20Motion\x20Integration','Invalid\x20Login','Password\x20Expired','values','module_fields','remove','includes','label','endsWith','value','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','test','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','lodash','squel','crypto','desk.js','../../components/auth/service','../../config/license/hardware','../../components/parsers/qs','../../config/logger','../../config/utils','../../components/integrations/configuration','jayson/promise','client','http','request','then','info','debug','request\x20sent','stringify','error','code','SugarcrmAccount,\x20%s,\x20%s','message','result','sendStatus','status','end','json','count','limit','set','Content-Range','apply','reject'];(function(_0x4b1748,_0x42b7b3){var _0x15a14f=function(_0x39d795){while(--_0x39d795){_0x4b1748['push'](_0x4b1748['shift']());}};_0x15a14f(++_0x42b7b3);}(_0xe25d,0x15f));var _0xde25=function(_0x11f02d,_0x51b3f3){_0x11f02d=_0x11f02d-0x0;var _0x57b26c=_0xe25d[_0x11f02d];return _0x57b26c;};'use strict';var pdf=require(_0xde25('0x0'));var emlformat=require(_0xde25('0x1'));var rimraf=require(_0xde25('0x2'));var zipdir=require(_0xde25('0x3'));var jsonpatch=require(_0xde25('0x4'));var rp=require(_0xde25('0x5'));var moment=require(_0xde25('0x6'));var BPromise=require(_0xde25('0x7'));var Mustache=require('mustache');var util=require(_0xde25('0x8'));var path=require(_0xde25('0x9'));var sox=require('sox');var csv=require(_0xde25('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xde25('0xb'));var squel=require(_0xde25('0xc'));var crypto=require(_0xde25('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xde25('0xe'));var toCsv=require(_0xde25('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var authService=require(_0xde25('0xf'));var hardwareService=require(_0xde25('0x10'));var Redis=require('ioredis');var qs=require(_0xde25('0x11'));var logger=require(_0xde25('0x12'))('api');var utils=require(_0xde25('0x13'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var integrations=require(_0xde25('0x14'));var jayson=require(_0xde25('0x15'));var client=jayson[_0xde25('0x16')][_0xde25('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x5c159c,_0x72fc,_0x433a98,_0x44ff96){return new BPromise(function(_0x1e0dc3,_0x561d53){var _0x148475=_0x44ff96||client;return _0x148475[_0xde25('0x18')](_0x5c159c,_0x433a98)[_0xde25('0x19')](function(_0x2b2705){logger[_0xde25('0x1a')]('SugarcrmAccount,\x20%s,\x20%s',_0x72fc,'request\x20sent');logger[_0xde25('0x1b')]('SugarcrmAccount,\x20%s,\x20%s,\x20%s',_0x72fc,_0xde25('0x1c'),JSON[_0xde25('0x1d')](_0x2b2705));if(_0x2b2705[_0xde25('0x1e')]){if(_0x2b2705['error'][_0xde25('0x1f')]===0x1f4){logger[_0xde25('0x1e')](_0xde25('0x20'),_0x72fc,_0x2b2705['error'][_0xde25('0x21')]);return _0x561d53(_0x2b2705[_0xde25('0x1e')][_0xde25('0x21')]);}logger[_0xde25('0x1e')](_0xde25('0x20'),_0x72fc,_0x2b2705['error'][_0xde25('0x21')]);return _0x1e0dc3(_0x2b2705[_0xde25('0x1e')][_0xde25('0x21')]);}else{logger[_0xde25('0x1a')]('SugarcrmAccount,\x20%s,\x20%s',_0x72fc,_0xde25('0x1c'));_0x1e0dc3(_0x2b2705[_0xde25('0x22')]['message']);}})['catch'](function(_0x4f6d81){logger[_0xde25('0x1e')](_0xde25('0x20'),_0x72fc,_0x4f6d81);_0x561d53(_0x4f6d81);});});}function respondWithStatusCode(_0x4de7e8,_0xe98cf){_0xe98cf=_0xe98cf||0xcc;return function(_0x26cedd){if(_0x26cedd){return _0x4de7e8[_0xde25('0x23')](_0xe98cf);}return _0x4de7e8[_0xde25('0x24')](_0xe98cf)[_0xde25('0x25')]();};}function respondWithResult(_0x43fd7e,_0x20c1d1){_0x20c1d1=_0x20c1d1||0xc8;return function(_0x13b3d0){if(_0x13b3d0){return _0x43fd7e[_0xde25('0x24')](_0x20c1d1)[_0xde25('0x26')](_0x13b3d0);}};}function respondWithFilteredResult(_0x52115f,_0x4505b2){return function(_0xb95bf1){if(_0xb95bf1){var _0x51825f=_0xb95bf1[_0xde25('0x27')],_0x25f4cf=_0x4505b2['offset'],_0x5be8c2=_0x4505b2['offset']+_0x4505b2[_0xde25('0x28')],_0x4ac9f4;if(_0x5be8c2>=_0x51825f){_0x5be8c2=_0x51825f;_0x4ac9f4=0xc8;}else{_0x4ac9f4=0xce;}_0x52115f[_0xde25('0x24')](_0x4ac9f4);return _0x52115f[_0xde25('0x29')](_0xde25('0x2a'),_0x25f4cf+'-'+_0x5be8c2+'/'+_0x51825f)[_0xde25('0x26')](_0xb95bf1);}return null;};}function patchUpdates(_0x3ad61d){return function(_0x5c04f9){try{jsonpatch[_0xde25('0x2b')](_0x5c04f9,_0x3ad61d,!![]);}catch(_0x355a14){return BPromise[_0xde25('0x2c')](_0x355a14);}return _0x5c04f9[_0xde25('0x2d')]();};}function saveUpdates(_0x1152de,_0x1f762c){return function(_0x24b298){if(_0x24b298){return _0x24b298[_0xde25('0x2e')](_0x1152de)[_0xde25('0x19')](function(_0x1b9666){return _0x1b9666;});}return null;};}function removeEntity(_0x51672b,_0x2a7431){return function(_0x5d7819){if(_0x5d7819){return _0x5d7819[_0xde25('0x2f')]()[_0xde25('0x19')](function(){_0x51672b[_0xde25('0x24')](0xcc)[_0xde25('0x25')]();});}};}function handleEntityNotFound(_0x1fdd51,_0x3a18b6){return function(_0x373b58){if(!_0x373b58){_0x1fdd51[_0xde25('0x23')](0x194);}return _0x373b58;};}function handleError(_0x45f564,_0x5ef83b){_0x5ef83b=_0x5ef83b||0x1f4;return function(_0x3ffe07){logger[_0xde25('0x1e')](_0x3ffe07[_0xde25('0x30')]);if(_0x3ffe07['name']){delete _0x3ffe07['name'];}_0x45f564[_0xde25('0x24')](_0x5ef83b)['send'](_0x3ffe07);};}exports[_0xde25('0x31')]=function(_0x4e7283,_0x327587){var _0x15bbdf={},_0x4e3a72={},_0x37fc89={'count':0x0,'rows':[]};var _0x1119c6=db[_0xde25('0x32')][_0xde25('0x33')];_0x4e3a72['model']=_['keys'](_0x1119c6);_0x4e3a72[_0xde25('0x34')]=_[_0xde25('0x35')](_0x4e7283[_0xde25('0x34')]);_0x4e3a72[_0xde25('0x36')]=_[_0xde25('0x37')](_0x4e3a72[_0xde25('0x38')],_0x4e3a72[_0xde25('0x34')]);_0x15bbdf[_0xde25('0x39')]=_['intersection'](_0x4e3a72['model'],qs['fields'](_0x4e7283[_0xde25('0x34')][_0xde25('0x3a')]));_0x15bbdf[_0xde25('0x39')]=_0x15bbdf[_0xde25('0x39')][_0xde25('0x3b')]?_0x15bbdf[_0xde25('0x39')]:_0x4e3a72[_0xde25('0x38')];if(!_0x4e7283[_0xde25('0x34')][_0xde25('0x3c')](_0xde25('0x3d'))){_0x15bbdf[_0xde25('0x28')]=qs['limit'](_0x4e7283[_0xde25('0x34')]['limit']);_0x15bbdf['offset']=qs[_0xde25('0x3e')](_0x4e7283[_0xde25('0x34')][_0xde25('0x3e')]);}_0x15bbdf['order']=qs[_0xde25('0x3f')](_0x4e7283[_0xde25('0x34')][_0xde25('0x3f')]);_0x15bbdf[_0xde25('0x40')]=qs[_0xde25('0x36')](_['pick'](_0x4e7283[_0xde25('0x34')],_0x4e3a72[_0xde25('0x36')]));if(_0x4e7283[_0xde25('0x34')]['filter']){_0x15bbdf[_0xde25('0x40')]=_[_0xde25('0x41')](_0x15bbdf[_0xde25('0x40')],{'$or':_[_0xde25('0x42')](_0x1119c6,function(_0x1a0209){if(_0x1a0209[_0xde25('0x43')][_0xde25('0x44')]!==_0xde25('0x45')){var _0x23fbe9={};_0x23fbe9[_0x1a0209['field']]={'$like':'%'+_0x4e7283[_0xde25('0x34')][_0xde25('0x46')]+'%'};return _0x23fbe9;}})});}_0x15bbdf=_[_0xde25('0x41')]({},_0x15bbdf,_0x4e7283[_0xde25('0x47')]);var _0x1096f2={'where':_0x15bbdf[_0xde25('0x40')]};return db[_0xde25('0x32')]['count'](_0x1096f2)['then'](function(_0x448a4d){_0x37fc89['count']=_0x448a4d;if(_0x4e7283[_0xde25('0x34')][_0xde25('0x48')]){_0x15bbdf[_0xde25('0x49')]=[{'all':!![]}];}return db[_0xde25('0x32')][_0xde25('0x4a')](_0x15bbdf);})[_0xde25('0x19')](function(_0x5c3165){_0x37fc89[_0xde25('0x4b')]=_0x5c3165;return _0x37fc89;})['then'](respondWithFilteredResult(_0x327587,_0x15bbdf))[_0xde25('0x4c')](handleError(_0x327587,null));};exports[_0xde25('0x4d')]=function(_0x122ad4,_0x43f160){var _0x57f7a2={'raw':![],'where':{'id':_0x122ad4[_0xde25('0x4e')]['id']}},_0x39bb6d={};_0x39bb6d[_0xde25('0x38')]=_[_0xde25('0x35')](db[_0xde25('0x32')][_0xde25('0x33')]);_0x39bb6d[_0xde25('0x34')]=_['keys'](_0x122ad4['query']);_0x39bb6d['filters']=_['intersection'](_0x39bb6d['model'],_0x39bb6d[_0xde25('0x34')]);_0x57f7a2[_0xde25('0x39')]=_[_0xde25('0x37')](_0x39bb6d[_0xde25('0x38')],qs[_0xde25('0x3a')](_0x122ad4[_0xde25('0x34')][_0xde25('0x3a')]));_0x57f7a2['attributes']=_0x57f7a2[_0xde25('0x39')][_0xde25('0x3b')]?_0x57f7a2[_0xde25('0x39')]:_0x39bb6d[_0xde25('0x38')];if(_0x122ad4['query']['includeAll']){_0x57f7a2[_0xde25('0x49')]=[{'all':!![]}];}_0x57f7a2=_[_0xde25('0x41')]({},_0x57f7a2,_0x122ad4[_0xde25('0x47')]);return db['SugarcrmAccount']['find'](_0x57f7a2)['then'](handleEntityNotFound(_0x43f160,null))[_0xde25('0x19')](respondWithResult(_0x43f160,null))['catch'](handleError(_0x43f160,null));};exports[_0xde25('0x4f')]=function(_0x4333c1,_0x988b12){return db[_0xde25('0x32')][_0xde25('0x4f')](_0x4333c1[_0xde25('0x50')],{})['then'](respondWithResult(_0x988b12,0xc9))[_0xde25('0x4c')](handleError(_0x988b12,null));};exports['update']=function(_0x2fb6f5,_0x5312d8){if(_0x2fb6f5['body']['id']){delete _0x2fb6f5[_0xde25('0x50')]['id'];}return db[_0xde25('0x32')][_0xde25('0x51')]({'where':{'id':_0x2fb6f5[_0xde25('0x4e')]['id']}})[_0xde25('0x19')](handleEntityNotFound(_0x5312d8,null))[_0xde25('0x19')](saveUpdates(_0x2fb6f5[_0xde25('0x50')],null))[_0xde25('0x19')](respondWithResult(_0x5312d8,null))[_0xde25('0x4c')](handleError(_0x5312d8,null));};exports[_0xde25('0x2f')]=function(_0x15c561,_0x1e4f0c){return db[_0xde25('0x32')]['find']({'where':{'id':_0x15c561[_0xde25('0x4e')]['id']}})[_0xde25('0x19')](handleEntityNotFound(_0x1e4f0c,null))[_0xde25('0x19')](removeEntity(_0x1e4f0c,null))[_0xde25('0x4c')](handleError(_0x1e4f0c,null));};exports['getConfigurations']=function(_0x5b4b27,_0x512f18,_0x4f326b){var _0x2c2a86={};var _0xbc84a4={};var _0x25d9ad;var _0x4dd1d9;return db[_0xde25('0x32')][_0xde25('0x52')]({'where':{'id':_0x5b4b27[_0xde25('0x4e')]['id']}})[_0xde25('0x19')](handleEntityNotFound(_0x512f18,null))[_0xde25('0x19')](function(_0x46a9e4){if(_0x46a9e4){_0x25d9ad=_0x46a9e4;_0xbc84a4[_0xde25('0x38')]=_[_0xde25('0x35')](db[_0xde25('0x53')][_0xde25('0x33')]);_0xbc84a4[_0xde25('0x34')]=_[_0xde25('0x35')](_0x5b4b27[_0xde25('0x34')]);_0xbc84a4['filters']=_[_0xde25('0x37')](_0xbc84a4[_0xde25('0x38')],_0xbc84a4[_0xde25('0x34')]);_0x2c2a86['attributes']=_['intersection'](_0xbc84a4[_0xde25('0x38')],qs[_0xde25('0x3a')](_0x5b4b27[_0xde25('0x34')][_0xde25('0x3a')]));_0x2c2a86['attributes']=_0x2c2a86[_0xde25('0x39')]['length']?_0x2c2a86['attributes']:_0xbc84a4[_0xde25('0x38')];_0x2c2a86[_0xde25('0x54')]=qs[_0xde25('0x3f')](_0x5b4b27[_0xde25('0x34')][_0xde25('0x3f')]);_0x2c2a86[_0xde25('0x40')]=qs[_0xde25('0x36')](_[_0xde25('0x55')](_0x5b4b27[_0xde25('0x34')],_0xbc84a4[_0xde25('0x36')]));if(_0x5b4b27['query'][_0xde25('0x46')]){_0x2c2a86[_0xde25('0x40')]=_[_0xde25('0x41')](_0x2c2a86['where'],{'$or':_[_0xde25('0x42')](_0x2c2a86[_0xde25('0x39')],function(_0x55a8f0){var _0xc6cee9={};_0xc6cee9[_0x55a8f0]={'$like':'%'+_0x5b4b27[_0xde25('0x34')][_0xde25('0x46')]+'%'};return _0xc6cee9;})});}_0x2c2a86=_[_0xde25('0x41')]({},_0x2c2a86,_0x5b4b27[_0xde25('0x47')]);return _0x25d9ad[_0xde25('0x56')](_0x2c2a86);}})['then'](function(_0x4da754){if(_0x4da754){_0x4dd1d9=_0x4da754[_0xde25('0x3b')];if(!_0x5b4b27[_0xde25('0x34')][_0xde25('0x3c')]('nolimit')){_0x2c2a86[_0xde25('0x28')]=qs['limit'](_0x5b4b27['query'][_0xde25('0x28')]);_0x2c2a86[_0xde25('0x3e')]=qs[_0xde25('0x3e')](_0x5b4b27['query'][_0xde25('0x3e')]);}return _0x25d9ad[_0xde25('0x56')](_0x2c2a86);}})[_0xde25('0x19')](function(_0x5d77aa){if(_0x5d77aa){return _0x5d77aa?{'count':_0x4dd1d9,'rows':_0x5d77aa}:null;}})[_0xde25('0x19')](respondWithResult(_0x512f18,null))['catch'](handleError(_0x512f18,null));};exports[_0xde25('0x57')]=function(_0x10d3fd,_0x350efc,_0x1a0dda){if(_0x10d3fd[_0xde25('0x50')]['id']){delete _0x10d3fd[_0xde25('0x50')]['id'];}return db[_0xde25('0x32')][_0xde25('0x52')]({'where':{'id':_0x10d3fd[_0xde25('0x4e')]['id']}})[_0xde25('0x19')](handleEntityNotFound(_0x350efc,null))[_0xde25('0x19')](function(_0x2e013d){if(_0x2e013d){_0x10d3fd['body'][_0xde25('0x58')]=_0x2e013d['id'];_0x10d3fd[_0xde25('0x50')][_0xde25('0x59')]=integrations[_0xde25('0x5a')](_0x10d3fd[_0xde25('0x50')][_0xde25('0x5b')],_0x10d3fd[_0xde25('0x50')][_0xde25('0x43')]);_0x10d3fd[_0xde25('0x50')][_0xde25('0x5c')]=integrations[_0xde25('0x5d')](_0x10d3fd[_0xde25('0x50')][_0xde25('0x5b')],_0x10d3fd[_0xde25('0x50')][_0xde25('0x43')]);return db[_0xde25('0x53')][_0xde25('0x4f')](_0x10d3fd[_0xde25('0x50')],{'include':[{'model':db[_0xde25('0x5e')],'as':'Subjects'},{'model':db[_0xde25('0x5e')],'as':'Descriptions'}]});}return null;})[_0xde25('0x19')](respondWithResult(_0x350efc,null))[_0xde25('0x4c')](handleError(_0x350efc,null));};exports[_0xde25('0x5f')]=function(_0x664333,_0x3c39e5,_0x14cb05){var _0x1c2cd8='';var _0x24e6bd=['id',_0xde25('0x60'),_0xde25('0x61'),'created_by',_0xde25('0x62'),_0xde25('0x63'),_0xde25('0x64'),'duration_minutes',_0xde25('0x65'),_0xde25('0x66'),'parent_name',_0xde25('0x67')];return db[_0xde25('0x32')][_0xde25('0x52')]({'where':{'id':_0x664333[_0xde25('0x4e')]['id']},'attributes':['id',_0xde25('0x68'),'password',_0xde25('0x69')]})[_0xde25('0x19')](handleEntityNotFound(_0x3c39e5,null))[_0xde25('0x19')](function(_0x2dcb04){if(_0x2dcb04){_0x1c2cd8=_0x2dcb04[_0xde25('0x69')];var _0x505cd4=_0x1c2cd8[_0xde25('0x6a')](-0x1);if(_0x505cd4==='/'){_0x1c2cd8=_0x1c2cd8[_0xde25('0x6b')](0x0,_0x1c2cd8[_0xde25('0x6c')](_0x505cd4));}return rp({'method':_0xde25('0x6d'),'uri':util[_0xde25('0x6e')](_0xde25('0x6f'),_0x1c2cd8,_0xde25('0x70')),'json':!![],'form':{'method':_0xde25('0x71'),'input_type':_0xde25('0x72'),'response_type':_0xde25('0x72'),'rest_data':JSON[_0xde25('0x1d')]({'user_auth':{'user_name':_0x2dcb04[_0xde25('0x68')],'password':_0x2dcb04[_0xde25('0x73')],'encryption':_0xde25('0x74')},'application':_0xde25('0x75')})}});}})[_0xde25('0x19')](function(_0x2ae910){if(_0x2ae910&&_0x2ae910['name']!==_0xde25('0x76')&&_0x2ae910[_0xde25('0x60')]!==_0xde25('0x77')){return rp({'method':'POST','uri':util[_0xde25('0x6e')]('%s%s',_0x1c2cd8,_0xde25('0x70')),'json':!![],'form':{'method':'get_module_fields','input_type':_0xde25('0x72'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x2ae910['id'],'module_name':'Calls'})}})['then'](function(_0x8d9658){if(_0x8d9658){var _0x40039f=_[_0xde25('0x78')](_0x8d9658[_0xde25('0x79')]);_[_0xde25('0x7a')](_0x40039f,function(_0x407de1){return _0x24e6bd[_0xde25('0x7b')](_0x407de1[_0xde25('0x60')]);});return{'count':_0x40039f[_0xde25('0x3b')],'rows':_['map'](_0x40039f,function(_0x5a30f1){return{'id':_0x5a30f1[_0xde25('0x60')],'name':_0x5a30f1[_0xde25('0x7c')],'custom':_[_0xde25('0x7d')](_0x5a30f1['name'],'_c')?!![]:![],'options':_0x5a30f1['options']?_['map'](_['values'](_0x5a30f1[_0xde25('0x47')]),function(_0x3882af){return{'name':_0x3882af[_0xde25('0x7e')],'value':_0x3882af[_0xde25('0x60')]};}):[]};})};}})[_0xde25('0x19')](respondWithResult(_0x3c39e5,null))[_0xde25('0x4c')](function(_0x2326d4){var _0x461352=_0x664333[_0xde25('0x34')]['test']?0x1f4:_0x2326d4[_0xde25('0x7f')]||0x1f4;logger[_0xde25('0x1e')](_0xde25('0x80'),_0xde25('0x5f'),_0x461352,JSON[_0xde25('0x1d')](_0x2326d4));delete _0x2326d4['name'];if(_0x461352===0x191){_0x461352=0x190;}_0x3c39e5[_0xde25('0x24')](_0x461352)[_0xde25('0x81')](_0x664333[_0xde25('0x34')][_0xde25('0x82')]?{'message':_0xde25('0x83'),'statusCode':_0x2326d4[_0xde25('0x7f')]}:_0x2326d4);});}else{var _0x12b1d5=0x1f4;_0x3c39e5['status'](_0x12b1d5)[_0xde25('0x81')]({'message':_0xde25('0x83'),'statusCode':0x190});}});};