b111b6c4b3a7a0f30c88cc16da1bd635f2bbcde8
[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 _0x89ae=['AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','substring','lastIndexOf','format','%s/webservice.php','GET','POST','result','token','success','describe','sessionName','reference','owner','remove','includes','false','startsWith','picklist','picklistValues','label','log','vTiger\x20error:\x20','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../components/integrations/configuration','status','end','offset','undefined','limit','count','Content-Range','json','apply','save','update','then','destroy','error','stack','send','map','rawAttributes','fieldName','type','key','model','name','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','VtigerAccount','includeAll','include','findAll','show','params','keys','find','catch','create','body','getConfigurations','VtigerConfiguration','length','addConfiguration','findOne'];(function(_0x4351c9,_0x2e620c){var _0x30de2f=function(_0x16d688){while(--_0x16d688){_0x4351c9['push'](_0x4351c9['shift']());}};_0x30de2f(++_0x2e620c);}(_0x89ae,0xa1));var _0xe89a=function(_0x368c1d,_0x4683cd){_0x368c1d=_0x368c1d-0x0;var _0xface06=_0x89ae[_0x368c1d];return _0xface06;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe89a('0x0'));var zipdir=require(_0xe89a('0x1'));var jsonpatch=require(_0xe89a('0x2'));var rp=require(_0xe89a('0x3'));var moment=require(_0xe89a('0x4'));var BPromise=require(_0xe89a('0x5'));var Mustache=require(_0xe89a('0x6'));var util=require(_0xe89a('0x7'));var path=require(_0xe89a('0x8'));var sox=require(_0xe89a('0x9'));var csv=require(_0xe89a('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe89a('0xb'));var _=require(_0xe89a('0xc'));var squel=require(_0xe89a('0xd'));var crypto=require(_0xe89a('0xe'));var jsforce=require(_0xe89a('0xf'));var deskjs=require(_0xe89a('0x10'));var toCsv=require('to-csv');var querystring=require(_0xe89a('0x11'));var Papa=require(_0xe89a('0x12'));var Redis=require(_0xe89a('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xe89a('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe89a('0x15'))(_0xe89a('0x16'));var utils=require(_0xe89a('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require(_0xe89a('0x18'));function respondWithStatusCode(_0x247eba,_0x2e976f){_0x2e976f=_0x2e976f||0xcc;return function(_0x3f564b){if(_0x3f564b){return _0x247eba['sendStatus'](_0x2e976f);}return _0x247eba[_0xe89a('0x19')](_0x2e976f)[_0xe89a('0x1a')]();};}function respondWithResult(_0x1d8cdb,_0x1498e8){_0x1498e8=_0x1498e8||0xc8;return function(_0x2d29f9){if(_0x2d29f9){return _0x1d8cdb[_0xe89a('0x19')](_0x1498e8)['json'](_0x2d29f9);}};}function respondWithFilteredResult(_0x36ea29,_0x4f42b3){return function(_0xe47f35){if(_0xe47f35){var _0x32f539=typeof _0x4f42b3[_0xe89a('0x1b')]===_0xe89a('0x1c')&&typeof _0x4f42b3[_0xe89a('0x1d')]===_0xe89a('0x1c');var _0x431f1a=_0xe47f35[_0xe89a('0x1e')];var _0x5244e7=_0x32f539?0x0:_0x4f42b3[_0xe89a('0x1b')];var _0x4ac2e=_0x32f539?_0xe47f35[_0xe89a('0x1e')]:_0x4f42b3['offset']+_0x4f42b3[_0xe89a('0x1d')];var _0x253cab;if(_0x4ac2e>=_0x431f1a){_0x4ac2e=_0x431f1a;_0x253cab=0xc8;}else{_0x253cab=0xce;}_0x36ea29[_0xe89a('0x19')](_0x253cab);return _0x36ea29['set'](_0xe89a('0x1f'),_0x5244e7+'-'+_0x4ac2e+'/'+_0x431f1a)[_0xe89a('0x20')](_0xe47f35);}return null;};}function patchUpdates(_0x2d0679){return function(_0x4ec5bb){try{jsonpatch[_0xe89a('0x21')](_0x4ec5bb,_0x2d0679,!![]);}catch(_0x2fb72a){return BPromise['reject'](_0x2fb72a);}return _0x4ec5bb[_0xe89a('0x22')]();};}function saveUpdates(_0x47347e,_0x55b70f){return function(_0x143faa){if(_0x143faa){return _0x143faa[_0xe89a('0x23')](_0x47347e)[_0xe89a('0x24')](function(_0x1718e6){return _0x1718e6;});}return null;};}function removeEntity(_0x2377bf,_0x594636){return function(_0x10c8d5){if(_0x10c8d5){return _0x10c8d5[_0xe89a('0x25')]()[_0xe89a('0x24')](function(){_0x2377bf[_0xe89a('0x19')](0xcc)[_0xe89a('0x1a')]();});}};}function handleEntityNotFound(_0x28f2b2,_0x2aa7d4){return function(_0x5e5563){if(!_0x5e5563){_0x28f2b2['sendStatus'](0x194);}return _0x5e5563;};}function handleError(_0x350a33,_0x494267){_0x494267=_0x494267||0x1f4;return function(_0x22e096){logger[_0xe89a('0x26')](_0x22e096[_0xe89a('0x27')]);if(_0x22e096['name']){delete _0x22e096['name'];}_0x350a33[_0xe89a('0x19')](_0x494267)[_0xe89a('0x28')](_0x22e096);};}exports['index']=function(_0x5afbbc,_0x6762e4){var _0x1849d0={},_0xa8aad0={},_0x1c8821={'count':0x0,'rows':[]};var _0x5e5573=_[_0xe89a('0x29')](db['VtigerAccount'][_0xe89a('0x2a')],function(_0x45b915){return{'name':_0x45b915[_0xe89a('0x2b')],'type':_0x45b915[_0xe89a('0x2c')][_0xe89a('0x2d')]};});_0xa8aad0[_0xe89a('0x2e')]=_[_0xe89a('0x29')](_0x5e5573,_0xe89a('0x2f'));_0xa8aad0[_0xe89a('0x30')]=_['keys'](_0x5afbbc[_0xe89a('0x30')]);_0xa8aad0[_0xe89a('0x31')]=_[_0xe89a('0x32')](_0xa8aad0[_0xe89a('0x2e')],_0xa8aad0[_0xe89a('0x30')]);_0x1849d0[_0xe89a('0x33')]=_[_0xe89a('0x32')](_0xa8aad0[_0xe89a('0x2e')],qs[_0xe89a('0x34')](_0x5afbbc['query'][_0xe89a('0x34')]));_0x1849d0[_0xe89a('0x33')]=_0x1849d0['attributes']['length']?_0x1849d0['attributes']:_0xa8aad0[_0xe89a('0x2e')];if(!_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x35')](_0xe89a('0x36'))){_0x1849d0[_0xe89a('0x1d')]=qs[_0xe89a('0x1d')](_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x1d')]);_0x1849d0['offset']=qs[_0xe89a('0x1b')](_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x1b')]);}_0x1849d0[_0xe89a('0x37')]=qs[_0xe89a('0x38')](_0x5afbbc['query']['sort']);_0x1849d0[_0xe89a('0x39')]=qs[_0xe89a('0x31')](_[_0xe89a('0x3a')](_0x5afbbc[_0xe89a('0x30')],_0xa8aad0['filters']),_0x5e5573);if(_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x3b')]){_0x1849d0[_0xe89a('0x39')]=_['merge'](_0x1849d0[_0xe89a('0x39')],{'$or':_[_0xe89a('0x29')](_0x5e5573,function(_0x2ddd50){if(_0x2ddd50[_0xe89a('0x2c')]!==_0xe89a('0x3c')){var _0x10e967={};_0x10e967[_0x2ddd50[_0xe89a('0x2f')]]={'$like':'%'+_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x3b')]+'%'};return _0x10e967;}})});}_0x1849d0=_[_0xe89a('0x3d')]({},_0x1849d0,_0x5afbbc[_0xe89a('0x3e')]);var _0x57072f={'where':_0x1849d0[_0xe89a('0x39')]};return db[_0xe89a('0x3f')][_0xe89a('0x1e')](_0x57072f)['then'](function(_0x48d41a){_0x1c8821[_0xe89a('0x1e')]=_0x48d41a;if(_0x5afbbc[_0xe89a('0x30')][_0xe89a('0x40')]){_0x1849d0[_0xe89a('0x41')]=[{'all':!![]}];}return db[_0xe89a('0x3f')][_0xe89a('0x42')](_0x1849d0);})[_0xe89a('0x24')](function(_0xebf6cb){_0x1c8821['rows']=_0xebf6cb;return _0x1c8821;})[_0xe89a('0x24')](respondWithFilteredResult(_0x6762e4,_0x1849d0))['catch'](handleError(_0x6762e4,null));};exports[_0xe89a('0x43')]=function(_0x2f3757,_0x3d04ce){var _0x2ee442={'raw':![],'where':{'id':_0x2f3757[_0xe89a('0x44')]['id']}},_0x20ebdd={};_0x20ebdd[_0xe89a('0x2e')]=_[_0xe89a('0x45')](db[_0xe89a('0x3f')]['rawAttributes']);_0x20ebdd[_0xe89a('0x30')]=_['keys'](_0x2f3757['query']);_0x20ebdd[_0xe89a('0x31')]=_[_0xe89a('0x32')](_0x20ebdd[_0xe89a('0x2e')],_0x20ebdd[_0xe89a('0x30')]);_0x2ee442[_0xe89a('0x33')]=_[_0xe89a('0x32')](_0x20ebdd[_0xe89a('0x2e')],qs[_0xe89a('0x34')](_0x2f3757[_0xe89a('0x30')]['fields']));_0x2ee442[_0xe89a('0x33')]=_0x2ee442[_0xe89a('0x33')]['length']?_0x2ee442[_0xe89a('0x33')]:_0x20ebdd['model'];if(_0x2f3757['query'][_0xe89a('0x40')]){_0x2ee442[_0xe89a('0x41')]=[{'all':!![]}];}_0x2ee442=_['merge']({},_0x2ee442,_0x2f3757[_0xe89a('0x3e')]);return db[_0xe89a('0x3f')][_0xe89a('0x46')](_0x2ee442)[_0xe89a('0x24')](handleEntityNotFound(_0x3d04ce,null))[_0xe89a('0x24')](respondWithResult(_0x3d04ce,null))[_0xe89a('0x47')](handleError(_0x3d04ce,null));};exports[_0xe89a('0x48')]=function(_0x2b8d96,_0xf76b98){return db[_0xe89a('0x3f')][_0xe89a('0x48')](_0x2b8d96[_0xe89a('0x49')],{})[_0xe89a('0x24')](respondWithResult(_0xf76b98,0xc9))[_0xe89a('0x47')](handleError(_0xf76b98,null));};exports[_0xe89a('0x23')]=function(_0x4c0632,_0x165e5c){if(_0x4c0632[_0xe89a('0x49')]['id']){delete _0x4c0632['body']['id'];}return db['VtigerAccount'][_0xe89a('0x46')]({'where':{'id':_0x4c0632['params']['id']}})[_0xe89a('0x24')](handleEntityNotFound(_0x165e5c,null))['then'](saveUpdates(_0x4c0632[_0xe89a('0x49')],null))[_0xe89a('0x24')](respondWithResult(_0x165e5c,null))[_0xe89a('0x47')](handleError(_0x165e5c,null));};exports[_0xe89a('0x25')]=function(_0xa89850,_0x42af46){return db[_0xe89a('0x3f')][_0xe89a('0x46')]({'where':{'id':_0xa89850[_0xe89a('0x44')]['id']}})['then'](handleEntityNotFound(_0x42af46,null))['then'](removeEntity(_0x42af46,null))['catch'](handleError(_0x42af46,null));};exports[_0xe89a('0x4a')]=function(_0x623a03,_0x55616a,_0x599617){var _0x429b6d={};var _0x1afdc0={};var _0xdf3354;var _0x4d4298;return db['VtigerAccount']['findOne']({'where':{'id':_0x623a03['params']['id']}})[_0xe89a('0x24')](handleEntityNotFound(_0x55616a,null))['then'](function(_0xe8ac93){if(_0xe8ac93){_0xdf3354=_0xe8ac93;_0x1afdc0['model']=_[_0xe89a('0x45')](db[_0xe89a('0x4b')]['rawAttributes']);_0x1afdc0[_0xe89a('0x30')]=_[_0xe89a('0x45')](_0x623a03[_0xe89a('0x30')]);_0x1afdc0[_0xe89a('0x31')]=_[_0xe89a('0x32')](_0x1afdc0[_0xe89a('0x2e')],_0x1afdc0['query']);_0x429b6d[_0xe89a('0x33')]=_[_0xe89a('0x32')](_0x1afdc0[_0xe89a('0x2e')],qs[_0xe89a('0x34')](_0x623a03[_0xe89a('0x30')][_0xe89a('0x34')]));_0x429b6d[_0xe89a('0x33')]=_0x429b6d[_0xe89a('0x33')][_0xe89a('0x4c')]?_0x429b6d[_0xe89a('0x33')]:_0x1afdc0[_0xe89a('0x2e')];_0x429b6d[_0xe89a('0x37')]=qs[_0xe89a('0x38')](_0x623a03[_0xe89a('0x30')][_0xe89a('0x38')]);_0x429b6d[_0xe89a('0x39')]=qs[_0xe89a('0x31')](_['pick'](_0x623a03[_0xe89a('0x30')],_0x1afdc0[_0xe89a('0x31')]));if(_0x623a03[_0xe89a('0x30')][_0xe89a('0x3b')]){_0x429b6d[_0xe89a('0x39')]=_[_0xe89a('0x3d')](_0x429b6d['where'],{'$or':_[_0xe89a('0x29')](_0x429b6d['attributes'],function(_0x56d708){var _0x30814d={};_0x30814d[_0x56d708]={'$like':'%'+_0x623a03[_0xe89a('0x30')][_0xe89a('0x3b')]+'%'};return _0x30814d;})});}_0x429b6d=_[_0xe89a('0x3d')]({},_0x429b6d,_0x623a03['options']);return _0xdf3354[_0xe89a('0x4a')](_0x429b6d);}})[_0xe89a('0x24')](function(_0x557931){if(_0x557931){_0x4d4298=_0x557931[_0xe89a('0x4c')];if(!_0x623a03['query'][_0xe89a('0x35')](_0xe89a('0x36'))){_0x429b6d['limit']=qs[_0xe89a('0x1d')](_0x623a03['query'][_0xe89a('0x1d')]);_0x429b6d[_0xe89a('0x1b')]=qs[_0xe89a('0x1b')](_0x623a03[_0xe89a('0x30')][_0xe89a('0x1b')]);}return _0xdf3354[_0xe89a('0x4a')](_0x429b6d);}})[_0xe89a('0x24')](function(_0x14e464){if(_0x14e464){return _0x14e464?{'count':_0x4d4298,'rows':_0x14e464}:null;}})['then'](respondWithResult(_0x55616a,null))['catch'](handleError(_0x55616a,null));};exports[_0xe89a('0x4d')]=function(_0x1535c8,_0x5b7e45,_0x4e6d65){if(_0x1535c8[_0xe89a('0x49')]['id']){delete _0x1535c8[_0xe89a('0x49')]['id'];}return db[_0xe89a('0x3f')][_0xe89a('0x4e')]({'where':{'id':_0x1535c8[_0xe89a('0x44')]['id']}})[_0xe89a('0x24')](handleEntityNotFound(_0x5b7e45,null))['then'](function(_0x3c15c0){if(_0x3c15c0){_0x1535c8[_0xe89a('0x49')][_0xe89a('0x4f')]=_0x3c15c0['id'];_0x1535c8[_0xe89a('0x49')][_0xe89a('0x50')]=integrations[_0xe89a('0x51')](_0x1535c8[_0xe89a('0x49')][_0xe89a('0x52')],_0x1535c8[_0xe89a('0x49')]['type']);_0x1535c8['body'][_0xe89a('0x53')]=integrations[_0xe89a('0x54')](_0x1535c8[_0xe89a('0x49')][_0xe89a('0x52')],_0x1535c8[_0xe89a('0x49')][_0xe89a('0x2c')]);return db[_0xe89a('0x4b')][_0xe89a('0x48')](_0x1535c8[_0xe89a('0x49')],{'include':[{'model':db['VtigerField'],'as':_0xe89a('0x50')},{'model':db[_0xe89a('0x55')],'as':_0xe89a('0x53')}]});}return null;})[_0xe89a('0x24')](respondWithResult(_0x5b7e45,null))[_0xe89a('0x47')](handleError(_0x5b7e45,null));};var md5=require(_0xe89a('0x56'));exports[_0xe89a('0x57')]=function(_0x9c31dc,_0x3017a7,_0x386c5e){var _0x4a850b=null;var _0x2ce731=null;var _0x3092f1=null;var _0x29e5ce=null;var _0x5db844='';return db['VtigerAccount'][_0xe89a('0x4e')]({'where':{'id':_0x9c31dc['params']['id']},'attributes':['id',_0xe89a('0x2f'),_0xe89a('0x58'),_0xe89a('0x59'),_0xe89a('0x5a'),_0xe89a('0x5b'),_0xe89a('0x5c'),_0xe89a('0x5d')]})[_0xe89a('0x24')](handleEntityNotFound(_0x3017a7,null))[_0xe89a('0x24')](function(_0x9e7db3){if(_0x9e7db3){_0x4a850b=_0x9e7db3[_0xe89a('0x58')];_0x2ce731=_0x9e7db3[_0xe89a('0x5d')];_0x3092f1=_0x9e7db3[_0xe89a('0x5a')];_0x5db844=_0x9e7db3[_0xe89a('0x5b')];var _0x88f675=_0x5db844[_0xe89a('0x5e')](-0x1);if(_0x88f675==='/'){_0x5db844=_0x5db844[_0xe89a('0x5f')](0x0,_0x5db844[_0xe89a('0x60')](_0x88f675));}_0x29e5ce=util[_0xe89a('0x61')](_0xe89a('0x62'),_0x5db844);var _0xc94413={'method':_0xe89a('0x63'),'uri':_0x29e5ce,'qs':{'operation':'getchallenge','username':_0x9e7db3['username']},'json':!![]};return rp(_0xc94413);}})[_0xe89a('0x24')](function(_0x5f529b){if(_0x5f529b['success']){var _0x3bf9a3={'method':_0xe89a('0x64'),'uri':_0x29e5ce,'form':{'operation':'login','username':_0x4a850b,'accessKey':md5(_0x5f529b[_0xe89a('0x65')][_0xe89a('0x66')]+_0x2ce731)},'json':!![]};return rp(_0x3bf9a3);}})[_0xe89a('0x24')](function(_0x4a547d){if(_0x4a547d[_0xe89a('0x67')]){var _0x12a9b9={'method':'GET','uri':_0x29e5ce,'qs':{'operation':_0xe89a('0x68'),'username':_0x4a850b,'sessionName':_0x4a547d[_0xe89a('0x65')][_0xe89a('0x69')],'elementType':_0x3092f1},'json':!![]};return rp(_0x12a9b9);}})['then'](function(_0x28bfaf){if(_0x28bfaf[_0xe89a('0x67')]){var _0x28e62c=['autogenerated',_0xe89a('0x6a'),_0xe89a('0x6b')];_[_0xe89a('0x6c')](_0x28bfaf['result'][_0xe89a('0x34')],function(_0x2453f2){return _0x28e62c[_0xe89a('0x6d')](_0x2453f2[_0xe89a('0x2c')][_0xe89a('0x2f')]);});_[_0xe89a('0x6c')](_0x28bfaf[_0xe89a('0x65')][_0xe89a('0x34')],function(_0x2dd76c){return _0x2dd76c['editable']===_0xe89a('0x6e');});return{'count':_0x28bfaf[_0xe89a('0x65')][_0xe89a('0x34')][_0xe89a('0x4c')],'rows':_[_0xe89a('0x29')](_0x28bfaf[_0xe89a('0x65')][_0xe89a('0x34')],function(_0xa06b69){return{'id':_0xa06b69[_0xe89a('0x2f')],'name':_0xa06b69['label'],'custom':_[_0xe89a('0x6f')](_0xa06b69[_0xe89a('0x2f')],'cf_')?!![]:![],'options':_0xa06b69[_0xe89a('0x2c')][_0xe89a('0x2f')]===_0xe89a('0x70')&&_0xa06b69[_0xe89a('0x2c')][_0xe89a('0x71')][_0xe89a('0x4c')]>0x0?_[_0xe89a('0x29')](_0xa06b69[_0xe89a('0x2c')][_0xe89a('0x71')],function(_0x34f651){return{'name':_0x34f651[_0xe89a('0x72')],'value':_0x34f651['value']};}):[]};})};}})[_0xe89a('0x24')](respondWithResult(_0x3017a7,null))['catch'](function(_0xed7c19){console[_0xe89a('0x73')](_0xe89a('0x74')+_0xed7c19);var _0x171697=_0x9c31dc['query']['test']?0x1f4:_0xed7c19[_0xe89a('0x75')]||0x1f4;logger[_0xe89a('0x26')](_0xe89a('0x76'),_0xe89a('0x57'),_0x171697,JSON['stringify'](_0xed7c19));delete _0xed7c19[_0xe89a('0x2f')];if(_0x171697===0x191){_0x171697=0x190;}_0x3017a7[_0xe89a('0x19')](_0x171697)[_0xe89a('0x28')](_0x9c31dc['query'][_0xe89a('0x77')]?{'message':'Wrong\x20credentials','statusCode':_0xed7c19[_0xe89a('0x75')]}:_0xed7c19);});};