Built motion from commit 775e2a94.|2.6.3
[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 _0xe7e9=['substring','lastIndexOf','format','%s/webservice.php','getchallenge','POST','login','result','token','success','GET','sessionName','autogenerated','reference','remove','includes','false','label','startsWith','cf_','picklist','picklistValues','log','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','status','end','json','limit','offset','count','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','map','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','options','VtigerAccount','includeAll','include','findAll','catch','show','merge','find','create','body','params','getConfigurations','findOne','VtigerConfiguration','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','VtigerField','md5','getFields','description','moduleName','remoteUri','serverUrl','accessKey','username','slice'];(function(_0xe323e3,_0x110473){var _0x208a43=function(_0x18695c){while(--_0x18695c){_0xe323e3['push'](_0xe323e3['shift']());}};_0x208a43(++_0x110473);}(_0xe7e9,0x94));var _0x9e7e=function(_0x13ecca,_0xfd4f01){_0x13ecca=_0x13ecca-0x0;var _0x17c3b6=_0xe7e9[_0x13ecca];return _0x17c3b6;};'use strict';var emlformat=require(_0x9e7e('0x0'));var rimraf=require(_0x9e7e('0x1'));var zipdir=require(_0x9e7e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9e7e('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x9e7e('0x4'));var path=require(_0x9e7e('0x5'));var sox=require(_0x9e7e('0x6'));var csv=require(_0x9e7e('0x7'));var ejs=require(_0x9e7e('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9e7e('0x9'));var squel=require(_0x9e7e('0xa'));var crypto=require(_0x9e7e('0xb'));var jsforce=require(_0x9e7e('0xc'));var deskjs=require(_0x9e7e('0xd'));var toCsv=require('to-csv');var querystring=require(_0x9e7e('0xe'));var Papa=require(_0x9e7e('0xf'));var Redis=require('ioredis');var authService=require(_0x9e7e('0x10'));var qs=require(_0x9e7e('0x11'));var as=require(_0x9e7e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9e7e('0x13'));var utils=require(_0x9e7e('0x14'));var config=require(_0x9e7e('0x15'));var licenseUtil=require(_0x9e7e('0x16'));var db=require('../../mysqldb')['db'];var integrations=require(_0x9e7e('0x17'));function respondWithStatusCode(_0xdeda6b,_0x4a28ab){_0x4a28ab=_0x4a28ab||0xcc;return function(_0x52444d){if(_0x52444d){return _0xdeda6b['sendStatus'](_0x4a28ab);}return _0xdeda6b[_0x9e7e('0x18')](_0x4a28ab)[_0x9e7e('0x19')]();};}function respondWithResult(_0x6fe79d,_0x7f7114){_0x7f7114=_0x7f7114||0xc8;return function(_0x46b33c){if(_0x46b33c){return _0x6fe79d[_0x9e7e('0x18')](_0x7f7114)[_0x9e7e('0x1a')](_0x46b33c);}};}function respondWithFilteredResult(_0x947c1a,_0x3b2ec7){return function(_0x595571){if(_0x595571){var _0x5353a7=typeof _0x3b2ec7['offset']==='undefined'&&typeof _0x3b2ec7[_0x9e7e('0x1b')]==='undefined';var _0x186a1b=_0x595571['count'];var _0x4eabfc=_0x5353a7?0x0:_0x3b2ec7[_0x9e7e('0x1c')];var _0x4fd2c0=_0x5353a7?_0x595571[_0x9e7e('0x1d')]:_0x3b2ec7[_0x9e7e('0x1c')]+_0x3b2ec7[_0x9e7e('0x1b')];var _0x2f3ba1;if(_0x4fd2c0>=_0x186a1b){_0x4fd2c0=_0x186a1b;_0x2f3ba1=0xc8;}else{_0x2f3ba1=0xce;}_0x947c1a[_0x9e7e('0x18')](_0x2f3ba1);return _0x947c1a['set'](_0x9e7e('0x1e'),_0x4eabfc+'-'+_0x4fd2c0+'/'+_0x186a1b)[_0x9e7e('0x1a')](_0x595571);}return null;};}function patchUpdates(_0xb53e26){return function(_0x479d2c){try{jsonpatch[_0x9e7e('0x1f')](_0x479d2c,_0xb53e26,!![]);}catch(_0x55512){return BPromise[_0x9e7e('0x20')](_0x55512);}return _0x479d2c[_0x9e7e('0x21')]();};}function saveUpdates(_0x41b663,_0x4a956d){return function(_0x2d8858){if(_0x2d8858){return _0x2d8858['update'](_0x41b663)[_0x9e7e('0x22')](function(_0x3bc334){return _0x3bc334;});}return null;};}function removeEntity(_0x130a49,_0x49e63e){return function(_0x4681bb){if(_0x4681bb){return _0x4681bb[_0x9e7e('0x23')]()[_0x9e7e('0x22')](function(){_0x130a49[_0x9e7e('0x18')](0xcc)[_0x9e7e('0x19')]();});}};}function handleEntityNotFound(_0x1e1b82,_0x54fefb){return function(_0x4c7050){if(!_0x4c7050){_0x1e1b82['sendStatus'](0x194);}return _0x4c7050;};}function handleError(_0x2a9b4b,_0x5637b7){_0x5637b7=_0x5637b7||0x1f4;return function(_0x2a7404){logger[_0x9e7e('0x24')](_0x2a7404[_0x9e7e('0x25')]);if(_0x2a7404[_0x9e7e('0x26')]){delete _0x2a7404['name'];}_0x2a9b4b[_0x9e7e('0x18')](_0x5637b7)[_0x9e7e('0x27')](_0x2a7404);};}exports['index']=function(_0x2ec06c,_0x111975){var _0x43a0ee={},_0x509f96={},_0x27aaed={'count':0x0,'rows':[]};var _0x3bcd80=_[_0x9e7e('0x28')](db['VtigerAccount'][_0x9e7e('0x29')],function(_0x3c1474){return{'name':_0x3c1474['fieldName'],'type':_0x3c1474[_0x9e7e('0x2a')][_0x9e7e('0x2b')]};});_0x509f96[_0x9e7e('0x2c')]=_[_0x9e7e('0x28')](_0x3bcd80,_0x9e7e('0x26'));_0x509f96[_0x9e7e('0x2d')]=_[_0x9e7e('0x2e')](_0x2ec06c[_0x9e7e('0x2d')]);_0x509f96['filters']=_[_0x9e7e('0x2f')](_0x509f96[_0x9e7e('0x2c')],_0x509f96[_0x9e7e('0x2d')]);_0x43a0ee[_0x9e7e('0x30')]=_[_0x9e7e('0x2f')](_0x509f96[_0x9e7e('0x2c')],qs[_0x9e7e('0x31')](_0x2ec06c[_0x9e7e('0x2d')][_0x9e7e('0x31')]));_0x43a0ee['attributes']=_0x43a0ee['attributes'][_0x9e7e('0x32')]?_0x43a0ee[_0x9e7e('0x30')]:_0x509f96[_0x9e7e('0x2c')];if(!_0x2ec06c[_0x9e7e('0x2d')][_0x9e7e('0x33')](_0x9e7e('0x34'))){_0x43a0ee[_0x9e7e('0x1b')]=qs[_0x9e7e('0x1b')](_0x2ec06c['query'][_0x9e7e('0x1b')]);_0x43a0ee['offset']=qs[_0x9e7e('0x1c')](_0x2ec06c['query']['offset']);}_0x43a0ee[_0x9e7e('0x35')]=qs[_0x9e7e('0x36')](_0x2ec06c[_0x9e7e('0x2d')][_0x9e7e('0x36')]);_0x43a0ee[_0x9e7e('0x37')]=qs[_0x9e7e('0x38')](_[_0x9e7e('0x39')](_0x2ec06c[_0x9e7e('0x2d')],_0x509f96[_0x9e7e('0x38')]),_0x3bcd80);if(_0x2ec06c['query'][_0x9e7e('0x3a')]){_0x43a0ee['where']=_['merge'](_0x43a0ee[_0x9e7e('0x37')],{'$or':_[_0x9e7e('0x28')](_0x3bcd80,function(_0x1c5780){if(_0x1c5780[_0x9e7e('0x2a')]!==_0x9e7e('0x3b')){var _0x3ad319={};_0x3ad319[_0x1c5780[_0x9e7e('0x26')]]={'$like':'%'+_0x2ec06c[_0x9e7e('0x2d')][_0x9e7e('0x3a')]+'%'};return _0x3ad319;}})});}_0x43a0ee=_['merge']({},_0x43a0ee,_0x2ec06c[_0x9e7e('0x3c')]);var _0x308004={'where':_0x43a0ee[_0x9e7e('0x37')]};return db[_0x9e7e('0x3d')][_0x9e7e('0x1d')](_0x308004)[_0x9e7e('0x22')](function(_0xe83b50){_0x27aaed[_0x9e7e('0x1d')]=_0xe83b50;if(_0x2ec06c[_0x9e7e('0x2d')][_0x9e7e('0x3e')]){_0x43a0ee[_0x9e7e('0x3f')]=[{'all':!![]}];}return db[_0x9e7e('0x3d')][_0x9e7e('0x40')](_0x43a0ee);})[_0x9e7e('0x22')](function(_0x2ada5c){_0x27aaed['rows']=_0x2ada5c;return _0x27aaed;})[_0x9e7e('0x22')](respondWithFilteredResult(_0x111975,_0x43a0ee))[_0x9e7e('0x41')](handleError(_0x111975,null));};exports[_0x9e7e('0x42')]=function(_0x52a5ef,_0x325004){var _0x5c24f4={'raw':![],'where':{'id':_0x52a5ef['params']['id']}},_0x448965={};_0x448965[_0x9e7e('0x2c')]=_['keys'](db[_0x9e7e('0x3d')]['rawAttributes']);_0x448965[_0x9e7e('0x2d')]=_['keys'](_0x52a5ef[_0x9e7e('0x2d')]);_0x448965[_0x9e7e('0x38')]=_[_0x9e7e('0x2f')](_0x448965['model'],_0x448965[_0x9e7e('0x2d')]);_0x5c24f4[_0x9e7e('0x30')]=_[_0x9e7e('0x2f')](_0x448965[_0x9e7e('0x2c')],qs[_0x9e7e('0x31')](_0x52a5ef[_0x9e7e('0x2d')][_0x9e7e('0x31')]));_0x5c24f4[_0x9e7e('0x30')]=_0x5c24f4[_0x9e7e('0x30')][_0x9e7e('0x32')]?_0x5c24f4['attributes']:_0x448965[_0x9e7e('0x2c')];if(_0x52a5ef[_0x9e7e('0x2d')][_0x9e7e('0x3e')]){_0x5c24f4['include']=[{'all':!![]}];}_0x5c24f4=_[_0x9e7e('0x43')]({},_0x5c24f4,_0x52a5ef[_0x9e7e('0x3c')]);return db[_0x9e7e('0x3d')][_0x9e7e('0x44')](_0x5c24f4)[_0x9e7e('0x22')](handleEntityNotFound(_0x325004,null))['then'](respondWithResult(_0x325004,null))['catch'](handleError(_0x325004,null));};exports[_0x9e7e('0x45')]=function(_0x132450,_0x192060){return db[_0x9e7e('0x3d')]['create'](_0x132450[_0x9e7e('0x46')],{})[_0x9e7e('0x22')](respondWithResult(_0x192060,0xc9))[_0x9e7e('0x41')](handleError(_0x192060,null));};exports['update']=function(_0x6b0873,_0x2af332){if(_0x6b0873[_0x9e7e('0x46')]['id']){delete _0x6b0873[_0x9e7e('0x46')]['id'];}return db[_0x9e7e('0x3d')][_0x9e7e('0x44')]({'where':{'id':_0x6b0873[_0x9e7e('0x47')]['id']}})[_0x9e7e('0x22')](handleEntityNotFound(_0x2af332,null))[_0x9e7e('0x22')](saveUpdates(_0x6b0873[_0x9e7e('0x46')],null))[_0x9e7e('0x22')](respondWithResult(_0x2af332,null))[_0x9e7e('0x41')](handleError(_0x2af332,null));};exports[_0x9e7e('0x23')]=function(_0x15dc03,_0x3de88f){return db[_0x9e7e('0x3d')][_0x9e7e('0x44')]({'where':{'id':_0x15dc03[_0x9e7e('0x47')]['id']}})['then'](handleEntityNotFound(_0x3de88f,null))['then'](removeEntity(_0x3de88f,null))[_0x9e7e('0x41')](handleError(_0x3de88f,null));};exports[_0x9e7e('0x48')]=function(_0x4702df,_0x5e0b53,_0x4b7283){var _0x162a26={};var _0x5948c3={};var _0x10f843;var _0x506483;return db[_0x9e7e('0x3d')][_0x9e7e('0x49')]({'where':{'id':_0x4702df['params']['id']}})[_0x9e7e('0x22')](handleEntityNotFound(_0x5e0b53,null))['then'](function(_0x3272a9){if(_0x3272a9){_0x10f843=_0x3272a9;_0x5948c3['model']=_[_0x9e7e('0x2e')](db[_0x9e7e('0x4a')][_0x9e7e('0x29')]);_0x5948c3['query']=_[_0x9e7e('0x2e')](_0x4702df[_0x9e7e('0x2d')]);_0x5948c3[_0x9e7e('0x38')]=_[_0x9e7e('0x2f')](_0x5948c3[_0x9e7e('0x2c')],_0x5948c3['query']);_0x162a26['attributes']=_[_0x9e7e('0x2f')](_0x5948c3[_0x9e7e('0x2c')],qs[_0x9e7e('0x31')](_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x31')]));_0x162a26[_0x9e7e('0x30')]=_0x162a26['attributes']['length']?_0x162a26[_0x9e7e('0x30')]:_0x5948c3[_0x9e7e('0x2c')];_0x162a26[_0x9e7e('0x35')]=qs[_0x9e7e('0x36')](_0x4702df['query'][_0x9e7e('0x36')]);_0x162a26['where']=qs[_0x9e7e('0x38')](_[_0x9e7e('0x39')](_0x4702df[_0x9e7e('0x2d')],_0x5948c3[_0x9e7e('0x38')]));if(_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x3a')]){_0x162a26[_0x9e7e('0x37')]=_[_0x9e7e('0x43')](_0x162a26[_0x9e7e('0x37')],{'$or':_[_0x9e7e('0x28')](_0x162a26[_0x9e7e('0x30')],function(_0x43e14d){var _0x451411={};_0x451411[_0x43e14d]={'$like':'%'+_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x3a')]+'%'};return _0x451411;})});}_0x162a26=_[_0x9e7e('0x43')]({},_0x162a26,_0x4702df[_0x9e7e('0x3c')]);return _0x10f843['getConfigurations'](_0x162a26);}})[_0x9e7e('0x22')](function(_0x56d587){if(_0x56d587){_0x506483=_0x56d587[_0x9e7e('0x32')];if(!_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x33')](_0x9e7e('0x34'))){_0x162a26[_0x9e7e('0x1b')]=qs['limit'](_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x1b')]);_0x162a26['offset']=qs[_0x9e7e('0x1c')](_0x4702df[_0x9e7e('0x2d')][_0x9e7e('0x1c')]);}return _0x10f843['getConfigurations'](_0x162a26);}})[_0x9e7e('0x22')](function(_0x579305){if(_0x579305){return _0x579305?{'count':_0x506483,'rows':_0x579305}:null;}})[_0x9e7e('0x22')](respondWithResult(_0x5e0b53,null))[_0x9e7e('0x41')](handleError(_0x5e0b53,null));};exports[_0x9e7e('0x4b')]=function(_0x36b0ee,_0x38e7a4,_0x4c2bf3){if(_0x36b0ee[_0x9e7e('0x46')]['id']){delete _0x36b0ee[_0x9e7e('0x46')]['id'];}return db['VtigerAccount'][_0x9e7e('0x49')]({'where':{'id':_0x36b0ee[_0x9e7e('0x47')]['id']}})[_0x9e7e('0x22')](handleEntityNotFound(_0x38e7a4,null))[_0x9e7e('0x22')](function(_0x5be982){if(_0x5be982){_0x36b0ee[_0x9e7e('0x46')][_0x9e7e('0x4c')]=_0x5be982['id'];_0x36b0ee['body'][_0x9e7e('0x4d')]=integrations[_0x9e7e('0x4e')](_0x36b0ee[_0x9e7e('0x46')]['channel'],_0x36b0ee['body']['type']);_0x36b0ee[_0x9e7e('0x46')][_0x9e7e('0x4f')]=integrations[_0x9e7e('0x50')](_0x36b0ee[_0x9e7e('0x46')][_0x9e7e('0x51')],_0x36b0ee[_0x9e7e('0x46')][_0x9e7e('0x2a')]);return db[_0x9e7e('0x4a')]['create'](_0x36b0ee[_0x9e7e('0x46')],{'include':[{'model':db[_0x9e7e('0x52')],'as':_0x9e7e('0x4d')},{'model':db[_0x9e7e('0x52')],'as':'Descriptions'}]});}return null;})[_0x9e7e('0x22')](respondWithResult(_0x38e7a4,null))['catch'](handleError(_0x38e7a4,null));};var md5=require(_0x9e7e('0x53'));exports[_0x9e7e('0x54')]=function(_0x37f16d,_0x4a527c,_0x45b030){var _0x5859a7=null;var _0xb9cc86=null;var _0x17f72a=null;var _0xa0e538=null;var _0x2bf02c='';return db[_0x9e7e('0x3d')][_0x9e7e('0x49')]({'where':{'id':_0x37f16d[_0x9e7e('0x47')]['id']},'attributes':['id',_0x9e7e('0x26'),'username',_0x9e7e('0x55'),_0x9e7e('0x56'),_0x9e7e('0x57'),_0x9e7e('0x58'),_0x9e7e('0x59')]})[_0x9e7e('0x22')](handleEntityNotFound(_0x4a527c,null))[_0x9e7e('0x22')](function(_0x2918ab){if(_0x2918ab){_0x5859a7=_0x2918ab[_0x9e7e('0x5a')];_0xb9cc86=_0x2918ab[_0x9e7e('0x59')];_0x17f72a=_0x2918ab[_0x9e7e('0x56')];_0x2bf02c=_0x2918ab['remoteUri'];var _0x2830f3=_0x2bf02c[_0x9e7e('0x5b')](-0x1);if(_0x2830f3==='/'){_0x2bf02c=_0x2bf02c[_0x9e7e('0x5c')](0x0,_0x2bf02c[_0x9e7e('0x5d')](_0x2830f3));}_0xa0e538=util[_0x9e7e('0x5e')](_0x9e7e('0x5f'),_0x2bf02c);var _0x276191={'method':'GET','uri':_0xa0e538,'qs':{'operation':_0x9e7e('0x60'),'username':_0x2918ab[_0x9e7e('0x5a')]},'json':!![]};return rp(_0x276191);}})[_0x9e7e('0x22')](function(_0x30729a){if(_0x30729a['success']){var _0x48210d={'method':_0x9e7e('0x61'),'uri':_0xa0e538,'form':{'operation':_0x9e7e('0x62'),'username':_0x5859a7,'accessKey':md5(_0x30729a[_0x9e7e('0x63')][_0x9e7e('0x64')]+_0xb9cc86)},'json':!![]};return rp(_0x48210d);}})[_0x9e7e('0x22')](function(_0x433137){if(_0x433137[_0x9e7e('0x65')]){var _0x543c6d={'method':_0x9e7e('0x66'),'uri':_0xa0e538,'qs':{'operation':'describe','username':_0x5859a7,'sessionName':_0x433137['result'][_0x9e7e('0x67')],'elementType':_0x17f72a},'json':!![]};return rp(_0x543c6d);}})['then'](function(_0x1d94af){if(_0x1d94af[_0x9e7e('0x65')]){var _0x27a9ec=[_0x9e7e('0x68'),_0x9e7e('0x69'),'owner'];_[_0x9e7e('0x6a')](_0x1d94af['result'][_0x9e7e('0x31')],function(_0x38f32c){return _0x27a9ec[_0x9e7e('0x6b')](_0x38f32c['type'][_0x9e7e('0x26')]);});_[_0x9e7e('0x6a')](_0x1d94af[_0x9e7e('0x63')][_0x9e7e('0x31')],function(_0x2b535d){return _0x2b535d['editable']===_0x9e7e('0x6c');});return{'count':_0x1d94af['result'][_0x9e7e('0x31')][_0x9e7e('0x32')],'rows':_[_0x9e7e('0x28')](_0x1d94af[_0x9e7e('0x63')][_0x9e7e('0x31')],function(_0x4f9548){return{'id':_0x4f9548[_0x9e7e('0x26')],'name':_0x4f9548[_0x9e7e('0x6d')],'custom':_[_0x9e7e('0x6e')](_0x4f9548[_0x9e7e('0x26')],_0x9e7e('0x6f'))?!![]:![],'options':_0x4f9548['type'][_0x9e7e('0x26')]===_0x9e7e('0x70')&&_0x4f9548[_0x9e7e('0x2a')][_0x9e7e('0x71')]['length']>0x0?_[_0x9e7e('0x28')](_0x4f9548[_0x9e7e('0x2a')][_0x9e7e('0x71')],function(_0x55e2ab){return{'name':_0x55e2ab[_0x9e7e('0x6d')],'value':_0x55e2ab['value']};}):[]};})};}})[_0x9e7e('0x22')](respondWithResult(_0x4a527c,null))[_0x9e7e('0x41')](function(_0x58c7ed){console[_0x9e7e('0x72')]('vTiger\x20error:\x20'+_0x58c7ed);var _0x5e310d=_0x37f16d[_0x9e7e('0x2d')][_0x9e7e('0x73')]?0x1f4:_0x58c7ed[_0x9e7e('0x74')]||0x1f4;logger[_0x9e7e('0x24')](_0x9e7e('0x75'),_0x9e7e('0x54'),_0x5e310d,JSON[_0x9e7e('0x76')](_0x58c7ed));delete _0x58c7ed[_0x9e7e('0x26')];if(_0x5e310d===0x191){_0x5e310d=0x190;}_0x4a527c['status'](_0x5e310d)['send'](_0x37f16d[_0x9e7e('0x2d')][_0x9e7e('0x73')]?{'message':_0x9e7e('0x77'),'statusCode':_0x58c7ed['statusCode']}:_0x58c7ed);});};