Built motion from commit (unavailable).|2.5.31
[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 _0x5379=['get_module_fields','Calls','values','module_fields','remove','label','endsWith','value','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','client','http','request','then','info','SugarcrmAccount,\x20%s,\x20%s','request\x20sent','debug','SugarcrmAccount,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','reject','name','send','index','map','SugarcrmAccount','rawAttributes','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','params','find','create','body','update','destroy','getConfigurations','findOne','SugarcrmConfiguration','options','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','type','Descriptions','SugarcrmField','getFields','created_by','description','duration_minutes','parent_id','parent_type','parent_name','direction','username','password','remoteUri','substring','lastIndexOf','POST','format','/service/v4_1/rest.php','login','JSON','PLAIN','xCALLY\x20Motion\x20Integration'];(function(_0x344adc,_0x183c37){var _0x4014b2=function(_0xe809e5){while(--_0xe809e5){_0x344adc['push'](_0x344adc['shift']());}};_0x4014b2(++_0x183c37);}(_0x5379,0x189));var _0x9537=function(_0x1f4bdf,_0x38e9de){_0x1f4bdf=_0x1f4bdf-0x0;var _0x874100=_0x5379[_0x1f4bdf];return _0x874100;};'use strict';var emlformat=require(_0x9537('0x0'));var rimraf=require(_0x9537('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9537('0x2'));var rp=require(_0x9537('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x9537('0x4'));var util=require(_0x9537('0x5'));var path=require('path');var sox=require(_0x9537('0x6'));var csv=require('to-csv');var ejs=require(_0x9537('0x7'));var fs=require('fs');var fs_extra=require(_0x9537('0x8'));var _=require('lodash');var squel=require(_0x9537('0x9'));var crypto=require(_0x9537('0xa'));var jsforce=require(_0x9537('0xb'));var deskjs=require(_0x9537('0xc'));var toCsv=require(_0x9537('0xd'));var querystring=require(_0x9537('0xe'));var Papa=require('papaparse');var Redis=require(_0x9537('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9537('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9537('0x11'));var logger=require(_0x9537('0x12'))(_0x9537('0x13'));var utils=require(_0x9537('0x14'));var config=require(_0x9537('0x15'));var licenseUtil=require(_0x9537('0x16'));var db=require(_0x9537('0x17'))['db'];var integrations=require(_0x9537('0x18'));var jayson=require('jayson/promise');var client=jayson[_0x9537('0x19')][_0x9537('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x284061,_0x30ad1f,_0x5b8282,_0x22210d){return new BPromise(function(_0xdc5b70,_0x5642d6){var _0x1c24da=_0x22210d||client;return _0x1c24da[_0x9537('0x1b')](_0x284061,_0x5b8282)[_0x9537('0x1c')](function(_0x520016){logger[_0x9537('0x1d')](_0x9537('0x1e'),_0x30ad1f,_0x9537('0x1f'));logger[_0x9537('0x20')](_0x9537('0x21'),_0x30ad1f,_0x9537('0x1f'),JSON[_0x9537('0x22')](_0x520016));if(_0x520016['error']){if(_0x520016['error'][_0x9537('0x23')]===0x1f4){logger['error'](_0x9537('0x1e'),_0x30ad1f,_0x520016[_0x9537('0x24')][_0x9537('0x25')]);return _0x5642d6(_0x520016['error']['message']);}logger[_0x9537('0x24')](_0x9537('0x1e'),_0x30ad1f,_0x520016[_0x9537('0x24')][_0x9537('0x25')]);return _0xdc5b70(_0x520016[_0x9537('0x24')]['message']);}else{logger[_0x9537('0x1d')](_0x9537('0x1e'),_0x30ad1f,_0x9537('0x1f'));_0xdc5b70(_0x520016[_0x9537('0x26')][_0x9537('0x25')]);}})[_0x9537('0x27')](function(_0x5bd275){logger[_0x9537('0x24')](_0x9537('0x1e'),_0x30ad1f,_0x5bd275);_0x5642d6(_0x5bd275);});});}function respondWithStatusCode(_0xbb9e3e,_0x565e02){_0x565e02=_0x565e02||0xcc;return function(_0x267c8e){if(_0x267c8e){return _0xbb9e3e[_0x9537('0x28')](_0x565e02);}return _0xbb9e3e[_0x9537('0x29')](_0x565e02)[_0x9537('0x2a')]();};}function respondWithResult(_0x18384c,_0x1ad9cc){_0x1ad9cc=_0x1ad9cc||0xc8;return function(_0x17fe16){if(_0x17fe16){return _0x18384c[_0x9537('0x29')](_0x1ad9cc)[_0x9537('0x2b')](_0x17fe16);}};}function respondWithFilteredResult(_0x581293,_0x4a0f36){return function(_0x599f2a){if(_0x599f2a){var _0x5f693a=typeof _0x4a0f36[_0x9537('0x2c')]===_0x9537('0x2d')&&typeof _0x4a0f36[_0x9537('0x2e')]===_0x9537('0x2d');var _0x4515ab=_0x599f2a[_0x9537('0x2f')];var _0x373384=_0x5f693a?0x0:_0x4a0f36[_0x9537('0x2c')];var _0x359bc2=_0x5f693a?_0x599f2a[_0x9537('0x2f')]:_0x4a0f36[_0x9537('0x2c')]+_0x4a0f36[_0x9537('0x2e')];var _0x24db55;if(_0x359bc2>=_0x4515ab){_0x359bc2=_0x4515ab;_0x24db55=0xc8;}else{_0x24db55=0xce;}_0x581293[_0x9537('0x29')](_0x24db55);return _0x581293['set']('Content-Range',_0x373384+'-'+_0x359bc2+'/'+_0x4515ab)[_0x9537('0x2b')](_0x599f2a);}return null;};}function patchUpdates(_0x50c924){return function(_0x2474be){try{jsonpatch['apply'](_0x2474be,_0x50c924,!![]);}catch(_0x3afc8d){return BPromise[_0x9537('0x30')](_0x3afc8d);}return _0x2474be['save']();};}function saveUpdates(_0x93e5e4,_0x251527){return function(_0xc6708c){if(_0xc6708c){return _0xc6708c['update'](_0x93e5e4)[_0x9537('0x1c')](function(_0x8657d){return _0x8657d;});}return null;};}function removeEntity(_0x400d41,_0xa019e8){return function(_0x506477){if(_0x506477){return _0x506477['destroy']()[_0x9537('0x1c')](function(){_0x400d41[_0x9537('0x29')](0xcc)[_0x9537('0x2a')]();});}};}function handleEntityNotFound(_0x2fd34a,_0x26111d){return function(_0x1e2460){if(!_0x1e2460){_0x2fd34a[_0x9537('0x28')](0x194);}return _0x1e2460;};}function handleError(_0x37ef0e,_0x2acf18){_0x2acf18=_0x2acf18||0x1f4;return function(_0x532020){logger[_0x9537('0x24')](_0x532020['stack']);if(_0x532020[_0x9537('0x31')]){delete _0x532020[_0x9537('0x31')];}_0x37ef0e['status'](_0x2acf18)[_0x9537('0x32')](_0x532020);};}exports[_0x9537('0x33')]=function(_0x153420,_0x559c48){var _0x26296={},_0x4fe8db={},_0x2b6282={'count':0x0,'rows':[]};var _0x4befe3=_[_0x9537('0x34')](db[_0x9537('0x35')][_0x9537('0x36')],function(_0x1b3556){return{'name':_0x1b3556['fieldName'],'type':_0x1b3556['type'][_0x9537('0x37')]};});_0x4fe8db[_0x9537('0x38')]=_[_0x9537('0x34')](_0x4befe3,_0x9537('0x31'));_0x4fe8db[_0x9537('0x39')]=_[_0x9537('0x3a')](_0x153420[_0x9537('0x39')]);_0x4fe8db['filters']=_[_0x9537('0x3b')](_0x4fe8db[_0x9537('0x38')],_0x4fe8db['query']);_0x26296[_0x9537('0x3c')]=_[_0x9537('0x3b')](_0x4fe8db['model'],qs[_0x9537('0x3d')](_0x153420['query'][_0x9537('0x3d')]));_0x26296[_0x9537('0x3c')]=_0x26296[_0x9537('0x3c')][_0x9537('0x3e')]?_0x26296['attributes']:_0x4fe8db[_0x9537('0x38')];if(!_0x153420[_0x9537('0x39')][_0x9537('0x3f')]('nolimit')){_0x26296[_0x9537('0x2e')]=qs[_0x9537('0x2e')](_0x153420[_0x9537('0x39')][_0x9537('0x2e')]);_0x26296[_0x9537('0x2c')]=qs[_0x9537('0x2c')](_0x153420['query'][_0x9537('0x2c')]);}_0x26296[_0x9537('0x40')]=qs['sort'](_0x153420[_0x9537('0x39')][_0x9537('0x41')]);_0x26296[_0x9537('0x42')]=qs[_0x9537('0x43')](_[_0x9537('0x44')](_0x153420['query'],_0x4fe8db[_0x9537('0x43')]),_0x4befe3);if(_0x153420[_0x9537('0x39')][_0x9537('0x45')]){_0x26296[_0x9537('0x42')]=_[_0x9537('0x46')](_0x26296[_0x9537('0x42')],{'$or':_[_0x9537('0x34')](_0x4befe3,function(_0x62d461){if(_0x62d461['type']!==_0x9537('0x47')){var _0x2729bd={};_0x2729bd[_0x62d461[_0x9537('0x31')]]={'$like':'%'+_0x153420[_0x9537('0x39')][_0x9537('0x45')]+'%'};return _0x2729bd;}})});}_0x26296=_[_0x9537('0x46')]({},_0x26296,_0x153420['options']);var _0x236094={'where':_0x26296[_0x9537('0x42')]};return db[_0x9537('0x35')]['count'](_0x236094)[_0x9537('0x1c')](function(_0x1ff2d8){_0x2b6282[_0x9537('0x2f')]=_0x1ff2d8;if(_0x153420[_0x9537('0x39')][_0x9537('0x48')]){_0x26296[_0x9537('0x49')]=[{'all':!![]}];}return db[_0x9537('0x35')][_0x9537('0x4a')](_0x26296);})['then'](function(_0x25fd76){_0x2b6282[_0x9537('0x4b')]=_0x25fd76;return _0x2b6282;})[_0x9537('0x1c')](respondWithFilteredResult(_0x559c48,_0x26296))['catch'](handleError(_0x559c48,null));};exports['show']=function(_0x2008e9,_0x5a94e1){var _0x598c08={'raw':![],'where':{'id':_0x2008e9[_0x9537('0x4c')]['id']}},_0x199d88={};_0x199d88[_0x9537('0x38')]=_[_0x9537('0x3a')](db['SugarcrmAccount'][_0x9537('0x36')]);_0x199d88['query']=_['keys'](_0x2008e9[_0x9537('0x39')]);_0x199d88[_0x9537('0x43')]=_[_0x9537('0x3b')](_0x199d88['model'],_0x199d88[_0x9537('0x39')]);_0x598c08[_0x9537('0x3c')]=_[_0x9537('0x3b')](_0x199d88[_0x9537('0x38')],qs[_0x9537('0x3d')](_0x2008e9[_0x9537('0x39')][_0x9537('0x3d')]));_0x598c08[_0x9537('0x3c')]=_0x598c08[_0x9537('0x3c')][_0x9537('0x3e')]?_0x598c08[_0x9537('0x3c')]:_0x199d88[_0x9537('0x38')];if(_0x2008e9[_0x9537('0x39')][_0x9537('0x48')]){_0x598c08['include']=[{'all':!![]}];}_0x598c08=_[_0x9537('0x46')]({},_0x598c08,_0x2008e9['options']);return db[_0x9537('0x35')][_0x9537('0x4d')](_0x598c08)[_0x9537('0x1c')](handleEntityNotFound(_0x5a94e1,null))[_0x9537('0x1c')](respondWithResult(_0x5a94e1,null))[_0x9537('0x27')](handleError(_0x5a94e1,null));};exports[_0x9537('0x4e')]=function(_0x571e63,_0x21a8ba){return db[_0x9537('0x35')][_0x9537('0x4e')](_0x571e63[_0x9537('0x4f')],{})[_0x9537('0x1c')](respondWithResult(_0x21a8ba,0xc9))[_0x9537('0x27')](handleError(_0x21a8ba,null));};exports[_0x9537('0x50')]=function(_0x123f81,_0x17f08f){if(_0x123f81[_0x9537('0x4f')]['id']){delete _0x123f81['body']['id'];}return db[_0x9537('0x35')][_0x9537('0x4d')]({'where':{'id':_0x123f81['params']['id']}})[_0x9537('0x1c')](handleEntityNotFound(_0x17f08f,null))[_0x9537('0x1c')](saveUpdates(_0x123f81[_0x9537('0x4f')],null))['then'](respondWithResult(_0x17f08f,null))[_0x9537('0x27')](handleError(_0x17f08f,null));};exports[_0x9537('0x51')]=function(_0x1132fd,_0x1caf31){return db[_0x9537('0x35')]['find']({'where':{'id':_0x1132fd[_0x9537('0x4c')]['id']}})[_0x9537('0x1c')](handleEntityNotFound(_0x1caf31,null))[_0x9537('0x1c')](removeEntity(_0x1caf31,null))['catch'](handleError(_0x1caf31,null));};exports[_0x9537('0x52')]=function(_0x4ddc04,_0x103251,_0x375094){var _0xcdb148={};var _0x2ce7f6={};var _0x363955;var _0x1f08fe;return db[_0x9537('0x35')][_0x9537('0x53')]({'where':{'id':_0x4ddc04['params']['id']}})[_0x9537('0x1c')](handleEntityNotFound(_0x103251,null))[_0x9537('0x1c')](function(_0x3b0073){if(_0x3b0073){_0x363955=_0x3b0073;_0x2ce7f6[_0x9537('0x38')]=_[_0x9537('0x3a')](db[_0x9537('0x54')][_0x9537('0x36')]);_0x2ce7f6[_0x9537('0x39')]=_[_0x9537('0x3a')](_0x4ddc04[_0x9537('0x39')]);_0x2ce7f6['filters']=_[_0x9537('0x3b')](_0x2ce7f6[_0x9537('0x38')],_0x2ce7f6['query']);_0xcdb148['attributes']=_['intersection'](_0x2ce7f6[_0x9537('0x38')],qs['fields'](_0x4ddc04['query']['fields']));_0xcdb148[_0x9537('0x3c')]=_0xcdb148[_0x9537('0x3c')][_0x9537('0x3e')]?_0xcdb148['attributes']:_0x2ce7f6[_0x9537('0x38')];_0xcdb148[_0x9537('0x40')]=qs['sort'](_0x4ddc04[_0x9537('0x39')][_0x9537('0x41')]);_0xcdb148['where']=qs[_0x9537('0x43')](_[_0x9537('0x44')](_0x4ddc04['query'],_0x2ce7f6['filters']));if(_0x4ddc04[_0x9537('0x39')][_0x9537('0x45')]){_0xcdb148[_0x9537('0x42')]=_[_0x9537('0x46')](_0xcdb148[_0x9537('0x42')],{'$or':_[_0x9537('0x34')](_0xcdb148[_0x9537('0x3c')],function(_0x204ed8){var _0x33a8e9={};_0x33a8e9[_0x204ed8]={'$like':'%'+_0x4ddc04[_0x9537('0x39')]['filter']+'%'};return _0x33a8e9;})});}_0xcdb148=_['merge']({},_0xcdb148,_0x4ddc04[_0x9537('0x55')]);return _0x363955[_0x9537('0x52')](_0xcdb148);}})[_0x9537('0x1c')](function(_0x43e8b9){if(_0x43e8b9){_0x1f08fe=_0x43e8b9['length'];if(!_0x4ddc04['query'][_0x9537('0x3f')](_0x9537('0x56'))){_0xcdb148[_0x9537('0x2e')]=qs[_0x9537('0x2e')](_0x4ddc04[_0x9537('0x39')][_0x9537('0x2e')]);_0xcdb148['offset']=qs[_0x9537('0x2c')](_0x4ddc04[_0x9537('0x39')][_0x9537('0x2c')]);}return _0x363955['getConfigurations'](_0xcdb148);}})[_0x9537('0x1c')](function(_0x21ed08){if(_0x21ed08){return _0x21ed08?{'count':_0x1f08fe,'rows':_0x21ed08}:null;}})[_0x9537('0x1c')](respondWithResult(_0x103251,null))[_0x9537('0x27')](handleError(_0x103251,null));};exports[_0x9537('0x57')]=function(_0x33d789,_0xdd099a,_0x41b1c7){if(_0x33d789['body']['id']){delete _0x33d789[_0x9537('0x4f')]['id'];}return db['SugarcrmAccount'][_0x9537('0x53')]({'where':{'id':_0x33d789['params']['id']}})[_0x9537('0x1c')](handleEntityNotFound(_0xdd099a,null))[_0x9537('0x1c')](function(_0x5f0e59){if(_0x5f0e59){_0x33d789[_0x9537('0x4f')][_0x9537('0x58')]=_0x5f0e59['id'];_0x33d789[_0x9537('0x4f')][_0x9537('0x59')]=integrations[_0x9537('0x5a')](_0x33d789[_0x9537('0x4f')][_0x9537('0x5b')],_0x33d789[_0x9537('0x4f')][_0x9537('0x5c')]);_0x33d789['body'][_0x9537('0x5d')]=integrations['getDescriptions'](_0x33d789[_0x9537('0x4f')][_0x9537('0x5b')],_0x33d789['body'][_0x9537('0x5c')]);return db[_0x9537('0x54')]['create'](_0x33d789[_0x9537('0x4f')],{'include':[{'model':db[_0x9537('0x5e')],'as':'Subjects'},{'model':db[_0x9537('0x5e')],'as':'Descriptions'}]});}return null;})[_0x9537('0x1c')](respondWithResult(_0xdd099a,null))[_0x9537('0x27')](handleError(_0xdd099a,null));};exports[_0x9537('0x5f')]=function(_0x1a43ab,_0x8639fc,_0x58bf89){var _0xfaa999='';var _0x468c5a=['id','name','assigned_user_id',_0x9537('0x60'),_0x9537('0x61'),'date_start','duration_hours',_0x9537('0x62'),_0x9537('0x63'),_0x9537('0x64'),_0x9537('0x65'),_0x9537('0x66')];return db[_0x9537('0x35')][_0x9537('0x53')]({'where':{'id':_0x1a43ab[_0x9537('0x4c')]['id']},'attributes':['id',_0x9537('0x67'),_0x9537('0x68'),_0x9537('0x69')]})[_0x9537('0x1c')](handleEntityNotFound(_0x8639fc,null))[_0x9537('0x1c')](function(_0x4f7996){if(_0x4f7996){_0xfaa999=_0x4f7996['remoteUri'];var _0x2a6278=_0xfaa999['slice'](-0x1);if(_0x2a6278==='/'){_0xfaa999=_0xfaa999[_0x9537('0x6a')](0x0,_0xfaa999[_0x9537('0x6b')](_0x2a6278));}return rp({'method':_0x9537('0x6c'),'uri':util[_0x9537('0x6d')]('%s%s',_0xfaa999,_0x9537('0x6e')),'json':!![],'form':{'method':_0x9537('0x6f'),'input_type':_0x9537('0x70'),'response_type':_0x9537('0x70'),'rest_data':JSON[_0x9537('0x22')]({'user_auth':{'user_name':_0x4f7996[_0x9537('0x67')],'password':_0x4f7996[_0x9537('0x68')],'encryption':_0x9537('0x71')},'application':_0x9537('0x72')})}});}})['then'](function(_0x134022){if(_0x134022&&_0x134022['name']!=='Invalid\x20Login'&&_0x134022['name']!=='Password\x20Expired'){return rp({'method':_0x9537('0x6c'),'uri':util[_0x9537('0x6d')]('%s%s',_0xfaa999,'/service/v4_1/rest.php'),'json':!![],'form':{'method':_0x9537('0x73'),'input_type':_0x9537('0x70'),'response_type':'JSON','rest_data':JSON['stringify']({'session':_0x134022['id'],'module_name':_0x9537('0x74')})}})[_0x9537('0x1c')](function(_0x45c160){if(_0x45c160){var _0x496c01=_[_0x9537('0x75')](_0x45c160[_0x9537('0x76')]);_[_0x9537('0x77')](_0x496c01,function(_0x35801f){return _0x468c5a['includes'](_0x35801f[_0x9537('0x31')]);});return{'count':_0x496c01[_0x9537('0x3e')],'rows':_[_0x9537('0x34')](_0x496c01,function(_0x5e50d4){return{'id':_0x5e50d4[_0x9537('0x31')],'name':_0x5e50d4[_0x9537('0x78')],'custom':_[_0x9537('0x79')](_0x5e50d4[_0x9537('0x31')],'_c')?!![]:![],'options':_0x5e50d4['options']?_['map'](_[_0x9537('0x75')](_0x5e50d4['options']),function(_0x3c89bf){return{'name':_0x3c89bf[_0x9537('0x7a')],'value':_0x3c89bf[_0x9537('0x31')]};}):[]};})};}})[_0x9537('0x1c')](respondWithResult(_0x8639fc,null))[_0x9537('0x27')](function(_0x5d89c2){var _0x594057=_0x1a43ab[_0x9537('0x39')][_0x9537('0x7b')]?0x1f4:_0x5d89c2[_0x9537('0x7c')]||0x1f4;logger['error'](_0x9537('0x7d'),_0x9537('0x5f'),_0x594057,JSON[_0x9537('0x22')](_0x5d89c2));delete _0x5d89c2[_0x9537('0x31')];if(_0x594057===0x191){_0x594057=0x190;}_0x8639fc[_0x9537('0x29')](_0x594057)['send'](_0x1a43ab[_0x9537('0x39')][_0x9537('0x7b')]?{'message':'Wrong\x20credentials','statusCode':_0x5d89c2[_0x9537('0x7c')]}:_0x5d89c2);});}else{var _0x3326c0=0x1f4;_0x8639fc['status'](_0x3326c0)['send']({'message':_0x9537('0x7e'),'statusCode':0x190});}});};