Built motion from commit bab6f49e.|2.6.17
[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 _0x1abd=['username','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','login','result','autogenerated','reference','remove','editable','false','label','startsWith','picklist','value','log','vTiger\x20error:\x20','test','statusCode','stringify','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch','moment','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy','error','stack','name','send','map','VtigerAccount','rawAttributes','fieldName','key','query','keys','intersection','model','attributes','fields','length','sort','where','filters','type','VIRTUAL','filter','options','includeAll','findAll','catch','show','find','create','update','body','params','getConfigurations','findOne','VtigerConfiguration','order','pick','hasOwnProperty','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','description','moduleName','remoteUri','serverUrl','accessKey'];(function(_0x6601b6,_0x505e72){var _0x3573ae=function(_0x266130){while(--_0x266130){_0x6601b6['push'](_0x6601b6['shift']());}};_0x3573ae(++_0x505e72);}(_0x1abd,0x8d));var _0xd1ab=function(_0x40001a,_0x57f2ae){_0x40001a=_0x40001a-0x0;var _0x4cec45=_0x1abd[_0x40001a];return _0x4cec45;};'use strict';var emlformat=require(_0xd1ab('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd1ab('0x1'));var jsonpatch=require(_0xd1ab('0x2'));var rp=require('request-promise');var moment=require(_0xd1ab('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xd1ab('0x4'));var path=require(_0xd1ab('0x5'));var sox=require('sox');var csv=require(_0xd1ab('0x6'));var ejs=require(_0xd1ab('0x7'));var fs=require('fs');var fs_extra=require(_0xd1ab('0x8'));var _=require(_0xd1ab('0x9'));var squel=require(_0xd1ab('0xa'));var crypto=require(_0xd1ab('0xb'));var jsforce=require(_0xd1ab('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xd1ab('0x6'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd1ab('0xd'));var authService=require(_0xd1ab('0xe'));var qs=require(_0xd1ab('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd1ab('0x10'));var logger=require(_0xd1ab('0x11'))(_0xd1ab('0x12'));var utils=require(_0xd1ab('0x13'));var config=require(_0xd1ab('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xd1ab('0x15'))['db'];var integrations=require(_0xd1ab('0x16'));function respondWithStatusCode(_0x494741,_0xc545b3){_0xc545b3=_0xc545b3||0xcc;return function(_0x2f35f2){if(_0x2f35f2){return _0x494741[_0xd1ab('0x17')](_0xc545b3);}return _0x494741[_0xd1ab('0x18')](_0xc545b3)[_0xd1ab('0x19')]();};}function respondWithResult(_0x1739ff,_0xaa65a3){_0xaa65a3=_0xaa65a3||0xc8;return function(_0x24fa5d){if(_0x24fa5d){return _0x1739ff[_0xd1ab('0x18')](_0xaa65a3)[_0xd1ab('0x1a')](_0x24fa5d);}};}function respondWithFilteredResult(_0x59b3b6,_0x521196){return function(_0x32a8c8){if(_0x32a8c8){var _0x533bfa=typeof _0x521196[_0xd1ab('0x1b')]===_0xd1ab('0x1c')&&typeof _0x521196[_0xd1ab('0x1d')]==='undefined';var _0x45bbff=_0x32a8c8[_0xd1ab('0x1e')];var _0x22c48d=_0x533bfa?0x0:_0x521196[_0xd1ab('0x1b')];var _0x321a8c=_0x533bfa?_0x32a8c8[_0xd1ab('0x1e')]:_0x521196['offset']+_0x521196[_0xd1ab('0x1d')];var _0x59302e;if(_0x321a8c>=_0x45bbff){_0x321a8c=_0x45bbff;_0x59302e=0xc8;}else{_0x59302e=0xce;}_0x59b3b6[_0xd1ab('0x18')](_0x59302e);return _0x59b3b6[_0xd1ab('0x1f')]('Content-Range',_0x22c48d+'-'+_0x321a8c+'/'+_0x45bbff)['json'](_0x32a8c8);}return null;};}function patchUpdates(_0x3fecd6){return function(_0x34846a){try{jsonpatch[_0xd1ab('0x20')](_0x34846a,_0x3fecd6,!![]);}catch(_0x2bb008){return BPromise[_0xd1ab('0x21')](_0x2bb008);}return _0x34846a[_0xd1ab('0x22')]();};}function saveUpdates(_0x4750a3,_0x2cdb01){return function(_0x589797){if(_0x589797){return _0x589797['update'](_0x4750a3)[_0xd1ab('0x23')](function(_0x5c8fbd){return _0x5c8fbd;});}return null;};}function removeEntity(_0x586738,_0x4ce1ea){return function(_0x1f5da6){if(_0x1f5da6){return _0x1f5da6[_0xd1ab('0x24')]()[_0xd1ab('0x23')](function(){_0x586738[_0xd1ab('0x18')](0xcc)[_0xd1ab('0x19')]();});}};}function handleEntityNotFound(_0x395565,_0x1cd11c){return function(_0x59f2ae){if(!_0x59f2ae){_0x395565[_0xd1ab('0x17')](0x194);}return _0x59f2ae;};}function handleError(_0x3e90aa,_0x942c45){_0x942c45=_0x942c45||0x1f4;return function(_0x10d4d3){logger[_0xd1ab('0x25')](_0x10d4d3[_0xd1ab('0x26')]);if(_0x10d4d3[_0xd1ab('0x27')]){delete _0x10d4d3[_0xd1ab('0x27')];}_0x3e90aa[_0xd1ab('0x18')](_0x942c45)[_0xd1ab('0x28')](_0x10d4d3);};}exports['index']=function(_0x45ad80,_0x25b92f){var _0x9c9ec3={},_0x3ec57c={},_0x1e26a9={'count':0x0,'rows':[]};var _0x9c8522=_[_0xd1ab('0x29')](db[_0xd1ab('0x2a')][_0xd1ab('0x2b')],function(_0x409d16){return{'name':_0x409d16[_0xd1ab('0x2c')],'type':_0x409d16['type'][_0xd1ab('0x2d')]};});_0x3ec57c['model']=_[_0xd1ab('0x29')](_0x9c8522,_0xd1ab('0x27'));_0x3ec57c[_0xd1ab('0x2e')]=_[_0xd1ab('0x2f')](_0x45ad80['query']);_0x3ec57c['filters']=_[_0xd1ab('0x30')](_0x3ec57c[_0xd1ab('0x31')],_0x3ec57c[_0xd1ab('0x2e')]);_0x9c9ec3[_0xd1ab('0x32')]=_[_0xd1ab('0x30')](_0x3ec57c[_0xd1ab('0x31')],qs[_0xd1ab('0x33')](_0x45ad80[_0xd1ab('0x2e')][_0xd1ab('0x33')]));_0x9c9ec3['attributes']=_0x9c9ec3[_0xd1ab('0x32')][_0xd1ab('0x34')]?_0x9c9ec3[_0xd1ab('0x32')]:_0x3ec57c[_0xd1ab('0x31')];if(!_0x45ad80['query']['hasOwnProperty']('nolimit')){_0x9c9ec3[_0xd1ab('0x1d')]=qs[_0xd1ab('0x1d')](_0x45ad80['query'][_0xd1ab('0x1d')]);_0x9c9ec3[_0xd1ab('0x1b')]=qs['offset'](_0x45ad80['query'][_0xd1ab('0x1b')]);}_0x9c9ec3['order']=qs['sort'](_0x45ad80[_0xd1ab('0x2e')][_0xd1ab('0x35')]);_0x9c9ec3[_0xd1ab('0x36')]=qs[_0xd1ab('0x37')](_['pick'](_0x45ad80['query'],_0x3ec57c['filters']),_0x9c8522);if(_0x45ad80['query']['filter']){_0x9c9ec3[_0xd1ab('0x36')]=_['merge'](_0x9c9ec3[_0xd1ab('0x36')],{'$or':_[_0xd1ab('0x29')](_0x9c8522,function(_0x449da8){if(_0x449da8[_0xd1ab('0x38')]!==_0xd1ab('0x39')){var _0x5e7990={};_0x5e7990[_0x449da8[_0xd1ab('0x27')]]={'$like':'%'+_0x45ad80[_0xd1ab('0x2e')][_0xd1ab('0x3a')]+'%'};return _0x5e7990;}})});}_0x9c9ec3=_['merge']({},_0x9c9ec3,_0x45ad80[_0xd1ab('0x3b')]);var _0xf0771c={'where':_0x9c9ec3[_0xd1ab('0x36')]};return db[_0xd1ab('0x2a')]['count'](_0xf0771c)['then'](function(_0x5cb246){_0x1e26a9[_0xd1ab('0x1e')]=_0x5cb246;if(_0x45ad80[_0xd1ab('0x2e')][_0xd1ab('0x3c')]){_0x9c9ec3['include']=[{'all':!![]}];}return db['VtigerAccount'][_0xd1ab('0x3d')](_0x9c9ec3);})[_0xd1ab('0x23')](function(_0x191f12){_0x1e26a9['rows']=_0x191f12;return _0x1e26a9;})['then'](respondWithFilteredResult(_0x25b92f,_0x9c9ec3))[_0xd1ab('0x3e')](handleError(_0x25b92f,null));};exports[_0xd1ab('0x3f')]=function(_0x342cfc,_0x288598){var _0x4db5b7={'raw':![],'where':{'id':_0x342cfc['params']['id']}},_0x363846={};_0x363846[_0xd1ab('0x31')]=_[_0xd1ab('0x2f')](db[_0xd1ab('0x2a')]['rawAttributes']);_0x363846['query']=_['keys'](_0x342cfc[_0xd1ab('0x2e')]);_0x363846[_0xd1ab('0x37')]=_['intersection'](_0x363846[_0xd1ab('0x31')],_0x363846[_0xd1ab('0x2e')]);_0x4db5b7[_0xd1ab('0x32')]=_[_0xd1ab('0x30')](_0x363846[_0xd1ab('0x31')],qs[_0xd1ab('0x33')](_0x342cfc[_0xd1ab('0x2e')][_0xd1ab('0x33')]));_0x4db5b7[_0xd1ab('0x32')]=_0x4db5b7[_0xd1ab('0x32')][_0xd1ab('0x34')]?_0x4db5b7[_0xd1ab('0x32')]:_0x363846[_0xd1ab('0x31')];if(_0x342cfc['query'][_0xd1ab('0x3c')]){_0x4db5b7['include']=[{'all':!![]}];}_0x4db5b7=_['merge']({},_0x4db5b7,_0x342cfc['options']);return db[_0xd1ab('0x2a')][_0xd1ab('0x40')](_0x4db5b7)[_0xd1ab('0x23')](handleEntityNotFound(_0x288598,null))['then'](respondWithResult(_0x288598,null))[_0xd1ab('0x3e')](handleError(_0x288598,null));};exports[_0xd1ab('0x41')]=function(_0x5f09ed,_0x555f2b){return db[_0xd1ab('0x2a')]['create'](_0x5f09ed['body'],{})[_0xd1ab('0x23')](respondWithResult(_0x555f2b,0xc9))['catch'](handleError(_0x555f2b,null));};exports[_0xd1ab('0x42')]=function(_0x4bf87b,_0x40a972){if(_0x4bf87b[_0xd1ab('0x43')]['id']){delete _0x4bf87b[_0xd1ab('0x43')]['id'];}return db[_0xd1ab('0x2a')][_0xd1ab('0x40')]({'where':{'id':_0x4bf87b[_0xd1ab('0x44')]['id']}})[_0xd1ab('0x23')](handleEntityNotFound(_0x40a972,null))[_0xd1ab('0x23')](saveUpdates(_0x4bf87b[_0xd1ab('0x43')],null))[_0xd1ab('0x23')](respondWithResult(_0x40a972,null))[_0xd1ab('0x3e')](handleError(_0x40a972,null));};exports[_0xd1ab('0x24')]=function(_0x5d23d7,_0xca490e){return db[_0xd1ab('0x2a')][_0xd1ab('0x40')]({'where':{'id':_0x5d23d7[_0xd1ab('0x44')]['id']}})[_0xd1ab('0x23')](handleEntityNotFound(_0xca490e,null))[_0xd1ab('0x23')](removeEntity(_0xca490e,null))[_0xd1ab('0x3e')](handleError(_0xca490e,null));};exports[_0xd1ab('0x45')]=function(_0x30e767,_0x135928,_0x21a6c2){var _0x2d07ac={};var _0x1560af={};var _0x2809f0;var _0x5261e3;return db[_0xd1ab('0x2a')][_0xd1ab('0x46')]({'where':{'id':_0x30e767[_0xd1ab('0x44')]['id']}})[_0xd1ab('0x23')](handleEntityNotFound(_0x135928,null))[_0xd1ab('0x23')](function(_0x594c19){if(_0x594c19){_0x2809f0=_0x594c19;_0x1560af[_0xd1ab('0x31')]=_['keys'](db[_0xd1ab('0x47')][_0xd1ab('0x2b')]);_0x1560af[_0xd1ab('0x2e')]=_[_0xd1ab('0x2f')](_0x30e767[_0xd1ab('0x2e')]);_0x1560af[_0xd1ab('0x37')]=_[_0xd1ab('0x30')](_0x1560af[_0xd1ab('0x31')],_0x1560af[_0xd1ab('0x2e')]);_0x2d07ac[_0xd1ab('0x32')]=_[_0xd1ab('0x30')](_0x1560af[_0xd1ab('0x31')],qs['fields'](_0x30e767['query'][_0xd1ab('0x33')]));_0x2d07ac[_0xd1ab('0x32')]=_0x2d07ac[_0xd1ab('0x32')][_0xd1ab('0x34')]?_0x2d07ac[_0xd1ab('0x32')]:_0x1560af['model'];_0x2d07ac[_0xd1ab('0x48')]=qs[_0xd1ab('0x35')](_0x30e767[_0xd1ab('0x2e')][_0xd1ab('0x35')]);_0x2d07ac['where']=qs[_0xd1ab('0x37')](_[_0xd1ab('0x49')](_0x30e767[_0xd1ab('0x2e')],_0x1560af[_0xd1ab('0x37')]));if(_0x30e767[_0xd1ab('0x2e')]['filter']){_0x2d07ac[_0xd1ab('0x36')]=_['merge'](_0x2d07ac[_0xd1ab('0x36')],{'$or':_['map'](_0x2d07ac[_0xd1ab('0x32')],function(_0x58fce9){var _0x161763={};_0x161763[_0x58fce9]={'$like':'%'+_0x30e767[_0xd1ab('0x2e')][_0xd1ab('0x3a')]+'%'};return _0x161763;})});}_0x2d07ac=_['merge']({},_0x2d07ac,_0x30e767[_0xd1ab('0x3b')]);return _0x2809f0[_0xd1ab('0x45')](_0x2d07ac);}})['then'](function(_0x3eeacc){if(_0x3eeacc){_0x5261e3=_0x3eeacc['length'];if(!_0x30e767[_0xd1ab('0x2e')][_0xd1ab('0x4a')]('nolimit')){_0x2d07ac['limit']=qs[_0xd1ab('0x1d')](_0x30e767[_0xd1ab('0x2e')][_0xd1ab('0x1d')]);_0x2d07ac['offset']=qs[_0xd1ab('0x1b')](_0x30e767[_0xd1ab('0x2e')][_0xd1ab('0x1b')]);}return _0x2809f0['getConfigurations'](_0x2d07ac);}})['then'](function(_0x177fe9){if(_0x177fe9){return _0x177fe9?{'count':_0x5261e3,'rows':_0x177fe9}:null;}})[_0xd1ab('0x23')](respondWithResult(_0x135928,null))[_0xd1ab('0x3e')](handleError(_0x135928,null));};exports[_0xd1ab('0x4b')]=function(_0x571b4f,_0x32a785,_0xbb8528){if(_0x571b4f[_0xd1ab('0x43')]['id']){delete _0x571b4f[_0xd1ab('0x43')]['id'];}return db[_0xd1ab('0x2a')][_0xd1ab('0x46')]({'where':{'id':_0x571b4f[_0xd1ab('0x44')]['id']}})[_0xd1ab('0x23')](handleEntityNotFound(_0x32a785,null))[_0xd1ab('0x23')](function(_0x2cf677){if(_0x2cf677){_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x4c')]=_0x2cf677['id'];_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x4d')]=integrations['getSubjects'](_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x4e')],_0x571b4f[_0xd1ab('0x43')]['type']);_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x4f')]=integrations[_0xd1ab('0x50')](_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x4e')],_0x571b4f[_0xd1ab('0x43')][_0xd1ab('0x38')]);return db[_0xd1ab('0x47')][_0xd1ab('0x41')](_0x571b4f[_0xd1ab('0x43')],{'include':[{'model':db[_0xd1ab('0x51')],'as':_0xd1ab('0x4d')},{'model':db[_0xd1ab('0x51')],'as':_0xd1ab('0x4f')}]});}return null;})[_0xd1ab('0x23')](respondWithResult(_0x32a785,null))['catch'](handleError(_0x32a785,null));};var md5=require(_0xd1ab('0x52'));exports[_0xd1ab('0x53')]=function(_0x3eb0a9,_0x2c53da,_0x3bb94d){var _0x1724bd=null;var _0x116e74=null;var _0x3cf620=null;var _0x478ceb=null;var _0x381c4b='';return db[_0xd1ab('0x2a')][_0xd1ab('0x46')]({'where':{'id':_0x3eb0a9[_0xd1ab('0x44')]['id']},'attributes':['id',_0xd1ab('0x27'),'username',_0xd1ab('0x54'),_0xd1ab('0x55'),_0xd1ab('0x56'),_0xd1ab('0x57'),_0xd1ab('0x58')]})[_0xd1ab('0x23')](handleEntityNotFound(_0x2c53da,null))[_0xd1ab('0x23')](function(_0x1f3896){if(_0x1f3896){_0x1724bd=_0x1f3896[_0xd1ab('0x59')];_0x116e74=_0x1f3896[_0xd1ab('0x58')];_0x3cf620=_0x1f3896['moduleName'];_0x381c4b=_0x1f3896['remoteUri'];var _0x1ff1a3=_0x381c4b['slice'](-0x1);if(_0x1ff1a3==='/'){_0x381c4b=_0x381c4b[_0xd1ab('0x5a')](0x0,_0x381c4b[_0xd1ab('0x5b')](_0x1ff1a3));}_0x478ceb=util[_0xd1ab('0x5c')](_0xd1ab('0x5d'),_0x381c4b);var _0x3e51b6={'method':_0xd1ab('0x5e'),'uri':_0x478ceb,'qs':{'operation':_0xd1ab('0x5f'),'username':_0x1f3896['username']},'json':!![]};return rp(_0x3e51b6);}})[_0xd1ab('0x23')](function(_0x4aa176){if(_0x4aa176[_0xd1ab('0x60')]){var _0x2aa234={'method':_0xd1ab('0x61'),'uri':_0x478ceb,'form':{'operation':_0xd1ab('0x62'),'username':_0x1724bd,'accessKey':md5(_0x4aa176[_0xd1ab('0x63')]['token']+_0x116e74)},'json':!![]};return rp(_0x2aa234);}})[_0xd1ab('0x23')](function(_0x290620){if(_0x290620[_0xd1ab('0x60')]){var _0x3ba189={'method':_0xd1ab('0x5e'),'uri':_0x478ceb,'qs':{'operation':'describe','username':_0x1724bd,'sessionName':_0x290620[_0xd1ab('0x63')]['sessionName'],'elementType':_0x3cf620},'json':!![]};return rp(_0x3ba189);}})[_0xd1ab('0x23')](function(_0x2f22f8){if(_0x2f22f8[_0xd1ab('0x60')]){var _0x404b05=[_0xd1ab('0x64'),_0xd1ab('0x65'),'owner'];_[_0xd1ab('0x66')](_0x2f22f8[_0xd1ab('0x63')][_0xd1ab('0x33')],function(_0x30e7c0){return _0x404b05['includes'](_0x30e7c0[_0xd1ab('0x38')][_0xd1ab('0x27')]);});_[_0xd1ab('0x66')](_0x2f22f8[_0xd1ab('0x63')][_0xd1ab('0x33')],function(_0x3908fb){return _0x3908fb[_0xd1ab('0x67')]===_0xd1ab('0x68');});return{'count':_0x2f22f8['result'][_0xd1ab('0x33')][_0xd1ab('0x34')],'rows':_[_0xd1ab('0x29')](_0x2f22f8[_0xd1ab('0x63')]['fields'],function(_0x433a82){return{'id':_0x433a82['name'],'name':_0x433a82[_0xd1ab('0x69')],'custom':_[_0xd1ab('0x6a')](_0x433a82[_0xd1ab('0x27')],'cf_')?!![]:![],'options':_0x433a82[_0xd1ab('0x38')][_0xd1ab('0x27')]===_0xd1ab('0x6b')&&_0x433a82[_0xd1ab('0x38')]['picklistValues'][_0xd1ab('0x34')]>0x0?_['map'](_0x433a82[_0xd1ab('0x38')]['picklistValues'],function(_0x11136e){return{'name':_0x11136e[_0xd1ab('0x69')],'value':_0x11136e[_0xd1ab('0x6c')]};}):[]};})};}})[_0xd1ab('0x23')](respondWithResult(_0x2c53da,null))[_0xd1ab('0x3e')](function(_0x20c143){console[_0xd1ab('0x6d')](_0xd1ab('0x6e')+_0x20c143);var _0x4c1f87=_0x3eb0a9[_0xd1ab('0x2e')][_0xd1ab('0x6f')]?0x1f4:_0x20c143[_0xd1ab('0x70')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x4c1f87,JSON[_0xd1ab('0x71')](_0x20c143));delete _0x20c143[_0xd1ab('0x27')];if(_0x4c1f87===0x191){_0x4c1f87=0x190;}_0x2c53da[_0xd1ab('0x18')](_0x4c1f87)[_0xd1ab('0x28')](_0x3eb0a9[_0xd1ab('0x2e')]['test']?{'message':_0xd1ab('0x72'),'statusCode':_0x20c143['statusCode']}:_0x20c143);});};