Built motion from commit 936e8062.|2.5.33
[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 _0xcd2a=['end','name','send','index','map','SugarcrmAccount','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','includeAll','find','body','findOne','order','pick','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','SugarcrmConfiguration','create','SugarcrmField','assigned_user_id','created_by','description','date_start','duration_hours','duration_minutes','parent_name','direction','username','password','substring','lastIndexOf','POST','format','/service/v4_1/rest.php','login','JSON','Password\x20Expired','%s%s','get_module_fields','stringify','Calls','values','module_fields','remove','includes','label','endsWith','value','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','undefined','offset','count','Content-Range','apply','save','update','destroy','then'];(function(_0x8bc82e,_0x251094){var _0x152385=function(_0x262406){while(--_0x262406){_0x8bc82e['push'](_0x8bc82e['shift']());}};_0x152385(++_0x251094);}(_0xcd2a,0x13f));var _0xacd2=function(_0x246f92,_0xcf7bd4){_0x246f92=_0x246f92-0x0;var _0x2b8e7d=_0xcd2a[_0x246f92];return _0x2b8e7d;};'use strict';var emlformat=require(_0xacd2('0x0'));var rimraf=require(_0xacd2('0x1'));var zipdir=require(_0xacd2('0x2'));var jsonpatch=require(_0xacd2('0x3'));var rp=require('request-promise');var moment=require(_0xacd2('0x4'));var BPromise=require(_0xacd2('0x5'));var Mustache=require('mustache');var util=require(_0xacd2('0x6'));var path=require(_0xacd2('0x7'));var sox=require(_0xacd2('0x8'));var csv=require(_0xacd2('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xacd2('0xa'));var _=require(_0xacd2('0xb'));var squel=require(_0xacd2('0xc'));var crypto=require(_0xacd2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xacd2('0xe'));var toCsv=require('to-csv');var querystring=require(_0xacd2('0xf'));var Papa=require(_0xacd2('0x10'));var Redis=require('ioredis');var authService=require(_0xacd2('0x11'));var qs=require(_0xacd2('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xacd2('0x13'))(_0xacd2('0x14'));var utils=require(_0xacd2('0x15'));var config=require(_0xacd2('0x16'));var licenseUtil=require(_0xacd2('0x17'));var db=require(_0xacd2('0x18'))['db'];var integrations=require(_0xacd2('0x19'));function respondWithStatusCode(_0x2bde0c,_0x268397){_0x268397=_0x268397||0xcc;return function(_0x46df7){if(_0x46df7){return _0x2bde0c[_0xacd2('0x1a')](_0x268397);}return _0x2bde0c[_0xacd2('0x1b')](_0x268397)['end']();};}function respondWithResult(_0xc5d2fc,_0x35883a){_0x35883a=_0x35883a||0xc8;return function(_0x136872){if(_0x136872){return _0xc5d2fc[_0xacd2('0x1b')](_0x35883a)[_0xacd2('0x1c')](_0x136872);}};}function respondWithFilteredResult(_0x292299,_0x5361d2){return function(_0x730780){if(_0x730780){var _0x4d6fde=typeof _0x5361d2['offset']===_0xacd2('0x1d')&&typeof _0x5361d2['limit']===_0xacd2('0x1d');var _0x1fa44f=_0x730780['count'];var _0x115d7e=_0x4d6fde?0x0:_0x5361d2[_0xacd2('0x1e')];var _0x3f4411=_0x4d6fde?_0x730780[_0xacd2('0x1f')]:_0x5361d2[_0xacd2('0x1e')]+_0x5361d2['limit'];var _0x5a5dc1;if(_0x3f4411>=_0x1fa44f){_0x3f4411=_0x1fa44f;_0x5a5dc1=0xc8;}else{_0x5a5dc1=0xce;}_0x292299[_0xacd2('0x1b')](_0x5a5dc1);return _0x292299['set'](_0xacd2('0x20'),_0x115d7e+'-'+_0x3f4411+'/'+_0x1fa44f)['json'](_0x730780);}return null;};}function patchUpdates(_0x2ffb08){return function(_0x486c9){try{jsonpatch[_0xacd2('0x21')](_0x486c9,_0x2ffb08,!![]);}catch(_0x54fd54){return BPromise['reject'](_0x54fd54);}return _0x486c9[_0xacd2('0x22')]();};}function saveUpdates(_0x3059b0,_0x355cb0){return function(_0x4a8ee3){if(_0x4a8ee3){return _0x4a8ee3[_0xacd2('0x23')](_0x3059b0)['then'](function(_0x5130dc){return _0x5130dc;});}return null;};}function removeEntity(_0x4b7f65,_0x201675){return function(_0x5a0d55){if(_0x5a0d55){return _0x5a0d55[_0xacd2('0x24')]()[_0xacd2('0x25')](function(){_0x4b7f65[_0xacd2('0x1b')](0xcc)[_0xacd2('0x26')]();});}};}function handleEntityNotFound(_0xf3ab93,_0x218d74){return function(_0x466576){if(!_0x466576){_0xf3ab93[_0xacd2('0x1a')](0x194);}return _0x466576;};}function handleError(_0x5202b8,_0x2b844c){_0x2b844c=_0x2b844c||0x1f4;return function(_0x3b90b1){logger['error'](_0x3b90b1['stack']);if(_0x3b90b1[_0xacd2('0x27')]){delete _0x3b90b1[_0xacd2('0x27')];}_0x5202b8['status'](_0x2b844c)[_0xacd2('0x28')](_0x3b90b1);};}exports[_0xacd2('0x29')]=function(_0x552f93,_0x57fffe){var _0x24af95={},_0xc48ccc={},_0x1ec9bc={'count':0x0,'rows':[]};var _0x43fb8a=_[_0xacd2('0x2a')](db[_0xacd2('0x2b')][_0xacd2('0x2c')],function(_0x162715){return{'name':_0x162715['fieldName'],'type':_0x162715[_0xacd2('0x2d')]['key']};});_0xc48ccc[_0xacd2('0x2e')]=_[_0xacd2('0x2a')](_0x43fb8a,_0xacd2('0x27'));_0xc48ccc[_0xacd2('0x2f')]=_[_0xacd2('0x30')](_0x552f93[_0xacd2('0x2f')]);_0xc48ccc[_0xacd2('0x31')]=_[_0xacd2('0x32')](_0xc48ccc[_0xacd2('0x2e')],_0xc48ccc[_0xacd2('0x2f')]);_0x24af95[_0xacd2('0x33')]=_[_0xacd2('0x32')](_0xc48ccc['model'],qs[_0xacd2('0x34')](_0x552f93['query'][_0xacd2('0x34')]));_0x24af95[_0xacd2('0x33')]=_0x24af95[_0xacd2('0x33')][_0xacd2('0x35')]?_0x24af95['attributes']:_0xc48ccc[_0xacd2('0x2e')];if(!_0x552f93['query'][_0xacd2('0x36')](_0xacd2('0x37'))){_0x24af95['limit']=qs['limit'](_0x552f93[_0xacd2('0x2f')][_0xacd2('0x38')]);_0x24af95[_0xacd2('0x1e')]=qs[_0xacd2('0x1e')](_0x552f93[_0xacd2('0x2f')][_0xacd2('0x1e')]);}_0x24af95['order']=qs['sort'](_0x552f93['query'][_0xacd2('0x39')]);_0x24af95[_0xacd2('0x3a')]=qs[_0xacd2('0x31')](_['pick'](_0x552f93[_0xacd2('0x2f')],_0xc48ccc[_0xacd2('0x31')]),_0x43fb8a);if(_0x552f93[_0xacd2('0x2f')][_0xacd2('0x3b')]){_0x24af95[_0xacd2('0x3a')]=_[_0xacd2('0x3c')](_0x24af95[_0xacd2('0x3a')],{'$or':_[_0xacd2('0x2a')](_0x43fb8a,function(_0x15da3d){if(_0x15da3d[_0xacd2('0x2d')]!==_0xacd2('0x3d')){var _0x452bda={};_0x452bda[_0x15da3d['name']]={'$like':'%'+_0x552f93['query'][_0xacd2('0x3b')]+'%'};return _0x452bda;}})});}_0x24af95=_['merge']({},_0x24af95,_0x552f93[_0xacd2('0x3e')]);var _0x2c09c1={'where':_0x24af95[_0xacd2('0x3a')]};return db[_0xacd2('0x2b')][_0xacd2('0x1f')](_0x2c09c1)[_0xacd2('0x25')](function(_0x2d1e30){_0x1ec9bc[_0xacd2('0x1f')]=_0x2d1e30;if(_0x552f93['query']['includeAll']){_0x24af95[_0xacd2('0x3f')]=[{'all':!![]}];}return db[_0xacd2('0x2b')][_0xacd2('0x40')](_0x24af95);})[_0xacd2('0x25')](function(_0x5af3ef){_0x1ec9bc[_0xacd2('0x41')]=_0x5af3ef;return _0x1ec9bc;})['then'](respondWithFilteredResult(_0x57fffe,_0x24af95))[_0xacd2('0x42')](handleError(_0x57fffe,null));};exports['show']=function(_0x3ffad1,_0x45d48b){var _0x44c2fd={'raw':![],'where':{'id':_0x3ffad1[_0xacd2('0x43')]['id']}},_0x17a3ac={};_0x17a3ac['model']=_[_0xacd2('0x30')](db[_0xacd2('0x2b')]['rawAttributes']);_0x17a3ac['query']=_['keys'](_0x3ffad1[_0xacd2('0x2f')]);_0x17a3ac[_0xacd2('0x31')]=_[_0xacd2('0x32')](_0x17a3ac[_0xacd2('0x2e')],_0x17a3ac[_0xacd2('0x2f')]);_0x44c2fd[_0xacd2('0x33')]=_[_0xacd2('0x32')](_0x17a3ac[_0xacd2('0x2e')],qs[_0xacd2('0x34')](_0x3ffad1[_0xacd2('0x2f')][_0xacd2('0x34')]));_0x44c2fd[_0xacd2('0x33')]=_0x44c2fd['attributes']['length']?_0x44c2fd[_0xacd2('0x33')]:_0x17a3ac[_0xacd2('0x2e')];if(_0x3ffad1[_0xacd2('0x2f')][_0xacd2('0x44')]){_0x44c2fd[_0xacd2('0x3f')]=[{'all':!![]}];}_0x44c2fd=_['merge']({},_0x44c2fd,_0x3ffad1[_0xacd2('0x3e')]);return db[_0xacd2('0x2b')][_0xacd2('0x45')](_0x44c2fd)[_0xacd2('0x25')](handleEntityNotFound(_0x45d48b,null))['then'](respondWithResult(_0x45d48b,null))[_0xacd2('0x42')](handleError(_0x45d48b,null));};exports['create']=function(_0x26e974,_0x332d0f){return db['SugarcrmAccount']['create'](_0x26e974[_0xacd2('0x46')],{})[_0xacd2('0x25')](respondWithResult(_0x332d0f,0xc9))[_0xacd2('0x42')](handleError(_0x332d0f,null));};exports[_0xacd2('0x23')]=function(_0x119122,_0x2a9eb8){if(_0x119122['body']['id']){delete _0x119122[_0xacd2('0x46')]['id'];}return db[_0xacd2('0x2b')]['find']({'where':{'id':_0x119122[_0xacd2('0x43')]['id']}})[_0xacd2('0x25')](handleEntityNotFound(_0x2a9eb8,null))[_0xacd2('0x25')](saveUpdates(_0x119122[_0xacd2('0x46')],null))['then'](respondWithResult(_0x2a9eb8,null))[_0xacd2('0x42')](handleError(_0x2a9eb8,null));};exports[_0xacd2('0x24')]=function(_0x21f49d,_0x2be629){return db['SugarcrmAccount'][_0xacd2('0x45')]({'where':{'id':_0x21f49d[_0xacd2('0x43')]['id']}})[_0xacd2('0x25')](handleEntityNotFound(_0x2be629,null))[_0xacd2('0x25')](removeEntity(_0x2be629,null))[_0xacd2('0x42')](handleError(_0x2be629,null));};exports['getConfigurations']=function(_0xb98abc,_0x186839,_0x3f8543){var _0x489ce5={};var _0x3c301a={};var _0x2b4e32;var _0x2d5828;return db[_0xacd2('0x2b')][_0xacd2('0x47')]({'where':{'id':_0xb98abc[_0xacd2('0x43')]['id']}})['then'](handleEntityNotFound(_0x186839,null))['then'](function(_0x101d7a){if(_0x101d7a){_0x2b4e32=_0x101d7a;_0x3c301a[_0xacd2('0x2e')]=_[_0xacd2('0x30')](db['SugarcrmConfiguration'][_0xacd2('0x2c')]);_0x3c301a['query']=_[_0xacd2('0x30')](_0xb98abc[_0xacd2('0x2f')]);_0x3c301a[_0xacd2('0x31')]=_[_0xacd2('0x32')](_0x3c301a[_0xacd2('0x2e')],_0x3c301a[_0xacd2('0x2f')]);_0x489ce5[_0xacd2('0x33')]=_[_0xacd2('0x32')](_0x3c301a[_0xacd2('0x2e')],qs['fields'](_0xb98abc['query'][_0xacd2('0x34')]));_0x489ce5[_0xacd2('0x33')]=_0x489ce5['attributes']['length']?_0x489ce5['attributes']:_0x3c301a['model'];_0x489ce5[_0xacd2('0x48')]=qs[_0xacd2('0x39')](_0xb98abc['query'][_0xacd2('0x39')]);_0x489ce5[_0xacd2('0x3a')]=qs[_0xacd2('0x31')](_[_0xacd2('0x49')](_0xb98abc[_0xacd2('0x2f')],_0x3c301a['filters']));if(_0xb98abc[_0xacd2('0x2f')][_0xacd2('0x3b')]){_0x489ce5[_0xacd2('0x3a')]=_['merge'](_0x489ce5[_0xacd2('0x3a')],{'$or':_[_0xacd2('0x2a')](_0x489ce5[_0xacd2('0x33')],function(_0x1ac39a){var _0x4a1941={};_0x4a1941[_0x1ac39a]={'$like':'%'+_0xb98abc[_0xacd2('0x2f')][_0xacd2('0x3b')]+'%'};return _0x4a1941;})});}_0x489ce5=_[_0xacd2('0x3c')]({},_0x489ce5,_0xb98abc[_0xacd2('0x3e')]);return _0x2b4e32[_0xacd2('0x4a')](_0x489ce5);}})[_0xacd2('0x25')](function(_0x16c684){if(_0x16c684){_0x2d5828=_0x16c684[_0xacd2('0x35')];if(!_0xb98abc[_0xacd2('0x2f')][_0xacd2('0x36')](_0xacd2('0x37'))){_0x489ce5[_0xacd2('0x38')]=qs[_0xacd2('0x38')](_0xb98abc[_0xacd2('0x2f')][_0xacd2('0x38')]);_0x489ce5[_0xacd2('0x1e')]=qs[_0xacd2('0x1e')](_0xb98abc[_0xacd2('0x2f')][_0xacd2('0x1e')]);}return _0x2b4e32['getConfigurations'](_0x489ce5);}})['then'](function(_0x3be90b){if(_0x3be90b){return _0x3be90b?{'count':_0x2d5828,'rows':_0x3be90b}:null;}})[_0xacd2('0x25')](respondWithResult(_0x186839,null))[_0xacd2('0x42')](handleError(_0x186839,null));};exports[_0xacd2('0x4b')]=function(_0x12a65d,_0x9bb72e,_0x441965){if(_0x12a65d[_0xacd2('0x46')]['id']){delete _0x12a65d[_0xacd2('0x46')]['id'];}return db['SugarcrmAccount'][_0xacd2('0x47')]({'where':{'id':_0x12a65d[_0xacd2('0x43')]['id']}})[_0xacd2('0x25')](handleEntityNotFound(_0x9bb72e,null))[_0xacd2('0x25')](function(_0x44309a){if(_0x44309a){_0x12a65d[_0xacd2('0x46')][_0xacd2('0x4c')]=_0x44309a['id'];_0x12a65d['body'][_0xacd2('0x4d')]=integrations[_0xacd2('0x4e')](_0x12a65d[_0xacd2('0x46')][_0xacd2('0x4f')],_0x12a65d['body'][_0xacd2('0x2d')]);_0x12a65d[_0xacd2('0x46')][_0xacd2('0x50')]=integrations[_0xacd2('0x51')](_0x12a65d[_0xacd2('0x46')][_0xacd2('0x4f')],_0x12a65d['body'][_0xacd2('0x2d')]);return db[_0xacd2('0x52')][_0xacd2('0x53')](_0x12a65d[_0xacd2('0x46')],{'include':[{'model':db[_0xacd2('0x54')],'as':_0xacd2('0x4d')},{'model':db[_0xacd2('0x54')],'as':_0xacd2('0x50')}]});}return null;})[_0xacd2('0x25')](respondWithResult(_0x9bb72e,null))[_0xacd2('0x42')](handleError(_0x9bb72e,null));};exports['getFields']=function(_0x3656f8,_0x556fc2,_0x214250){var _0x3c4a49='';var _0x29578a=['id','name',_0xacd2('0x55'),_0xacd2('0x56'),_0xacd2('0x57'),_0xacd2('0x58'),_0xacd2('0x59'),_0xacd2('0x5a'),'parent_id','parent_type',_0xacd2('0x5b'),_0xacd2('0x5c')];return db[_0xacd2('0x2b')][_0xacd2('0x47')]({'where':{'id':_0x3656f8[_0xacd2('0x43')]['id']},'attributes':['id',_0xacd2('0x5d'),_0xacd2('0x5e'),'remoteUri']})['then'](handleEntityNotFound(_0x556fc2,null))['then'](function(_0x24c6a1){if(_0x24c6a1){_0x3c4a49=_0x24c6a1['remoteUri'];var _0x74ef91=_0x3c4a49['slice'](-0x1);if(_0x74ef91==='/'){_0x3c4a49=_0x3c4a49[_0xacd2('0x5f')](0x0,_0x3c4a49[_0xacd2('0x60')](_0x74ef91));}return rp({'method':_0xacd2('0x61'),'uri':util[_0xacd2('0x62')]('%s%s',_0x3c4a49,_0xacd2('0x63')),'json':!![],'form':{'method':_0xacd2('0x64'),'input_type':_0xacd2('0x65'),'response_type':_0xacd2('0x65'),'rest_data':JSON['stringify']({'user_auth':{'user_name':_0x24c6a1['username'],'password':_0x24c6a1[_0xacd2('0x5e')],'encryption':'PLAIN'},'application':'xCALLY\x20Motion\x20Integration'})}});}})[_0xacd2('0x25')](function(_0x3f12d5){if(_0x3f12d5&&_0x3f12d5[_0xacd2('0x27')]!=='Invalid\x20Login'&&_0x3f12d5[_0xacd2('0x27')]!==_0xacd2('0x66')){return rp({'method':_0xacd2('0x61'),'uri':util[_0xacd2('0x62')](_0xacd2('0x67'),_0x3c4a49,'/service/v4_1/rest.php'),'json':!![],'form':{'method':_0xacd2('0x68'),'input_type':'JSON','response_type':_0xacd2('0x65'),'rest_data':JSON[_0xacd2('0x69')]({'session':_0x3f12d5['id'],'module_name':_0xacd2('0x6a')})}})[_0xacd2('0x25')](function(_0x47b504){if(_0x47b504){var _0x3a2fb7=_[_0xacd2('0x6b')](_0x47b504[_0xacd2('0x6c')]);_[_0xacd2('0x6d')](_0x3a2fb7,function(_0x5e3612){return _0x29578a[_0xacd2('0x6e')](_0x5e3612[_0xacd2('0x27')]);});return{'count':_0x3a2fb7[_0xacd2('0x35')],'rows':_[_0xacd2('0x2a')](_0x3a2fb7,function(_0x48c2ab){return{'id':_0x48c2ab[_0xacd2('0x27')],'name':_0x48c2ab[_0xacd2('0x6f')],'custom':_[_0xacd2('0x70')](_0x48c2ab[_0xacd2('0x27')],'_c')?!![]:![],'options':_0x48c2ab[_0xacd2('0x3e')]?_[_0xacd2('0x2a')](_[_0xacd2('0x6b')](_0x48c2ab[_0xacd2('0x3e')]),function(_0x4ef945){return{'name':_0x4ef945[_0xacd2('0x71')],'value':_0x4ef945[_0xacd2('0x27')]};}):[]};})};}})[_0xacd2('0x25')](respondWithResult(_0x556fc2,null))[_0xacd2('0x42')](function(_0xc971eb){var _0x368f6a=_0x3656f8[_0xacd2('0x2f')][_0xacd2('0x72')]?0x1f4:_0xc971eb[_0xacd2('0x73')]||0x1f4;logger[_0xacd2('0x74')](_0xacd2('0x75'),'getFields',_0x368f6a,JSON['stringify'](_0xc971eb));delete _0xc971eb[_0xacd2('0x27')];if(_0x368f6a===0x191){_0x368f6a=0x190;}_0x556fc2[_0xacd2('0x1b')](_0x368f6a)[_0xacd2('0x28')](_0x3656f8['query'][_0xacd2('0x72')]?{'message':_0xacd2('0x76'),'statusCode':_0xc971eb[_0xacd2('0x73')]}:_0xc971eb);});}else{var _0x2d3d2b=0x1f4;_0x556fc2['status'](_0x2d3d2b)[_0xacd2('0x28')]({'message':_0xacd2('0x76'),'statusCode':0x190});}});};