0d8325c7e5bab38dce4714e87d31fcd4ccf072d4
[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 _0x954f=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','error','stack','name','send','index','map','VtigerAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','findAll','catch','show','params','include','create','body','find','destroy','getConfigurations','hasOwnProperty','nolimit','addConfiguration','findOne','Subjects','channel','getDescriptions','VtigerField','Descriptions','md5','username','description','moduleName','serverUrl','accessKey','remoteUri','slice','lastIndexOf','format','%s/webservice.php','getchallenge','login','result','GET','describe','sessionName','success','autogenerated','reference','owner','remove','includes','editable','false','label','cf_','picklist','picklistValues','log','vTiger\x20error:\x20','test','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','statusCode','eml-format','zip-dir'];(function(_0x248a60,_0x3d05cd){var _0x39b87a=function(_0x4a901a){while(--_0x4a901a){_0x248a60['push'](_0x248a60['shift']());}};_0x39b87a(++_0x3d05cd);}(_0x954f,0x1ee));var _0xf954=function(_0x19826f,_0x273748){_0x19826f=_0x19826f-0x0;var _0xa1cce4=_0x954f[_0x19826f];return _0xa1cce4;};'use strict';var emlformat=require(_0xf954('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf954('0x1'));var jsonpatch=require(_0xf954('0x2'));var rp=require(_0xf954('0x3'));var moment=require(_0xf954('0x4'));var BPromise=require(_0xf954('0x5'));var Mustache=require(_0xf954('0x6'));var util=require(_0xf954('0x7'));var path=require(_0xf954('0x8'));var sox=require(_0xf954('0x9'));var csv=require(_0xf954('0xa'));var ejs=require(_0xf954('0xb'));var fs=require('fs');var fs_extra=require(_0xf954('0xc'));var _=require(_0xf954('0xd'));var squel=require(_0xf954('0xe'));var crypto=require(_0xf954('0xf'));var jsforce=require(_0xf954('0x10'));var deskjs=require('desk.js');var toCsv=require(_0xf954('0xa'));var querystring=require(_0xf954('0x11'));var Papa=require(_0xf954('0x12'));var Redis=require(_0xf954('0x13'));var authService=require(_0xf954('0x14'));var qs=require(_0xf954('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf954('0x16'));var logger=require(_0xf954('0x17'))('api');var utils=require(_0xf954('0x18'));var config=require(_0xf954('0x19'));var licenseUtil=require(_0xf954('0x1a'));var db=require(_0xf954('0x1b'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x2a15ef,_0xe9d85f){_0xe9d85f=_0xe9d85f||0xcc;return function(_0x36aad7){if(_0x36aad7){return _0x2a15ef[_0xf954('0x1c')](_0xe9d85f);}return _0x2a15ef[_0xf954('0x1d')](_0xe9d85f)[_0xf954('0x1e')]();};}function respondWithResult(_0x10796c,_0x3b00e4){_0x3b00e4=_0x3b00e4||0xc8;return function(_0x2b52f9){if(_0x2b52f9){return _0x10796c[_0xf954('0x1d')](_0x3b00e4)[_0xf954('0x1f')](_0x2b52f9);}};}function respondWithFilteredResult(_0x38d030,_0x25e8d9){return function(_0x2cc2cf){if(_0x2cc2cf){var _0xe66b26=typeof _0x25e8d9[_0xf954('0x20')]===_0xf954('0x21')&&typeof _0x25e8d9[_0xf954('0x22')]===_0xf954('0x21');var _0x410c15=_0x2cc2cf[_0xf954('0x23')];var _0x10a2d7=_0xe66b26?0x0:_0x25e8d9[_0xf954('0x20')];var _0x111fe8=_0xe66b26?_0x2cc2cf[_0xf954('0x23')]:_0x25e8d9[_0xf954('0x20')]+_0x25e8d9[_0xf954('0x22')];var _0x16a785;if(_0x111fe8>=_0x410c15){_0x111fe8=_0x410c15;_0x16a785=0xc8;}else{_0x16a785=0xce;}_0x38d030[_0xf954('0x1d')](_0x16a785);return _0x38d030[_0xf954('0x24')]('Content-Range',_0x10a2d7+'-'+_0x111fe8+'/'+_0x410c15)[_0xf954('0x1f')](_0x2cc2cf);}return null;};}function patchUpdates(_0x52878e){return function(_0x484d7d){try{jsonpatch[_0xf954('0x25')](_0x484d7d,_0x52878e,!![]);}catch(_0x2c416b){return BPromise[_0xf954('0x26')](_0x2c416b);}return _0x484d7d[_0xf954('0x27')]();};}function saveUpdates(_0x4816e5,_0x43f375){return function(_0x4b6b42){if(_0x4b6b42){return _0x4b6b42[_0xf954('0x28')](_0x4816e5)['then'](function(_0x91481){return _0x91481;});}return null;};}function removeEntity(_0x16b040,_0x1d53da){return function(_0x56494c){if(_0x56494c){return _0x56494c['destroy']()['then'](function(){_0x16b040[_0xf954('0x1d')](0xcc)[_0xf954('0x1e')]();});}};}function handleEntityNotFound(_0x24a210,_0x1ef567){return function(_0x5aed47){if(!_0x5aed47){_0x24a210[_0xf954('0x1c')](0x194);}return _0x5aed47;};}function handleError(_0x1ccced,_0x2a30a5){_0x2a30a5=_0x2a30a5||0x1f4;return function(_0x388c69){logger[_0xf954('0x29')](_0x388c69[_0xf954('0x2a')]);if(_0x388c69[_0xf954('0x2b')]){delete _0x388c69[_0xf954('0x2b')];}_0x1ccced[_0xf954('0x1d')](_0x2a30a5)[_0xf954('0x2c')](_0x388c69);};}exports[_0xf954('0x2d')]=function(_0x42736d,_0xd47bc8){var _0xad51d9={},_0x214bc2={},_0x2164a0={'count':0x0,'rows':[]};var _0x11242f=_[_0xf954('0x2e')](db[_0xf954('0x2f')][_0xf954('0x30')],function(_0x3e6224){return{'name':_0x3e6224[_0xf954('0x31')],'type':_0x3e6224[_0xf954('0x32')][_0xf954('0x33')]};});_0x214bc2[_0xf954('0x34')]=_[_0xf954('0x2e')](_0x11242f,_0xf954('0x2b'));_0x214bc2[_0xf954('0x35')]=_[_0xf954('0x36')](_0x42736d['query']);_0x214bc2[_0xf954('0x37')]=_[_0xf954('0x38')](_0x214bc2[_0xf954('0x34')],_0x214bc2[_0xf954('0x35')]);_0xad51d9['attributes']=_['intersection'](_0x214bc2[_0xf954('0x34')],qs[_0xf954('0x39')](_0x42736d[_0xf954('0x35')][_0xf954('0x39')]));_0xad51d9[_0xf954('0x3a')]=_0xad51d9[_0xf954('0x3a')][_0xf954('0x3b')]?_0xad51d9['attributes']:_0x214bc2[_0xf954('0x34')];if(!_0x42736d[_0xf954('0x35')]['hasOwnProperty']('nolimit')){_0xad51d9[_0xf954('0x22')]=qs['limit'](_0x42736d[_0xf954('0x35')][_0xf954('0x22')]);_0xad51d9[_0xf954('0x20')]=qs['offset'](_0x42736d[_0xf954('0x35')][_0xf954('0x20')]);}_0xad51d9['order']=qs['sort'](_0x42736d[_0xf954('0x35')][_0xf954('0x3c')]);_0xad51d9[_0xf954('0x3d')]=qs[_0xf954('0x37')](_[_0xf954('0x3e')](_0x42736d[_0xf954('0x35')],_0x214bc2[_0xf954('0x37')]),_0x11242f);if(_0x42736d[_0xf954('0x35')][_0xf954('0x3f')]){_0xad51d9[_0xf954('0x3d')]=_[_0xf954('0x40')](_0xad51d9[_0xf954('0x3d')],{'$or':_[_0xf954('0x2e')](_0x11242f,function(_0x5d2df9){if(_0x5d2df9[_0xf954('0x32')]!==_0xf954('0x41')){var _0xa61197={};_0xa61197[_0x5d2df9['name']]={'$like':'%'+_0x42736d['query'][_0xf954('0x3f')]+'%'};return _0xa61197;}})});}_0xad51d9=_['merge']({},_0xad51d9,_0x42736d[_0xf954('0x42')]);var _0x18e670={'where':_0xad51d9[_0xf954('0x3d')]};return db['VtigerAccount'][_0xf954('0x23')](_0x18e670)[_0xf954('0x43')](function(_0x354ffc){_0x2164a0[_0xf954('0x23')]=_0x354ffc;if(_0x42736d[_0xf954('0x35')][_0xf954('0x44')]){_0xad51d9['include']=[{'all':!![]}];}return db[_0xf954('0x2f')][_0xf954('0x45')](_0xad51d9);})[_0xf954('0x43')](function(_0x13f662){_0x2164a0['rows']=_0x13f662;return _0x2164a0;})[_0xf954('0x43')](respondWithFilteredResult(_0xd47bc8,_0xad51d9))[_0xf954('0x46')](handleError(_0xd47bc8,null));};exports[_0xf954('0x47')]=function(_0xd387cf,_0x1ee132){var _0x226708={'raw':![],'where':{'id':_0xd387cf[_0xf954('0x48')]['id']}},_0x6f7529={};_0x6f7529[_0xf954('0x34')]=_['keys'](db['VtigerAccount'][_0xf954('0x30')]);_0x6f7529[_0xf954('0x35')]=_[_0xf954('0x36')](_0xd387cf['query']);_0x6f7529['filters']=_[_0xf954('0x38')](_0x6f7529[_0xf954('0x34')],_0x6f7529['query']);_0x226708[_0xf954('0x3a')]=_[_0xf954('0x38')](_0x6f7529[_0xf954('0x34')],qs[_0xf954('0x39')](_0xd387cf['query'][_0xf954('0x39')]));_0x226708['attributes']=_0x226708[_0xf954('0x3a')][_0xf954('0x3b')]?_0x226708['attributes']:_0x6f7529[_0xf954('0x34')];if(_0xd387cf[_0xf954('0x35')][_0xf954('0x44')]){_0x226708[_0xf954('0x49')]=[{'all':!![]}];}_0x226708=_[_0xf954('0x40')]({},_0x226708,_0xd387cf[_0xf954('0x42')]);return db['VtigerAccount']['find'](_0x226708)[_0xf954('0x43')](handleEntityNotFound(_0x1ee132,null))[_0xf954('0x43')](respondWithResult(_0x1ee132,null))[_0xf954('0x46')](handleError(_0x1ee132,null));};exports[_0xf954('0x4a')]=function(_0x12a778,_0x4df9f8){return db['VtigerAccount'][_0xf954('0x4a')](_0x12a778[_0xf954('0x4b')],{})[_0xf954('0x43')](respondWithResult(_0x4df9f8,0xc9))[_0xf954('0x46')](handleError(_0x4df9f8,null));};exports[_0xf954('0x28')]=function(_0x4f75a6,_0x5da642){if(_0x4f75a6[_0xf954('0x4b')]['id']){delete _0x4f75a6[_0xf954('0x4b')]['id'];}return db['VtigerAccount'][_0xf954('0x4c')]({'where':{'id':_0x4f75a6[_0xf954('0x48')]['id']}})[_0xf954('0x43')](handleEntityNotFound(_0x5da642,null))[_0xf954('0x43')](saveUpdates(_0x4f75a6[_0xf954('0x4b')],null))[_0xf954('0x43')](respondWithResult(_0x5da642,null))[_0xf954('0x46')](handleError(_0x5da642,null));};exports[_0xf954('0x4d')]=function(_0x113d40,_0xfe9d91){return db[_0xf954('0x2f')][_0xf954('0x4c')]({'where':{'id':_0x113d40['params']['id']}})[_0xf954('0x43')](handleEntityNotFound(_0xfe9d91,null))[_0xf954('0x43')](removeEntity(_0xfe9d91,null))['catch'](handleError(_0xfe9d91,null));};exports[_0xf954('0x4e')]=function(_0x3cd4e2,_0x27bbad,_0x18f686){var _0x46e587={};var _0x2dde1b={};var _0x76048b;var _0x1ff7b4;return db[_0xf954('0x2f')]['findOne']({'where':{'id':_0x3cd4e2[_0xf954('0x48')]['id']}})[_0xf954('0x43')](handleEntityNotFound(_0x27bbad,null))[_0xf954('0x43')](function(_0x81da10){if(_0x81da10){_0x76048b=_0x81da10;_0x2dde1b[_0xf954('0x34')]=_[_0xf954('0x36')](db['VtigerConfiguration'][_0xf954('0x30')]);_0x2dde1b[_0xf954('0x35')]=_['keys'](_0x3cd4e2[_0xf954('0x35')]);_0x2dde1b['filters']=_['intersection'](_0x2dde1b['model'],_0x2dde1b['query']);_0x46e587[_0xf954('0x3a')]=_[_0xf954('0x38')](_0x2dde1b[_0xf954('0x34')],qs[_0xf954('0x39')](_0x3cd4e2[_0xf954('0x35')][_0xf954('0x39')]));_0x46e587[_0xf954('0x3a')]=_0x46e587[_0xf954('0x3a')][_0xf954('0x3b')]?_0x46e587[_0xf954('0x3a')]:_0x2dde1b[_0xf954('0x34')];_0x46e587['order']=qs[_0xf954('0x3c')](_0x3cd4e2['query']['sort']);_0x46e587[_0xf954('0x3d')]=qs[_0xf954('0x37')](_['pick'](_0x3cd4e2['query'],_0x2dde1b[_0xf954('0x37')]));if(_0x3cd4e2[_0xf954('0x35')]['filter']){_0x46e587[_0xf954('0x3d')]=_[_0xf954('0x40')](_0x46e587[_0xf954('0x3d')],{'$or':_['map'](_0x46e587['attributes'],function(_0x47e9f2){var _0x3b3194={};_0x3b3194[_0x47e9f2]={'$like':'%'+_0x3cd4e2['query'][_0xf954('0x3f')]+'%'};return _0x3b3194;})});}_0x46e587=_['merge']({},_0x46e587,_0x3cd4e2['options']);return _0x76048b[_0xf954('0x4e')](_0x46e587);}})[_0xf954('0x43')](function(_0x48079c){if(_0x48079c){_0x1ff7b4=_0x48079c[_0xf954('0x3b')];if(!_0x3cd4e2[_0xf954('0x35')][_0xf954('0x4f')](_0xf954('0x50'))){_0x46e587[_0xf954('0x22')]=qs['limit'](_0x3cd4e2[_0xf954('0x35')]['limit']);_0x46e587['offset']=qs[_0xf954('0x20')](_0x3cd4e2[_0xf954('0x35')]['offset']);}return _0x76048b[_0xf954('0x4e')](_0x46e587);}})[_0xf954('0x43')](function(_0x3e5b3b){if(_0x3e5b3b){return _0x3e5b3b?{'count':_0x1ff7b4,'rows':_0x3e5b3b}:null;}})['then'](respondWithResult(_0x27bbad,null))['catch'](handleError(_0x27bbad,null));};exports[_0xf954('0x51')]=function(_0x23d183,_0x542f06,_0x107643){if(_0x23d183[_0xf954('0x4b')]['id']){delete _0x23d183[_0xf954('0x4b')]['id'];}return db['VtigerAccount'][_0xf954('0x52')]({'where':{'id':_0x23d183[_0xf954('0x48')]['id']}})['then'](handleEntityNotFound(_0x542f06,null))[_0xf954('0x43')](function(_0x553fa4){if(_0x553fa4){_0x23d183['body']['AccountId']=_0x553fa4['id'];_0x23d183['body'][_0xf954('0x53')]=integrations['getSubjects'](_0x23d183[_0xf954('0x4b')][_0xf954('0x54')],_0x23d183[_0xf954('0x4b')]['type']);_0x23d183[_0xf954('0x4b')]['Descriptions']=integrations[_0xf954('0x55')](_0x23d183[_0xf954('0x4b')][_0xf954('0x54')],_0x23d183[_0xf954('0x4b')][_0xf954('0x32')]);return db['VtigerConfiguration'][_0xf954('0x4a')](_0x23d183[_0xf954('0x4b')],{'include':[{'model':db['VtigerField'],'as':_0xf954('0x53')},{'model':db[_0xf954('0x56')],'as':_0xf954('0x57')}]});}return null;})[_0xf954('0x43')](respondWithResult(_0x542f06,null))[_0xf954('0x46')](handleError(_0x542f06,null));};var md5=require(_0xf954('0x58'));exports['getFields']=function(_0x4b862f,_0x46ee73,_0x45fee0){var _0x3d8a2e=null;var _0x50c121=null;var _0x2b5794=null;var _0x13c92c=null;var _0x466bc0='';return db[_0xf954('0x2f')][_0xf954('0x52')]({'where':{'id':_0x4b862f[_0xf954('0x48')]['id']},'attributes':['id',_0xf954('0x2b'),_0xf954('0x59'),_0xf954('0x5a'),_0xf954('0x5b'),'remoteUri',_0xf954('0x5c'),'accessKey']})['then'](handleEntityNotFound(_0x46ee73,null))['then'](function(_0x248626){if(_0x248626){_0x3d8a2e=_0x248626['username'];_0x50c121=_0x248626[_0xf954('0x5d')];_0x2b5794=_0x248626[_0xf954('0x5b')];_0x466bc0=_0x248626[_0xf954('0x5e')];var _0x30827c=_0x466bc0[_0xf954('0x5f')](-0x1);if(_0x30827c==='/'){_0x466bc0=_0x466bc0['substring'](0x0,_0x466bc0[_0xf954('0x60')](_0x30827c));}_0x13c92c=util[_0xf954('0x61')](_0xf954('0x62'),_0x466bc0);var _0x27931c={'method':'GET','uri':_0x13c92c,'qs':{'operation':_0xf954('0x63'),'username':_0x248626['username']},'json':!![]};return rp(_0x27931c);}})['then'](function(_0x59808d){if(_0x59808d['success']){var _0x335fe3={'method':'POST','uri':_0x13c92c,'form':{'operation':_0xf954('0x64'),'username':_0x3d8a2e,'accessKey':md5(_0x59808d[_0xf954('0x65')]['token']+_0x50c121)},'json':!![]};return rp(_0x335fe3);}})[_0xf954('0x43')](function(_0x34ef37){if(_0x34ef37['success']){var _0x4110f7={'method':_0xf954('0x66'),'uri':_0x13c92c,'qs':{'operation':_0xf954('0x67'),'username':_0x3d8a2e,'sessionName':_0x34ef37[_0xf954('0x65')][_0xf954('0x68')],'elementType':_0x2b5794},'json':!![]};return rp(_0x4110f7);}})[_0xf954('0x43')](function(_0x7e4647){if(_0x7e4647[_0xf954('0x69')]){var _0x1b7794=[_0xf954('0x6a'),_0xf954('0x6b'),_0xf954('0x6c')];_[_0xf954('0x6d')](_0x7e4647[_0xf954('0x65')][_0xf954('0x39')],function(_0x4f3b51){return _0x1b7794[_0xf954('0x6e')](_0x4f3b51['type'][_0xf954('0x2b')]);});_['remove'](_0x7e4647['result']['fields'],function(_0x3114be){return _0x3114be[_0xf954('0x6f')]===_0xf954('0x70');});return{'count':_0x7e4647[_0xf954('0x65')][_0xf954('0x39')][_0xf954('0x3b')],'rows':_['map'](_0x7e4647[_0xf954('0x65')][_0xf954('0x39')],function(_0x2d3a7f){return{'id':_0x2d3a7f['name'],'name':_0x2d3a7f[_0xf954('0x71')],'custom':_['startsWith'](_0x2d3a7f[_0xf954('0x2b')],_0xf954('0x72'))?!![]:![],'options':_0x2d3a7f[_0xf954('0x32')][_0xf954('0x2b')]===_0xf954('0x73')&&_0x2d3a7f['type'][_0xf954('0x74')][_0xf954('0x3b')]>0x0?_[_0xf954('0x2e')](_0x2d3a7f[_0xf954('0x32')]['picklistValues'],function(_0x304f65){return{'name':_0x304f65[_0xf954('0x71')],'value':_0x304f65['value']};}):[]};})};}})[_0xf954('0x43')](respondWithResult(_0x46ee73,null))[_0xf954('0x46')](function(_0x48d072){console[_0xf954('0x75')](_0xf954('0x76')+_0x48d072);var _0x5ed5f7=_0x4b862f[_0xf954('0x35')][_0xf954('0x77')]?0x1f4:_0x48d072['statusCode']||0x1f4;logger[_0xf954('0x29')](_0xf954('0x78'),'getFields',_0x5ed5f7,JSON[_0xf954('0x79')](_0x48d072));delete _0x48d072[_0xf954('0x2b')];if(_0x5ed5f7===0x191){_0x5ed5f7=0x190;}_0x46ee73['status'](_0x5ed5f7)[_0xf954('0x2c')](_0x4b862f[_0xf954('0x35')]['test']?{'message':_0xf954('0x7a'),'statusCode':_0x48d072[_0xf954('0x7b')]}:_0x48d072);});};