Built motion from commit fe909640.|2.6.8
[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 _0xb0c7=['Content-Range','apply','reject','save','update','then','sendStatus','error','name','send','map','VtigerAccount','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','catch','rawAttributes','keys','length','includeAll','include','find','create','body','params','destroy','getConfigurations','findOne','VtigerConfiguration','addConfiguration','AccountId','Subjects','getSubjects','VtigerField','Descriptions','md5','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','lastIndexOf','%s/webservice.php','GET','getchallenge','success','POST','login','token','result','sessionName','autogenerated','owner','remove','includes','false','label','startsWith','cf_','picklist','picklistValues','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set'];(function(_0x452f6e,_0x9bb466){var _0x14154c=function(_0x520cf5){while(--_0x520cf5){_0x452f6e['push'](_0x452f6e['shift']());}};_0x14154c(++_0x9bb466);}(_0xb0c7,0x1bb));var _0x7b0c=function(_0x483e77,_0x433e9b){_0x483e77=_0x483e77-0x0;var _0x359df0=_0xb0c7[_0x483e77];return _0x359df0;};'use strict';var emlformat=require(_0x7b0c('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7b0c('0x1'));var rp=require(_0x7b0c('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x7b0c('0x3'));var util=require(_0x7b0c('0x4'));var path=require(_0x7b0c('0x5'));var sox=require(_0x7b0c('0x6'));var csv=require(_0x7b0c('0x7'));var ejs=require(_0x7b0c('0x8'));var fs=require('fs');var fs_extra=require(_0x7b0c('0x9'));var _=require(_0x7b0c('0xa'));var squel=require(_0x7b0c('0xb'));var crypto=require(_0x7b0c('0xc'));var jsforce=require(_0x7b0c('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7b0c('0x7'));var querystring=require('querystring');var Papa=require(_0x7b0c('0xe'));var Redis=require(_0x7b0c('0xf'));var authService=require(_0x7b0c('0x10'));var qs=require(_0x7b0c('0x11'));var as=require(_0x7b0c('0x12'));var hardwareService=require(_0x7b0c('0x13'));var logger=require('../../config/logger')(_0x7b0c('0x14'));var utils=require(_0x7b0c('0x15'));var config=require(_0x7b0c('0x16'));var licenseUtil=require(_0x7b0c('0x17'));var db=require(_0x7b0c('0x18'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x2323e0,_0x4fdbcd){_0x4fdbcd=_0x4fdbcd||0xcc;return function(_0x282a26){if(_0x282a26){return _0x2323e0['sendStatus'](_0x4fdbcd);}return _0x2323e0[_0x7b0c('0x19')](_0x4fdbcd)[_0x7b0c('0x1a')]();};}function respondWithResult(_0x1a286a,_0x484f2b){_0x484f2b=_0x484f2b||0xc8;return function(_0x3a110a){if(_0x3a110a){return _0x1a286a['status'](_0x484f2b)[_0x7b0c('0x1b')](_0x3a110a);}};}function respondWithFilteredResult(_0x111a50,_0x57d897){return function(_0x556219){if(_0x556219){var _0x5edd4e=typeof _0x57d897[_0x7b0c('0x1c')]===_0x7b0c('0x1d')&&typeof _0x57d897[_0x7b0c('0x1e')]===_0x7b0c('0x1d');var _0x2bb74f=_0x556219[_0x7b0c('0x1f')];var _0x18770a=_0x5edd4e?0x0:_0x57d897[_0x7b0c('0x1c')];var _0x4cd846=_0x5edd4e?_0x556219[_0x7b0c('0x1f')]:_0x57d897['offset']+_0x57d897[_0x7b0c('0x1e')];var _0x2e25a4;if(_0x4cd846>=_0x2bb74f){_0x4cd846=_0x2bb74f;_0x2e25a4=0xc8;}else{_0x2e25a4=0xce;}_0x111a50[_0x7b0c('0x19')](_0x2e25a4);return _0x111a50[_0x7b0c('0x20')](_0x7b0c('0x21'),_0x18770a+'-'+_0x4cd846+'/'+_0x2bb74f)['json'](_0x556219);}return null;};}function patchUpdates(_0x22e386){return function(_0x45a0bb){try{jsonpatch[_0x7b0c('0x22')](_0x45a0bb,_0x22e386,!![]);}catch(_0x1ce4f2){return BPromise[_0x7b0c('0x23')](_0x1ce4f2);}return _0x45a0bb[_0x7b0c('0x24')]();};}function saveUpdates(_0x345f59,_0x312fd9){return function(_0x286fb7){if(_0x286fb7){return _0x286fb7[_0x7b0c('0x25')](_0x345f59)[_0x7b0c('0x26')](function(_0x2a86f4){return _0x2a86f4;});}return null;};}function removeEntity(_0x19b504,_0x1f2dab){return function(_0x343719){if(_0x343719){return _0x343719['destroy']()[_0x7b0c('0x26')](function(){_0x19b504[_0x7b0c('0x19')](0xcc)[_0x7b0c('0x1a')]();});}};}function handleEntityNotFound(_0x434830,_0x506bde){return function(_0x55f150){if(!_0x55f150){_0x434830[_0x7b0c('0x27')](0x194);}return _0x55f150;};}function handleError(_0x55da0e,_0x399682){_0x399682=_0x399682||0x1f4;return function(_0xd6a11){logger[_0x7b0c('0x28')](_0xd6a11['stack']);if(_0xd6a11[_0x7b0c('0x29')]){delete _0xd6a11['name'];}_0x55da0e[_0x7b0c('0x19')](_0x399682)[_0x7b0c('0x2a')](_0xd6a11);};}exports['index']=function(_0x44e2a6,_0x2bccaf){var _0xb1ea0e={},_0x3bd12e={},_0x4fe3dd={'count':0x0,'rows':[]};var _0x4d4a52=_[_0x7b0c('0x2b')](db[_0x7b0c('0x2c')]['rawAttributes'],function(_0x1bb015){return{'name':_0x1bb015[_0x7b0c('0x2d')],'type':_0x1bb015[_0x7b0c('0x2e')][_0x7b0c('0x2f')]};});_0x3bd12e[_0x7b0c('0x30')]=_[_0x7b0c('0x2b')](_0x4d4a52,_0x7b0c('0x29'));_0x3bd12e[_0x7b0c('0x31')]=_['keys'](_0x44e2a6['query']);_0x3bd12e[_0x7b0c('0x32')]=_[_0x7b0c('0x33')](_0x3bd12e['model'],_0x3bd12e[_0x7b0c('0x31')]);_0xb1ea0e['attributes']=_[_0x7b0c('0x33')](_0x3bd12e['model'],qs[_0x7b0c('0x34')](_0x44e2a6[_0x7b0c('0x31')]['fields']));_0xb1ea0e[_0x7b0c('0x35')]=_0xb1ea0e['attributes']['length']?_0xb1ea0e[_0x7b0c('0x35')]:_0x3bd12e['model'];if(!_0x44e2a6[_0x7b0c('0x31')][_0x7b0c('0x36')](_0x7b0c('0x37'))){_0xb1ea0e[_0x7b0c('0x1e')]=qs[_0x7b0c('0x1e')](_0x44e2a6['query']['limit']);_0xb1ea0e[_0x7b0c('0x1c')]=qs[_0x7b0c('0x1c')](_0x44e2a6['query'][_0x7b0c('0x1c')]);}_0xb1ea0e[_0x7b0c('0x38')]=qs[_0x7b0c('0x39')](_0x44e2a6['query'][_0x7b0c('0x39')]);_0xb1ea0e[_0x7b0c('0x3a')]=qs['filters'](_['pick'](_0x44e2a6[_0x7b0c('0x31')],_0x3bd12e['filters']),_0x4d4a52);if(_0x44e2a6['query'][_0x7b0c('0x3b')]){_0xb1ea0e[_0x7b0c('0x3a')]=_[_0x7b0c('0x3c')](_0xb1ea0e[_0x7b0c('0x3a')],{'$or':_[_0x7b0c('0x2b')](_0x4d4a52,function(_0x1970a7){if(_0x1970a7[_0x7b0c('0x2e')]!==_0x7b0c('0x3d')){var _0x447f8d={};_0x447f8d[_0x1970a7[_0x7b0c('0x29')]]={'$like':'%'+_0x44e2a6[_0x7b0c('0x31')][_0x7b0c('0x3b')]+'%'};return _0x447f8d;}})});}_0xb1ea0e=_[_0x7b0c('0x3c')]({},_0xb1ea0e,_0x44e2a6[_0x7b0c('0x3e')]);var _0x37ba6e={'where':_0xb1ea0e[_0x7b0c('0x3a')]};return db[_0x7b0c('0x2c')][_0x7b0c('0x1f')](_0x37ba6e)['then'](function(_0x5ea7ae){_0x4fe3dd[_0x7b0c('0x1f')]=_0x5ea7ae;if(_0x44e2a6[_0x7b0c('0x31')]['includeAll']){_0xb1ea0e['include']=[{'all':!![]}];}return db[_0x7b0c('0x2c')]['findAll'](_0xb1ea0e);})[_0x7b0c('0x26')](function(_0x51684e){_0x4fe3dd['rows']=_0x51684e;return _0x4fe3dd;})[_0x7b0c('0x26')](respondWithFilteredResult(_0x2bccaf,_0xb1ea0e))[_0x7b0c('0x3f')](handleError(_0x2bccaf,null));};exports['show']=function(_0x595b4d,_0x34306e){var _0x506805={'raw':![],'where':{'id':_0x595b4d['params']['id']}},_0x51050e={};_0x51050e[_0x7b0c('0x30')]=_['keys'](db[_0x7b0c('0x2c')][_0x7b0c('0x40')]);_0x51050e[_0x7b0c('0x31')]=_[_0x7b0c('0x41')](_0x595b4d['query']);_0x51050e['filters']=_[_0x7b0c('0x33')](_0x51050e[_0x7b0c('0x30')],_0x51050e['query']);_0x506805[_0x7b0c('0x35')]=_[_0x7b0c('0x33')](_0x51050e[_0x7b0c('0x30')],qs[_0x7b0c('0x34')](_0x595b4d[_0x7b0c('0x31')][_0x7b0c('0x34')]));_0x506805[_0x7b0c('0x35')]=_0x506805[_0x7b0c('0x35')][_0x7b0c('0x42')]?_0x506805[_0x7b0c('0x35')]:_0x51050e[_0x7b0c('0x30')];if(_0x595b4d['query'][_0x7b0c('0x43')]){_0x506805[_0x7b0c('0x44')]=[{'all':!![]}];}_0x506805=_[_0x7b0c('0x3c')]({},_0x506805,_0x595b4d[_0x7b0c('0x3e')]);return db[_0x7b0c('0x2c')][_0x7b0c('0x45')](_0x506805)[_0x7b0c('0x26')](handleEntityNotFound(_0x34306e,null))['then'](respondWithResult(_0x34306e,null))[_0x7b0c('0x3f')](handleError(_0x34306e,null));};exports['create']=function(_0x481d05,_0x42eead){return db[_0x7b0c('0x2c')][_0x7b0c('0x46')](_0x481d05[_0x7b0c('0x47')],{})[_0x7b0c('0x26')](respondWithResult(_0x42eead,0xc9))[_0x7b0c('0x3f')](handleError(_0x42eead,null));};exports[_0x7b0c('0x25')]=function(_0x3eac6c,_0x54a12e){if(_0x3eac6c[_0x7b0c('0x47')]['id']){delete _0x3eac6c[_0x7b0c('0x47')]['id'];}return db[_0x7b0c('0x2c')][_0x7b0c('0x45')]({'where':{'id':_0x3eac6c[_0x7b0c('0x48')]['id']}})[_0x7b0c('0x26')](handleEntityNotFound(_0x54a12e,null))[_0x7b0c('0x26')](saveUpdates(_0x3eac6c[_0x7b0c('0x47')],null))[_0x7b0c('0x26')](respondWithResult(_0x54a12e,null))[_0x7b0c('0x3f')](handleError(_0x54a12e,null));};exports[_0x7b0c('0x49')]=function(_0x2178ff,_0x2c203c){return db[_0x7b0c('0x2c')][_0x7b0c('0x45')]({'where':{'id':_0x2178ff[_0x7b0c('0x48')]['id']}})[_0x7b0c('0x26')](handleEntityNotFound(_0x2c203c,null))['then'](removeEntity(_0x2c203c,null))[_0x7b0c('0x3f')](handleError(_0x2c203c,null));};exports[_0x7b0c('0x4a')]=function(_0x3f1355,_0x4ff7e0,_0x2b74ca){var _0x1e550a={};var _0x4e6e82={};var _0x3c3b31;var _0x38cf90;return db[_0x7b0c('0x2c')][_0x7b0c('0x4b')]({'where':{'id':_0x3f1355[_0x7b0c('0x48')]['id']}})[_0x7b0c('0x26')](handleEntityNotFound(_0x4ff7e0,null))[_0x7b0c('0x26')](function(_0x187fb8){if(_0x187fb8){_0x3c3b31=_0x187fb8;_0x4e6e82['model']=_[_0x7b0c('0x41')](db[_0x7b0c('0x4c')]['rawAttributes']);_0x4e6e82[_0x7b0c('0x31')]=_[_0x7b0c('0x41')](_0x3f1355['query']);_0x4e6e82[_0x7b0c('0x32')]=_[_0x7b0c('0x33')](_0x4e6e82[_0x7b0c('0x30')],_0x4e6e82[_0x7b0c('0x31')]);_0x1e550a[_0x7b0c('0x35')]=_['intersection'](_0x4e6e82['model'],qs[_0x7b0c('0x34')](_0x3f1355[_0x7b0c('0x31')][_0x7b0c('0x34')]));_0x1e550a[_0x7b0c('0x35')]=_0x1e550a[_0x7b0c('0x35')][_0x7b0c('0x42')]?_0x1e550a[_0x7b0c('0x35')]:_0x4e6e82['model'];_0x1e550a[_0x7b0c('0x38')]=qs['sort'](_0x3f1355[_0x7b0c('0x31')][_0x7b0c('0x39')]);_0x1e550a[_0x7b0c('0x3a')]=qs[_0x7b0c('0x32')](_['pick'](_0x3f1355[_0x7b0c('0x31')],_0x4e6e82['filters']));if(_0x3f1355['query'][_0x7b0c('0x3b')]){_0x1e550a['where']=_[_0x7b0c('0x3c')](_0x1e550a[_0x7b0c('0x3a')],{'$or':_[_0x7b0c('0x2b')](_0x1e550a[_0x7b0c('0x35')],function(_0x3fcafd){var _0x4bf4a9={};_0x4bf4a9[_0x3fcafd]={'$like':'%'+_0x3f1355[_0x7b0c('0x31')]['filter']+'%'};return _0x4bf4a9;})});}_0x1e550a=_[_0x7b0c('0x3c')]({},_0x1e550a,_0x3f1355[_0x7b0c('0x3e')]);return _0x3c3b31[_0x7b0c('0x4a')](_0x1e550a);}})[_0x7b0c('0x26')](function(_0xb00107){if(_0xb00107){_0x38cf90=_0xb00107[_0x7b0c('0x42')];if(!_0x3f1355['query'][_0x7b0c('0x36')]('nolimit')){_0x1e550a[_0x7b0c('0x1e')]=qs[_0x7b0c('0x1e')](_0x3f1355[_0x7b0c('0x31')]['limit']);_0x1e550a['offset']=qs['offset'](_0x3f1355[_0x7b0c('0x31')][_0x7b0c('0x1c')]);}return _0x3c3b31[_0x7b0c('0x4a')](_0x1e550a);}})[_0x7b0c('0x26')](function(_0xd6978b){if(_0xd6978b){return _0xd6978b?{'count':_0x38cf90,'rows':_0xd6978b}:null;}})[_0x7b0c('0x26')](respondWithResult(_0x4ff7e0,null))['catch'](handleError(_0x4ff7e0,null));};exports[_0x7b0c('0x4d')]=function(_0x2be9a9,_0x42fe51,_0x43ce75){if(_0x2be9a9[_0x7b0c('0x47')]['id']){delete _0x2be9a9[_0x7b0c('0x47')]['id'];}return db[_0x7b0c('0x2c')][_0x7b0c('0x4b')]({'where':{'id':_0x2be9a9[_0x7b0c('0x48')]['id']}})[_0x7b0c('0x26')](handleEntityNotFound(_0x42fe51,null))[_0x7b0c('0x26')](function(_0x41f682){if(_0x41f682){_0x2be9a9[_0x7b0c('0x47')][_0x7b0c('0x4e')]=_0x41f682['id'];_0x2be9a9[_0x7b0c('0x47')][_0x7b0c('0x4f')]=integrations[_0x7b0c('0x50')](_0x2be9a9[_0x7b0c('0x47')]['channel'],_0x2be9a9[_0x7b0c('0x47')][_0x7b0c('0x2e')]);_0x2be9a9['body']['Descriptions']=integrations['getDescriptions'](_0x2be9a9[_0x7b0c('0x47')]['channel'],_0x2be9a9[_0x7b0c('0x47')]['type']);return db['VtigerConfiguration'][_0x7b0c('0x46')](_0x2be9a9[_0x7b0c('0x47')],{'include':[{'model':db[_0x7b0c('0x51')],'as':_0x7b0c('0x4f')},{'model':db['VtigerField'],'as':_0x7b0c('0x52')}]});}return null;})[_0x7b0c('0x26')](respondWithResult(_0x42fe51,null))['catch'](handleError(_0x42fe51,null));};var md5=require(_0x7b0c('0x53'));exports[_0x7b0c('0x54')]=function(_0x90f87,_0x573207,_0x3bc964){var _0x4fa5b0=null;var _0xfe34cc=null;var _0x40e63b=null;var _0x5bcb40=null;var _0x1b7bfc='';return db[_0x7b0c('0x2c')][_0x7b0c('0x4b')]({'where':{'id':_0x90f87['params']['id']},'attributes':['id',_0x7b0c('0x29'),_0x7b0c('0x55'),_0x7b0c('0x56'),_0x7b0c('0x57'),_0x7b0c('0x58'),_0x7b0c('0x59'),_0x7b0c('0x5a')]})[_0x7b0c('0x26')](handleEntityNotFound(_0x573207,null))[_0x7b0c('0x26')](function(_0x36e786){if(_0x36e786){_0x4fa5b0=_0x36e786[_0x7b0c('0x55')];_0xfe34cc=_0x36e786[_0x7b0c('0x5a')];_0x40e63b=_0x36e786[_0x7b0c('0x57')];_0x1b7bfc=_0x36e786[_0x7b0c('0x58')];var _0xad3f8a=_0x1b7bfc[_0x7b0c('0x5b')](-0x1);if(_0xad3f8a==='/'){_0x1b7bfc=_0x1b7bfc['substring'](0x0,_0x1b7bfc[_0x7b0c('0x5c')](_0xad3f8a));}_0x5bcb40=util['format'](_0x7b0c('0x5d'),_0x1b7bfc);var _0x22c566={'method':_0x7b0c('0x5e'),'uri':_0x5bcb40,'qs':{'operation':_0x7b0c('0x5f'),'username':_0x36e786[_0x7b0c('0x55')]},'json':!![]};return rp(_0x22c566);}})[_0x7b0c('0x26')](function(_0x48d024){if(_0x48d024[_0x7b0c('0x60')]){var _0x3f9c19={'method':_0x7b0c('0x61'),'uri':_0x5bcb40,'form':{'operation':_0x7b0c('0x62'),'username':_0x4fa5b0,'accessKey':md5(_0x48d024['result'][_0x7b0c('0x63')]+_0xfe34cc)},'json':!![]};return rp(_0x3f9c19);}})['then'](function(_0x108ef0){if(_0x108ef0['success']){var _0x302916={'method':_0x7b0c('0x5e'),'uri':_0x5bcb40,'qs':{'operation':'describe','username':_0x4fa5b0,'sessionName':_0x108ef0[_0x7b0c('0x64')][_0x7b0c('0x65')],'elementType':_0x40e63b},'json':!![]};return rp(_0x302916);}})[_0x7b0c('0x26')](function(_0x17daa0){if(_0x17daa0[_0x7b0c('0x60')]){var _0x117f86=[_0x7b0c('0x66'),'reference',_0x7b0c('0x67')];_[_0x7b0c('0x68')](_0x17daa0[_0x7b0c('0x64')][_0x7b0c('0x34')],function(_0xa3e829){return _0x117f86[_0x7b0c('0x69')](_0xa3e829[_0x7b0c('0x2e')][_0x7b0c('0x29')]);});_[_0x7b0c('0x68')](_0x17daa0['result'][_0x7b0c('0x34')],function(_0x4dec71){return _0x4dec71['editable']===_0x7b0c('0x6a');});return{'count':_0x17daa0[_0x7b0c('0x64')][_0x7b0c('0x34')][_0x7b0c('0x42')],'rows':_['map'](_0x17daa0[_0x7b0c('0x64')][_0x7b0c('0x34')],function(_0x45719f){return{'id':_0x45719f[_0x7b0c('0x29')],'name':_0x45719f[_0x7b0c('0x6b')],'custom':_[_0x7b0c('0x6c')](_0x45719f['name'],_0x7b0c('0x6d'))?!![]:![],'options':_0x45719f[_0x7b0c('0x2e')][_0x7b0c('0x29')]===_0x7b0c('0x6e')&&_0x45719f['type'][_0x7b0c('0x6f')][_0x7b0c('0x42')]>0x0?_['map'](_0x45719f['type'][_0x7b0c('0x6f')],function(_0x518f52){return{'name':_0x518f52['label'],'value':_0x518f52['value']};}):[]};})};}})[_0x7b0c('0x26')](respondWithResult(_0x573207,null))[_0x7b0c('0x3f')](function(_0x3999d4){console[_0x7b0c('0x70')](_0x7b0c('0x71')+_0x3999d4);var _0x4419d1=_0x90f87[_0x7b0c('0x31')][_0x7b0c('0x72')]?0x1f4:_0x3999d4[_0x7b0c('0x73')]||0x1f4;logger['error'](_0x7b0c('0x74'),'getFields',_0x4419d1,JSON[_0x7b0c('0x75')](_0x3999d4));delete _0x3999d4[_0x7b0c('0x29')];if(_0x4419d1===0x191){_0x4419d1=0x190;}_0x573207[_0x7b0c('0x19')](_0x4419d1)['send'](_0x90f87['query']['test']?{'message':_0x7b0c('0x76'),'statusCode':_0x3999d4[_0x7b0c('0x73')]}:_0x3999d4);});};