Built motion from commit 1fa89557.|2.6.10
[motion2.git] / server / api / intVtigerAccount / intVtigerAccount.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 _0xf75f=['ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','index','VtigerAccount','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','create','update','body','params','find','getConfigurations','findOne','VtigerConfiguration','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','VtigerField','Descriptions','getFields','username','description','moduleName','serverUrl','accessKey','remoteUri','slice','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','login','result','token','describe','sessionName','autogenerated','reference','remove','includes','editable','false','label','startsWith','cf_','picklist','picklistValues','value','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv'];(function(_0x44d849,_0x48f693){var _0x27b34c=function(_0x2af41c){while(--_0x2af41c){_0x44d849['push'](_0x44d849['shift']());}};_0x27b34c(++_0x48f693);}(_0xf75f,0xfb));var _0xff75=function(_0x4f383b,_0x1fe091){_0x4f383b=_0x4f383b-0x0;var _0x4fb439=_0xf75f[_0x4f383b];return _0x4fb439;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xff75('0x0'));var zipdir=require(_0xff75('0x1'));var jsonpatch=require(_0xff75('0x2'));var rp=require(_0xff75('0x3'));var moment=require('moment');var BPromise=require(_0xff75('0x4'));var Mustache=require(_0xff75('0x5'));var util=require(_0xff75('0x6'));var path=require('path');var sox=require(_0xff75('0x7'));var csv=require(_0xff75('0x8'));var ejs=require(_0xff75('0x9'));var fs=require('fs');var fs_extra=require(_0xff75('0xa'));var _=require(_0xff75('0xb'));var squel=require('squel');var crypto=require(_0xff75('0xc'));var jsforce=require(_0xff75('0xd'));var deskjs=require(_0xff75('0xe'));var toCsv=require(_0xff75('0x8'));var querystring=require('querystring');var Papa=require(_0xff75('0xf'));var Redis=require(_0xff75('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xff75('0x11'));var as=require(_0xff75('0x12'));var hardwareService=require(_0xff75('0x13'));var logger=require(_0xff75('0x14'))(_0xff75('0x15'));var utils=require('../../config/utils');var config=require(_0xff75('0x16'));var licenseUtil=require(_0xff75('0x17'));var db=require(_0xff75('0x18'))['db'];var integrations=require(_0xff75('0x19'));function respondWithStatusCode(_0x733649,_0x2fe067){_0x2fe067=_0x2fe067||0xcc;return function(_0x235cec){if(_0x235cec){return _0x733649['sendStatus'](_0x2fe067);}return _0x733649['status'](_0x2fe067)[_0xff75('0x1a')]();};}function respondWithResult(_0x2d17f8,_0x177235){_0x177235=_0x177235||0xc8;return function(_0x49e968){if(_0x49e968){return _0x2d17f8[_0xff75('0x1b')](_0x177235)[_0xff75('0x1c')](_0x49e968);}};}function respondWithFilteredResult(_0x16461f,_0x254fe2){return function(_0x369a78){if(_0x369a78){var _0xf7243e=typeof _0x254fe2[_0xff75('0x1d')]===_0xff75('0x1e')&&typeof _0x254fe2[_0xff75('0x1f')]==='undefined';var _0x5663f9=_0x369a78[_0xff75('0x20')];var _0x1aea08=_0xf7243e?0x0:_0x254fe2[_0xff75('0x1d')];var _0x4e7a60=_0xf7243e?_0x369a78[_0xff75('0x20')]:_0x254fe2['offset']+_0x254fe2[_0xff75('0x1f')];var _0x243441;if(_0x4e7a60>=_0x5663f9){_0x4e7a60=_0x5663f9;_0x243441=0xc8;}else{_0x243441=0xce;}_0x16461f['status'](_0x243441);return _0x16461f[_0xff75('0x21')](_0xff75('0x22'),_0x1aea08+'-'+_0x4e7a60+'/'+_0x5663f9)[_0xff75('0x1c')](_0x369a78);}return null;};}function patchUpdates(_0x3327b9){return function(_0x5ccb99){try{jsonpatch[_0xff75('0x23')](_0x5ccb99,_0x3327b9,!![]);}catch(_0x1ca7c7){return BPromise[_0xff75('0x24')](_0x1ca7c7);}return _0x5ccb99[_0xff75('0x25')]();};}function saveUpdates(_0x5a5320,_0xac7a85){return function(_0x100dd2){if(_0x100dd2){return _0x100dd2['update'](_0x5a5320)[_0xff75('0x26')](function(_0x5192b8){return _0x5192b8;});}return null;};}function removeEntity(_0x423e1c,_0x375138){return function(_0x2dd85b){if(_0x2dd85b){return _0x2dd85b[_0xff75('0x27')]()['then'](function(){_0x423e1c[_0xff75('0x1b')](0xcc)[_0xff75('0x1a')]();});}};}function handleEntityNotFound(_0x1bfa6b,_0x393f38){return function(_0x10f354){if(!_0x10f354){_0x1bfa6b[_0xff75('0x28')](0x194);}return _0x10f354;};}function handleError(_0xfa5014,_0x4ff4d6){_0x4ff4d6=_0x4ff4d6||0x1f4;return function(_0x53c6d0){logger[_0xff75('0x29')](_0x53c6d0[_0xff75('0x2a')]);if(_0x53c6d0[_0xff75('0x2b')]){delete _0x53c6d0['name'];}_0xfa5014[_0xff75('0x1b')](_0x4ff4d6)[_0xff75('0x2c')](_0x53c6d0);};}exports[_0xff75('0x2d')]=function(_0x15dba2,_0x1f49bf){var _0x4854a9={},_0x5c7ab1={},_0x40061c={'count':0x0,'rows':[]};var _0x3d9f37=_['map'](db[_0xff75('0x2e')][_0xff75('0x2f')],function(_0x1a8fa6){return{'name':_0x1a8fa6[_0xff75('0x30')],'type':_0x1a8fa6[_0xff75('0x31')][_0xff75('0x32')]};});_0x5c7ab1[_0xff75('0x33')]=_[_0xff75('0x34')](_0x3d9f37,_0xff75('0x2b'));_0x5c7ab1[_0xff75('0x35')]=_[_0xff75('0x36')](_0x15dba2[_0xff75('0x35')]);_0x5c7ab1[_0xff75('0x37')]=_[_0xff75('0x38')](_0x5c7ab1[_0xff75('0x33')],_0x5c7ab1[_0xff75('0x35')]);_0x4854a9[_0xff75('0x39')]=_['intersection'](_0x5c7ab1['model'],qs[_0xff75('0x3a')](_0x15dba2['query'][_0xff75('0x3a')]));_0x4854a9[_0xff75('0x39')]=_0x4854a9[_0xff75('0x39')][_0xff75('0x3b')]?_0x4854a9[_0xff75('0x39')]:_0x5c7ab1[_0xff75('0x33')];if(!_0x15dba2[_0xff75('0x35')]['hasOwnProperty'](_0xff75('0x3c'))){_0x4854a9[_0xff75('0x1f')]=qs[_0xff75('0x1f')](_0x15dba2['query'][_0xff75('0x1f')]);_0x4854a9['offset']=qs[_0xff75('0x1d')](_0x15dba2['query'][_0xff75('0x1d')]);}_0x4854a9[_0xff75('0x3d')]=qs[_0xff75('0x3e')](_0x15dba2[_0xff75('0x35')]['sort']);_0x4854a9[_0xff75('0x3f')]=qs[_0xff75('0x37')](_[_0xff75('0x40')](_0x15dba2['query'],_0x5c7ab1[_0xff75('0x37')]),_0x3d9f37);if(_0x15dba2[_0xff75('0x35')][_0xff75('0x41')]){_0x4854a9[_0xff75('0x3f')]=_[_0xff75('0x42')](_0x4854a9[_0xff75('0x3f')],{'$or':_[_0xff75('0x34')](_0x3d9f37,function(_0x375f7f){if(_0x375f7f[_0xff75('0x31')]!=='VIRTUAL'){var _0x5315c7={};_0x5315c7[_0x375f7f['name']]={'$like':'%'+_0x15dba2[_0xff75('0x35')]['filter']+'%'};return _0x5315c7;}})});}_0x4854a9=_['merge']({},_0x4854a9,_0x15dba2[_0xff75('0x43')]);var _0x3a4c2b={'where':_0x4854a9[_0xff75('0x3f')]};return db[_0xff75('0x2e')][_0xff75('0x20')](_0x3a4c2b)[_0xff75('0x26')](function(_0x377e5b){_0x40061c[_0xff75('0x20')]=_0x377e5b;if(_0x15dba2['query'][_0xff75('0x44')]){_0x4854a9[_0xff75('0x45')]=[{'all':!![]}];}return db[_0xff75('0x2e')][_0xff75('0x46')](_0x4854a9);})[_0xff75('0x26')](function(_0x36fe6a){_0x40061c['rows']=_0x36fe6a;return _0x40061c;})[_0xff75('0x26')](respondWithFilteredResult(_0x1f49bf,_0x4854a9))[_0xff75('0x47')](handleError(_0x1f49bf,null));};exports[_0xff75('0x48')]=function(_0x217b31,_0x388c46){var _0x13c39a={'raw':![],'where':{'id':_0x217b31['params']['id']}},_0x502231={};_0x502231[_0xff75('0x33')]=_['keys'](db[_0xff75('0x2e')][_0xff75('0x2f')]);_0x502231[_0xff75('0x35')]=_[_0xff75('0x36')](_0x217b31[_0xff75('0x35')]);_0x502231[_0xff75('0x37')]=_[_0xff75('0x38')](_0x502231[_0xff75('0x33')],_0x502231['query']);_0x13c39a[_0xff75('0x39')]=_['intersection'](_0x502231[_0xff75('0x33')],qs['fields'](_0x217b31[_0xff75('0x35')]['fields']));_0x13c39a[_0xff75('0x39')]=_0x13c39a['attributes'][_0xff75('0x3b')]?_0x13c39a[_0xff75('0x39')]:_0x502231['model'];if(_0x217b31[_0xff75('0x35')][_0xff75('0x44')]){_0x13c39a[_0xff75('0x45')]=[{'all':!![]}];}_0x13c39a=_[_0xff75('0x42')]({},_0x13c39a,_0x217b31[_0xff75('0x43')]);return db[_0xff75('0x2e')]['find'](_0x13c39a)[_0xff75('0x26')](handleEntityNotFound(_0x388c46,null))[_0xff75('0x26')](respondWithResult(_0x388c46,null))[_0xff75('0x47')](handleError(_0x388c46,null));};exports[_0xff75('0x49')]=function(_0x2877ad,_0x1bd1d9){return db[_0xff75('0x2e')][_0xff75('0x49')](_0x2877ad['body'],{})[_0xff75('0x26')](respondWithResult(_0x1bd1d9,0xc9))[_0xff75('0x47')](handleError(_0x1bd1d9,null));};exports[_0xff75('0x4a')]=function(_0x5d13fd,_0x1d1d83){if(_0x5d13fd[_0xff75('0x4b')]['id']){delete _0x5d13fd[_0xff75('0x4b')]['id'];}return db[_0xff75('0x2e')]['find']({'where':{'id':_0x5d13fd[_0xff75('0x4c')]['id']}})[_0xff75('0x26')](handleEntityNotFound(_0x1d1d83,null))[_0xff75('0x26')](saveUpdates(_0x5d13fd[_0xff75('0x4b')],null))[_0xff75('0x26')](respondWithResult(_0x1d1d83,null))[_0xff75('0x47')](handleError(_0x1d1d83,null));};exports['destroy']=function(_0x2cd902,_0xf88f45){return db[_0xff75('0x2e')][_0xff75('0x4d')]({'where':{'id':_0x2cd902[_0xff75('0x4c')]['id']}})[_0xff75('0x26')](handleEntityNotFound(_0xf88f45,null))[_0xff75('0x26')](removeEntity(_0xf88f45,null))['catch'](handleError(_0xf88f45,null));};exports[_0xff75('0x4e')]=function(_0x36150a,_0xe5ffa0,_0x1e437a){var _0x583fa5={};var _0x255267={};var _0x4f470d;var _0x160a4a;return db[_0xff75('0x2e')][_0xff75('0x4f')]({'where':{'id':_0x36150a['params']['id']}})[_0xff75('0x26')](handleEntityNotFound(_0xe5ffa0,null))['then'](function(_0x38045c){if(_0x38045c){_0x4f470d=_0x38045c;_0x255267[_0xff75('0x33')]=_[_0xff75('0x36')](db[_0xff75('0x50')][_0xff75('0x2f')]);_0x255267[_0xff75('0x35')]=_['keys'](_0x36150a[_0xff75('0x35')]);_0x255267[_0xff75('0x37')]=_[_0xff75('0x38')](_0x255267[_0xff75('0x33')],_0x255267['query']);_0x583fa5['attributes']=_['intersection'](_0x255267['model'],qs['fields'](_0x36150a['query'][_0xff75('0x3a')]));_0x583fa5[_0xff75('0x39')]=_0x583fa5[_0xff75('0x39')]['length']?_0x583fa5[_0xff75('0x39')]:_0x255267[_0xff75('0x33')];_0x583fa5[_0xff75('0x3d')]=qs[_0xff75('0x3e')](_0x36150a[_0xff75('0x35')][_0xff75('0x3e')]);_0x583fa5[_0xff75('0x3f')]=qs[_0xff75('0x37')](_['pick'](_0x36150a['query'],_0x255267['filters']));if(_0x36150a[_0xff75('0x35')]['filter']){_0x583fa5['where']=_[_0xff75('0x42')](_0x583fa5[_0xff75('0x3f')],{'$or':_[_0xff75('0x34')](_0x583fa5[_0xff75('0x39')],function(_0x529af4){var _0x25f40b={};_0x25f40b[_0x529af4]={'$like':'%'+_0x36150a[_0xff75('0x35')][_0xff75('0x41')]+'%'};return _0x25f40b;})});}_0x583fa5=_[_0xff75('0x42')]({},_0x583fa5,_0x36150a[_0xff75('0x43')]);return _0x4f470d[_0xff75('0x4e')](_0x583fa5);}})[_0xff75('0x26')](function(_0xe535e8){if(_0xe535e8){_0x160a4a=_0xe535e8[_0xff75('0x3b')];if(!_0x36150a[_0xff75('0x35')][_0xff75('0x51')](_0xff75('0x3c'))){_0x583fa5[_0xff75('0x1f')]=qs[_0xff75('0x1f')](_0x36150a[_0xff75('0x35')][_0xff75('0x1f')]);_0x583fa5[_0xff75('0x1d')]=qs[_0xff75('0x1d')](_0x36150a[_0xff75('0x35')][_0xff75('0x1d')]);}return _0x4f470d['getConfigurations'](_0x583fa5);}})[_0xff75('0x26')](function(_0x185ce4){if(_0x185ce4){return _0x185ce4?{'count':_0x160a4a,'rows':_0x185ce4}:null;}})['then'](respondWithResult(_0xe5ffa0,null))[_0xff75('0x47')](handleError(_0xe5ffa0,null));};exports[_0xff75('0x52')]=function(_0x128f0f,_0x471ffd,_0x1faf17){if(_0x128f0f[_0xff75('0x4b')]['id']){delete _0x128f0f[_0xff75('0x4b')]['id'];}return db[_0xff75('0x2e')]['findOne']({'where':{'id':_0x128f0f[_0xff75('0x4c')]['id']}})[_0xff75('0x26')](handleEntityNotFound(_0x471ffd,null))['then'](function(_0x2b6205){if(_0x2b6205){_0x128f0f[_0xff75('0x4b')][_0xff75('0x53')]=_0x2b6205['id'];_0x128f0f[_0xff75('0x4b')][_0xff75('0x54')]=integrations[_0xff75('0x55')](_0x128f0f[_0xff75('0x4b')][_0xff75('0x56')],_0x128f0f[_0xff75('0x4b')][_0xff75('0x31')]);_0x128f0f['body']['Descriptions']=integrations[_0xff75('0x57')](_0x128f0f[_0xff75('0x4b')][_0xff75('0x56')],_0x128f0f[_0xff75('0x4b')][_0xff75('0x31')]);return db[_0xff75('0x50')][_0xff75('0x49')](_0x128f0f[_0xff75('0x4b')],{'include':[{'model':db['VtigerField'],'as':'Subjects'},{'model':db[_0xff75('0x58')],'as':_0xff75('0x59')}]});}return null;})[_0xff75('0x26')](respondWithResult(_0x471ffd,null))[_0xff75('0x47')](handleError(_0x471ffd,null));};var md5=require('md5');exports[_0xff75('0x5a')]=function(_0x14e680,_0x1d8836,_0x394cbb){var _0x1d54f0=null;var _0x197a95=null;var _0xa2e129=null;var _0x5070b9=null;var _0x564351='';return db[_0xff75('0x2e')][_0xff75('0x4f')]({'where':{'id':_0x14e680[_0xff75('0x4c')]['id']},'attributes':['id',_0xff75('0x2b'),_0xff75('0x5b'),_0xff75('0x5c'),_0xff75('0x5d'),'remoteUri',_0xff75('0x5e'),_0xff75('0x5f')]})[_0xff75('0x26')](handleEntityNotFound(_0x1d8836,null))[_0xff75('0x26')](function(_0x5916d6){if(_0x5916d6){_0x1d54f0=_0x5916d6[_0xff75('0x5b')];_0x197a95=_0x5916d6['accessKey'];_0xa2e129=_0x5916d6['moduleName'];_0x564351=_0x5916d6[_0xff75('0x60')];var _0x3f91ff=_0x564351[_0xff75('0x61')](-0x1);if(_0x3f91ff==='/'){_0x564351=_0x564351[_0xff75('0x62')](0x0,_0x564351[_0xff75('0x63')](_0x3f91ff));}_0x5070b9=util[_0xff75('0x64')](_0xff75('0x65'),_0x564351);var _0x34a2e2={'method':_0xff75('0x66'),'uri':_0x5070b9,'qs':{'operation':_0xff75('0x67'),'username':_0x5916d6['username']},'json':!![]};return rp(_0x34a2e2);}})[_0xff75('0x26')](function(_0xbf92a8){if(_0xbf92a8[_0xff75('0x68')]){var _0x1bad4c={'method':_0xff75('0x69'),'uri':_0x5070b9,'form':{'operation':_0xff75('0x6a'),'username':_0x1d54f0,'accessKey':md5(_0xbf92a8[_0xff75('0x6b')][_0xff75('0x6c')]+_0x197a95)},'json':!![]};return rp(_0x1bad4c);}})['then'](function(_0x10d2a9){if(_0x10d2a9['success']){var _0x343535={'method':_0xff75('0x66'),'uri':_0x5070b9,'qs':{'operation':_0xff75('0x6d'),'username':_0x1d54f0,'sessionName':_0x10d2a9[_0xff75('0x6b')][_0xff75('0x6e')],'elementType':_0xa2e129},'json':!![]};return rp(_0x343535);}})[_0xff75('0x26')](function(_0x3f3d64){if(_0x3f3d64[_0xff75('0x68')]){var _0x477fef=[_0xff75('0x6f'),_0xff75('0x70'),'owner'];_[_0xff75('0x71')](_0x3f3d64[_0xff75('0x6b')][_0xff75('0x3a')],function(_0x2d637e){return _0x477fef[_0xff75('0x72')](_0x2d637e[_0xff75('0x31')][_0xff75('0x2b')]);});_[_0xff75('0x71')](_0x3f3d64['result'][_0xff75('0x3a')],function(_0x38a4bc){return _0x38a4bc[_0xff75('0x73')]===_0xff75('0x74');});return{'count':_0x3f3d64[_0xff75('0x6b')][_0xff75('0x3a')][_0xff75('0x3b')],'rows':_[_0xff75('0x34')](_0x3f3d64[_0xff75('0x6b')]['fields'],function(_0x3f8e48){return{'id':_0x3f8e48[_0xff75('0x2b')],'name':_0x3f8e48[_0xff75('0x75')],'custom':_[_0xff75('0x76')](_0x3f8e48[_0xff75('0x2b')],_0xff75('0x77'))?!![]:![],'options':_0x3f8e48[_0xff75('0x31')][_0xff75('0x2b')]===_0xff75('0x78')&&_0x3f8e48[_0xff75('0x31')][_0xff75('0x79')][_0xff75('0x3b')]>0x0?_[_0xff75('0x34')](_0x3f8e48[_0xff75('0x31')][_0xff75('0x79')],function(_0x30f693){return{'name':_0x30f693[_0xff75('0x75')],'value':_0x30f693[_0xff75('0x7a')]};}):[]};})};}})[_0xff75('0x26')](respondWithResult(_0x1d8836,null))[_0xff75('0x47')](function(_0x79abec){console[_0xff75('0x7b')](_0xff75('0x7c')+_0x79abec);var _0x18f576=_0x14e680[_0xff75('0x35')][_0xff75('0x7d')]?0x1f4:_0x79abec[_0xff75('0x7e')]||0x1f4;logger[_0xff75('0x29')](_0xff75('0x7f'),'getFields',_0x18f576,JSON[_0xff75('0x80')](_0x79abec));delete _0x79abec[_0xff75('0x2b')];if(_0x18f576===0x191){_0x18f576=0x190;}_0x1d8836[_0xff75('0x1b')](_0x18f576)[_0xff75('0x2c')](_0x14e680[_0xff75('0x35')]['test']?{'message':_0xff75('0x81'),'statusCode':_0x79abec['statusCode']}:_0x79abec);});};