03f57d3d014ad05072dc71637762364dc8bdb49f
[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 _0xe02c=['getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','jayson/promise','client','http','then','info','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','sendStatus','end','status','json','offset','limit','Content-Range','apply','reject','save','stack','name','send','index','map','VtigerAccount','rawAttributes','fieldName','key','query','keys','intersection','attributes','model','fields','hasOwnProperty','sort','where','filters','pick','filter','merge','type','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','update','destroy','getConfigurations','findOne','order','options','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','VtigerConfiguration','VtigerField','Descriptions','md5','description','remoteUri','serverUrl','accessKey','username','slice','substring','lastIndexOf','format','getchallenge','success','POST','login','token','describe','sessionName','autogenerated','reference','owner','remove','editable','label','picklist','picklistValues','log','vTiger\x20error:\x20','test'];(function(_0x327f15,_0x81c005){var _0x305edd=function(_0x546dcd){while(--_0x546dcd){_0x327f15['push'](_0x327f15['shift']());}};_0x305edd(++_0x81c005);}(_0xe02c,0x81));var _0xce02=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe02c[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xce02('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xce02('0x1'));var rp=require(_0xce02('0x2'));var moment=require(_0xce02('0x3'));var BPromise=require(_0xce02('0x4'));var Mustache=require(_0xce02('0x5'));var util=require(_0xce02('0x6'));var path=require(_0xce02('0x7'));var sox=require(_0xce02('0x8'));var csv=require('to-csv');var ejs=require(_0xce02('0x9'));var fs=require('fs');var _=require(_0xce02('0xa'));var squel=require(_0xce02('0xb'));var crypto=require(_0xce02('0xc'));var jsforce=require(_0xce02('0xd'));var deskjs=require(_0xce02('0xe'));var toCsv=require(_0xce02('0xf'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xce02('0x10'));var authService=require(_0xce02('0x11'));var qs=require(_0xce02('0x12'));var as=require(_0xce02('0x13'));var hardwareService=require(_0xce02('0x14'));var logger=require(_0xce02('0x15'))('api');var utils=require(_0xce02('0x16'));var config=require(_0xce02('0x17'));var licenseUtil=require(_0xce02('0x18'));var db=require('../../mysqldb')['db'];var integrations=require(_0xce02('0x19'));var jayson=require(_0xce02('0x1a'));var client=jayson[_0xce02('0x1b')][_0xce02('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x17a6e3,_0x2ae50c,_0x5c9d19,_0x140c15){return new BPromise(function(_0x462762,_0x2a9403){var _0x335d8d=_0x140c15||client;return _0x335d8d['request'](_0x17a6e3,_0x5c9d19)[_0xce02('0x1d')](function(_0x4544f5){logger[_0xce02('0x1e')](_0xce02('0x1f'),_0x2ae50c,_0xce02('0x20'));logger[_0xce02('0x21')]('VtigerAccount,\x20%s,\x20%s,\x20%s',_0x2ae50c,'request\x20sent',JSON[_0xce02('0x22')](_0x4544f5));if(_0x4544f5[_0xce02('0x23')]){if(_0x4544f5[_0xce02('0x23')]['code']===0x1f4){logger['error'](_0xce02('0x1f'),_0x2ae50c,_0x4544f5[_0xce02('0x23')]['message']);return _0x2a9403(_0x4544f5[_0xce02('0x23')][_0xce02('0x24')]);}logger[_0xce02('0x23')]('VtigerAccount,\x20%s,\x20%s',_0x2ae50c,_0x4544f5[_0xce02('0x23')][_0xce02('0x24')]);return _0x462762(_0x4544f5[_0xce02('0x23')][_0xce02('0x24')]);}else{logger[_0xce02('0x1e')]('VtigerAccount,\x20%s,\x20%s',_0x2ae50c,'request\x20sent');_0x462762(_0x4544f5[_0xce02('0x25')][_0xce02('0x24')]);}})['catch'](function(_0x838409){logger['error'](_0xce02('0x1f'),_0x2ae50c,_0x838409);_0x2a9403(_0x838409);});});}function respondWithStatusCode(_0x6f7c78,_0x2f30f1){_0x2f30f1=_0x2f30f1||0xcc;return function(_0x4efa13){if(_0x4efa13){return _0x6f7c78[_0xce02('0x26')](_0x2f30f1);}return _0x6f7c78['status'](_0x2f30f1)[_0xce02('0x27')]();};}function respondWithResult(_0x255a18,_0x46db1d){_0x46db1d=_0x46db1d||0xc8;return function(_0x29de8a){if(_0x29de8a){return _0x255a18[_0xce02('0x28')](_0x46db1d)[_0xce02('0x29')](_0x29de8a);}};}function respondWithFilteredResult(_0x2ce794,_0x1e099b){return function(_0x1f9c99){if(_0x1f9c99){var _0x5e70d7=_0x1f9c99['count'],_0x41591b=_0x1e099b[_0xce02('0x2a')],_0x37e6ac=_0x1e099b[_0xce02('0x2a')]+_0x1e099b[_0xce02('0x2b')],_0x3cbbec;if(_0x37e6ac>=_0x5e70d7){_0x37e6ac=_0x5e70d7;_0x3cbbec=0xc8;}else{_0x3cbbec=0xce;}_0x2ce794['status'](_0x3cbbec);return _0x2ce794['set'](_0xce02('0x2c'),_0x41591b+'-'+_0x37e6ac+'/'+_0x5e70d7)[_0xce02('0x29')](_0x1f9c99);}return null;};}function patchUpdates(_0x37f395){return function(_0xc8b041){try{jsonpatch[_0xce02('0x2d')](_0xc8b041,_0x37f395,!![]);}catch(_0x5a92d1){return BPromise[_0xce02('0x2e')](_0x5a92d1);}return _0xc8b041[_0xce02('0x2f')]();};}function saveUpdates(_0x2f0dad,_0x3fa8ae){return function(_0x1e9920){if(_0x1e9920){return _0x1e9920['update'](_0x2f0dad)[_0xce02('0x1d')](function(_0x1e3623){return _0x1e3623;});}return null;};}function removeEntity(_0x294f43,_0x268402){return function(_0x3da607){if(_0x3da607){return _0x3da607['destroy']()[_0xce02('0x1d')](function(){_0x294f43[_0xce02('0x28')](0xcc)[_0xce02('0x27')]();});}};}function handleEntityNotFound(_0x546444,_0x174c08){return function(_0x525692){if(!_0x525692){_0x546444[_0xce02('0x26')](0x194);}return _0x525692;};}function handleError(_0x3e700e,_0x52ff44){_0x52ff44=_0x52ff44||0x1f4;return function(_0x7b8aa7){logger[_0xce02('0x23')](_0x7b8aa7[_0xce02('0x30')]);if(_0x7b8aa7[_0xce02('0x31')]){delete _0x7b8aa7['name'];}_0x3e700e[_0xce02('0x28')](_0x52ff44)[_0xce02('0x32')](_0x7b8aa7);};}exports[_0xce02('0x33')]=function(_0x55869b,_0x50be6f){var _0x52548d={},_0x167bda={},_0x2e0376={'count':0x0,'rows':[]};var _0xfdd65e=_[_0xce02('0x34')](db[_0xce02('0x35')][_0xce02('0x36')],function(_0x2b5f80){return{'name':_0x2b5f80[_0xce02('0x37')],'type':_0x2b5f80['type'][_0xce02('0x38')]};});_0x167bda['model']=_['map'](_0xfdd65e,_0xce02('0x31'));_0x167bda[_0xce02('0x39')]=_[_0xce02('0x3a')](_0x55869b[_0xce02('0x39')]);_0x167bda['filters']=_[_0xce02('0x3b')](_0x167bda['model'],_0x167bda[_0xce02('0x39')]);_0x52548d[_0xce02('0x3c')]=_[_0xce02('0x3b')](_0x167bda[_0xce02('0x3d')],qs[_0xce02('0x3e')](_0x55869b[_0xce02('0x39')][_0xce02('0x3e')]));_0x52548d[_0xce02('0x3c')]=_0x52548d['attributes']['length']?_0x52548d[_0xce02('0x3c')]:_0x167bda[_0xce02('0x3d')];if(!_0x55869b[_0xce02('0x39')][_0xce02('0x3f')]('nolimit')){_0x52548d[_0xce02('0x2b')]=qs['limit'](_0x55869b[_0xce02('0x39')][_0xce02('0x2b')]);_0x52548d[_0xce02('0x2a')]=qs[_0xce02('0x2a')](_0x55869b[_0xce02('0x39')]['offset']);}_0x52548d['order']=qs['sort'](_0x55869b[_0xce02('0x39')][_0xce02('0x40')]);_0x52548d[_0xce02('0x41')]=qs[_0xce02('0x42')](_[_0xce02('0x43')](_0x55869b[_0xce02('0x39')],_0x167bda[_0xce02('0x42')]),_0xfdd65e);if(_0x55869b[_0xce02('0x39')][_0xce02('0x44')]){_0x52548d['where']=_[_0xce02('0x45')](_0x52548d[_0xce02('0x41')],{'$or':_['map'](_0xfdd65e,function(_0x5e8acf){if(_0x5e8acf[_0xce02('0x46')]!=='VIRTUAL'){var _0xde83a={};_0xde83a[_0x5e8acf[_0xce02('0x31')]]={'$like':'%'+_0x55869b[_0xce02('0x39')][_0xce02('0x44')]+'%'};return _0xde83a;}})});}_0x52548d=_[_0xce02('0x45')]({},_0x52548d,_0x55869b['options']);var _0x4a06ca={'where':_0x52548d['where']};return db[_0xce02('0x35')]['count'](_0x4a06ca)[_0xce02('0x1d')](function(_0x5dc178){_0x2e0376['count']=_0x5dc178;if(_0x55869b['query'][_0xce02('0x47')]){_0x52548d[_0xce02('0x48')]=[{'all':!![]}];}return db['VtigerAccount'][_0xce02('0x49')](_0x52548d);})['then'](function(_0x1c84d4){_0x2e0376[_0xce02('0x4a')]=_0x1c84d4;return _0x2e0376;})[_0xce02('0x1d')](respondWithFilteredResult(_0x50be6f,_0x52548d))[_0xce02('0x4b')](handleError(_0x50be6f,null));};exports[_0xce02('0x4c')]=function(_0xf80cf3,_0x1aa67){var _0x53094e={'raw':![],'where':{'id':_0xf80cf3[_0xce02('0x4d')]['id']}},_0x4dcdd7={};_0x4dcdd7[_0xce02('0x3d')]=_['keys'](db['VtigerAccount'][_0xce02('0x36')]);_0x4dcdd7[_0xce02('0x39')]=_[_0xce02('0x3a')](_0xf80cf3[_0xce02('0x39')]);_0x4dcdd7[_0xce02('0x42')]=_[_0xce02('0x3b')](_0x4dcdd7['model'],_0x4dcdd7[_0xce02('0x39')]);_0x53094e[_0xce02('0x3c')]=_[_0xce02('0x3b')](_0x4dcdd7[_0xce02('0x3d')],qs[_0xce02('0x3e')](_0xf80cf3[_0xce02('0x39')][_0xce02('0x3e')]));_0x53094e[_0xce02('0x3c')]=_0x53094e['attributes'][_0xce02('0x4e')]?_0x53094e['attributes']:_0x4dcdd7[_0xce02('0x3d')];if(_0xf80cf3['query']['includeAll']){_0x53094e[_0xce02('0x48')]=[{'all':!![]}];}_0x53094e=_['merge']({},_0x53094e,_0xf80cf3['options']);return db[_0xce02('0x35')][_0xce02('0x4f')](_0x53094e)[_0xce02('0x1d')](handleEntityNotFound(_0x1aa67,null))[_0xce02('0x1d')](respondWithResult(_0x1aa67,null))[_0xce02('0x4b')](handleError(_0x1aa67,null));};exports['create']=function(_0xfacc26,_0x466a24){return db[_0xce02('0x35')][_0xce02('0x50')](_0xfacc26[_0xce02('0x51')],{})[_0xce02('0x1d')](respondWithResult(_0x466a24,0xc9))[_0xce02('0x4b')](handleError(_0x466a24,null));};exports[_0xce02('0x52')]=function(_0x2ae7e2,_0x16ec1f){if(_0x2ae7e2[_0xce02('0x51')]['id']){delete _0x2ae7e2['body']['id'];}return db[_0xce02('0x35')][_0xce02('0x4f')]({'where':{'id':_0x2ae7e2[_0xce02('0x4d')]['id']}})[_0xce02('0x1d')](handleEntityNotFound(_0x16ec1f,null))[_0xce02('0x1d')](saveUpdates(_0x2ae7e2['body'],null))[_0xce02('0x1d')](respondWithResult(_0x16ec1f,null))[_0xce02('0x4b')](handleError(_0x16ec1f,null));};exports[_0xce02('0x53')]=function(_0x59cf68,_0x1f10d6){return db[_0xce02('0x35')]['find']({'where':{'id':_0x59cf68[_0xce02('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1f10d6,null))[_0xce02('0x1d')](removeEntity(_0x1f10d6,null))[_0xce02('0x4b')](handleError(_0x1f10d6,null));};exports[_0xce02('0x54')]=function(_0x43d500,_0x2d72cf,_0x2b62f9){var _0x23b39a={};var _0x4e6935={};var _0x153f7e;var _0x58660a;return db[_0xce02('0x35')][_0xce02('0x55')]({'where':{'id':_0x43d500['params']['id']}})['then'](handleEntityNotFound(_0x2d72cf,null))[_0xce02('0x1d')](function(_0x15aa63){if(_0x15aa63){_0x153f7e=_0x15aa63;_0x4e6935[_0xce02('0x3d')]=_[_0xce02('0x3a')](db['VtigerConfiguration'][_0xce02('0x36')]);_0x4e6935['query']=_['keys'](_0x43d500[_0xce02('0x39')]);_0x4e6935[_0xce02('0x42')]=_[_0xce02('0x3b')](_0x4e6935['model'],_0x4e6935['query']);_0x23b39a[_0xce02('0x3c')]=_[_0xce02('0x3b')](_0x4e6935['model'],qs[_0xce02('0x3e')](_0x43d500['query']['fields']));_0x23b39a[_0xce02('0x3c')]=_0x23b39a[_0xce02('0x3c')][_0xce02('0x4e')]?_0x23b39a['attributes']:_0x4e6935[_0xce02('0x3d')];_0x23b39a[_0xce02('0x56')]=qs[_0xce02('0x40')](_0x43d500['query'][_0xce02('0x40')]);_0x23b39a[_0xce02('0x41')]=qs[_0xce02('0x42')](_[_0xce02('0x43')](_0x43d500[_0xce02('0x39')],_0x4e6935[_0xce02('0x42')]));if(_0x43d500['query']['filter']){_0x23b39a[_0xce02('0x41')]=_[_0xce02('0x45')](_0x23b39a['where'],{'$or':_[_0xce02('0x34')](_0x23b39a[_0xce02('0x3c')],function(_0x48f2a1){var _0x203171={};_0x203171[_0x48f2a1]={'$like':'%'+_0x43d500[_0xce02('0x39')][_0xce02('0x44')]+'%'};return _0x203171;})});}_0x23b39a=_[_0xce02('0x45')]({},_0x23b39a,_0x43d500[_0xce02('0x57')]);return _0x153f7e['getConfigurations'](_0x23b39a);}})['then'](function(_0x2935b8){if(_0x2935b8){_0x58660a=_0x2935b8['length'];if(!_0x43d500[_0xce02('0x39')][_0xce02('0x3f')]('nolimit')){_0x23b39a[_0xce02('0x2b')]=qs[_0xce02('0x2b')](_0x43d500['query']['limit']);_0x23b39a[_0xce02('0x2a')]=qs['offset'](_0x43d500['query'][_0xce02('0x2a')]);}return _0x153f7e['getConfigurations'](_0x23b39a);}})[_0xce02('0x1d')](function(_0x3b8e3f){if(_0x3b8e3f){return _0x3b8e3f?{'count':_0x58660a,'rows':_0x3b8e3f}:null;}})[_0xce02('0x1d')](respondWithResult(_0x2d72cf,null))[_0xce02('0x4b')](handleError(_0x2d72cf,null));};exports[_0xce02('0x58')]=function(_0x57b400,_0x2227be,_0x2dfdc8){if(_0x57b400[_0xce02('0x51')]['id']){delete _0x57b400[_0xce02('0x51')]['id'];}return db['VtigerAccount']['findOne']({'where':{'id':_0x57b400[_0xce02('0x4d')]['id']}})[_0xce02('0x1d')](handleEntityNotFound(_0x2227be,null))[_0xce02('0x1d')](function(_0xf51df3){if(_0xf51df3){_0x57b400[_0xce02('0x51')][_0xce02('0x59')]=_0xf51df3['id'];_0x57b400['body'][_0xce02('0x5a')]=integrations[_0xce02('0x5b')](_0x57b400['body'][_0xce02('0x5c')],_0x57b400[_0xce02('0x51')][_0xce02('0x46')]);_0x57b400['body']['Descriptions']=integrations[_0xce02('0x5d')](_0x57b400[_0xce02('0x51')][_0xce02('0x5c')],_0x57b400[_0xce02('0x51')][_0xce02('0x46')]);return db[_0xce02('0x5e')][_0xce02('0x50')](_0x57b400[_0xce02('0x51')],{'include':[{'model':db['VtigerField'],'as':_0xce02('0x5a')},{'model':db[_0xce02('0x5f')],'as':_0xce02('0x60')}]});}return null;})[_0xce02('0x1d')](respondWithResult(_0x2227be,null))[_0xce02('0x4b')](handleError(_0x2227be,null));};var md5=require(_0xce02('0x61'));exports['getFields']=function(_0x55e54d,_0xf3cd58,_0x2dbc62){var _0x415be3=null;var _0x3948c8=null;var _0x583b37=null;var _0x5e137d=null;var _0x2ab307='';return db[_0xce02('0x35')][_0xce02('0x55')]({'where':{'id':_0x55e54d[_0xce02('0x4d')]['id']},'attributes':['id','name','username',_0xce02('0x62'),'moduleName',_0xce02('0x63'),_0xce02('0x64'),_0xce02('0x65')]})[_0xce02('0x1d')](handleEntityNotFound(_0xf3cd58,null))[_0xce02('0x1d')](function(_0x542990){if(_0x542990){_0x415be3=_0x542990[_0xce02('0x66')];_0x3948c8=_0x542990['accessKey'];_0x583b37=_0x542990['moduleName'];_0x2ab307=_0x542990[_0xce02('0x63')];var _0x12ff6a=_0x2ab307[_0xce02('0x67')](-0x1);if(_0x12ff6a==='/'){_0x2ab307=_0x2ab307[_0xce02('0x68')](0x0,_0x2ab307[_0xce02('0x69')](_0x12ff6a));}_0x5e137d=util[_0xce02('0x6a')]('%s/webservice.php',_0x2ab307);var _0x120934={'method':'GET','uri':_0x5e137d,'qs':{'operation':_0xce02('0x6b'),'username':_0x542990[_0xce02('0x66')]},'json':!![]};return rp(_0x120934);}})[_0xce02('0x1d')](function(_0x1bbb12){if(_0x1bbb12[_0xce02('0x6c')]){var _0x5ee7a4={'method':_0xce02('0x6d'),'uri':_0x5e137d,'form':{'operation':_0xce02('0x6e'),'username':_0x415be3,'accessKey':md5(_0x1bbb12[_0xce02('0x25')][_0xce02('0x6f')]+_0x3948c8)},'json':!![]};return rp(_0x5ee7a4);}})[_0xce02('0x1d')](function(_0x2b60d9){if(_0x2b60d9['success']){var _0x3251c0={'method':'GET','uri':_0x5e137d,'qs':{'operation':_0xce02('0x70'),'username':_0x415be3,'sessionName':_0x2b60d9[_0xce02('0x25')][_0xce02('0x71')],'elementType':_0x583b37},'json':!![]};return rp(_0x3251c0);}})[_0xce02('0x1d')](function(_0x371d7e){if(_0x371d7e[_0xce02('0x6c')]){var _0x283edb=[_0xce02('0x72'),_0xce02('0x73'),_0xce02('0x74')];_['remove'](_0x371d7e['result'][_0xce02('0x3e')],function(_0x9c8d31){return _0x283edb['includes'](_0x9c8d31[_0xce02('0x46')]['name']);});_[_0xce02('0x75')](_0x371d7e[_0xce02('0x25')][_0xce02('0x3e')],function(_0x5a0a0d){return _0x5a0a0d[_0xce02('0x76')]==='false';});return{'count':_0x371d7e[_0xce02('0x25')][_0xce02('0x3e')][_0xce02('0x4e')],'rows':_[_0xce02('0x34')](_0x371d7e[_0xce02('0x25')]['fields'],function(_0x149ff6){return{'id':_0x149ff6[_0xce02('0x31')],'name':_0x149ff6[_0xce02('0x77')],'custom':_['startsWith'](_0x149ff6[_0xce02('0x31')],'cf_')?!![]:![],'options':_0x149ff6[_0xce02('0x46')][_0xce02('0x31')]===_0xce02('0x78')&&_0x149ff6['type'][_0xce02('0x79')][_0xce02('0x4e')]>0x0?_['map'](_0x149ff6[_0xce02('0x46')][_0xce02('0x79')],function(_0x27ed26){return{'name':_0x27ed26[_0xce02('0x77')],'value':_0x27ed26['value']};}):[]};})};}})[_0xce02('0x1d')](respondWithResult(_0xf3cd58,null))['catch'](function(_0xc617c7){console[_0xce02('0x7a')](_0xce02('0x7b')+_0xc617c7);var _0x4761d1=_0x55e54d[_0xce02('0x39')][_0xce02('0x7c')]?0x1f4:_0xc617c7['statusCode']||0x1f4;logger[_0xce02('0x23')](_0xce02('0x7d'),'getFields',_0x4761d1,JSON[_0xce02('0x22')](_0xc617c7));delete _0xc617c7['name'];if(_0x4761d1===0x191){_0x4761d1=0x190;}_0xf3cd58[_0xce02('0x28')](_0x4761d1)[_0xce02('0x32')](_0x55e54d[_0xce02('0x39')][_0xce02('0x7c')]?{'message':_0xce02('0x7e'),'statusCode':_0xc617c7['statusCode']}:_0xc617c7);});};