Built motion from commit (unavailable).|2.5.21
[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 _0x737d=['remoteUri','slice','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','POST','login','success','reference','remove','editable','false','label','startsWith','cf_','picklist','picklistValues','value','log','test','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','statusCode','html-pdf','rimraf','zip-dir','fast-json-patch','moment','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','then','info','debug','VtigerAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','VtigerAccount,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','stack','name','send','index','map','VtigerAccount','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','type','VIRTUAL','merge','options','includeAll','findAll','params','fields','create','body','find','destroy','getConfigurations','findOne','hasOwnProperty','addConfiguration','getSubjects','channel','Descriptions','getDescriptions','VtigerConfiguration','VtigerField','Subjects','md5','username','description','moduleName','serverUrl','accessKey'];(function(_0x59d89e,_0x55edf5){var _0x554e93=function(_0x3d40bc){while(--_0x3d40bc){_0x59d89e['push'](_0x59d89e['shift']());}};_0x554e93(++_0x55edf5);}(_0x737d,0x18b));var _0xd737=function(_0x3cc96b,_0x2d9343){_0x3cc96b=_0x3cc96b-0x0;var _0x2ecdb6=_0x737d[_0x3cc96b];return _0x2ecdb6;};'use strict';var pdf=require(_0xd737('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd737('0x1'));var zipdir=require(_0xd737('0x2'));var jsonpatch=require(_0xd737('0x3'));var rp=require('request-promise');var moment=require(_0xd737('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xd737('0x5'));var fs=require('fs');var _=require(_0xd737('0x6'));var squel=require(_0xd737('0x7'));var crypto=require(_0xd737('0x8'));var jsforce=require(_0xd737('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xd737('0xa'));var querystring=require(_0xd737('0xb'));var Papa=require(_0xd737('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd737('0xd'));var hardwareService=require(_0xd737('0xe'));var logger=require(_0xd737('0xf'))(_0xd737('0x10'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xd737('0x11'))['db'];var integrations=require(_0xd737('0x12'));var jayson=require(_0xd737('0x13'));var client=jayson[_0xd737('0x14')][_0xd737('0x15')]({'port':0x232a});function respondWithRpcPromise(_0x1cdd12,_0x2df7e8,_0x3c4279,_0x361716){return new BPromise(function(_0x59b0e3,_0x2bf1f3){var _0x1ab353=_0x361716||client;return _0x1ab353[_0xd737('0x16')](_0x1cdd12,_0x3c4279)[_0xd737('0x17')](function(_0x33b1d2){logger[_0xd737('0x18')]('VtigerAccount,\x20%s,\x20%s',_0x2df7e8,'request\x20sent');logger[_0xd737('0x19')](_0xd737('0x1a'),_0x2df7e8,_0xd737('0x1b'),JSON[_0xd737('0x1c')](_0x33b1d2));if(_0x33b1d2[_0xd737('0x1d')]){if(_0x33b1d2[_0xd737('0x1d')][_0xd737('0x1e')]===0x1f4){logger['error'](_0xd737('0x1f'),_0x2df7e8,_0x33b1d2[_0xd737('0x1d')][_0xd737('0x20')]);return _0x2bf1f3(_0x33b1d2[_0xd737('0x1d')][_0xd737('0x20')]);}logger[_0xd737('0x1d')](_0xd737('0x1f'),_0x2df7e8,_0x33b1d2['error'][_0xd737('0x20')]);return _0x59b0e3(_0x33b1d2['error'][_0xd737('0x20')]);}else{logger[_0xd737('0x18')](_0xd737('0x1f'),_0x2df7e8,_0xd737('0x1b'));_0x59b0e3(_0x33b1d2[_0xd737('0x21')][_0xd737('0x20')]);}})[_0xd737('0x22')](function(_0x409fed){logger[_0xd737('0x1d')](_0xd737('0x1f'),_0x2df7e8,_0x409fed);_0x2bf1f3(_0x409fed);});});}function respondWithStatusCode(_0x4e778d,_0x49926d){_0x49926d=_0x49926d||0xcc;return function(_0x254f38){if(_0x254f38){return _0x4e778d[_0xd737('0x23')](_0x49926d);}return _0x4e778d['status'](_0x49926d)[_0xd737('0x24')]();};}function respondWithResult(_0x23de1c,_0x4d49dd){_0x4d49dd=_0x4d49dd||0xc8;return function(_0x5ad29e){if(_0x5ad29e){return _0x23de1c[_0xd737('0x25')](_0x4d49dd)[_0xd737('0x26')](_0x5ad29e);}};}function respondWithFilteredResult(_0x5e41d0,_0x4555e5){return function(_0x49c9d5){if(_0x49c9d5){var _0x32ab1c=_0x49c9d5[_0xd737('0x27')],_0x32c739=_0x4555e5['offset'],_0x2eed6f=_0x4555e5[_0xd737('0x28')]+_0x4555e5[_0xd737('0x29')],_0x89c268;if(_0x2eed6f>=_0x32ab1c){_0x2eed6f=_0x32ab1c;_0x89c268=0xc8;}else{_0x89c268=0xce;}_0x5e41d0[_0xd737('0x25')](_0x89c268);return _0x5e41d0[_0xd737('0x2a')](_0xd737('0x2b'),_0x32c739+'-'+_0x2eed6f+'/'+_0x32ab1c)[_0xd737('0x26')](_0x49c9d5);}return null;};}function patchUpdates(_0x12b573){return function(_0x48f606){try{jsonpatch[_0xd737('0x2c')](_0x48f606,_0x12b573,!![]);}catch(_0x1da25e){return BPromise[_0xd737('0x2d')](_0x1da25e);}return _0x48f606[_0xd737('0x2e')]();};}function saveUpdates(_0x398572,_0x6e46c){return function(_0x2e4548){if(_0x2e4548){return _0x2e4548[_0xd737('0x2f')](_0x398572)[_0xd737('0x17')](function(_0x5706c6){return _0x5706c6;});}return null;};}function removeEntity(_0x2fb682,_0x545c61){return function(_0x1f6725){if(_0x1f6725){return _0x1f6725['destroy']()[_0xd737('0x17')](function(){_0x2fb682[_0xd737('0x25')](0xcc)[_0xd737('0x24')]();});}};}function handleEntityNotFound(_0x176a7b,_0x6bb065){return function(_0x5dae28){if(!_0x5dae28){_0x176a7b[_0xd737('0x23')](0x194);}return _0x5dae28;};}function handleError(_0x22d54a,_0x628e69){_0x628e69=_0x628e69||0x1f4;return function(_0x442abf){logger[_0xd737('0x1d')](_0x442abf[_0xd737('0x30')]);if(_0x442abf['name']){delete _0x442abf[_0xd737('0x31')];}_0x22d54a['status'](_0x628e69)[_0xd737('0x32')](_0x442abf);};}exports[_0xd737('0x33')]=function(_0x5ec85c,_0x37a6e8){var _0x119486={},_0x53e181={},_0x5c2fc0={'count':0x0,'rows':[]};var _0x160556=_[_0xd737('0x34')](db[_0xd737('0x35')][_0xd737('0x36')],function(_0x27269f){return{'name':_0x27269f[_0xd737('0x37')],'type':_0x27269f['type']['key']};});_0x53e181[_0xd737('0x38')]=_[_0xd737('0x34')](_0x160556,_0xd737('0x31'));_0x53e181[_0xd737('0x39')]=_[_0xd737('0x3a')](_0x5ec85c[_0xd737('0x39')]);_0x53e181[_0xd737('0x3b')]=_[_0xd737('0x3c')](_0x53e181['model'],_0x53e181[_0xd737('0x39')]);_0x119486[_0xd737('0x3d')]=_[_0xd737('0x3c')](_0x53e181[_0xd737('0x38')],qs['fields'](_0x5ec85c[_0xd737('0x39')]['fields']));_0x119486[_0xd737('0x3d')]=_0x119486[_0xd737('0x3d')][_0xd737('0x3e')]?_0x119486['attributes']:_0x53e181[_0xd737('0x38')];if(!_0x5ec85c[_0xd737('0x39')]['hasOwnProperty'](_0xd737('0x3f'))){_0x119486['limit']=qs[_0xd737('0x29')](_0x5ec85c[_0xd737('0x39')][_0xd737('0x29')]);_0x119486[_0xd737('0x28')]=qs[_0xd737('0x28')](_0x5ec85c[_0xd737('0x39')][_0xd737('0x28')]);}_0x119486[_0xd737('0x40')]=qs['sort'](_0x5ec85c[_0xd737('0x39')][_0xd737('0x41')]);_0x119486[_0xd737('0x42')]=qs[_0xd737('0x3b')](_[_0xd737('0x43')](_0x5ec85c[_0xd737('0x39')],_0x53e181['filters']),_0x160556);if(_0x5ec85c[_0xd737('0x39')]['filter']){_0x119486[_0xd737('0x42')]=_['merge'](_0x119486[_0xd737('0x42')],{'$or':_['map'](_0x160556,function(_0x36631e){if(_0x36631e[_0xd737('0x44')]!==_0xd737('0x45')){var _0x804086={};_0x804086[_0x36631e[_0xd737('0x31')]]={'$like':'%'+_0x5ec85c[_0xd737('0x39')]['filter']+'%'};return _0x804086;}})});}_0x119486=_[_0xd737('0x46')]({},_0x119486,_0x5ec85c[_0xd737('0x47')]);var _0x25471c={'where':_0x119486['where']};return db[_0xd737('0x35')][_0xd737('0x27')](_0x25471c)[_0xd737('0x17')](function(_0x1c60fe){_0x5c2fc0['count']=_0x1c60fe;if(_0x5ec85c[_0xd737('0x39')][_0xd737('0x48')]){_0x119486['include']=[{'all':!![]}];}return db[_0xd737('0x35')][_0xd737('0x49')](_0x119486);})[_0xd737('0x17')](function(_0x31732d){_0x5c2fc0['rows']=_0x31732d;return _0x5c2fc0;})['then'](respondWithFilteredResult(_0x37a6e8,_0x119486))[_0xd737('0x22')](handleError(_0x37a6e8,null));};exports['show']=function(_0x50ff6f,_0x549917){var _0x5c2ca5={'raw':![],'where':{'id':_0x50ff6f[_0xd737('0x4a')]['id']}},_0x8f4dd5={};_0x8f4dd5['model']=_['keys'](db[_0xd737('0x35')][_0xd737('0x36')]);_0x8f4dd5[_0xd737('0x39')]=_[_0xd737('0x3a')](_0x50ff6f[_0xd737('0x39')]);_0x8f4dd5[_0xd737('0x3b')]=_[_0xd737('0x3c')](_0x8f4dd5['model'],_0x8f4dd5[_0xd737('0x39')]);_0x5c2ca5['attributes']=_[_0xd737('0x3c')](_0x8f4dd5[_0xd737('0x38')],qs[_0xd737('0x4b')](_0x50ff6f[_0xd737('0x39')][_0xd737('0x4b')]));_0x5c2ca5[_0xd737('0x3d')]=_0x5c2ca5[_0xd737('0x3d')]['length']?_0x5c2ca5['attributes']:_0x8f4dd5[_0xd737('0x38')];if(_0x50ff6f[_0xd737('0x39')]['includeAll']){_0x5c2ca5['include']=[{'all':!![]}];}_0x5c2ca5=_[_0xd737('0x46')]({},_0x5c2ca5,_0x50ff6f[_0xd737('0x47')]);return db['VtigerAccount']['find'](_0x5c2ca5)['then'](handleEntityNotFound(_0x549917,null))[_0xd737('0x17')](respondWithResult(_0x549917,null))[_0xd737('0x22')](handleError(_0x549917,null));};exports[_0xd737('0x4c')]=function(_0x3c1f43,_0x1f4eef){return db['VtigerAccount'][_0xd737('0x4c')](_0x3c1f43[_0xd737('0x4d')],{})[_0xd737('0x17')](respondWithResult(_0x1f4eef,0xc9))[_0xd737('0x22')](handleError(_0x1f4eef,null));};exports['update']=function(_0x5dff19,_0x5cf522){if(_0x5dff19['body']['id']){delete _0x5dff19['body']['id'];}return db[_0xd737('0x35')][_0xd737('0x4e')]({'where':{'id':_0x5dff19['params']['id']}})[_0xd737('0x17')](handleEntityNotFound(_0x5cf522,null))[_0xd737('0x17')](saveUpdates(_0x5dff19['body'],null))[_0xd737('0x17')](respondWithResult(_0x5cf522,null))[_0xd737('0x22')](handleError(_0x5cf522,null));};exports[_0xd737('0x4f')]=function(_0x399a7f,_0x292963){return db[_0xd737('0x35')][_0xd737('0x4e')]({'where':{'id':_0x399a7f[_0xd737('0x4a')]['id']}})[_0xd737('0x17')](handleEntityNotFound(_0x292963,null))[_0xd737('0x17')](removeEntity(_0x292963,null))[_0xd737('0x22')](handleError(_0x292963,null));};exports[_0xd737('0x50')]=function(_0x4c4238,_0x5d2bd6,_0x18f196){var _0x498811={};var _0x1d7ea2={};var _0x4339df;var _0x42b2c8;return db[_0xd737('0x35')][_0xd737('0x51')]({'where':{'id':_0x4c4238[_0xd737('0x4a')]['id']}})[_0xd737('0x17')](handleEntityNotFound(_0x5d2bd6,null))[_0xd737('0x17')](function(_0x25f11e){if(_0x25f11e){_0x4339df=_0x25f11e;_0x1d7ea2[_0xd737('0x38')]=_['keys'](db['VtigerConfiguration']['rawAttributes']);_0x1d7ea2[_0xd737('0x39')]=_[_0xd737('0x3a')](_0x4c4238[_0xd737('0x39')]);_0x1d7ea2[_0xd737('0x3b')]=_['intersection'](_0x1d7ea2[_0xd737('0x38')],_0x1d7ea2[_0xd737('0x39')]);_0x498811['attributes']=_[_0xd737('0x3c')](_0x1d7ea2[_0xd737('0x38')],qs[_0xd737('0x4b')](_0x4c4238[_0xd737('0x39')][_0xd737('0x4b')]));_0x498811['attributes']=_0x498811[_0xd737('0x3d')]['length']?_0x498811['attributes']:_0x1d7ea2[_0xd737('0x38')];_0x498811[_0xd737('0x40')]=qs[_0xd737('0x41')](_0x4c4238['query']['sort']);_0x498811[_0xd737('0x42')]=qs[_0xd737('0x3b')](_['pick'](_0x4c4238['query'],_0x1d7ea2[_0xd737('0x3b')]));if(_0x4c4238[_0xd737('0x39')]['filter']){_0x498811[_0xd737('0x42')]=_[_0xd737('0x46')](_0x498811[_0xd737('0x42')],{'$or':_[_0xd737('0x34')](_0x498811[_0xd737('0x3d')],function(_0x140595){var _0x2644eb={};_0x2644eb[_0x140595]={'$like':'%'+_0x4c4238[_0xd737('0x39')]['filter']+'%'};return _0x2644eb;})});}_0x498811=_['merge']({},_0x498811,_0x4c4238[_0xd737('0x47')]);return _0x4339df[_0xd737('0x50')](_0x498811);}})[_0xd737('0x17')](function(_0x403ab2){if(_0x403ab2){_0x42b2c8=_0x403ab2[_0xd737('0x3e')];if(!_0x4c4238[_0xd737('0x39')][_0xd737('0x52')](_0xd737('0x3f'))){_0x498811['limit']=qs[_0xd737('0x29')](_0x4c4238[_0xd737('0x39')][_0xd737('0x29')]);_0x498811['offset']=qs[_0xd737('0x28')](_0x4c4238[_0xd737('0x39')][_0xd737('0x28')]);}return _0x4339df[_0xd737('0x50')](_0x498811);}})[_0xd737('0x17')](function(_0x3623d4){if(_0x3623d4){return _0x3623d4?{'count':_0x42b2c8,'rows':_0x3623d4}:null;}})[_0xd737('0x17')](respondWithResult(_0x5d2bd6,null))['catch'](handleError(_0x5d2bd6,null));};exports[_0xd737('0x53')]=function(_0x50c117,_0x20f3ae,_0x17b1f8){if(_0x50c117[_0xd737('0x4d')]['id']){delete _0x50c117['body']['id'];}return db['VtigerAccount'][_0xd737('0x51')]({'where':{'id':_0x50c117[_0xd737('0x4a')]['id']}})[_0xd737('0x17')](handleEntityNotFound(_0x20f3ae,null))[_0xd737('0x17')](function(_0x4297c5){if(_0x4297c5){_0x50c117[_0xd737('0x4d')]['AccountId']=_0x4297c5['id'];_0x50c117[_0xd737('0x4d')]['Subjects']=integrations[_0xd737('0x54')](_0x50c117['body'][_0xd737('0x55')],_0x50c117[_0xd737('0x4d')]['type']);_0x50c117[_0xd737('0x4d')][_0xd737('0x56')]=integrations[_0xd737('0x57')](_0x50c117[_0xd737('0x4d')][_0xd737('0x55')],_0x50c117[_0xd737('0x4d')][_0xd737('0x44')]);return db[_0xd737('0x58')][_0xd737('0x4c')](_0x50c117['body'],{'include':[{'model':db[_0xd737('0x59')],'as':_0xd737('0x5a')},{'model':db[_0xd737('0x59')],'as':_0xd737('0x56')}]});}return null;})[_0xd737('0x17')](respondWithResult(_0x20f3ae,null))[_0xd737('0x22')](handleError(_0x20f3ae,null));};var md5=require(_0xd737('0x5b'));exports['getFields']=function(_0x2aef6d,_0x4ab576,_0x12a3a8){var _0x2923ff=null;var _0x2b5397=null;var _0x47a99a=null;var _0x17cd72=null;var _0x3c4475='';return db[_0xd737('0x35')][_0xd737('0x51')]({'where':{'id':_0x2aef6d[_0xd737('0x4a')]['id']},'attributes':['id','name',_0xd737('0x5c'),_0xd737('0x5d'),_0xd737('0x5e'),'remoteUri',_0xd737('0x5f'),_0xd737('0x60')]})[_0xd737('0x17')](handleEntityNotFound(_0x4ab576,null))[_0xd737('0x17')](function(_0x50d625){if(_0x50d625){_0x2923ff=_0x50d625[_0xd737('0x5c')];_0x2b5397=_0x50d625['accessKey'];_0x47a99a=_0x50d625['moduleName'];_0x3c4475=_0x50d625[_0xd737('0x61')];var _0x1eeee8=_0x3c4475[_0xd737('0x62')](-0x1);if(_0x1eeee8==='/'){_0x3c4475=_0x3c4475[_0xd737('0x63')](0x0,_0x3c4475[_0xd737('0x64')](_0x1eeee8));}_0x17cd72=util[_0xd737('0x65')](_0xd737('0x66'),_0x3c4475);var _0x261cdc={'method':_0xd737('0x67'),'uri':_0x17cd72,'qs':{'operation':_0xd737('0x68'),'username':_0x50d625[_0xd737('0x5c')]},'json':!![]};return rp(_0x261cdc);}})['then'](function(_0x284850){if(_0x284850['success']){var _0x20f60a={'method':_0xd737('0x69'),'uri':_0x17cd72,'form':{'operation':_0xd737('0x6a'),'username':_0x2923ff,'accessKey':md5(_0x284850[_0xd737('0x21')]['token']+_0x2b5397)},'json':!![]};return rp(_0x20f60a);}})[_0xd737('0x17')](function(_0xa5efb1){if(_0xa5efb1[_0xd737('0x6b')]){var _0x524408={'method':'GET','uri':_0x17cd72,'qs':{'operation':'describe','username':_0x2923ff,'sessionName':_0xa5efb1[_0xd737('0x21')]['sessionName'],'elementType':_0x47a99a},'json':!![]};return rp(_0x524408);}})['then'](function(_0x2c3b09){if(_0x2c3b09['success']){var _0x34a720=['autogenerated',_0xd737('0x6c'),'owner'];_['remove'](_0x2c3b09[_0xd737('0x21')][_0xd737('0x4b')],function(_0x2d047e){return _0x34a720['includes'](_0x2d047e[_0xd737('0x44')][_0xd737('0x31')]);});_[_0xd737('0x6d')](_0x2c3b09[_0xd737('0x21')]['fields'],function(_0xff33d6){return _0xff33d6[_0xd737('0x6e')]===_0xd737('0x6f');});return{'count':_0x2c3b09[_0xd737('0x21')][_0xd737('0x4b')]['length'],'rows':_[_0xd737('0x34')](_0x2c3b09[_0xd737('0x21')]['fields'],function(_0x4b9b79){return{'id':_0x4b9b79[_0xd737('0x31')],'name':_0x4b9b79[_0xd737('0x70')],'custom':_[_0xd737('0x71')](_0x4b9b79[_0xd737('0x31')],_0xd737('0x72'))?!![]:![],'options':_0x4b9b79['type'][_0xd737('0x31')]===_0xd737('0x73')&&_0x4b9b79[_0xd737('0x44')][_0xd737('0x74')]['length']>0x0?_['map'](_0x4b9b79[_0xd737('0x44')][_0xd737('0x74')],function(_0x19e52f){return{'name':_0x19e52f[_0xd737('0x70')],'value':_0x19e52f[_0xd737('0x75')]};}):[]};})};}})[_0xd737('0x17')](respondWithResult(_0x4ab576,null))[_0xd737('0x22')](function(_0x5be101){console[_0xd737('0x76')]('vTiger\x20error:\x20'+_0x5be101);var _0x518f4f=_0x2aef6d[_0xd737('0x39')][_0xd737('0x77')]?0x1f4:_0x5be101['statusCode']||0x1f4;logger[_0xd737('0x1d')](_0xd737('0x78'),'getFields',_0x518f4f,JSON[_0xd737('0x1c')](_0x5be101));delete _0x5be101[_0xd737('0x31')];if(_0x518f4f===0x191){_0x518f4f=0x190;}_0x4ab576['status'](_0x518f4f)[_0xd737('0x32')](_0x2aef6d[_0xd737('0x39')]['test']?{'message':_0xd737('0x79'),'statusCode':_0x5be101[_0xd737('0x7a')]}:_0x5be101);});};