Built motion from commit 14588770.|2.5.38
[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 _0xac44=['index','map','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','include','VtigerAccount','findAll','rows','catch','keys','find','create','body','params','findOne','VtigerConfiguration','getConfigurations','limit','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','VtigerField','md5','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','substring','lastIndexOf','GET','getchallenge','success','POST','token','describe','result','autogenerated','reference','remove','editable','false','cf_','picklist','picklistValues','value','vTiger\x20error:\x20','test','statusCode','error','stringify','Wrong\x20credentials','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','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/utils','../../config/license/util','sendStatus','status','json','offset','undefined','count','set','apply','reject','save','update','then','destroy','end','stack','name','send'];(function(_0x15caa5,_0x206c67){var _0x1200c7=function(_0x209813){while(--_0x209813){_0x15caa5['push'](_0x15caa5['shift']());}};_0x1200c7(++_0x206c67);}(_0xac44,0xc9));var _0x4ac4=function(_0x2977b2,_0x46417e){_0x2977b2=_0x2977b2-0x0;var _0x410e76=_0xac44[_0x2977b2];return _0x410e76;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4ac4('0x0'));var zipdir=require(_0x4ac4('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4ac4('0x2'));var moment=require(_0x4ac4('0x3'));var BPromise=require(_0x4ac4('0x4'));var Mustache=require(_0x4ac4('0x5'));var util=require('util');var path=require(_0x4ac4('0x6'));var sox=require('sox');var csv=require(_0x4ac4('0x7'));var ejs=require(_0x4ac4('0x8'));var fs=require('fs');var fs_extra=require(_0x4ac4('0x9'));var _=require(_0x4ac4('0xa'));var squel=require(_0x4ac4('0xb'));var crypto=require(_0x4ac4('0xc'));var jsforce=require(_0x4ac4('0xd'));var deskjs=require(_0x4ac4('0xe'));var toCsv=require(_0x4ac4('0x7'));var querystring=require(_0x4ac4('0xf'));var Papa=require(_0x4ac4('0x10'));var Redis=require(_0x4ac4('0x11'));var authService=require(_0x4ac4('0x12'));var qs=require(_0x4ac4('0x13'));var as=require(_0x4ac4('0x14'));var hardwareService=require(_0x4ac4('0x15'));var logger=require(_0x4ac4('0x16'))(_0x4ac4('0x17'));var utils=require(_0x4ac4('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x4ac4('0x19'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x1c0d39,_0x112bc7){_0x112bc7=_0x112bc7||0xcc;return function(_0x9a617e){if(_0x9a617e){return _0x1c0d39[_0x4ac4('0x1a')](_0x112bc7);}return _0x1c0d39[_0x4ac4('0x1b')](_0x112bc7)['end']();};}function respondWithResult(_0x226a92,_0x39cbdb){_0x39cbdb=_0x39cbdb||0xc8;return function(_0x3edb70){if(_0x3edb70){return _0x226a92[_0x4ac4('0x1b')](_0x39cbdb)[_0x4ac4('0x1c')](_0x3edb70);}};}function respondWithFilteredResult(_0x4de2d9,_0x30956c){return function(_0x4a6441){if(_0x4a6441){var _0x184734=typeof _0x30956c[_0x4ac4('0x1d')]===_0x4ac4('0x1e')&&typeof _0x30956c['limit']===_0x4ac4('0x1e');var _0x2fb133=_0x4a6441[_0x4ac4('0x1f')];var _0x43a9d4=_0x184734?0x0:_0x30956c[_0x4ac4('0x1d')];var _0x49f202=_0x184734?_0x4a6441[_0x4ac4('0x1f')]:_0x30956c[_0x4ac4('0x1d')]+_0x30956c['limit'];var _0x3524e7;if(_0x49f202>=_0x2fb133){_0x49f202=_0x2fb133;_0x3524e7=0xc8;}else{_0x3524e7=0xce;}_0x4de2d9[_0x4ac4('0x1b')](_0x3524e7);return _0x4de2d9[_0x4ac4('0x20')]('Content-Range',_0x43a9d4+'-'+_0x49f202+'/'+_0x2fb133)['json'](_0x4a6441);}return null;};}function patchUpdates(_0x33d385){return function(_0x54320c){try{jsonpatch[_0x4ac4('0x21')](_0x54320c,_0x33d385,!![]);}catch(_0x19e7e7){return BPromise[_0x4ac4('0x22')](_0x19e7e7);}return _0x54320c[_0x4ac4('0x23')]();};}function saveUpdates(_0x2a23a7,_0x22cbe9){return function(_0x34bb1a){if(_0x34bb1a){return _0x34bb1a[_0x4ac4('0x24')](_0x2a23a7)[_0x4ac4('0x25')](function(_0x445e37){return _0x445e37;});}return null;};}function removeEntity(_0x5efaff,_0x1bd8b0){return function(_0x482260){if(_0x482260){return _0x482260[_0x4ac4('0x26')]()[_0x4ac4('0x25')](function(){_0x5efaff['status'](0xcc)[_0x4ac4('0x27')]();});}};}function handleEntityNotFound(_0x4c6293,_0x41aac7){return function(_0x1e8169){if(!_0x1e8169){_0x4c6293[_0x4ac4('0x1a')](0x194);}return _0x1e8169;};}function handleError(_0x5162a5,_0x245e5e){_0x245e5e=_0x245e5e||0x1f4;return function(_0x3dc5de){logger['error'](_0x3dc5de[_0x4ac4('0x28')]);if(_0x3dc5de[_0x4ac4('0x29')]){delete _0x3dc5de[_0x4ac4('0x29')];}_0x5162a5['status'](_0x245e5e)[_0x4ac4('0x2a')](_0x3dc5de);};}exports[_0x4ac4('0x2b')]=function(_0xb9ee6d,_0x1ee504){var _0x2aa166={},_0x5683da={},_0x5c4006={'count':0x0,'rows':[]};var _0x380588=_[_0x4ac4('0x2c')](db['VtigerAccount'][_0x4ac4('0x2d')],function(_0x267787){return{'name':_0x267787[_0x4ac4('0x2e')],'type':_0x267787[_0x4ac4('0x2f')][_0x4ac4('0x30')]};});_0x5683da['model']=_['map'](_0x380588,_0x4ac4('0x29'));_0x5683da[_0x4ac4('0x31')]=_['keys'](_0xb9ee6d[_0x4ac4('0x31')]);_0x5683da[_0x4ac4('0x32')]=_[_0x4ac4('0x33')](_0x5683da[_0x4ac4('0x34')],_0x5683da['query']);_0x2aa166[_0x4ac4('0x35')]=_[_0x4ac4('0x33')](_0x5683da['model'],qs[_0x4ac4('0x36')](_0xb9ee6d[_0x4ac4('0x31')][_0x4ac4('0x36')]));_0x2aa166['attributes']=_0x2aa166[_0x4ac4('0x35')][_0x4ac4('0x37')]?_0x2aa166[_0x4ac4('0x35')]:_0x5683da[_0x4ac4('0x34')];if(!_0xb9ee6d[_0x4ac4('0x31')][_0x4ac4('0x38')](_0x4ac4('0x39'))){_0x2aa166['limit']=qs['limit'](_0xb9ee6d[_0x4ac4('0x31')]['limit']);_0x2aa166[_0x4ac4('0x1d')]=qs[_0x4ac4('0x1d')](_0xb9ee6d[_0x4ac4('0x31')]['offset']);}_0x2aa166[_0x4ac4('0x3a')]=qs[_0x4ac4('0x3b')](_0xb9ee6d[_0x4ac4('0x31')][_0x4ac4('0x3b')]);_0x2aa166[_0x4ac4('0x3c')]=qs['filters'](_[_0x4ac4('0x3d')](_0xb9ee6d[_0x4ac4('0x31')],_0x5683da[_0x4ac4('0x32')]),_0x380588);if(_0xb9ee6d['query']['filter']){_0x2aa166[_0x4ac4('0x3c')]=_[_0x4ac4('0x3e')](_0x2aa166[_0x4ac4('0x3c')],{'$or':_[_0x4ac4('0x2c')](_0x380588,function(_0x1037a1){if(_0x1037a1[_0x4ac4('0x2f')]!==_0x4ac4('0x3f')){var _0x110755={};_0x110755[_0x1037a1[_0x4ac4('0x29')]]={'$like':'%'+_0xb9ee6d[_0x4ac4('0x31')][_0x4ac4('0x40')]+'%'};return _0x110755;}})});}_0x2aa166=_[_0x4ac4('0x3e')]({},_0x2aa166,_0xb9ee6d[_0x4ac4('0x41')]);var _0xfcf577={'where':_0x2aa166['where']};return db['VtigerAccount'][_0x4ac4('0x1f')](_0xfcf577)[_0x4ac4('0x25')](function(_0x2fb11f){_0x5c4006[_0x4ac4('0x1f')]=_0x2fb11f;if(_0xb9ee6d['query'][_0x4ac4('0x42')]){_0x2aa166[_0x4ac4('0x43')]=[{'all':!![]}];}return db[_0x4ac4('0x44')][_0x4ac4('0x45')](_0x2aa166);})['then'](function(_0x2d1731){_0x5c4006[_0x4ac4('0x46')]=_0x2d1731;return _0x5c4006;})[_0x4ac4('0x25')](respondWithFilteredResult(_0x1ee504,_0x2aa166))[_0x4ac4('0x47')](handleError(_0x1ee504,null));};exports['show']=function(_0x3e3749,_0x189623){var _0x1f1889={'raw':![],'where':{'id':_0x3e3749['params']['id']}},_0x96802c={};_0x96802c[_0x4ac4('0x34')]=_[_0x4ac4('0x48')](db['VtigerAccount']['rawAttributes']);_0x96802c[_0x4ac4('0x31')]=_[_0x4ac4('0x48')](_0x3e3749['query']);_0x96802c[_0x4ac4('0x32')]=_[_0x4ac4('0x33')](_0x96802c[_0x4ac4('0x34')],_0x96802c[_0x4ac4('0x31')]);_0x1f1889[_0x4ac4('0x35')]=_[_0x4ac4('0x33')](_0x96802c[_0x4ac4('0x34')],qs['fields'](_0x3e3749[_0x4ac4('0x31')]['fields']));_0x1f1889[_0x4ac4('0x35')]=_0x1f1889['attributes'][_0x4ac4('0x37')]?_0x1f1889[_0x4ac4('0x35')]:_0x96802c[_0x4ac4('0x34')];if(_0x3e3749['query'][_0x4ac4('0x42')]){_0x1f1889[_0x4ac4('0x43')]=[{'all':!![]}];}_0x1f1889=_[_0x4ac4('0x3e')]({},_0x1f1889,_0x3e3749['options']);return db['VtigerAccount'][_0x4ac4('0x49')](_0x1f1889)[_0x4ac4('0x25')](handleEntityNotFound(_0x189623,null))[_0x4ac4('0x25')](respondWithResult(_0x189623,null))[_0x4ac4('0x47')](handleError(_0x189623,null));};exports[_0x4ac4('0x4a')]=function(_0x259a53,_0x34e968){return db[_0x4ac4('0x44')][_0x4ac4('0x4a')](_0x259a53[_0x4ac4('0x4b')],{})[_0x4ac4('0x25')](respondWithResult(_0x34e968,0xc9))['catch'](handleError(_0x34e968,null));};exports[_0x4ac4('0x24')]=function(_0x52b2b2,_0x589c6d){if(_0x52b2b2['body']['id']){delete _0x52b2b2[_0x4ac4('0x4b')]['id'];}return db[_0x4ac4('0x44')][_0x4ac4('0x49')]({'where':{'id':_0x52b2b2['params']['id']}})['then'](handleEntityNotFound(_0x589c6d,null))['then'](saveUpdates(_0x52b2b2[_0x4ac4('0x4b')],null))[_0x4ac4('0x25')](respondWithResult(_0x589c6d,null))[_0x4ac4('0x47')](handleError(_0x589c6d,null));};exports['destroy']=function(_0x5bcbf1,_0x39ac9e){return db[_0x4ac4('0x44')]['find']({'where':{'id':_0x5bcbf1[_0x4ac4('0x4c')]['id']}})[_0x4ac4('0x25')](handleEntityNotFound(_0x39ac9e,null))[_0x4ac4('0x25')](removeEntity(_0x39ac9e,null))[_0x4ac4('0x47')](handleError(_0x39ac9e,null));};exports['getConfigurations']=function(_0xff15c,_0x1d9261,_0x4a4b8e){var _0x1bb8c0={};var _0x4f4544={};var _0x352542;var _0x28588e;return db[_0x4ac4('0x44')][_0x4ac4('0x4d')]({'where':{'id':_0xff15c['params']['id']}})[_0x4ac4('0x25')](handleEntityNotFound(_0x1d9261,null))[_0x4ac4('0x25')](function(_0x2aca7c){if(_0x2aca7c){_0x352542=_0x2aca7c;_0x4f4544['model']=_[_0x4ac4('0x48')](db[_0x4ac4('0x4e')]['rawAttributes']);_0x4f4544[_0x4ac4('0x31')]=_[_0x4ac4('0x48')](_0xff15c[_0x4ac4('0x31')]);_0x4f4544['filters']=_['intersection'](_0x4f4544['model'],_0x4f4544[_0x4ac4('0x31')]);_0x1bb8c0[_0x4ac4('0x35')]=_[_0x4ac4('0x33')](_0x4f4544['model'],qs[_0x4ac4('0x36')](_0xff15c[_0x4ac4('0x31')]['fields']));_0x1bb8c0[_0x4ac4('0x35')]=_0x1bb8c0[_0x4ac4('0x35')][_0x4ac4('0x37')]?_0x1bb8c0[_0x4ac4('0x35')]:_0x4f4544[_0x4ac4('0x34')];_0x1bb8c0['order']=qs[_0x4ac4('0x3b')](_0xff15c[_0x4ac4('0x31')][_0x4ac4('0x3b')]);_0x1bb8c0['where']=qs['filters'](_['pick'](_0xff15c[_0x4ac4('0x31')],_0x4f4544[_0x4ac4('0x32')]));if(_0xff15c['query'][_0x4ac4('0x40')]){_0x1bb8c0[_0x4ac4('0x3c')]=_['merge'](_0x1bb8c0[_0x4ac4('0x3c')],{'$or':_[_0x4ac4('0x2c')](_0x1bb8c0[_0x4ac4('0x35')],function(_0x1e3cd3){var _0x1be187={};_0x1be187[_0x1e3cd3]={'$like':'%'+_0xff15c['query']['filter']+'%'};return _0x1be187;})});}_0x1bb8c0=_['merge']({},_0x1bb8c0,_0xff15c[_0x4ac4('0x41')]);return _0x352542[_0x4ac4('0x4f')](_0x1bb8c0);}})[_0x4ac4('0x25')](function(_0x208cb9){if(_0x208cb9){_0x28588e=_0x208cb9[_0x4ac4('0x37')];if(!_0xff15c[_0x4ac4('0x31')][_0x4ac4('0x38')]('nolimit')){_0x1bb8c0['limit']=qs[_0x4ac4('0x50')](_0xff15c[_0x4ac4('0x31')]['limit']);_0x1bb8c0[_0x4ac4('0x1d')]=qs[_0x4ac4('0x1d')](_0xff15c[_0x4ac4('0x31')][_0x4ac4('0x1d')]);}return _0x352542[_0x4ac4('0x4f')](_0x1bb8c0);}})[_0x4ac4('0x25')](function(_0x7b9afb){if(_0x7b9afb){return _0x7b9afb?{'count':_0x28588e,'rows':_0x7b9afb}:null;}})[_0x4ac4('0x25')](respondWithResult(_0x1d9261,null))['catch'](handleError(_0x1d9261,null));};exports[_0x4ac4('0x51')]=function(_0x26998b,_0x556ea0,_0x53d190){if(_0x26998b[_0x4ac4('0x4b')]['id']){delete _0x26998b[_0x4ac4('0x4b')]['id'];}return db[_0x4ac4('0x44')][_0x4ac4('0x4d')]({'where':{'id':_0x26998b[_0x4ac4('0x4c')]['id']}})[_0x4ac4('0x25')](handleEntityNotFound(_0x556ea0,null))[_0x4ac4('0x25')](function(_0x269770){if(_0x269770){_0x26998b[_0x4ac4('0x4b')][_0x4ac4('0x52')]=_0x269770['id'];_0x26998b[_0x4ac4('0x4b')][_0x4ac4('0x53')]=integrations[_0x4ac4('0x54')](_0x26998b[_0x4ac4('0x4b')]['channel'],_0x26998b[_0x4ac4('0x4b')][_0x4ac4('0x2f')]);_0x26998b['body'][_0x4ac4('0x55')]=integrations[_0x4ac4('0x56')](_0x26998b['body'][_0x4ac4('0x57')],_0x26998b['body'][_0x4ac4('0x2f')]);return db[_0x4ac4('0x4e')][_0x4ac4('0x4a')](_0x26998b['body'],{'include':[{'model':db['VtigerField'],'as':_0x4ac4('0x53')},{'model':db[_0x4ac4('0x58')],'as':_0x4ac4('0x55')}]});}return null;})[_0x4ac4('0x25')](respondWithResult(_0x556ea0,null))[_0x4ac4('0x47')](handleError(_0x556ea0,null));};var md5=require(_0x4ac4('0x59'));exports[_0x4ac4('0x5a')]=function(_0x3906e6,_0x35638b,_0x409c14){var _0x4a2ced=null;var _0x12384a=null;var _0x1a7425=null;var _0xdb05cf=null;var _0x47ed5e='';return db['VtigerAccount'][_0x4ac4('0x4d')]({'where':{'id':_0x3906e6[_0x4ac4('0x4c')]['id']},'attributes':['id',_0x4ac4('0x29'),_0x4ac4('0x5b'),_0x4ac4('0x5c'),_0x4ac4('0x5d'),_0x4ac4('0x5e'),_0x4ac4('0x5f'),_0x4ac4('0x60')]})['then'](handleEntityNotFound(_0x35638b,null))[_0x4ac4('0x25')](function(_0x415ca9){if(_0x415ca9){_0x4a2ced=_0x415ca9['username'];_0x12384a=_0x415ca9[_0x4ac4('0x60')];_0x1a7425=_0x415ca9[_0x4ac4('0x5d')];_0x47ed5e=_0x415ca9['remoteUri'];var _0x44a7ca=_0x47ed5e[_0x4ac4('0x61')](-0x1);if(_0x44a7ca==='/'){_0x47ed5e=_0x47ed5e[_0x4ac4('0x62')](0x0,_0x47ed5e[_0x4ac4('0x63')](_0x44a7ca));}_0xdb05cf=util['format']('%s/webservice.php',_0x47ed5e);var _0x47bd97={'method':_0x4ac4('0x64'),'uri':_0xdb05cf,'qs':{'operation':_0x4ac4('0x65'),'username':_0x415ca9[_0x4ac4('0x5b')]},'json':!![]};return rp(_0x47bd97);}})['then'](function(_0x45c32a){if(_0x45c32a[_0x4ac4('0x66')]){var _0x49b912={'method':_0x4ac4('0x67'),'uri':_0xdb05cf,'form':{'operation':'login','username':_0x4a2ced,'accessKey':md5(_0x45c32a['result'][_0x4ac4('0x68')]+_0x12384a)},'json':!![]};return rp(_0x49b912);}})['then'](function(_0x14c310){if(_0x14c310[_0x4ac4('0x66')]){var _0x391533={'method':_0x4ac4('0x64'),'uri':_0xdb05cf,'qs':{'operation':_0x4ac4('0x69'),'username':_0x4a2ced,'sessionName':_0x14c310[_0x4ac4('0x6a')]['sessionName'],'elementType':_0x1a7425},'json':!![]};return rp(_0x391533);}})[_0x4ac4('0x25')](function(_0x3557b8){if(_0x3557b8['success']){var _0x3b45d1=[_0x4ac4('0x6b'),_0x4ac4('0x6c'),'owner'];_[_0x4ac4('0x6d')](_0x3557b8[_0x4ac4('0x6a')][_0x4ac4('0x36')],function(_0x30478a){return _0x3b45d1['includes'](_0x30478a[_0x4ac4('0x2f')][_0x4ac4('0x29')]);});_[_0x4ac4('0x6d')](_0x3557b8[_0x4ac4('0x6a')][_0x4ac4('0x36')],function(_0x10dada){return _0x10dada[_0x4ac4('0x6e')]===_0x4ac4('0x6f');});return{'count':_0x3557b8[_0x4ac4('0x6a')][_0x4ac4('0x36')][_0x4ac4('0x37')],'rows':_[_0x4ac4('0x2c')](_0x3557b8[_0x4ac4('0x6a')]['fields'],function(_0x3607ed){return{'id':_0x3607ed[_0x4ac4('0x29')],'name':_0x3607ed['label'],'custom':_['startsWith'](_0x3607ed[_0x4ac4('0x29')],_0x4ac4('0x70'))?!![]:![],'options':_0x3607ed[_0x4ac4('0x2f')][_0x4ac4('0x29')]===_0x4ac4('0x71')&&_0x3607ed[_0x4ac4('0x2f')][_0x4ac4('0x72')]['length']>0x0?_[_0x4ac4('0x2c')](_0x3607ed[_0x4ac4('0x2f')][_0x4ac4('0x72')],function(_0x402ee5){return{'name':_0x402ee5['label'],'value':_0x402ee5[_0x4ac4('0x73')]};}):[]};})};}})[_0x4ac4('0x25')](respondWithResult(_0x35638b,null))[_0x4ac4('0x47')](function(_0x451919){console['log'](_0x4ac4('0x74')+_0x451919);var _0xea20d5=_0x3906e6[_0x4ac4('0x31')][_0x4ac4('0x75')]?0x1f4:_0x451919[_0x4ac4('0x76')]||0x1f4;logger[_0x4ac4('0x77')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0xea20d5,JSON[_0x4ac4('0x78')](_0x451919));delete _0x451919['name'];if(_0xea20d5===0x191){_0xea20d5=0x190;}_0x35638b[_0x4ac4('0x1b')](_0xea20d5)[_0x4ac4('0x2a')](_0x3906e6['query'][_0x4ac4('0x75')]?{'message':_0x4ac4('0x79'),'statusCode':_0x451919['statusCode']}:_0x451919);});};