Built motion from commit f7863d46.|2.5.41
[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 _0x7a3c=['VtigerAccount','findAll','rows','catch','params','length','includeAll','include','create','body','find','getConfigurations','VtigerConfiguration','filter','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','findOne','username','moduleName','serverUrl','accessKey','remoteUri','slice','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','token','describe','result','sessionName','reference','owner','includes','editable','false','label','cf_','picklist','picklistValues','value','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','merge','options'];(function(_0x2cc9ac,_0x44345f){var _0x489f46=function(_0x4aad10){while(--_0x4aad10){_0x2cc9ac['push'](_0x2cc9ac['shift']());}};_0x489f46(++_0x44345f);}(_0x7a3c,0x1bd));var _0xc7a3=function(_0x20a8b5,_0x27ee1d){_0x20a8b5=_0x20a8b5-0x0;var _0x44889d=_0x7a3c[_0x20a8b5];return _0x44889d;};'use strict';var emlformat=require(_0xc7a3('0x0'));var rimraf=require(_0xc7a3('0x1'));var zipdir=require(_0xc7a3('0x2'));var jsonpatch=require(_0xc7a3('0x3'));var rp=require(_0xc7a3('0x4'));var moment=require(_0xc7a3('0x5'));var BPromise=require(_0xc7a3('0x6'));var Mustache=require(_0xc7a3('0x7'));var util=require(_0xc7a3('0x8'));var path=require(_0xc7a3('0x9'));var sox=require('sox');var csv=require(_0xc7a3('0xa'));var ejs=require(_0xc7a3('0xb'));var fs=require('fs');var fs_extra=require(_0xc7a3('0xc'));var _=require(_0xc7a3('0xd'));var squel=require(_0xc7a3('0xe'));var crypto=require(_0xc7a3('0xf'));var jsforce=require(_0xc7a3('0x10'));var deskjs=require(_0xc7a3('0x11'));var toCsv=require('to-csv');var querystring=require(_0xc7a3('0x12'));var Papa=require(_0xc7a3('0x13'));var Redis=require(_0xc7a3('0x14'));var authService=require(_0xc7a3('0x15'));var qs=require(_0xc7a3('0x16'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc7a3('0x17'));var logger=require('../../config/logger')(_0xc7a3('0x18'));var utils=require(_0xc7a3('0x19'));var config=require(_0xc7a3('0x1a'));var licenseUtil=require(_0xc7a3('0x1b'));var db=require(_0xc7a3('0x1c'))['db'];var integrations=require(_0xc7a3('0x1d'));function respondWithStatusCode(_0x5912cc,_0x1eca84){_0x1eca84=_0x1eca84||0xcc;return function(_0x560422){if(_0x560422){return _0x5912cc[_0xc7a3('0x1e')](_0x1eca84);}return _0x5912cc[_0xc7a3('0x1f')](_0x1eca84)[_0xc7a3('0x20')]();};}function respondWithResult(_0x3238dc,_0x4c1403){_0x4c1403=_0x4c1403||0xc8;return function(_0x2d3e13){if(_0x2d3e13){return _0x3238dc['status'](_0x4c1403)['json'](_0x2d3e13);}};}function respondWithFilteredResult(_0x30ffd6,_0xc328eb){return function(_0x50cb12){if(_0x50cb12){var _0x37feed=typeof _0xc328eb[_0xc7a3('0x21')]===_0xc7a3('0x22')&&typeof _0xc328eb[_0xc7a3('0x23')]===_0xc7a3('0x22');var _0x468602=_0x50cb12['count'];var _0x71b19c=_0x37feed?0x0:_0xc328eb[_0xc7a3('0x21')];var _0x54dbec=_0x37feed?_0x50cb12[_0xc7a3('0x24')]:_0xc328eb['offset']+_0xc328eb['limit'];var _0x4ced59;if(_0x54dbec>=_0x468602){_0x54dbec=_0x468602;_0x4ced59=0xc8;}else{_0x4ced59=0xce;}_0x30ffd6[_0xc7a3('0x1f')](_0x4ced59);return _0x30ffd6[_0xc7a3('0x25')](_0xc7a3('0x26'),_0x71b19c+'-'+_0x54dbec+'/'+_0x468602)[_0xc7a3('0x27')](_0x50cb12);}return null;};}function patchUpdates(_0x3e246b){return function(_0x5af69f){try{jsonpatch[_0xc7a3('0x28')](_0x5af69f,_0x3e246b,!![]);}catch(_0x7b4dd5){return BPromise[_0xc7a3('0x29')](_0x7b4dd5);}return _0x5af69f[_0xc7a3('0x2a')]();};}function saveUpdates(_0x4a3abd,_0x1fed6e){return function(_0x2ec3d4){if(_0x2ec3d4){return _0x2ec3d4[_0xc7a3('0x2b')](_0x4a3abd)[_0xc7a3('0x2c')](function(_0x441600){return _0x441600;});}return null;};}function removeEntity(_0x358956,_0x2be1c0){return function(_0x37f8cf){if(_0x37f8cf){return _0x37f8cf[_0xc7a3('0x2d')]()[_0xc7a3('0x2c')](function(){_0x358956[_0xc7a3('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5901f0,_0x44dd6e){return function(_0x1a0521){if(!_0x1a0521){_0x5901f0['sendStatus'](0x194);}return _0x1a0521;};}function handleError(_0x10f2c8,_0x1c214e){_0x1c214e=_0x1c214e||0x1f4;return function(_0x27b417){logger[_0xc7a3('0x2e')](_0x27b417[_0xc7a3('0x2f')]);if(_0x27b417[_0xc7a3('0x30')]){delete _0x27b417['name'];}_0x10f2c8[_0xc7a3('0x1f')](_0x1c214e)['send'](_0x27b417);};}exports[_0xc7a3('0x31')]=function(_0x6f782b,_0x98f9c5){var _0x4391a9={},_0x55e564={},_0x535c9d={'count':0x0,'rows':[]};var _0x401eb8=_['map'](db['VtigerAccount'][_0xc7a3('0x32')],function(_0x18f302){return{'name':_0x18f302[_0xc7a3('0x33')],'type':_0x18f302[_0xc7a3('0x34')][_0xc7a3('0x35')]};});_0x55e564[_0xc7a3('0x36')]=_[_0xc7a3('0x37')](_0x401eb8,'name');_0x55e564[_0xc7a3('0x38')]=_[_0xc7a3('0x39')](_0x6f782b[_0xc7a3('0x38')]);_0x55e564[_0xc7a3('0x3a')]=_[_0xc7a3('0x3b')](_0x55e564[_0xc7a3('0x36')],_0x55e564[_0xc7a3('0x38')]);_0x4391a9[_0xc7a3('0x3c')]=_[_0xc7a3('0x3b')](_0x55e564[_0xc7a3('0x36')],qs[_0xc7a3('0x3d')](_0x6f782b[_0xc7a3('0x38')][_0xc7a3('0x3d')]));_0x4391a9['attributes']=_0x4391a9[_0xc7a3('0x3c')]['length']?_0x4391a9['attributes']:_0x55e564['model'];if(!_0x6f782b[_0xc7a3('0x38')][_0xc7a3('0x3e')](_0xc7a3('0x3f'))){_0x4391a9[_0xc7a3('0x23')]=qs['limit'](_0x6f782b[_0xc7a3('0x38')]['limit']);_0x4391a9[_0xc7a3('0x21')]=qs[_0xc7a3('0x21')](_0x6f782b[_0xc7a3('0x38')][_0xc7a3('0x21')]);}_0x4391a9[_0xc7a3('0x40')]=qs['sort'](_0x6f782b['query'][_0xc7a3('0x41')]);_0x4391a9[_0xc7a3('0x42')]=qs['filters'](_[_0xc7a3('0x43')](_0x6f782b[_0xc7a3('0x38')],_0x55e564[_0xc7a3('0x3a')]),_0x401eb8);if(_0x6f782b[_0xc7a3('0x38')]['filter']){_0x4391a9[_0xc7a3('0x42')]=_['merge'](_0x4391a9[_0xc7a3('0x42')],{'$or':_['map'](_0x401eb8,function(_0x444904){if(_0x444904[_0xc7a3('0x34')]!==_0xc7a3('0x44')){var _0x4c78f3={};_0x4c78f3[_0x444904['name']]={'$like':'%'+_0x6f782b[_0xc7a3('0x38')]['filter']+'%'};return _0x4c78f3;}})});}_0x4391a9=_[_0xc7a3('0x45')]({},_0x4391a9,_0x6f782b[_0xc7a3('0x46')]);var _0x229347={'where':_0x4391a9[_0xc7a3('0x42')]};return db[_0xc7a3('0x47')][_0xc7a3('0x24')](_0x229347)['then'](function(_0x95e1fc){_0x535c9d[_0xc7a3('0x24')]=_0x95e1fc;if(_0x6f782b[_0xc7a3('0x38')]['includeAll']){_0x4391a9['include']=[{'all':!![]}];}return db[_0xc7a3('0x47')][_0xc7a3('0x48')](_0x4391a9);})[_0xc7a3('0x2c')](function(_0x35cb94){_0x535c9d[_0xc7a3('0x49')]=_0x35cb94;return _0x535c9d;})[_0xc7a3('0x2c')](respondWithFilteredResult(_0x98f9c5,_0x4391a9))[_0xc7a3('0x4a')](handleError(_0x98f9c5,null));};exports['show']=function(_0x214c91,_0x30a5cb){var _0x33385b={'raw':![],'where':{'id':_0x214c91[_0xc7a3('0x4b')]['id']}},_0x497192={};_0x497192[_0xc7a3('0x36')]=_[_0xc7a3('0x39')](db['VtigerAccount'][_0xc7a3('0x32')]);_0x497192['query']=_[_0xc7a3('0x39')](_0x214c91['query']);_0x497192[_0xc7a3('0x3a')]=_[_0xc7a3('0x3b')](_0x497192[_0xc7a3('0x36')],_0x497192[_0xc7a3('0x38')]);_0x33385b[_0xc7a3('0x3c')]=_['intersection'](_0x497192[_0xc7a3('0x36')],qs[_0xc7a3('0x3d')](_0x214c91[_0xc7a3('0x38')]['fields']));_0x33385b[_0xc7a3('0x3c')]=_0x33385b[_0xc7a3('0x3c')][_0xc7a3('0x4c')]?_0x33385b['attributes']:_0x497192[_0xc7a3('0x36')];if(_0x214c91[_0xc7a3('0x38')][_0xc7a3('0x4d')]){_0x33385b[_0xc7a3('0x4e')]=[{'all':!![]}];}_0x33385b=_[_0xc7a3('0x45')]({},_0x33385b,_0x214c91[_0xc7a3('0x46')]);return db[_0xc7a3('0x47')]['find'](_0x33385b)['then'](handleEntityNotFound(_0x30a5cb,null))[_0xc7a3('0x2c')](respondWithResult(_0x30a5cb,null))[_0xc7a3('0x4a')](handleError(_0x30a5cb,null));};exports['create']=function(_0x41efd5,_0x4f40e6){return db[_0xc7a3('0x47')][_0xc7a3('0x4f')](_0x41efd5['body'],{})[_0xc7a3('0x2c')](respondWithResult(_0x4f40e6,0xc9))[_0xc7a3('0x4a')](handleError(_0x4f40e6,null));};exports[_0xc7a3('0x2b')]=function(_0x38fcc4,_0x4ce920){if(_0x38fcc4[_0xc7a3('0x50')]['id']){delete _0x38fcc4['body']['id'];}return db[_0xc7a3('0x47')][_0xc7a3('0x51')]({'where':{'id':_0x38fcc4['params']['id']}})[_0xc7a3('0x2c')](handleEntityNotFound(_0x4ce920,null))[_0xc7a3('0x2c')](saveUpdates(_0x38fcc4[_0xc7a3('0x50')],null))[_0xc7a3('0x2c')](respondWithResult(_0x4ce920,null))[_0xc7a3('0x4a')](handleError(_0x4ce920,null));};exports['destroy']=function(_0x8bde45,_0x51a7d3){return db[_0xc7a3('0x47')]['find']({'where':{'id':_0x8bde45[_0xc7a3('0x4b')]['id']}})[_0xc7a3('0x2c')](handleEntityNotFound(_0x51a7d3,null))[_0xc7a3('0x2c')](removeEntity(_0x51a7d3,null))[_0xc7a3('0x4a')](handleError(_0x51a7d3,null));};exports[_0xc7a3('0x52')]=function(_0x57cb46,_0x4786f7,_0x152854){var _0x49918a={};var _0xc1429c={};var _0x211e57;var _0x49ee57;return db[_0xc7a3('0x47')]['findOne']({'where':{'id':_0x57cb46[_0xc7a3('0x4b')]['id']}})[_0xc7a3('0x2c')](handleEntityNotFound(_0x4786f7,null))[_0xc7a3('0x2c')](function(_0x2100a2){if(_0x2100a2){_0x211e57=_0x2100a2;_0xc1429c['model']=_[_0xc7a3('0x39')](db[_0xc7a3('0x53')]['rawAttributes']);_0xc1429c['query']=_[_0xc7a3('0x39')](_0x57cb46['query']);_0xc1429c[_0xc7a3('0x3a')]=_[_0xc7a3('0x3b')](_0xc1429c[_0xc7a3('0x36')],_0xc1429c[_0xc7a3('0x38')]);_0x49918a[_0xc7a3('0x3c')]=_[_0xc7a3('0x3b')](_0xc1429c[_0xc7a3('0x36')],qs['fields'](_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x3d')]));_0x49918a[_0xc7a3('0x3c')]=_0x49918a['attributes'][_0xc7a3('0x4c')]?_0x49918a[_0xc7a3('0x3c')]:_0xc1429c[_0xc7a3('0x36')];_0x49918a[_0xc7a3('0x40')]=qs[_0xc7a3('0x41')](_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x41')]);_0x49918a[_0xc7a3('0x42')]=qs[_0xc7a3('0x3a')](_['pick'](_0x57cb46[_0xc7a3('0x38')],_0xc1429c[_0xc7a3('0x3a')]));if(_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x54')]){_0x49918a[_0xc7a3('0x42')]=_['merge'](_0x49918a[_0xc7a3('0x42')],{'$or':_[_0xc7a3('0x37')](_0x49918a[_0xc7a3('0x3c')],function(_0x8c8081){var _0xc11fa7={};_0xc11fa7[_0x8c8081]={'$like':'%'+_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x54')]+'%'};return _0xc11fa7;})});}_0x49918a=_[_0xc7a3('0x45')]({},_0x49918a,_0x57cb46[_0xc7a3('0x46')]);return _0x211e57[_0xc7a3('0x52')](_0x49918a);}})[_0xc7a3('0x2c')](function(_0x12a8d6){if(_0x12a8d6){_0x49ee57=_0x12a8d6[_0xc7a3('0x4c')];if(!_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x3e')](_0xc7a3('0x3f'))){_0x49918a[_0xc7a3('0x23')]=qs[_0xc7a3('0x23')](_0x57cb46[_0xc7a3('0x38')][_0xc7a3('0x23')]);_0x49918a[_0xc7a3('0x21')]=qs[_0xc7a3('0x21')](_0x57cb46[_0xc7a3('0x38')]['offset']);}return _0x211e57[_0xc7a3('0x52')](_0x49918a);}})[_0xc7a3('0x2c')](function(_0x15960b){if(_0x15960b){return _0x15960b?{'count':_0x49ee57,'rows':_0x15960b}:null;}})[_0xc7a3('0x2c')](respondWithResult(_0x4786f7,null))[_0xc7a3('0x4a')](handleError(_0x4786f7,null));};exports[_0xc7a3('0x55')]=function(_0x186bcb,_0x3079e4,_0x7a4293){if(_0x186bcb[_0xc7a3('0x50')]['id']){delete _0x186bcb[_0xc7a3('0x50')]['id'];}return db[_0xc7a3('0x47')]['findOne']({'where':{'id':_0x186bcb['params']['id']}})[_0xc7a3('0x2c')](handleEntityNotFound(_0x3079e4,null))[_0xc7a3('0x2c')](function(_0x28a415){if(_0x28a415){_0x186bcb[_0xc7a3('0x50')]['AccountId']=_0x28a415['id'];_0x186bcb['body'][_0xc7a3('0x56')]=integrations[_0xc7a3('0x57')](_0x186bcb[_0xc7a3('0x50')][_0xc7a3('0x58')],_0x186bcb[_0xc7a3('0x50')][_0xc7a3('0x34')]);_0x186bcb[_0xc7a3('0x50')][_0xc7a3('0x59')]=integrations[_0xc7a3('0x5a')](_0x186bcb['body'][_0xc7a3('0x58')],_0x186bcb['body'][_0xc7a3('0x34')]);return db['VtigerConfiguration']['create'](_0x186bcb[_0xc7a3('0x50')],{'include':[{'model':db[_0xc7a3('0x5b')],'as':_0xc7a3('0x56')},{'model':db[_0xc7a3('0x5b')],'as':_0xc7a3('0x59')}]});}return null;})[_0xc7a3('0x2c')](respondWithResult(_0x3079e4,null))['catch'](handleError(_0x3079e4,null));};var md5=require(_0xc7a3('0x5c'));exports[_0xc7a3('0x5d')]=function(_0x49615d,_0x40b70a,_0x3cd990){var _0x5cdf6d=null;var _0x4c4d78=null;var _0x3c6bf0=null;var _0x2490bc=null;var _0xbba5bc='';return db[_0xc7a3('0x47')][_0xc7a3('0x5e')]({'where':{'id':_0x49615d[_0xc7a3('0x4b')]['id']},'attributes':['id','name',_0xc7a3('0x5f'),'description',_0xc7a3('0x60'),'remoteUri',_0xc7a3('0x61'),_0xc7a3('0x62')]})[_0xc7a3('0x2c')](handleEntityNotFound(_0x40b70a,null))['then'](function(_0x50747c){if(_0x50747c){_0x5cdf6d=_0x50747c[_0xc7a3('0x5f')];_0x4c4d78=_0x50747c[_0xc7a3('0x62')];_0x3c6bf0=_0x50747c[_0xc7a3('0x60')];_0xbba5bc=_0x50747c[_0xc7a3('0x63')];var _0x2ec30b=_0xbba5bc[_0xc7a3('0x64')](-0x1);if(_0x2ec30b==='/'){_0xbba5bc=_0xbba5bc[_0xc7a3('0x65')](0x0,_0xbba5bc[_0xc7a3('0x66')](_0x2ec30b));}_0x2490bc=util[_0xc7a3('0x67')](_0xc7a3('0x68'),_0xbba5bc);var _0x17e924={'method':_0xc7a3('0x69'),'uri':_0x2490bc,'qs':{'operation':_0xc7a3('0x6a'),'username':_0x50747c['username']},'json':!![]};return rp(_0x17e924);}})[_0xc7a3('0x2c')](function(_0x297d85){if(_0x297d85[_0xc7a3('0x6b')]){var _0x491f02={'method':_0xc7a3('0x6c'),'uri':_0x2490bc,'form':{'operation':'login','username':_0x5cdf6d,'accessKey':md5(_0x297d85['result'][_0xc7a3('0x6d')]+_0x4c4d78)},'json':!![]};return rp(_0x491f02);}})[_0xc7a3('0x2c')](function(_0x24ac57){if(_0x24ac57[_0xc7a3('0x6b')]){var _0x5d8ac8={'method':_0xc7a3('0x69'),'uri':_0x2490bc,'qs':{'operation':_0xc7a3('0x6e'),'username':_0x5cdf6d,'sessionName':_0x24ac57[_0xc7a3('0x6f')][_0xc7a3('0x70')],'elementType':_0x3c6bf0},'json':!![]};return rp(_0x5d8ac8);}})['then'](function(_0x212425){if(_0x212425['success']){var _0x44d721=['autogenerated',_0xc7a3('0x71'),_0xc7a3('0x72')];_['remove'](_0x212425['result'][_0xc7a3('0x3d')],function(_0x3dfea9){return _0x44d721[_0xc7a3('0x73')](_0x3dfea9['type'][_0xc7a3('0x30')]);});_['remove'](_0x212425[_0xc7a3('0x6f')]['fields'],function(_0x28b06d){return _0x28b06d[_0xc7a3('0x74')]===_0xc7a3('0x75');});return{'count':_0x212425[_0xc7a3('0x6f')][_0xc7a3('0x3d')][_0xc7a3('0x4c')],'rows':_[_0xc7a3('0x37')](_0x212425['result'][_0xc7a3('0x3d')],function(_0x4b6701){return{'id':_0x4b6701[_0xc7a3('0x30')],'name':_0x4b6701[_0xc7a3('0x76')],'custom':_['startsWith'](_0x4b6701[_0xc7a3('0x30')],_0xc7a3('0x77'))?!![]:![],'options':_0x4b6701[_0xc7a3('0x34')]['name']===_0xc7a3('0x78')&&_0x4b6701[_0xc7a3('0x34')][_0xc7a3('0x79')][_0xc7a3('0x4c')]>0x0?_['map'](_0x4b6701[_0xc7a3('0x34')][_0xc7a3('0x79')],function(_0x4e75c8){return{'name':_0x4e75c8[_0xc7a3('0x76')],'value':_0x4e75c8[_0xc7a3('0x7a')]};}):[]};})};}})[_0xc7a3('0x2c')](respondWithResult(_0x40b70a,null))[_0xc7a3('0x4a')](function(_0x4adcc6){console['log'](_0xc7a3('0x7b')+_0x4adcc6);var _0x24a885=_0x49615d[_0xc7a3('0x38')][_0xc7a3('0x7c')]?0x1f4:_0x4adcc6[_0xc7a3('0x7d')]||0x1f4;logger[_0xc7a3('0x2e')](_0xc7a3('0x7e'),_0xc7a3('0x5d'),_0x24a885,JSON[_0xc7a3('0x7f')](_0x4adcc6));delete _0x4adcc6['name'];if(_0x24a885===0x191){_0x24a885=0x190;}_0x40b70a[_0xc7a3('0x1f')](_0x24a885)['send'](_0x49615d[_0xc7a3('0x38')]['test']?{'message':_0xc7a3('0x80'),'statusCode':_0x4adcc6[_0xc7a3('0x7d')]}:_0x4adcc6);});};