6dcb59d62626422d2034936ed11d89826b5228ff
[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 _0xfac3=['getchallenge','success','POST','login','result','token','describe','autogenerated','reference','editable','label','startsWith','cf_','picklistValues','value','vTiger\x20error:\x20','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','stack','name','index','rawAttributes','fieldName','type','key','query','keys','model','attributes','fields','length','nolimit','limit','order','sort','where','filters','pick','filter','merge','map','VIRTUAL','options','includeAll','include','VtigerAccount','show','intersection','find','create','body','params','catch','getConfigurations','findOne','VtigerConfiguration','hasOwnProperty','addConfiguration','AccountId','Subjects','channel','getDescriptions','VtigerField','Descriptions','md5','username','description','moduleName','remoteUri','serverUrl','accessKey','substring','lastIndexOf','%s/webservice.php','GET'];(function(_0x3e5445,_0x65567){var _0x1b49b6=function(_0x1a8126){while(--_0x1a8126){_0x3e5445['push'](_0x3e5445['shift']());}};_0x1b49b6(++_0x65567);}(_0xfac3,0x8c));var _0x3fac=function(_0x55c491,_0x40c252){_0x55c491=_0x55c491-0x0;var _0x1496f6=_0xfac3[_0x55c491];return _0x1496f6;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3fac('0x0'));var rp=require(_0x3fac('0x1'));var moment=require('moment');var BPromise=require(_0x3fac('0x2'));var Mustache=require(_0x3fac('0x3'));var util=require('util');var path=require(_0x3fac('0x4'));var sox=require(_0x3fac('0x5'));var csv=require(_0x3fac('0x6'));var ejs=require(_0x3fac('0x7'));var fs=require('fs');var fs_extra=require(_0x3fac('0x8'));var _=require(_0x3fac('0x9'));var squel=require('squel');var crypto=require(_0x3fac('0xa'));var jsforce=require(_0x3fac('0xb'));var deskjs=require(_0x3fac('0xc'));var toCsv=require(_0x3fac('0x6'));var querystring=require(_0x3fac('0xd'));var Papa=require(_0x3fac('0xe'));var Redis=require(_0x3fac('0xf'));var authService=require(_0x3fac('0x10'));var qs=require(_0x3fac('0x11'));var as=require(_0x3fac('0x12'));var hardwareService=require(_0x3fac('0x13'));var logger=require(_0x3fac('0x14'))(_0x3fac('0x15'));var utils=require(_0x3fac('0x16'));var config=require(_0x3fac('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x3fac('0x18'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x2ab8b4,_0x57063b){_0x57063b=_0x57063b||0xcc;return function(_0x147880){if(_0x147880){return _0x2ab8b4[_0x3fac('0x19')](_0x57063b);}return _0x2ab8b4[_0x3fac('0x1a')](_0x57063b)[_0x3fac('0x1b')]();};}function respondWithResult(_0x403b58,_0x2cbb21){_0x2cbb21=_0x2cbb21||0xc8;return function(_0x2719af){if(_0x2719af){return _0x403b58[_0x3fac('0x1a')](_0x2cbb21)[_0x3fac('0x1c')](_0x2719af);}};}function respondWithFilteredResult(_0x2fc870,_0x2a3e23){return function(_0x4d30d1){if(_0x4d30d1){var _0x5ad68e=typeof _0x2a3e23[_0x3fac('0x1d')]===_0x3fac('0x1e')&&typeof _0x2a3e23['limit']===_0x3fac('0x1e');var _0x123d16=_0x4d30d1['count'];var _0x3e3dc1=_0x5ad68e?0x0:_0x2a3e23['offset'];var _0x3594a2=_0x5ad68e?_0x4d30d1[_0x3fac('0x1f')]:_0x2a3e23['offset']+_0x2a3e23['limit'];var _0x312402;if(_0x3594a2>=_0x123d16){_0x3594a2=_0x123d16;_0x312402=0xc8;}else{_0x312402=0xce;}_0x2fc870[_0x3fac('0x1a')](_0x312402);return _0x2fc870[_0x3fac('0x20')](_0x3fac('0x21'),_0x3e3dc1+'-'+_0x3594a2+'/'+_0x123d16)[_0x3fac('0x1c')](_0x4d30d1);}return null;};}function patchUpdates(_0x48b882){return function(_0x139779){try{jsonpatch[_0x3fac('0x22')](_0x139779,_0x48b882,!![]);}catch(_0x55e474){return BPromise['reject'](_0x55e474);}return _0x139779[_0x3fac('0x23')]();};}function saveUpdates(_0x46b8c6,_0x5dddf8){return function(_0x2ffc52){if(_0x2ffc52){return _0x2ffc52[_0x3fac('0x24')](_0x46b8c6)[_0x3fac('0x25')](function(_0x57be93){return _0x57be93;});}return null;};}function removeEntity(_0xf0a810,_0x246a0e){return function(_0x201e65){if(_0x201e65){return _0x201e65[_0x3fac('0x26')]()['then'](function(){_0xf0a810[_0x3fac('0x1a')](0xcc)[_0x3fac('0x1b')]();});}};}function handleEntityNotFound(_0x30ed36,_0x3aacde){return function(_0xad21){if(!_0xad21){_0x30ed36[_0x3fac('0x19')](0x194);}return _0xad21;};}function handleError(_0x27a2ec,_0x4809ef){_0x4809ef=_0x4809ef||0x1f4;return function(_0x35c779){logger['error'](_0x35c779[_0x3fac('0x27')]);if(_0x35c779[_0x3fac('0x28')]){delete _0x35c779[_0x3fac('0x28')];}_0x27a2ec['status'](_0x4809ef)['send'](_0x35c779);};}exports[_0x3fac('0x29')]=function(_0x210b36,_0x2d6c04){var _0xa48a0={},_0x3ec8be={},_0x2c8749={'count':0x0,'rows':[]};var _0x462f4e=_['map'](db['VtigerAccount'][_0x3fac('0x2a')],function(_0x1a1d2e){return{'name':_0x1a1d2e[_0x3fac('0x2b')],'type':_0x1a1d2e[_0x3fac('0x2c')][_0x3fac('0x2d')]};});_0x3ec8be['model']=_['map'](_0x462f4e,_0x3fac('0x28'));_0x3ec8be[_0x3fac('0x2e')]=_[_0x3fac('0x2f')](_0x210b36[_0x3fac('0x2e')]);_0x3ec8be['filters']=_['intersection'](_0x3ec8be[_0x3fac('0x30')],_0x3ec8be[_0x3fac('0x2e')]);_0xa48a0[_0x3fac('0x31')]=_['intersection'](_0x3ec8be[_0x3fac('0x30')],qs[_0x3fac('0x32')](_0x210b36[_0x3fac('0x2e')][_0x3fac('0x32')]));_0xa48a0['attributes']=_0xa48a0[_0x3fac('0x31')][_0x3fac('0x33')]?_0xa48a0['attributes']:_0x3ec8be[_0x3fac('0x30')];if(!_0x210b36['query']['hasOwnProperty'](_0x3fac('0x34'))){_0xa48a0[_0x3fac('0x35')]=qs[_0x3fac('0x35')](_0x210b36[_0x3fac('0x2e')][_0x3fac('0x35')]);_0xa48a0[_0x3fac('0x1d')]=qs[_0x3fac('0x1d')](_0x210b36[_0x3fac('0x2e')][_0x3fac('0x1d')]);}_0xa48a0[_0x3fac('0x36')]=qs[_0x3fac('0x37')](_0x210b36[_0x3fac('0x2e')]['sort']);_0xa48a0[_0x3fac('0x38')]=qs[_0x3fac('0x39')](_[_0x3fac('0x3a')](_0x210b36[_0x3fac('0x2e')],_0x3ec8be[_0x3fac('0x39')]),_0x462f4e);if(_0x210b36[_0x3fac('0x2e')][_0x3fac('0x3b')]){_0xa48a0['where']=_[_0x3fac('0x3c')](_0xa48a0[_0x3fac('0x38')],{'$or':_[_0x3fac('0x3d')](_0x462f4e,function(_0x39aa29){if(_0x39aa29[_0x3fac('0x2c')]!==_0x3fac('0x3e')){var _0x3460ee={};_0x3460ee[_0x39aa29['name']]={'$like':'%'+_0x210b36[_0x3fac('0x2e')][_0x3fac('0x3b')]+'%'};return _0x3460ee;}})});}_0xa48a0=_[_0x3fac('0x3c')]({},_0xa48a0,_0x210b36[_0x3fac('0x3f')]);var _0x355386={'where':_0xa48a0['where']};return db['VtigerAccount'][_0x3fac('0x1f')](_0x355386)[_0x3fac('0x25')](function(_0x2771eb){_0x2c8749[_0x3fac('0x1f')]=_0x2771eb;if(_0x210b36[_0x3fac('0x2e')][_0x3fac('0x40')]){_0xa48a0[_0x3fac('0x41')]=[{'all':!![]}];}return db[_0x3fac('0x42')]['findAll'](_0xa48a0);})[_0x3fac('0x25')](function(_0x1c0e44){_0x2c8749['rows']=_0x1c0e44;return _0x2c8749;})[_0x3fac('0x25')](respondWithFilteredResult(_0x2d6c04,_0xa48a0))['catch'](handleError(_0x2d6c04,null));};exports[_0x3fac('0x43')]=function(_0x34d170,_0x425f56){var _0x43c255={'raw':![],'where':{'id':_0x34d170['params']['id']}},_0x368a28={};_0x368a28[_0x3fac('0x30')]=_[_0x3fac('0x2f')](db['VtigerAccount'][_0x3fac('0x2a')]);_0x368a28[_0x3fac('0x2e')]=_[_0x3fac('0x2f')](_0x34d170[_0x3fac('0x2e')]);_0x368a28[_0x3fac('0x39')]=_[_0x3fac('0x44')](_0x368a28['model'],_0x368a28[_0x3fac('0x2e')]);_0x43c255[_0x3fac('0x31')]=_[_0x3fac('0x44')](_0x368a28[_0x3fac('0x30')],qs[_0x3fac('0x32')](_0x34d170['query'][_0x3fac('0x32')]));_0x43c255['attributes']=_0x43c255[_0x3fac('0x31')]['length']?_0x43c255[_0x3fac('0x31')]:_0x368a28[_0x3fac('0x30')];if(_0x34d170[_0x3fac('0x2e')][_0x3fac('0x40')]){_0x43c255[_0x3fac('0x41')]=[{'all':!![]}];}_0x43c255=_[_0x3fac('0x3c')]({},_0x43c255,_0x34d170['options']);return db['VtigerAccount'][_0x3fac('0x45')](_0x43c255)[_0x3fac('0x25')](handleEntityNotFound(_0x425f56,null))[_0x3fac('0x25')](respondWithResult(_0x425f56,null))['catch'](handleError(_0x425f56,null));};exports['create']=function(_0x361c0b,_0x3bf06a){return db[_0x3fac('0x42')][_0x3fac('0x46')](_0x361c0b[_0x3fac('0x47')],{})[_0x3fac('0x25')](respondWithResult(_0x3bf06a,0xc9))['catch'](handleError(_0x3bf06a,null));};exports['update']=function(_0x54b70c,_0x166323){if(_0x54b70c[_0x3fac('0x47')]['id']){delete _0x54b70c[_0x3fac('0x47')]['id'];}return db[_0x3fac('0x42')]['find']({'where':{'id':_0x54b70c[_0x3fac('0x48')]['id']}})[_0x3fac('0x25')](handleEntityNotFound(_0x166323,null))[_0x3fac('0x25')](saveUpdates(_0x54b70c[_0x3fac('0x47')],null))[_0x3fac('0x25')](respondWithResult(_0x166323,null))[_0x3fac('0x49')](handleError(_0x166323,null));};exports[_0x3fac('0x26')]=function(_0x25ed0a,_0x219122){return db[_0x3fac('0x42')][_0x3fac('0x45')]({'where':{'id':_0x25ed0a['params']['id']}})[_0x3fac('0x25')](handleEntityNotFound(_0x219122,null))['then'](removeEntity(_0x219122,null))[_0x3fac('0x49')](handleError(_0x219122,null));};exports[_0x3fac('0x4a')]=function(_0xa8bf12,_0x56e80a,_0x2605ae){var _0x4e1120={};var _0x452d24={};var _0x3870a1;var _0x9bd570;return db['VtigerAccount'][_0x3fac('0x4b')]({'where':{'id':_0xa8bf12[_0x3fac('0x48')]['id']}})[_0x3fac('0x25')](handleEntityNotFound(_0x56e80a,null))['then'](function(_0x73684f){if(_0x73684f){_0x3870a1=_0x73684f;_0x452d24[_0x3fac('0x30')]=_[_0x3fac('0x2f')](db[_0x3fac('0x4c')][_0x3fac('0x2a')]);_0x452d24[_0x3fac('0x2e')]=_[_0x3fac('0x2f')](_0xa8bf12[_0x3fac('0x2e')]);_0x452d24[_0x3fac('0x39')]=_[_0x3fac('0x44')](_0x452d24['model'],_0x452d24['query']);_0x4e1120['attributes']=_['intersection'](_0x452d24[_0x3fac('0x30')],qs[_0x3fac('0x32')](_0xa8bf12[_0x3fac('0x2e')][_0x3fac('0x32')]));_0x4e1120['attributes']=_0x4e1120[_0x3fac('0x31')][_0x3fac('0x33')]?_0x4e1120[_0x3fac('0x31')]:_0x452d24[_0x3fac('0x30')];_0x4e1120[_0x3fac('0x36')]=qs['sort'](_0xa8bf12[_0x3fac('0x2e')][_0x3fac('0x37')]);_0x4e1120['where']=qs[_0x3fac('0x39')](_[_0x3fac('0x3a')](_0xa8bf12['query'],_0x452d24[_0x3fac('0x39')]));if(_0xa8bf12[_0x3fac('0x2e')]['filter']){_0x4e1120[_0x3fac('0x38')]=_['merge'](_0x4e1120[_0x3fac('0x38')],{'$or':_[_0x3fac('0x3d')](_0x4e1120[_0x3fac('0x31')],function(_0x53e0e6){var _0x1b6730={};_0x1b6730[_0x53e0e6]={'$like':'%'+_0xa8bf12[_0x3fac('0x2e')]['filter']+'%'};return _0x1b6730;})});}_0x4e1120=_['merge']({},_0x4e1120,_0xa8bf12[_0x3fac('0x3f')]);return _0x3870a1[_0x3fac('0x4a')](_0x4e1120);}})[_0x3fac('0x25')](function(_0x2c45ff){if(_0x2c45ff){_0x9bd570=_0x2c45ff[_0x3fac('0x33')];if(!_0xa8bf12[_0x3fac('0x2e')][_0x3fac('0x4d')](_0x3fac('0x34'))){_0x4e1120[_0x3fac('0x35')]=qs[_0x3fac('0x35')](_0xa8bf12[_0x3fac('0x2e')][_0x3fac('0x35')]);_0x4e1120[_0x3fac('0x1d')]=qs[_0x3fac('0x1d')](_0xa8bf12[_0x3fac('0x2e')][_0x3fac('0x1d')]);}return _0x3870a1[_0x3fac('0x4a')](_0x4e1120);}})[_0x3fac('0x25')](function(_0x3e9fb7){if(_0x3e9fb7){return _0x3e9fb7?{'count':_0x9bd570,'rows':_0x3e9fb7}:null;}})[_0x3fac('0x25')](respondWithResult(_0x56e80a,null))[_0x3fac('0x49')](handleError(_0x56e80a,null));};exports[_0x3fac('0x4e')]=function(_0x1669fd,_0xa3d7d9,_0x25c325){if(_0x1669fd[_0x3fac('0x47')]['id']){delete _0x1669fd[_0x3fac('0x47')]['id'];}return db[_0x3fac('0x42')][_0x3fac('0x4b')]({'where':{'id':_0x1669fd[_0x3fac('0x48')]['id']}})[_0x3fac('0x25')](handleEntityNotFound(_0xa3d7d9,null))['then'](function(_0x3d11e3){if(_0x3d11e3){_0x1669fd[_0x3fac('0x47')][_0x3fac('0x4f')]=_0x3d11e3['id'];_0x1669fd[_0x3fac('0x47')][_0x3fac('0x50')]=integrations['getSubjects'](_0x1669fd[_0x3fac('0x47')][_0x3fac('0x51')],_0x1669fd['body'][_0x3fac('0x2c')]);_0x1669fd[_0x3fac('0x47')]['Descriptions']=integrations[_0x3fac('0x52')](_0x1669fd['body'][_0x3fac('0x51')],_0x1669fd[_0x3fac('0x47')][_0x3fac('0x2c')]);return db[_0x3fac('0x4c')][_0x3fac('0x46')](_0x1669fd[_0x3fac('0x47')],{'include':[{'model':db[_0x3fac('0x53')],'as':_0x3fac('0x50')},{'model':db[_0x3fac('0x53')],'as':_0x3fac('0x54')}]});}return null;})[_0x3fac('0x25')](respondWithResult(_0xa3d7d9,null))[_0x3fac('0x49')](handleError(_0xa3d7d9,null));};var md5=require(_0x3fac('0x55'));exports['getFields']=function(_0x2cb831,_0x498429,_0x5c97f7){var _0x526299=null;var _0x58ee17=null;var _0x3ae8d5=null;var _0x5e7d85=null;var _0x7a3ac0='';return db[_0x3fac('0x42')][_0x3fac('0x4b')]({'where':{'id':_0x2cb831['params']['id']},'attributes':['id',_0x3fac('0x28'),_0x3fac('0x56'),_0x3fac('0x57'),_0x3fac('0x58'),_0x3fac('0x59'),_0x3fac('0x5a'),_0x3fac('0x5b')]})[_0x3fac('0x25')](handleEntityNotFound(_0x498429,null))[_0x3fac('0x25')](function(_0x4ad4b6){if(_0x4ad4b6){_0x526299=_0x4ad4b6[_0x3fac('0x56')];_0x58ee17=_0x4ad4b6[_0x3fac('0x5b')];_0x3ae8d5=_0x4ad4b6['moduleName'];_0x7a3ac0=_0x4ad4b6[_0x3fac('0x59')];var _0x2ec174=_0x7a3ac0['slice'](-0x1);if(_0x2ec174==='/'){_0x7a3ac0=_0x7a3ac0[_0x3fac('0x5c')](0x0,_0x7a3ac0[_0x3fac('0x5d')](_0x2ec174));}_0x5e7d85=util['format'](_0x3fac('0x5e'),_0x7a3ac0);var _0x57e336={'method':_0x3fac('0x5f'),'uri':_0x5e7d85,'qs':{'operation':_0x3fac('0x60'),'username':_0x4ad4b6[_0x3fac('0x56')]},'json':!![]};return rp(_0x57e336);}})['then'](function(_0x33c8b1){if(_0x33c8b1[_0x3fac('0x61')]){var _0x30fe5b={'method':_0x3fac('0x62'),'uri':_0x5e7d85,'form':{'operation':_0x3fac('0x63'),'username':_0x526299,'accessKey':md5(_0x33c8b1[_0x3fac('0x64')][_0x3fac('0x65')]+_0x58ee17)},'json':!![]};return rp(_0x30fe5b);}})[_0x3fac('0x25')](function(_0x29d5e6){if(_0x29d5e6[_0x3fac('0x61')]){var _0x481104={'method':_0x3fac('0x5f'),'uri':_0x5e7d85,'qs':{'operation':_0x3fac('0x66'),'username':_0x526299,'sessionName':_0x29d5e6['result']['sessionName'],'elementType':_0x3ae8d5},'json':!![]};return rp(_0x481104);}})[_0x3fac('0x25')](function(_0x264818){if(_0x264818['success']){var _0x24745d=[_0x3fac('0x67'),_0x3fac('0x68'),'owner'];_['remove'](_0x264818[_0x3fac('0x64')][_0x3fac('0x32')],function(_0x31f5a1){return _0x24745d['includes'](_0x31f5a1[_0x3fac('0x2c')][_0x3fac('0x28')]);});_['remove'](_0x264818[_0x3fac('0x64')][_0x3fac('0x32')],function(_0x1e1d27){return _0x1e1d27[_0x3fac('0x69')]==='false';});return{'count':_0x264818[_0x3fac('0x64')][_0x3fac('0x32')]['length'],'rows':_[_0x3fac('0x3d')](_0x264818[_0x3fac('0x64')][_0x3fac('0x32')],function(_0x209bf0){return{'id':_0x209bf0['name'],'name':_0x209bf0[_0x3fac('0x6a')],'custom':_[_0x3fac('0x6b')](_0x209bf0[_0x3fac('0x28')],_0x3fac('0x6c'))?!![]:![],'options':_0x209bf0['type'][_0x3fac('0x28')]==='picklist'&&_0x209bf0[_0x3fac('0x2c')][_0x3fac('0x6d')][_0x3fac('0x33')]>0x0?_[_0x3fac('0x3d')](_0x209bf0[_0x3fac('0x2c')][_0x3fac('0x6d')],function(_0x1206f3){return{'name':_0x1206f3[_0x3fac('0x6a')],'value':_0x1206f3[_0x3fac('0x6e')]};}):[]};})};}})[_0x3fac('0x25')](respondWithResult(_0x498429,null))[_0x3fac('0x49')](function(_0x2403ac){console['log'](_0x3fac('0x6f')+_0x2403ac);var _0x4f426b=_0x2cb831['query'][_0x3fac('0x70')]?0x1f4:_0x2403ac[_0x3fac('0x71')]||0x1f4;logger[_0x3fac('0x72')](_0x3fac('0x73'),_0x3fac('0x74'),_0x4f426b,JSON[_0x3fac('0x75')](_0x2403ac));delete _0x2403ac['name'];if(_0x4f426b===0x191){_0x4f426b=0x190;}_0x498429['status'](_0x4f426b)['send'](_0x2cb831['query'][_0x3fac('0x70')]?{'message':'Wrong\x20credentials','statusCode':_0x2403ac['statusCode']}:_0x2403ac);});};