Built motion from commit (unavailable).|2.5.15
[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 _0x507b=['fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','request','then','info','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','VtigerAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','Content-Range','apply','save','destroy','stack','name','index','map','VtigerAccount','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','rows','show','params','rawAttributes','length','find','create','body','update','getConfigurations','findOne','pick','addConfiguration','Subjects','channel','getDescriptions','VtigerConfiguration','VtigerField','Descriptions','md5','getFields','username','description','moduleName','accessKey','remoteUri','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','login','describe','owner','remove','includes','editable','false','startsWith','cf_','picklist','picklistValues','label','vTiger\x20error:\x20','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','Wrong\x20credentials','eml-format','zip-dir'];(function(_0x4c6d23,_0x294fff){var _0x48f8da=function(_0x5691cb){while(--_0x5691cb){_0x4c6d23['push'](_0x4c6d23['shift']());}};_0x48f8da(++_0x294fff);}(_0x507b,0x187));var _0xb507=function(_0x34e8f1,_0x4769c0){_0x34e8f1=_0x34e8f1-0x0;var _0x4bed53=_0x507b[_0x34e8f1];return _0x4bed53;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xb507('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb507('0x1'));var jsonpatch=require(_0xb507('0x2'));var rp=require('request-promise');var moment=require(_0xb507('0x3'));var BPromise=require(_0xb507('0x4'));var Mustache=require(_0xb507('0x5'));var util=require(_0xb507('0x6'));var path=require(_0xb507('0x7'));var sox=require('sox');var csv=require(_0xb507('0x8'));var ejs=require(_0xb507('0x9'));var fs=require('fs');var _=require(_0xb507('0xa'));var squel=require(_0xb507('0xb'));var crypto=require(_0xb507('0xc'));var jsforce=require(_0xb507('0xd'));var deskjs=require(_0xb507('0xe'));var toCsv=require(_0xb507('0x8'));var querystring=require(_0xb507('0xf'));var Papa=require(_0xb507('0x10'));var Redis=require(_0xb507('0x11'));var authService=require(_0xb507('0x12'));var qs=require(_0xb507('0x13'));var as=require(_0xb507('0x14'));var hardwareService=require(_0xb507('0x15'));var logger=require(_0xb507('0x16'))(_0xb507('0x17'));var utils=require('../../config/utils');var config=require(_0xb507('0x18'));var licenseUtil=require(_0xb507('0x19'));var db=require(_0xb507('0x1a'))['db'];var integrations=require(_0xb507('0x1b'));var jayson=require(_0xb507('0x1c'));var client=jayson[_0xb507('0x1d')]['http']({'port':0x232a});function respondWithRpcPromise(_0x257484,_0x5b09fb,_0x5172bb,_0x5c6703){return new BPromise(function(_0x26db47,_0x34b28a){var _0x585c48=_0x5c6703||client;return _0x585c48[_0xb507('0x1e')](_0x257484,_0x5172bb)[_0xb507('0x1f')](function(_0x49acd8){logger[_0xb507('0x20')](_0xb507('0x21'),_0x5b09fb,_0xb507('0x22'));logger[_0xb507('0x23')](_0xb507('0x24'),_0x5b09fb,_0xb507('0x22'),JSON[_0xb507('0x25')](_0x49acd8));if(_0x49acd8[_0xb507('0x26')]){if(_0x49acd8[_0xb507('0x26')][_0xb507('0x27')]===0x1f4){logger[_0xb507('0x26')](_0xb507('0x21'),_0x5b09fb,_0x49acd8[_0xb507('0x26')][_0xb507('0x28')]);return _0x34b28a(_0x49acd8[_0xb507('0x26')][_0xb507('0x28')]);}logger['error'](_0xb507('0x21'),_0x5b09fb,_0x49acd8['error'][_0xb507('0x28')]);return _0x26db47(_0x49acd8[_0xb507('0x26')][_0xb507('0x28')]);}else{logger[_0xb507('0x20')](_0xb507('0x21'),_0x5b09fb,_0xb507('0x22'));_0x26db47(_0x49acd8[_0xb507('0x29')][_0xb507('0x28')]);}})[_0xb507('0x2a')](function(_0x32cd6e){logger[_0xb507('0x26')](_0xb507('0x21'),_0x5b09fb,_0x32cd6e);_0x34b28a(_0x32cd6e);});});}function respondWithStatusCode(_0x5a7295,_0x38ac05){_0x38ac05=_0x38ac05||0xcc;return function(_0x37de36){if(_0x37de36){return _0x5a7295[_0xb507('0x2b')](_0x38ac05);}return _0x5a7295[_0xb507('0x2c')](_0x38ac05)[_0xb507('0x2d')]();};}function respondWithResult(_0x4444d3,_0x4f1b66){_0x4f1b66=_0x4f1b66||0xc8;return function(_0x544ff8){if(_0x544ff8){return _0x4444d3[_0xb507('0x2c')](_0x4f1b66)[_0xb507('0x2e')](_0x544ff8);}};}function respondWithFilteredResult(_0x5f12fa,_0x515caa){return function(_0x3d6a18){if(_0x3d6a18){var _0x5150a8=_0x3d6a18[_0xb507('0x2f')],_0x256d09=_0x515caa[_0xb507('0x30')],_0x4f4a40=_0x515caa[_0xb507('0x30')]+_0x515caa['limit'],_0x1b0394;if(_0x4f4a40>=_0x5150a8){_0x4f4a40=_0x5150a8;_0x1b0394=0xc8;}else{_0x1b0394=0xce;}_0x5f12fa['status'](_0x1b0394);return _0x5f12fa['set'](_0xb507('0x31'),_0x256d09+'-'+_0x4f4a40+'/'+_0x5150a8)[_0xb507('0x2e')](_0x3d6a18);}return null;};}function patchUpdates(_0x4a5a49){return function(_0x5ab220){try{jsonpatch[_0xb507('0x32')](_0x5ab220,_0x4a5a49,!![]);}catch(_0x51288a){return BPromise['reject'](_0x51288a);}return _0x5ab220[_0xb507('0x33')]();};}function saveUpdates(_0x2b169a,_0x42dc5b){return function(_0x2748d0){if(_0x2748d0){return _0x2748d0['update'](_0x2b169a)['then'](function(_0x3ff8c9){return _0x3ff8c9;});}return null;};}function removeEntity(_0x5ceab0,_0x3209b9){return function(_0x458db2){if(_0x458db2){return _0x458db2[_0xb507('0x34')]()['then'](function(){_0x5ceab0[_0xb507('0x2c')](0xcc)[_0xb507('0x2d')]();});}};}function handleEntityNotFound(_0x134fc4,_0x1196ab){return function(_0x8cf5b6){if(!_0x8cf5b6){_0x134fc4[_0xb507('0x2b')](0x194);}return _0x8cf5b6;};}function handleError(_0x3adf50,_0xa2244d){_0xa2244d=_0xa2244d||0x1f4;return function(_0x192b07){logger[_0xb507('0x26')](_0x192b07[_0xb507('0x35')]);if(_0x192b07[_0xb507('0x36')]){delete _0x192b07[_0xb507('0x36')];}_0x3adf50[_0xb507('0x2c')](_0xa2244d)['send'](_0x192b07);};}exports[_0xb507('0x37')]=function(_0x597fc3,_0x3e5d25){var _0x5ea821={},_0x1280ef={},_0x260efc={'count':0x0,'rows':[]};var _0x2f52ed=_[_0xb507('0x38')](db[_0xb507('0x39')]['rawAttributes'],function(_0x3b4f63){return{'name':_0x3b4f63[_0xb507('0x3a')],'type':_0x3b4f63[_0xb507('0x3b')][_0xb507('0x3c')]};});_0x1280ef[_0xb507('0x3d')]=_['map'](_0x2f52ed,_0xb507('0x36'));_0x1280ef['query']=_[_0xb507('0x3e')](_0x597fc3[_0xb507('0x3f')]);_0x1280ef[_0xb507('0x40')]=_[_0xb507('0x41')](_0x1280ef[_0xb507('0x3d')],_0x1280ef[_0xb507('0x3f')]);_0x5ea821[_0xb507('0x42')]=_[_0xb507('0x41')](_0x1280ef[_0xb507('0x3d')],qs['fields'](_0x597fc3[_0xb507('0x3f')][_0xb507('0x43')]));_0x5ea821[_0xb507('0x42')]=_0x5ea821[_0xb507('0x42')]['length']?_0x5ea821[_0xb507('0x42')]:_0x1280ef[_0xb507('0x3d')];if(!_0x597fc3[_0xb507('0x3f')][_0xb507('0x44')](_0xb507('0x45'))){_0x5ea821[_0xb507('0x46')]=qs['limit'](_0x597fc3[_0xb507('0x3f')][_0xb507('0x46')]);_0x5ea821[_0xb507('0x30')]=qs['offset'](_0x597fc3[_0xb507('0x3f')]['offset']);}_0x5ea821[_0xb507('0x47')]=qs['sort'](_0x597fc3[_0xb507('0x3f')][_0xb507('0x48')]);_0x5ea821[_0xb507('0x49')]=qs[_0xb507('0x40')](_['pick'](_0x597fc3[_0xb507('0x3f')],_0x1280ef['filters']),_0x2f52ed);if(_0x597fc3[_0xb507('0x3f')][_0xb507('0x4a')]){_0x5ea821['where']=_[_0xb507('0x4b')](_0x5ea821[_0xb507('0x49')],{'$or':_[_0xb507('0x38')](_0x2f52ed,function(_0x57ef4a){if(_0x57ef4a[_0xb507('0x3b')]!==_0xb507('0x4c')){var _0x1df381={};_0x1df381[_0x57ef4a[_0xb507('0x36')]]={'$like':'%'+_0x597fc3[_0xb507('0x3f')][_0xb507('0x4a')]+'%'};return _0x1df381;}})});}_0x5ea821=_['merge']({},_0x5ea821,_0x597fc3[_0xb507('0x4d')]);var _0x4e0216={'where':_0x5ea821[_0xb507('0x49')]};return db['VtigerAccount']['count'](_0x4e0216)[_0xb507('0x1f')](function(_0x46b939){_0x260efc[_0xb507('0x2f')]=_0x46b939;if(_0x597fc3[_0xb507('0x3f')][_0xb507('0x4e')]){_0x5ea821[_0xb507('0x4f')]=[{'all':!![]}];}return db['VtigerAccount']['findAll'](_0x5ea821);})['then'](function(_0x2ecfca){_0x260efc[_0xb507('0x50')]=_0x2ecfca;return _0x260efc;})['then'](respondWithFilteredResult(_0x3e5d25,_0x5ea821))[_0xb507('0x2a')](handleError(_0x3e5d25,null));};exports[_0xb507('0x51')]=function(_0x3347a1,_0x472e6b){var _0x4c5ef7={'raw':![],'where':{'id':_0x3347a1[_0xb507('0x52')]['id']}},_0x46fca2={};_0x46fca2[_0xb507('0x3d')]=_['keys'](db['VtigerAccount'][_0xb507('0x53')]);_0x46fca2[_0xb507('0x3f')]=_[_0xb507('0x3e')](_0x3347a1[_0xb507('0x3f')]);_0x46fca2[_0xb507('0x40')]=_[_0xb507('0x41')](_0x46fca2['model'],_0x46fca2[_0xb507('0x3f')]);_0x4c5ef7[_0xb507('0x42')]=_['intersection'](_0x46fca2['model'],qs['fields'](_0x3347a1[_0xb507('0x3f')][_0xb507('0x43')]));_0x4c5ef7['attributes']=_0x4c5ef7['attributes'][_0xb507('0x54')]?_0x4c5ef7[_0xb507('0x42')]:_0x46fca2[_0xb507('0x3d')];if(_0x3347a1[_0xb507('0x3f')][_0xb507('0x4e')]){_0x4c5ef7[_0xb507('0x4f')]=[{'all':!![]}];}_0x4c5ef7=_[_0xb507('0x4b')]({},_0x4c5ef7,_0x3347a1[_0xb507('0x4d')]);return db[_0xb507('0x39')][_0xb507('0x55')](_0x4c5ef7)[_0xb507('0x1f')](handleEntityNotFound(_0x472e6b,null))[_0xb507('0x1f')](respondWithResult(_0x472e6b,null))[_0xb507('0x2a')](handleError(_0x472e6b,null));};exports[_0xb507('0x56')]=function(_0x2ddd31,_0x3d879f){return db[_0xb507('0x39')][_0xb507('0x56')](_0x2ddd31[_0xb507('0x57')],{})[_0xb507('0x1f')](respondWithResult(_0x3d879f,0xc9))[_0xb507('0x2a')](handleError(_0x3d879f,null));};exports[_0xb507('0x58')]=function(_0x5f2928,_0x2c6b74){if(_0x5f2928[_0xb507('0x57')]['id']){delete _0x5f2928['body']['id'];}return db['VtigerAccount'][_0xb507('0x55')]({'where':{'id':_0x5f2928[_0xb507('0x52')]['id']}})['then'](handleEntityNotFound(_0x2c6b74,null))['then'](saveUpdates(_0x5f2928['body'],null))[_0xb507('0x1f')](respondWithResult(_0x2c6b74,null))['catch'](handleError(_0x2c6b74,null));};exports[_0xb507('0x34')]=function(_0x2a3e13,_0x2bf907){return db[_0xb507('0x39')][_0xb507('0x55')]({'where':{'id':_0x2a3e13['params']['id']}})[_0xb507('0x1f')](handleEntityNotFound(_0x2bf907,null))[_0xb507('0x1f')](removeEntity(_0x2bf907,null))['catch'](handleError(_0x2bf907,null));};exports[_0xb507('0x59')]=function(_0x363624,_0x3cec9b,_0x1f3bf0){var _0x43ee38={};var _0x259dbb={};var _0x403925;var _0x5f3a4d;return db[_0xb507('0x39')][_0xb507('0x5a')]({'where':{'id':_0x363624[_0xb507('0x52')]['id']}})[_0xb507('0x1f')](handleEntityNotFound(_0x3cec9b,null))[_0xb507('0x1f')](function(_0xafd96d){if(_0xafd96d){_0x403925=_0xafd96d;_0x259dbb[_0xb507('0x3d')]=_[_0xb507('0x3e')](db['VtigerConfiguration']['rawAttributes']);_0x259dbb[_0xb507('0x3f')]=_[_0xb507('0x3e')](_0x363624[_0xb507('0x3f')]);_0x259dbb[_0xb507('0x40')]=_['intersection'](_0x259dbb['model'],_0x259dbb[_0xb507('0x3f')]);_0x43ee38['attributes']=_[_0xb507('0x41')](_0x259dbb[_0xb507('0x3d')],qs[_0xb507('0x43')](_0x363624[_0xb507('0x3f')][_0xb507('0x43')]));_0x43ee38['attributes']=_0x43ee38[_0xb507('0x42')][_0xb507('0x54')]?_0x43ee38[_0xb507('0x42')]:_0x259dbb[_0xb507('0x3d')];_0x43ee38[_0xb507('0x47')]=qs['sort'](_0x363624['query']['sort']);_0x43ee38[_0xb507('0x49')]=qs[_0xb507('0x40')](_[_0xb507('0x5b')](_0x363624[_0xb507('0x3f')],_0x259dbb[_0xb507('0x40')]));if(_0x363624['query'][_0xb507('0x4a')]){_0x43ee38[_0xb507('0x49')]=_[_0xb507('0x4b')](_0x43ee38[_0xb507('0x49')],{'$or':_[_0xb507('0x38')](_0x43ee38[_0xb507('0x42')],function(_0x385c87){var _0x57a325={};_0x57a325[_0x385c87]={'$like':'%'+_0x363624['query'][_0xb507('0x4a')]+'%'};return _0x57a325;})});}_0x43ee38=_[_0xb507('0x4b')]({},_0x43ee38,_0x363624[_0xb507('0x4d')]);return _0x403925['getConfigurations'](_0x43ee38);}})[_0xb507('0x1f')](function(_0x29036c){if(_0x29036c){_0x5f3a4d=_0x29036c['length'];if(!_0x363624[_0xb507('0x3f')]['hasOwnProperty']('nolimit')){_0x43ee38[_0xb507('0x46')]=qs[_0xb507('0x46')](_0x363624[_0xb507('0x3f')][_0xb507('0x46')]);_0x43ee38[_0xb507('0x30')]=qs[_0xb507('0x30')](_0x363624[_0xb507('0x3f')][_0xb507('0x30')]);}return _0x403925[_0xb507('0x59')](_0x43ee38);}})[_0xb507('0x1f')](function(_0x4034dc){if(_0x4034dc){return _0x4034dc?{'count':_0x5f3a4d,'rows':_0x4034dc}:null;}})[_0xb507('0x1f')](respondWithResult(_0x3cec9b,null))[_0xb507('0x2a')](handleError(_0x3cec9b,null));};exports[_0xb507('0x5c')]=function(_0x56b132,_0x45276e,_0x2d8b7d){if(_0x56b132['body']['id']){delete _0x56b132[_0xb507('0x57')]['id'];}return db['VtigerAccount'][_0xb507('0x5a')]({'where':{'id':_0x56b132[_0xb507('0x52')]['id']}})[_0xb507('0x1f')](handleEntityNotFound(_0x45276e,null))['then'](function(_0x3947e7){if(_0x3947e7){_0x56b132[_0xb507('0x57')]['AccountId']=_0x3947e7['id'];_0x56b132[_0xb507('0x57')][_0xb507('0x5d')]=integrations['getSubjects'](_0x56b132[_0xb507('0x57')][_0xb507('0x5e')],_0x56b132['body'][_0xb507('0x3b')]);_0x56b132[_0xb507('0x57')]['Descriptions']=integrations[_0xb507('0x5f')](_0x56b132[_0xb507('0x57')][_0xb507('0x5e')],_0x56b132['body']['type']);return db[_0xb507('0x60')]['create'](_0x56b132[_0xb507('0x57')],{'include':[{'model':db[_0xb507('0x61')],'as':_0xb507('0x5d')},{'model':db[_0xb507('0x61')],'as':_0xb507('0x62')}]});}return null;})[_0xb507('0x1f')](respondWithResult(_0x45276e,null))[_0xb507('0x2a')](handleError(_0x45276e,null));};var md5=require(_0xb507('0x63'));exports[_0xb507('0x64')]=function(_0x16b899,_0x2d1212,_0x5b06c5){var _0x5053c2=null;var _0x16af04=null;var _0x419789=null;var _0x590264=null;var _0x5dcca8='';return db[_0xb507('0x39')][_0xb507('0x5a')]({'where':{'id':_0x16b899[_0xb507('0x52')]['id']},'attributes':['id','name',_0xb507('0x65'),_0xb507('0x66'),_0xb507('0x67'),'remoteUri','serverUrl','accessKey']})[_0xb507('0x1f')](handleEntityNotFound(_0x2d1212,null))['then'](function(_0x3fa384){if(_0x3fa384){_0x5053c2=_0x3fa384['username'];_0x16af04=_0x3fa384[_0xb507('0x68')];_0x419789=_0x3fa384[_0xb507('0x67')];_0x5dcca8=_0x3fa384[_0xb507('0x69')];var _0x38b45c=_0x5dcca8['slice'](-0x1);if(_0x38b45c==='/'){_0x5dcca8=_0x5dcca8[_0xb507('0x6a')](0x0,_0x5dcca8[_0xb507('0x6b')](_0x38b45c));}_0x590264=util[_0xb507('0x6c')](_0xb507('0x6d'),_0x5dcca8);var _0x312752={'method':_0xb507('0x6e'),'uri':_0x590264,'qs':{'operation':_0xb507('0x6f'),'username':_0x3fa384[_0xb507('0x65')]},'json':!![]};return rp(_0x312752);}})[_0xb507('0x1f')](function(_0x21e5e3){if(_0x21e5e3[_0xb507('0x70')]){var _0x242e72={'method':_0xb507('0x71'),'uri':_0x590264,'form':{'operation':_0xb507('0x72'),'username':_0x5053c2,'accessKey':md5(_0x21e5e3['result']['token']+_0x16af04)},'json':!![]};return rp(_0x242e72);}})['then'](function(_0x187b8e){if(_0x187b8e['success']){var _0x5ac4d0={'method':_0xb507('0x6e'),'uri':_0x590264,'qs':{'operation':_0xb507('0x73'),'username':_0x5053c2,'sessionName':_0x187b8e[_0xb507('0x29')]['sessionName'],'elementType':_0x419789},'json':!![]};return rp(_0x5ac4d0);}})['then'](function(_0x19e208){if(_0x19e208[_0xb507('0x70')]){var _0x48c992=['autogenerated','reference',_0xb507('0x74')];_[_0xb507('0x75')](_0x19e208[_0xb507('0x29')][_0xb507('0x43')],function(_0x11e66c){return _0x48c992[_0xb507('0x76')](_0x11e66c[_0xb507('0x3b')][_0xb507('0x36')]);});_[_0xb507('0x75')](_0x19e208[_0xb507('0x29')]['fields'],function(_0x368f25){return _0x368f25[_0xb507('0x77')]===_0xb507('0x78');});return{'count':_0x19e208[_0xb507('0x29')][_0xb507('0x43')][_0xb507('0x54')],'rows':_[_0xb507('0x38')](_0x19e208[_0xb507('0x29')][_0xb507('0x43')],function(_0x33e179){return{'id':_0x33e179[_0xb507('0x36')],'name':_0x33e179['label'],'custom':_[_0xb507('0x79')](_0x33e179[_0xb507('0x36')],_0xb507('0x7a'))?!![]:![],'options':_0x33e179[_0xb507('0x3b')][_0xb507('0x36')]===_0xb507('0x7b')&&_0x33e179[_0xb507('0x3b')][_0xb507('0x7c')][_0xb507('0x54')]>0x0?_['map'](_0x33e179['type']['picklistValues'],function(_0x3b1b78){return{'name':_0x3b1b78[_0xb507('0x7d')],'value':_0x3b1b78['value']};}):[]};})};}})[_0xb507('0x1f')](respondWithResult(_0x2d1212,null))[_0xb507('0x2a')](function(_0x4bfe9c){console['log'](_0xb507('0x7e')+_0x4bfe9c);var _0x237ceb=_0x16b899[_0xb507('0x3f')]['test']?0x1f4:_0x4bfe9c[_0xb507('0x7f')]||0x1f4;logger[_0xb507('0x26')](_0xb507('0x80'),_0xb507('0x64'),_0x237ceb,JSON[_0xb507('0x25')](_0x4bfe9c));delete _0x4bfe9c[_0xb507('0x36')];if(_0x237ceb===0x191){_0x237ceb=0x190;}_0x2d1212[_0xb507('0x2c')](_0x237ceb)['send'](_0x16b899[_0xb507('0x3f')][_0xb507('0x81')]?{'message':_0xb507('0x82'),'statusCode':_0x4bfe9c[_0xb507('0x7f')]}:_0x4bfe9c);});};