Built motion from commit (unavailable).|2.5.1
[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 _0x84b3=['fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','jayson/promise','client','http','request','then','info','SugarcrmAccount,\x20%s,\x20%s','request\x20sent','debug','SugarcrmAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','end','json','count','limit','set','Content-Range','reject','save','update','destroy','stack','send','map','rawAttributes','type','model','name','query','keys','filters','attributes','fields','length','hasOwnProperty','offset','sort','where','pick','filter','merge','options','SugarcrmAccount','includeAll','include','findAll','show','params','intersection','find','create','body','getConfigurations','findOne','nolimit','Subjects','getSubjects','channel','Descriptions','SugarcrmConfiguration','SugarcrmField','getFields','created_by','description','date_start','duration_hours','duration_minutes','parent_id','parent_type','parent_name','direction','password','remoteUri','slice','substring','POST','format','%s%s','/service/v4_1/rest.php','login','JSON','username','PLAIN','xCALLY\x20Motion\x20Integration','Invalid\x20Login','Password\x20Expired','values','module_fields','remove','label','endsWith','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir'];(function(_0x8592e7,_0x9390f2){var _0x1a2b5c=function(_0x328065){while(--_0x328065){_0x8592e7['push'](_0x8592e7['shift']());}};_0x1a2b5c(++_0x9390f2);}(_0x84b3,0x17c));var _0x384b=function(_0x13531d,_0x2fa7b0){_0x13531d=_0x13531d-0x0;var _0xce229e=_0x84b3[_0x13531d];return _0xce229e;};'use strict';var pdf=require(_0x384b('0x0'));var emlformat=require(_0x384b('0x1'));var rimraf=require(_0x384b('0x2'));var zipdir=require(_0x384b('0x3'));var jsonpatch=require(_0x384b('0x4'));var rp=require(_0x384b('0x5'));var moment=require(_0x384b('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x384b('0x7'));var util=require(_0x384b('0x8'));var path=require(_0x384b('0x9'));var sox=require(_0x384b('0xa'));var csv=require('to-csv');var ejs=require(_0x384b('0xb'));var fs=require('fs');var _=require(_0x384b('0xc'));var squel=require('squel');var crypto=require(_0x384b('0xd'));var jsforce=require(_0x384b('0xe'));var deskjs=require(_0x384b('0xf'));var toCsv=require(_0x384b('0x10'));var querystring=require('querystring');var Papa=require(_0x384b('0x11'));var Redis=require(_0x384b('0x12'));var authService=require(_0x384b('0x13'));var qs=require(_0x384b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x384b('0x15'))('api');var utils=require(_0x384b('0x16'));var config=require(_0x384b('0x17'));var licenseUtil=require(_0x384b('0x18'));var db=require('../../mysqldb')['db'];var integrations=require(_0x384b('0x19'));var jayson=require(_0x384b('0x1a'));var client=jayson[_0x384b('0x1b')][_0x384b('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x48ce96,_0x4cc8e1,_0x5f16cd,_0x4670a4){return new BPromise(function(_0x1d8df5,_0x2095df){var _0xd59e97=_0x4670a4||client;return _0xd59e97[_0x384b('0x1d')](_0x48ce96,_0x5f16cd)[_0x384b('0x1e')](function(_0x5374b1){logger[_0x384b('0x1f')](_0x384b('0x20'),_0x4cc8e1,_0x384b('0x21'));logger[_0x384b('0x22')](_0x384b('0x23'),_0x4cc8e1,_0x384b('0x21'),JSON['stringify'](_0x5374b1));if(_0x5374b1[_0x384b('0x24')]){if(_0x5374b1[_0x384b('0x24')][_0x384b('0x25')]===0x1f4){logger[_0x384b('0x24')]('SugarcrmAccount,\x20%s,\x20%s',_0x4cc8e1,_0x5374b1[_0x384b('0x24')][_0x384b('0x26')]);return _0x2095df(_0x5374b1[_0x384b('0x24')]['message']);}logger[_0x384b('0x24')]('SugarcrmAccount,\x20%s,\x20%s',_0x4cc8e1,_0x5374b1[_0x384b('0x24')][_0x384b('0x26')]);return _0x1d8df5(_0x5374b1['error'][_0x384b('0x26')]);}else{logger[_0x384b('0x1f')](_0x384b('0x20'),_0x4cc8e1,_0x384b('0x21'));_0x1d8df5(_0x5374b1[_0x384b('0x27')][_0x384b('0x26')]);}})[_0x384b('0x28')](function(_0x4179f6){logger['error'](_0x384b('0x20'),_0x4cc8e1,_0x4179f6);_0x2095df(_0x4179f6);});});}function respondWithStatusCode(_0x517cf4,_0x6d78d4){_0x6d78d4=_0x6d78d4||0xcc;return function(_0x3c6df2){if(_0x3c6df2){return _0x517cf4[_0x384b('0x29')](_0x6d78d4);}return _0x517cf4[_0x384b('0x2a')](_0x6d78d4)[_0x384b('0x2b')]();};}function respondWithResult(_0x20539f,_0x332ec9){_0x332ec9=_0x332ec9||0xc8;return function(_0x207ae1){if(_0x207ae1){return _0x20539f['status'](_0x332ec9)[_0x384b('0x2c')](_0x207ae1);}};}function respondWithFilteredResult(_0x89240f,_0x32c14a){return function(_0x3eb165){if(_0x3eb165){var _0x4b68ad=_0x3eb165[_0x384b('0x2d')],_0x499845=_0x32c14a['offset'],_0x16aebd=_0x32c14a['offset']+_0x32c14a[_0x384b('0x2e')],_0x11f847;if(_0x16aebd>=_0x4b68ad){_0x16aebd=_0x4b68ad;_0x11f847=0xc8;}else{_0x11f847=0xce;}_0x89240f[_0x384b('0x2a')](_0x11f847);return _0x89240f[_0x384b('0x2f')](_0x384b('0x30'),_0x499845+'-'+_0x16aebd+'/'+_0x4b68ad)[_0x384b('0x2c')](_0x3eb165);}return null;};}function patchUpdates(_0x517858){return function(_0x41d368){try{jsonpatch['apply'](_0x41d368,_0x517858,!![]);}catch(_0x46819a){return BPromise[_0x384b('0x31')](_0x46819a);}return _0x41d368[_0x384b('0x32')]();};}function saveUpdates(_0x6f7eae,_0x4d8413){return function(_0x2fdb9d){if(_0x2fdb9d){return _0x2fdb9d[_0x384b('0x33')](_0x6f7eae)[_0x384b('0x1e')](function(_0xce56b4){return _0xce56b4;});}return null;};}function removeEntity(_0x1ac013,_0x15b190){return function(_0x28e7e0){if(_0x28e7e0){return _0x28e7e0[_0x384b('0x34')]()[_0x384b('0x1e')](function(){_0x1ac013[_0x384b('0x2a')](0xcc)[_0x384b('0x2b')]();});}};}function handleEntityNotFound(_0x31153f,_0x4cecbd){return function(_0x4b0d21){if(!_0x4b0d21){_0x31153f[_0x384b('0x29')](0x194);}return _0x4b0d21;};}function handleError(_0x5dfdd5,_0x57c1f7){_0x57c1f7=_0x57c1f7||0x1f4;return function(_0x586ff5){logger[_0x384b('0x24')](_0x586ff5[_0x384b('0x35')]);if(_0x586ff5['name']){delete _0x586ff5['name'];}_0x5dfdd5[_0x384b('0x2a')](_0x57c1f7)[_0x384b('0x36')](_0x586ff5);};}exports['index']=function(_0x3857a4,_0x5f2da8){var _0x3374ad={},_0x56506c={},_0x3a2574={'count':0x0,'rows':[]};var _0x190f39=_[_0x384b('0x37')](db['SugarcrmAccount'][_0x384b('0x38')],function(_0x44c783){return{'name':_0x44c783['fieldName'],'type':_0x44c783[_0x384b('0x39')]['key']};});_0x56506c[_0x384b('0x3a')]=_['map'](_0x190f39,_0x384b('0x3b'));_0x56506c[_0x384b('0x3c')]=_[_0x384b('0x3d')](_0x3857a4[_0x384b('0x3c')]);_0x56506c[_0x384b('0x3e')]=_['intersection'](_0x56506c[_0x384b('0x3a')],_0x56506c[_0x384b('0x3c')]);_0x3374ad[_0x384b('0x3f')]=_['intersection'](_0x56506c[_0x384b('0x3a')],qs['fields'](_0x3857a4[_0x384b('0x3c')][_0x384b('0x40')]));_0x3374ad['attributes']=_0x3374ad[_0x384b('0x3f')][_0x384b('0x41')]?_0x3374ad[_0x384b('0x3f')]:_0x56506c['model'];if(!_0x3857a4['query'][_0x384b('0x42')]('nolimit')){_0x3374ad[_0x384b('0x2e')]=qs[_0x384b('0x2e')](_0x3857a4['query'][_0x384b('0x2e')]);_0x3374ad[_0x384b('0x43')]=qs[_0x384b('0x43')](_0x3857a4['query'][_0x384b('0x43')]);}_0x3374ad['order']=qs[_0x384b('0x44')](_0x3857a4[_0x384b('0x3c')][_0x384b('0x44')]);_0x3374ad[_0x384b('0x45')]=qs['filters'](_[_0x384b('0x46')](_0x3857a4['query'],_0x56506c[_0x384b('0x3e')]),_0x190f39);if(_0x3857a4['query'][_0x384b('0x47')]){_0x3374ad[_0x384b('0x45')]=_[_0x384b('0x48')](_0x3374ad[_0x384b('0x45')],{'$or':_[_0x384b('0x37')](_0x190f39,function(_0x3731b2){if(_0x3731b2[_0x384b('0x39')]!=='VIRTUAL'){var _0x2a1a53={};_0x2a1a53[_0x3731b2[_0x384b('0x3b')]]={'$like':'%'+_0x3857a4[_0x384b('0x3c')][_0x384b('0x47')]+'%'};return _0x2a1a53;}})});}_0x3374ad=_[_0x384b('0x48')]({},_0x3374ad,_0x3857a4[_0x384b('0x49')]);var _0x56f013={'where':_0x3374ad[_0x384b('0x45')]};return db[_0x384b('0x4a')]['count'](_0x56f013)[_0x384b('0x1e')](function(_0x230592){_0x3a2574['count']=_0x230592;if(_0x3857a4[_0x384b('0x3c')][_0x384b('0x4b')]){_0x3374ad[_0x384b('0x4c')]=[{'all':!![]}];}return db[_0x384b('0x4a')][_0x384b('0x4d')](_0x3374ad);})[_0x384b('0x1e')](function(_0x119c14){_0x3a2574['rows']=_0x119c14;return _0x3a2574;})['then'](respondWithFilteredResult(_0x5f2da8,_0x3374ad))[_0x384b('0x28')](handleError(_0x5f2da8,null));};exports[_0x384b('0x4e')]=function(_0x43c39f,_0xa10ef6){var _0x4802b3={'raw':![],'where':{'id':_0x43c39f[_0x384b('0x4f')]['id']}},_0x32d087={};_0x32d087['model']=_['keys'](db[_0x384b('0x4a')][_0x384b('0x38')]);_0x32d087[_0x384b('0x3c')]=_[_0x384b('0x3d')](_0x43c39f[_0x384b('0x3c')]);_0x32d087[_0x384b('0x3e')]=_[_0x384b('0x50')](_0x32d087[_0x384b('0x3a')],_0x32d087['query']);_0x4802b3[_0x384b('0x3f')]=_[_0x384b('0x50')](_0x32d087[_0x384b('0x3a')],qs[_0x384b('0x40')](_0x43c39f['query'][_0x384b('0x40')]));_0x4802b3['attributes']=_0x4802b3[_0x384b('0x3f')][_0x384b('0x41')]?_0x4802b3[_0x384b('0x3f')]:_0x32d087['model'];if(_0x43c39f['query'][_0x384b('0x4b')]){_0x4802b3[_0x384b('0x4c')]=[{'all':!![]}];}_0x4802b3=_['merge']({},_0x4802b3,_0x43c39f['options']);return db[_0x384b('0x4a')][_0x384b('0x51')](_0x4802b3)[_0x384b('0x1e')](handleEntityNotFound(_0xa10ef6,null))[_0x384b('0x1e')](respondWithResult(_0xa10ef6,null))[_0x384b('0x28')](handleError(_0xa10ef6,null));};exports[_0x384b('0x52')]=function(_0x35c5d2,_0x1509dc){return db['SugarcrmAccount']['create'](_0x35c5d2[_0x384b('0x53')],{})[_0x384b('0x1e')](respondWithResult(_0x1509dc,0xc9))[_0x384b('0x28')](handleError(_0x1509dc,null));};exports['update']=function(_0xbf8a7f,_0x2cda09){if(_0xbf8a7f[_0x384b('0x53')]['id']){delete _0xbf8a7f[_0x384b('0x53')]['id'];}return db[_0x384b('0x4a')][_0x384b('0x51')]({'where':{'id':_0xbf8a7f[_0x384b('0x4f')]['id']}})[_0x384b('0x1e')](handleEntityNotFound(_0x2cda09,null))['then'](saveUpdates(_0xbf8a7f[_0x384b('0x53')],null))['then'](respondWithResult(_0x2cda09,null))[_0x384b('0x28')](handleError(_0x2cda09,null));};exports[_0x384b('0x34')]=function(_0x4eda96,_0x44b253){return db['SugarcrmAccount'][_0x384b('0x51')]({'where':{'id':_0x4eda96[_0x384b('0x4f')]['id']}})[_0x384b('0x1e')](handleEntityNotFound(_0x44b253,null))['then'](removeEntity(_0x44b253,null))['catch'](handleError(_0x44b253,null));};exports[_0x384b('0x54')]=function(_0x4364fd,_0x1011d9,_0x28b41f){var _0x4adc83={};var _0x5ddedc={};var _0x37da3d;var _0x419e97;return db[_0x384b('0x4a')][_0x384b('0x55')]({'where':{'id':_0x4364fd[_0x384b('0x4f')]['id']}})[_0x384b('0x1e')](handleEntityNotFound(_0x1011d9,null))[_0x384b('0x1e')](function(_0xa255ec){if(_0xa255ec){_0x37da3d=_0xa255ec;_0x5ddedc['model']=_[_0x384b('0x3d')](db['SugarcrmConfiguration'][_0x384b('0x38')]);_0x5ddedc[_0x384b('0x3c')]=_['keys'](_0x4364fd[_0x384b('0x3c')]);_0x5ddedc[_0x384b('0x3e')]=_['intersection'](_0x5ddedc[_0x384b('0x3a')],_0x5ddedc['query']);_0x4adc83['attributes']=_['intersection'](_0x5ddedc[_0x384b('0x3a')],qs['fields'](_0x4364fd['query'][_0x384b('0x40')]));_0x4adc83[_0x384b('0x3f')]=_0x4adc83[_0x384b('0x3f')][_0x384b('0x41')]?_0x4adc83['attributes']:_0x5ddedc['model'];_0x4adc83['order']=qs[_0x384b('0x44')](_0x4364fd[_0x384b('0x3c')][_0x384b('0x44')]);_0x4adc83[_0x384b('0x45')]=qs[_0x384b('0x3e')](_['pick'](_0x4364fd[_0x384b('0x3c')],_0x5ddedc[_0x384b('0x3e')]));if(_0x4364fd['query'][_0x384b('0x47')]){_0x4adc83['where']=_[_0x384b('0x48')](_0x4adc83['where'],{'$or':_[_0x384b('0x37')](_0x4adc83[_0x384b('0x3f')],function(_0x3973db){var _0x57b9d9={};_0x57b9d9[_0x3973db]={'$like':'%'+_0x4364fd[_0x384b('0x3c')]['filter']+'%'};return _0x57b9d9;})});}_0x4adc83=_['merge']({},_0x4adc83,_0x4364fd[_0x384b('0x49')]);return _0x37da3d[_0x384b('0x54')](_0x4adc83);}})[_0x384b('0x1e')](function(_0x17b784){if(_0x17b784){_0x419e97=_0x17b784[_0x384b('0x41')];if(!_0x4364fd['query']['hasOwnProperty'](_0x384b('0x56'))){_0x4adc83['limit']=qs['limit'](_0x4364fd[_0x384b('0x3c')]['limit']);_0x4adc83[_0x384b('0x43')]=qs['offset'](_0x4364fd[_0x384b('0x3c')][_0x384b('0x43')]);}return _0x37da3d['getConfigurations'](_0x4adc83);}})[_0x384b('0x1e')](function(_0x119e1d){if(_0x119e1d){return _0x119e1d?{'count':_0x419e97,'rows':_0x119e1d}:null;}})['then'](respondWithResult(_0x1011d9,null))[_0x384b('0x28')](handleError(_0x1011d9,null));};exports['addConfiguration']=function(_0x59a132,_0x351b4b,_0x2d4f94){if(_0x59a132[_0x384b('0x53')]['id']){delete _0x59a132[_0x384b('0x53')]['id'];}return db[_0x384b('0x4a')][_0x384b('0x55')]({'where':{'id':_0x59a132['params']['id']}})['then'](handleEntityNotFound(_0x351b4b,null))[_0x384b('0x1e')](function(_0x5ac632){if(_0x5ac632){_0x59a132[_0x384b('0x53')]['AccountId']=_0x5ac632['id'];_0x59a132['body'][_0x384b('0x57')]=integrations[_0x384b('0x58')](_0x59a132[_0x384b('0x53')][_0x384b('0x59')],_0x59a132['body'][_0x384b('0x39')]);_0x59a132[_0x384b('0x53')][_0x384b('0x5a')]=integrations['getDescriptions'](_0x59a132[_0x384b('0x53')][_0x384b('0x59')],_0x59a132[_0x384b('0x53')]['type']);return db[_0x384b('0x5b')][_0x384b('0x52')](_0x59a132[_0x384b('0x53')],{'include':[{'model':db[_0x384b('0x5c')],'as':_0x384b('0x57')},{'model':db['SugarcrmField'],'as':_0x384b('0x5a')}]});}return null;})[_0x384b('0x1e')](respondWithResult(_0x351b4b,null))[_0x384b('0x28')](handleError(_0x351b4b,null));};exports[_0x384b('0x5d')]=function(_0x30d665,_0x59f0f5,_0x56d399){var _0x397ee0='';var _0x3236c1=['id','name','assigned_user_id',_0x384b('0x5e'),_0x384b('0x5f'),_0x384b('0x60'),_0x384b('0x61'),_0x384b('0x62'),_0x384b('0x63'),_0x384b('0x64'),_0x384b('0x65'),_0x384b('0x66')];return db[_0x384b('0x4a')][_0x384b('0x55')]({'where':{'id':_0x30d665['params']['id']},'attributes':['id','username',_0x384b('0x67'),_0x384b('0x68')]})['then'](handleEntityNotFound(_0x59f0f5,null))[_0x384b('0x1e')](function(_0x5f3aa4){if(_0x5f3aa4){_0x397ee0=_0x5f3aa4[_0x384b('0x68')];var _0x58c05d=_0x397ee0[_0x384b('0x69')](-0x1);if(_0x58c05d==='/'){_0x397ee0=_0x397ee0[_0x384b('0x6a')](0x0,_0x397ee0['lastIndexOf'](_0x58c05d));}return rp({'method':_0x384b('0x6b'),'uri':util[_0x384b('0x6c')](_0x384b('0x6d'),_0x397ee0,_0x384b('0x6e')),'json':!![],'form':{'method':_0x384b('0x6f'),'input_type':_0x384b('0x70'),'response_type':_0x384b('0x70'),'rest_data':JSON['stringify']({'user_auth':{'user_name':_0x5f3aa4[_0x384b('0x71')],'password':_0x5f3aa4[_0x384b('0x67')],'encryption':_0x384b('0x72')},'application':_0x384b('0x73')})}});}})[_0x384b('0x1e')](function(_0x2b0388){if(_0x2b0388&&_0x2b0388['name']!==_0x384b('0x74')&&_0x2b0388[_0x384b('0x3b')]!==_0x384b('0x75')){return rp({'method':'POST','uri':util[_0x384b('0x6c')](_0x384b('0x6d'),_0x397ee0,_0x384b('0x6e')),'json':!![],'form':{'method':'get_module_fields','input_type':_0x384b('0x70'),'response_type':_0x384b('0x70'),'rest_data':JSON['stringify']({'session':_0x2b0388['id'],'module_name':'Calls'})}})['then'](function(_0x6025d){if(_0x6025d){var _0x5d67f0=_[_0x384b('0x76')](_0x6025d[_0x384b('0x77')]);_[_0x384b('0x78')](_0x5d67f0,function(_0x3601f7){return _0x3236c1['includes'](_0x3601f7[_0x384b('0x3b')]);});return{'count':_0x5d67f0['length'],'rows':_[_0x384b('0x37')](_0x5d67f0,function(_0x521dd3){return{'id':_0x521dd3['name'],'name':_0x521dd3[_0x384b('0x79')],'custom':_[_0x384b('0x7a')](_0x521dd3['name'],'_c')?!![]:![],'options':_0x521dd3[_0x384b('0x49')]?_[_0x384b('0x37')](_['values'](_0x521dd3['options']),function(_0x1011e2){return{'name':_0x1011e2['value'],'value':_0x1011e2[_0x384b('0x3b')]};}):[]};})};}})[_0x384b('0x1e')](respondWithResult(_0x59f0f5,null))['catch'](function(_0x384ef2){var _0x5c928e=_0x30d665[_0x384b('0x3c')][_0x384b('0x7b')]?0x1f4:_0x384ef2[_0x384b('0x7c')]||0x1f4;logger[_0x384b('0x24')](_0x384b('0x7d'),_0x384b('0x5d'),_0x5c928e,JSON[_0x384b('0x7e')](_0x384ef2));delete _0x384ef2[_0x384b('0x3b')];if(_0x5c928e===0x191){_0x5c928e=0x190;}_0x59f0f5['status'](_0x5c928e)['send'](_0x30d665[_0x384b('0x3c')][_0x384b('0x7b')]?{'message':_0x384b('0x7f'),'statusCode':_0x384ef2['statusCode']}:_0x384ef2);});}else{var _0x9e209b=0x1f4;_0x59f0f5[_0x384b('0x2a')](_0x9e209b)['send']({'message':_0x384b('0x7f'),'statusCode':0x190});}});};