Built motion from commit da617fac.|2.6.6
[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 _0x63c1=['../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','update','then','name','index','VtigerAccount','fieldName','model','map','query','keys','intersection','attributes','fields','nolimit','limit','sort','where','filters','pick','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','rawAttributes','includeAll','find','create','body','params','destroy','findOne','length','order','hasOwnProperty','getConfigurations','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','VtigerField','username','description','moduleName','remoteUri','serverUrl','accessKey','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','login','result','describe','sessionName','autogenerated','owner','includes','editable','label','startsWith','picklist','picklistValues','value','log','vTiger\x20error:\x20','test','getFields','send','statusCode','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment'];(function(_0x54fe8e,_0x367724){var _0x179a00=function(_0x52a2b0){while(--_0x52a2b0){_0x54fe8e['push'](_0x54fe8e['shift']());}};_0x179a00(++_0x367724);}(_0x63c1,0xce));var _0x163c=function(_0x3ff51b,_0x494576){_0x3ff51b=_0x3ff51b-0x0;var _0x15f044=_0x63c1[_0x3ff51b];return _0x15f044;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x163c('0x0'));var zipdir=require(_0x163c('0x1'));var jsonpatch=require(_0x163c('0x2'));var rp=require(_0x163c('0x3'));var moment=require('moment');var BPromise=require(_0x163c('0x4'));var Mustache=require(_0x163c('0x5'));var util=require(_0x163c('0x6'));var path=require(_0x163c('0x7'));var sox=require('sox');var csv=require(_0x163c('0x8'));var ejs=require(_0x163c('0x9'));var fs=require('fs');var fs_extra=require(_0x163c('0xa'));var _=require(_0x163c('0xb'));var squel=require(_0x163c('0xc'));var crypto=require(_0x163c('0xd'));var jsforce=require(_0x163c('0xe'));var deskjs=require(_0x163c('0xf'));var toCsv=require(_0x163c('0x8'));var querystring=require('querystring');var Papa=require(_0x163c('0x10'));var Redis=require(_0x163c('0x11'));var authService=require(_0x163c('0x12'));var qs=require(_0x163c('0x13'));var as=require(_0x163c('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x163c('0x15'));var utils=require(_0x163c('0x16'));var config=require(_0x163c('0x17'));var licenseUtil=require(_0x163c('0x18'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x2443cb,_0x320d3f){_0x320d3f=_0x320d3f||0xcc;return function(_0x4e95f6){if(_0x4e95f6){return _0x2443cb[_0x163c('0x19')](_0x320d3f);}return _0x2443cb[_0x163c('0x1a')](_0x320d3f)[_0x163c('0x1b')]();};}function respondWithResult(_0x513b07,_0x421d7f){_0x421d7f=_0x421d7f||0xc8;return function(_0x602870){if(_0x602870){return _0x513b07['status'](_0x421d7f)[_0x163c('0x1c')](_0x602870);}};}function respondWithFilteredResult(_0x3ebe7d,_0x3a2cf3){return function(_0x22d83f){if(_0x22d83f){var _0x57f2b3=typeof _0x3a2cf3[_0x163c('0x1d')]==='undefined'&&typeof _0x3a2cf3['limit']===_0x163c('0x1e');var _0x366c4b=_0x22d83f[_0x163c('0x1f')];var _0x325a52=_0x57f2b3?0x0:_0x3a2cf3[_0x163c('0x1d')];var _0x4da56=_0x57f2b3?_0x22d83f[_0x163c('0x1f')]:_0x3a2cf3[_0x163c('0x1d')]+_0x3a2cf3['limit'];var _0x6db55d;if(_0x4da56>=_0x366c4b){_0x4da56=_0x366c4b;_0x6db55d=0xc8;}else{_0x6db55d=0xce;}_0x3ebe7d[_0x163c('0x1a')](_0x6db55d);return _0x3ebe7d[_0x163c('0x20')](_0x163c('0x21'),_0x325a52+'-'+_0x4da56+'/'+_0x366c4b)['json'](_0x22d83f);}return null;};}function patchUpdates(_0x11ceb7){return function(_0x5e4963){try{jsonpatch[_0x163c('0x22')](_0x5e4963,_0x11ceb7,!![]);}catch(_0x547ad5){return BPromise['reject'](_0x547ad5);}return _0x5e4963['save']();};}function saveUpdates(_0x8a05e0,_0x39e87a){return function(_0x3ce036){if(_0x3ce036){return _0x3ce036[_0x163c('0x23')](_0x8a05e0)['then'](function(_0x20b048){return _0x20b048;});}return null;};}function removeEntity(_0x14b0d4,_0x231431){return function(_0xf3d8b6){if(_0xf3d8b6){return _0xf3d8b6['destroy']()[_0x163c('0x24')](function(){_0x14b0d4[_0x163c('0x1a')](0xcc)[_0x163c('0x1b')]();});}};}function handleEntityNotFound(_0x19423d,_0x59ca1b){return function(_0x2dd559){if(!_0x2dd559){_0x19423d[_0x163c('0x19')](0x194);}return _0x2dd559;};}function handleError(_0x1f0653,_0x152705){_0x152705=_0x152705||0x1f4;return function(_0x523bd0){logger['error'](_0x523bd0['stack']);if(_0x523bd0[_0x163c('0x25')]){delete _0x523bd0[_0x163c('0x25')];}_0x1f0653[_0x163c('0x1a')](_0x152705)['send'](_0x523bd0);};}exports[_0x163c('0x26')]=function(_0x45de26,_0x4d9d08){var _0x13eb57={},_0x15ff83={},_0x4f8f95={'count':0x0,'rows':[]};var _0x1c8050=_['map'](db[_0x163c('0x27')]['rawAttributes'],function(_0x408ded){return{'name':_0x408ded[_0x163c('0x28')],'type':_0x408ded['type']['key']};});_0x15ff83[_0x163c('0x29')]=_[_0x163c('0x2a')](_0x1c8050,_0x163c('0x25'));_0x15ff83[_0x163c('0x2b')]=_[_0x163c('0x2c')](_0x45de26[_0x163c('0x2b')]);_0x15ff83['filters']=_[_0x163c('0x2d')](_0x15ff83[_0x163c('0x29')],_0x15ff83[_0x163c('0x2b')]);_0x13eb57[_0x163c('0x2e')]=_['intersection'](_0x15ff83[_0x163c('0x29')],qs[_0x163c('0x2f')](_0x45de26['query'][_0x163c('0x2f')]));_0x13eb57[_0x163c('0x2e')]=_0x13eb57[_0x163c('0x2e')]['length']?_0x13eb57['attributes']:_0x15ff83[_0x163c('0x29')];if(!_0x45de26[_0x163c('0x2b')]['hasOwnProperty'](_0x163c('0x30'))){_0x13eb57[_0x163c('0x31')]=qs[_0x163c('0x31')](_0x45de26['query'][_0x163c('0x31')]);_0x13eb57['offset']=qs['offset'](_0x45de26[_0x163c('0x2b')][_0x163c('0x1d')]);}_0x13eb57['order']=qs[_0x163c('0x32')](_0x45de26[_0x163c('0x2b')][_0x163c('0x32')]);_0x13eb57[_0x163c('0x33')]=qs[_0x163c('0x34')](_[_0x163c('0x35')](_0x45de26[_0x163c('0x2b')],_0x15ff83[_0x163c('0x34')]),_0x1c8050);if(_0x45de26[_0x163c('0x2b')]['filter']){_0x13eb57[_0x163c('0x33')]=_[_0x163c('0x36')](_0x13eb57[_0x163c('0x33')],{'$or':_[_0x163c('0x2a')](_0x1c8050,function(_0xc7876e){if(_0xc7876e[_0x163c('0x37')]!==_0x163c('0x38')){var _0x490a2e={};_0x490a2e[_0xc7876e[_0x163c('0x25')]]={'$like':'%'+_0x45de26['query']['filter']+'%'};return _0x490a2e;}})});}_0x13eb57=_[_0x163c('0x36')]({},_0x13eb57,_0x45de26[_0x163c('0x39')]);var _0xff17d0={'where':_0x13eb57[_0x163c('0x33')]};return db[_0x163c('0x27')][_0x163c('0x1f')](_0xff17d0)['then'](function(_0x51a7b3){_0x4f8f95['count']=_0x51a7b3;if(_0x45de26[_0x163c('0x2b')]['includeAll']){_0x13eb57[_0x163c('0x3a')]=[{'all':!![]}];}return db[_0x163c('0x27')][_0x163c('0x3b')](_0x13eb57);})[_0x163c('0x24')](function(_0x4498ef){_0x4f8f95[_0x163c('0x3c')]=_0x4498ef;return _0x4f8f95;})['then'](respondWithFilteredResult(_0x4d9d08,_0x13eb57))[_0x163c('0x3d')](handleError(_0x4d9d08,null));};exports[_0x163c('0x3e')]=function(_0x533a5f,_0x16acfc){var _0x25f2a1={'raw':![],'where':{'id':_0x533a5f['params']['id']}},_0x236939={};_0x236939[_0x163c('0x29')]=_['keys'](db['VtigerAccount'][_0x163c('0x3f')]);_0x236939[_0x163c('0x2b')]=_[_0x163c('0x2c')](_0x533a5f['query']);_0x236939[_0x163c('0x34')]=_['intersection'](_0x236939[_0x163c('0x29')],_0x236939[_0x163c('0x2b')]);_0x25f2a1[_0x163c('0x2e')]=_[_0x163c('0x2d')](_0x236939[_0x163c('0x29')],qs[_0x163c('0x2f')](_0x533a5f[_0x163c('0x2b')][_0x163c('0x2f')]));_0x25f2a1[_0x163c('0x2e')]=_0x25f2a1[_0x163c('0x2e')]['length']?_0x25f2a1[_0x163c('0x2e')]:_0x236939['model'];if(_0x533a5f['query'][_0x163c('0x40')]){_0x25f2a1[_0x163c('0x3a')]=[{'all':!![]}];}_0x25f2a1=_[_0x163c('0x36')]({},_0x25f2a1,_0x533a5f[_0x163c('0x39')]);return db[_0x163c('0x27')][_0x163c('0x41')](_0x25f2a1)[_0x163c('0x24')](handleEntityNotFound(_0x16acfc,null))[_0x163c('0x24')](respondWithResult(_0x16acfc,null))[_0x163c('0x3d')](handleError(_0x16acfc,null));};exports[_0x163c('0x42')]=function(_0x3f9f32,_0x552c1d){return db['VtigerAccount'][_0x163c('0x42')](_0x3f9f32['body'],{})[_0x163c('0x24')](respondWithResult(_0x552c1d,0xc9))[_0x163c('0x3d')](handleError(_0x552c1d,null));};exports[_0x163c('0x23')]=function(_0x3d51f6,_0x419aa5){if(_0x3d51f6[_0x163c('0x43')]['id']){delete _0x3d51f6[_0x163c('0x43')]['id'];}return db[_0x163c('0x27')][_0x163c('0x41')]({'where':{'id':_0x3d51f6[_0x163c('0x44')]['id']}})[_0x163c('0x24')](handleEntityNotFound(_0x419aa5,null))[_0x163c('0x24')](saveUpdates(_0x3d51f6[_0x163c('0x43')],null))[_0x163c('0x24')](respondWithResult(_0x419aa5,null))[_0x163c('0x3d')](handleError(_0x419aa5,null));};exports[_0x163c('0x45')]=function(_0x4ea686,_0x3a82dd){return db[_0x163c('0x27')][_0x163c('0x41')]({'where':{'id':_0x4ea686[_0x163c('0x44')]['id']}})['then'](handleEntityNotFound(_0x3a82dd,null))[_0x163c('0x24')](removeEntity(_0x3a82dd,null))[_0x163c('0x3d')](handleError(_0x3a82dd,null));};exports['getConfigurations']=function(_0xf9e68c,_0x25c90f,_0x1d95e5){var _0x440dc3={};var _0x36f5e0={};var _0x4117c8;var _0xa81bbd;return db['VtigerAccount'][_0x163c('0x46')]({'where':{'id':_0xf9e68c[_0x163c('0x44')]['id']}})[_0x163c('0x24')](handleEntityNotFound(_0x25c90f,null))[_0x163c('0x24')](function(_0x491f1f){if(_0x491f1f){_0x4117c8=_0x491f1f;_0x36f5e0[_0x163c('0x29')]=_[_0x163c('0x2c')](db['VtigerConfiguration'][_0x163c('0x3f')]);_0x36f5e0[_0x163c('0x2b')]=_[_0x163c('0x2c')](_0xf9e68c[_0x163c('0x2b')]);_0x36f5e0[_0x163c('0x34')]=_[_0x163c('0x2d')](_0x36f5e0[_0x163c('0x29')],_0x36f5e0[_0x163c('0x2b')]);_0x440dc3[_0x163c('0x2e')]=_[_0x163c('0x2d')](_0x36f5e0[_0x163c('0x29')],qs['fields'](_0xf9e68c[_0x163c('0x2b')][_0x163c('0x2f')]));_0x440dc3[_0x163c('0x2e')]=_0x440dc3[_0x163c('0x2e')][_0x163c('0x47')]?_0x440dc3['attributes']:_0x36f5e0[_0x163c('0x29')];_0x440dc3[_0x163c('0x48')]=qs[_0x163c('0x32')](_0xf9e68c[_0x163c('0x2b')][_0x163c('0x32')]);_0x440dc3['where']=qs[_0x163c('0x34')](_['pick'](_0xf9e68c['query'],_0x36f5e0[_0x163c('0x34')]));if(_0xf9e68c[_0x163c('0x2b')]['filter']){_0x440dc3['where']=_[_0x163c('0x36')](_0x440dc3[_0x163c('0x33')],{'$or':_[_0x163c('0x2a')](_0x440dc3['attributes'],function(_0x15aed3){var _0x48cf88={};_0x48cf88[_0x15aed3]={'$like':'%'+_0xf9e68c[_0x163c('0x2b')]['filter']+'%'};return _0x48cf88;})});}_0x440dc3=_[_0x163c('0x36')]({},_0x440dc3,_0xf9e68c[_0x163c('0x39')]);return _0x4117c8['getConfigurations'](_0x440dc3);}})[_0x163c('0x24')](function(_0x40fb6d){if(_0x40fb6d){_0xa81bbd=_0x40fb6d[_0x163c('0x47')];if(!_0xf9e68c[_0x163c('0x2b')][_0x163c('0x49')](_0x163c('0x30'))){_0x440dc3[_0x163c('0x31')]=qs['limit'](_0xf9e68c['query']['limit']);_0x440dc3[_0x163c('0x1d')]=qs[_0x163c('0x1d')](_0xf9e68c['query'][_0x163c('0x1d')]);}return _0x4117c8[_0x163c('0x4a')](_0x440dc3);}})['then'](function(_0x3c704e){if(_0x3c704e){return _0x3c704e?{'count':_0xa81bbd,'rows':_0x3c704e}:null;}})[_0x163c('0x24')](respondWithResult(_0x25c90f,null))['catch'](handleError(_0x25c90f,null));};exports['addConfiguration']=function(_0x18b096,_0x2b949c,_0xdd3074){if(_0x18b096[_0x163c('0x43')]['id']){delete _0x18b096['body']['id'];}return db[_0x163c('0x27')][_0x163c('0x46')]({'where':{'id':_0x18b096[_0x163c('0x44')]['id']}})['then'](handleEntityNotFound(_0x2b949c,null))['then'](function(_0xe5195b){if(_0xe5195b){_0x18b096['body'][_0x163c('0x4b')]=_0xe5195b['id'];_0x18b096[_0x163c('0x43')][_0x163c('0x4c')]=integrations[_0x163c('0x4d')](_0x18b096[_0x163c('0x43')][_0x163c('0x4e')],_0x18b096[_0x163c('0x43')][_0x163c('0x37')]);_0x18b096[_0x163c('0x43')][_0x163c('0x4f')]=integrations[_0x163c('0x50')](_0x18b096[_0x163c('0x43')]['channel'],_0x18b096[_0x163c('0x43')][_0x163c('0x37')]);return db['VtigerConfiguration'][_0x163c('0x42')](_0x18b096[_0x163c('0x43')],{'include':[{'model':db['VtigerField'],'as':'Subjects'},{'model':db[_0x163c('0x51')],'as':_0x163c('0x4f')}]});}return null;})['then'](respondWithResult(_0x2b949c,null))['catch'](handleError(_0x2b949c,null));};var md5=require('md5');exports['getFields']=function(_0x1cd6e4,_0x152066,_0x52d1bd){var _0x71838c=null;var _0x252b1f=null;var _0xbc69ff=null;var _0x1eac6a=null;var _0x23ebc0='';return db[_0x163c('0x27')][_0x163c('0x46')]({'where':{'id':_0x1cd6e4[_0x163c('0x44')]['id']},'attributes':['id','name',_0x163c('0x52'),_0x163c('0x53'),_0x163c('0x54'),_0x163c('0x55'),_0x163c('0x56'),_0x163c('0x57')]})[_0x163c('0x24')](handleEntityNotFound(_0x152066,null))['then'](function(_0x17b417){if(_0x17b417){_0x71838c=_0x17b417[_0x163c('0x52')];_0x252b1f=_0x17b417[_0x163c('0x57')];_0xbc69ff=_0x17b417[_0x163c('0x54')];_0x23ebc0=_0x17b417[_0x163c('0x55')];var _0x15cc82=_0x23ebc0['slice'](-0x1);if(_0x15cc82==='/'){_0x23ebc0=_0x23ebc0[_0x163c('0x58')](0x0,_0x23ebc0[_0x163c('0x59')](_0x15cc82));}_0x1eac6a=util[_0x163c('0x5a')](_0x163c('0x5b'),_0x23ebc0);var _0x1bbac6={'method':_0x163c('0x5c'),'uri':_0x1eac6a,'qs':{'operation':_0x163c('0x5d'),'username':_0x17b417[_0x163c('0x52')]},'json':!![]};return rp(_0x1bbac6);}})[_0x163c('0x24')](function(_0x2014ee){if(_0x2014ee[_0x163c('0x5e')]){var _0xeb6fac={'method':_0x163c('0x5f'),'uri':_0x1eac6a,'form':{'operation':_0x163c('0x60'),'username':_0x71838c,'accessKey':md5(_0x2014ee[_0x163c('0x61')]['token']+_0x252b1f)},'json':!![]};return rp(_0xeb6fac);}})[_0x163c('0x24')](function(_0x526131){if(_0x526131[_0x163c('0x5e')]){var _0x36f37e={'method':'GET','uri':_0x1eac6a,'qs':{'operation':_0x163c('0x62'),'username':_0x71838c,'sessionName':_0x526131['result'][_0x163c('0x63')],'elementType':_0xbc69ff},'json':!![]};return rp(_0x36f37e);}})['then'](function(_0x5cc360){if(_0x5cc360[_0x163c('0x5e')]){var _0x2ca344=[_0x163c('0x64'),'reference',_0x163c('0x65')];_['remove'](_0x5cc360['result'][_0x163c('0x2f')],function(_0x116406){return _0x2ca344[_0x163c('0x66')](_0x116406[_0x163c('0x37')][_0x163c('0x25')]);});_['remove'](_0x5cc360['result'][_0x163c('0x2f')],function(_0x5e3e47){return _0x5e3e47[_0x163c('0x67')]==='false';});return{'count':_0x5cc360['result'][_0x163c('0x2f')][_0x163c('0x47')],'rows':_[_0x163c('0x2a')](_0x5cc360[_0x163c('0x61')][_0x163c('0x2f')],function(_0x34eb52){return{'id':_0x34eb52[_0x163c('0x25')],'name':_0x34eb52[_0x163c('0x68')],'custom':_[_0x163c('0x69')](_0x34eb52['name'],'cf_')?!![]:![],'options':_0x34eb52[_0x163c('0x37')]['name']===_0x163c('0x6a')&&_0x34eb52['type']['picklistValues'][_0x163c('0x47')]>0x0?_[_0x163c('0x2a')](_0x34eb52[_0x163c('0x37')][_0x163c('0x6b')],function(_0x4be650){return{'name':_0x4be650['label'],'value':_0x4be650[_0x163c('0x6c')]};}):[]};})};}})[_0x163c('0x24')](respondWithResult(_0x152066,null))[_0x163c('0x3d')](function(_0x441609){console[_0x163c('0x6d')](_0x163c('0x6e')+_0x441609);var _0x5ceb1d=_0x1cd6e4[_0x163c('0x2b')][_0x163c('0x6f')]?0x1f4:_0x441609['statusCode']||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0x163c('0x70'),_0x5ceb1d,JSON['stringify'](_0x441609));delete _0x441609['name'];if(_0x5ceb1d===0x191){_0x5ceb1d=0x190;}_0x152066[_0x163c('0x1a')](_0x5ceb1d)[_0x163c('0x71')](_0x1cd6e4[_0x163c('0x2b')][_0x163c('0x6f')]?{'message':'Wrong\x20credentials','statusCode':_0x441609[_0x163c('0x72')]}:_0x441609);});};