Built motion from commit 85328c08.|2.5.50
[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 _0xf4e2=['options','include','findAll','rows','catch','show','params','includeAll','create','body','find','findOne','VtigerConfiguration','getConfigurations','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','remoteUri','accessKey','username','moduleName','slice','substring','lastIndexOf','format','%s/webservice.php','GET','POST','login','result','token','success','describe','sessionName','reference','owner','remove','editable','false','label','startsWith','cf_','picklistValues','value','vTiger\x20error:\x20','test','statusCode','stringify','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy','error','name','send','map','VtigerAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0x4c617c,_0x32bf97){var _0x361d79=function(_0x4b92df){while(--_0x4b92df){_0x4c617c['push'](_0x4c617c['shift']());}};_0x361d79(++_0x32bf97);}(_0xf4e2,0xae));var _0x2f4e=function(_0x55c485,_0x3fe77e){_0x55c485=_0x55c485-0x0;var _0x6bb521=_0xf4e2[_0x55c485];return _0x6bb521;};'use strict';var emlformat=require(_0x2f4e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2f4e('0x1'));var jsonpatch=require(_0x2f4e('0x2'));var rp=require('request-promise');var moment=require(_0x2f4e('0x3'));var BPromise=require(_0x2f4e('0x4'));var Mustache=require(_0x2f4e('0x5'));var util=require(_0x2f4e('0x6'));var path=require('path');var sox=require(_0x2f4e('0x7'));var csv=require(_0x2f4e('0x8'));var ejs=require(_0x2f4e('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2f4e('0xa'));var squel=require(_0x2f4e('0xb'));var crypto=require('crypto');var jsforce=require(_0x2f4e('0xc'));var deskjs=require(_0x2f4e('0xd'));var toCsv=require('to-csv');var querystring=require(_0x2f4e('0xe'));var Papa=require(_0x2f4e('0xf'));var Redis=require(_0x2f4e('0x10'));var authService=require(_0x2f4e('0x11'));var qs=require(_0x2f4e('0x12'));var as=require(_0x2f4e('0x13'));var hardwareService=require(_0x2f4e('0x14'));var logger=require(_0x2f4e('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x2f4e('0x16'));var licenseUtil=require(_0x2f4e('0x17'));var db=require(_0x2f4e('0x18'))['db'];var integrations=require(_0x2f4e('0x19'));function respondWithStatusCode(_0x1868f1,_0x8c095a){_0x8c095a=_0x8c095a||0xcc;return function(_0x13bbb4){if(_0x13bbb4){return _0x1868f1[_0x2f4e('0x1a')](_0x8c095a);}return _0x1868f1[_0x2f4e('0x1b')](_0x8c095a)[_0x2f4e('0x1c')]();};}function respondWithResult(_0x3da0d5,_0x39bd14){_0x39bd14=_0x39bd14||0xc8;return function(_0x3171fe){if(_0x3171fe){return _0x3da0d5['status'](_0x39bd14)[_0x2f4e('0x1d')](_0x3171fe);}};}function respondWithFilteredResult(_0xc8bc2a,_0x4cb738){return function(_0x589e7a){if(_0x589e7a){var _0x3a4d4c=typeof _0x4cb738[_0x2f4e('0x1e')]===_0x2f4e('0x1f')&&typeof _0x4cb738[_0x2f4e('0x20')]===_0x2f4e('0x1f');var _0x51ff34=_0x589e7a[_0x2f4e('0x21')];var _0x142f93=_0x3a4d4c?0x0:_0x4cb738[_0x2f4e('0x1e')];var _0x2c29b3=_0x3a4d4c?_0x589e7a[_0x2f4e('0x21')]:_0x4cb738[_0x2f4e('0x1e')]+_0x4cb738['limit'];var _0x1958db;if(_0x2c29b3>=_0x51ff34){_0x2c29b3=_0x51ff34;_0x1958db=0xc8;}else{_0x1958db=0xce;}_0xc8bc2a['status'](_0x1958db);return _0xc8bc2a[_0x2f4e('0x22')]('Content-Range',_0x142f93+'-'+_0x2c29b3+'/'+_0x51ff34)[_0x2f4e('0x1d')](_0x589e7a);}return null;};}function patchUpdates(_0x397437){return function(_0x9568f3){try{jsonpatch['apply'](_0x9568f3,_0x397437,!![]);}catch(_0x199789){return BPromise[_0x2f4e('0x23')](_0x199789);}return _0x9568f3[_0x2f4e('0x24')]();};}function saveUpdates(_0x5e11fb,_0x3d5546){return function(_0x182bc0){if(_0x182bc0){return _0x182bc0[_0x2f4e('0x25')](_0x5e11fb)[_0x2f4e('0x26')](function(_0x47253a){return _0x47253a;});}return null;};}function removeEntity(_0x4546ca,_0x1a30e9){return function(_0x581e21){if(_0x581e21){return _0x581e21[_0x2f4e('0x27')]()['then'](function(){_0x4546ca[_0x2f4e('0x1b')](0xcc)[_0x2f4e('0x1c')]();});}};}function handleEntityNotFound(_0x36c268,_0x10ea3c){return function(_0x19067d){if(!_0x19067d){_0x36c268[_0x2f4e('0x1a')](0x194);}return _0x19067d;};}function handleError(_0x31546d,_0x28141b){_0x28141b=_0x28141b||0x1f4;return function(_0x299613){logger[_0x2f4e('0x28')](_0x299613['stack']);if(_0x299613[_0x2f4e('0x29')]){delete _0x299613[_0x2f4e('0x29')];}_0x31546d[_0x2f4e('0x1b')](_0x28141b)[_0x2f4e('0x2a')](_0x299613);};}exports['index']=function(_0x11dd8e,_0x3c374a){var _0xbe2bd5={},_0x1c27c0={},_0x1922b1={'count':0x0,'rows':[]};var _0x191bc4=_[_0x2f4e('0x2b')](db[_0x2f4e('0x2c')][_0x2f4e('0x2d')],function(_0x2319aa){return{'name':_0x2319aa[_0x2f4e('0x2e')],'type':_0x2319aa[_0x2f4e('0x2f')][_0x2f4e('0x30')]};});_0x1c27c0[_0x2f4e('0x31')]=_['map'](_0x191bc4,_0x2f4e('0x29'));_0x1c27c0[_0x2f4e('0x32')]=_[_0x2f4e('0x33')](_0x11dd8e[_0x2f4e('0x32')]);_0x1c27c0[_0x2f4e('0x34')]=_['intersection'](_0x1c27c0[_0x2f4e('0x31')],_0x1c27c0[_0x2f4e('0x32')]);_0xbe2bd5[_0x2f4e('0x35')]=_[_0x2f4e('0x36')](_0x1c27c0[_0x2f4e('0x31')],qs[_0x2f4e('0x37')](_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x37')]));_0xbe2bd5[_0x2f4e('0x35')]=_0xbe2bd5['attributes'][_0x2f4e('0x38')]?_0xbe2bd5[_0x2f4e('0x35')]:_0x1c27c0[_0x2f4e('0x31')];if(!_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x39')](_0x2f4e('0x3a'))){_0xbe2bd5[_0x2f4e('0x20')]=qs[_0x2f4e('0x20')](_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x20')]);_0xbe2bd5[_0x2f4e('0x1e')]=qs[_0x2f4e('0x1e')](_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x1e')]);}_0xbe2bd5[_0x2f4e('0x3b')]=qs[_0x2f4e('0x3c')](_0x11dd8e[_0x2f4e('0x32')]['sort']);_0xbe2bd5[_0x2f4e('0x3d')]=qs['filters'](_[_0x2f4e('0x3e')](_0x11dd8e['query'],_0x1c27c0['filters']),_0x191bc4);if(_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x3f')]){_0xbe2bd5[_0x2f4e('0x3d')]=_[_0x2f4e('0x40')](_0xbe2bd5['where'],{'$or':_['map'](_0x191bc4,function(_0x2ff785){if(_0x2ff785[_0x2f4e('0x2f')]!==_0x2f4e('0x41')){var _0x2f89ca={};_0x2f89ca[_0x2ff785[_0x2f4e('0x29')]]={'$like':'%'+_0x11dd8e[_0x2f4e('0x32')][_0x2f4e('0x3f')]+'%'};return _0x2f89ca;}})});}_0xbe2bd5=_[_0x2f4e('0x40')]({},_0xbe2bd5,_0x11dd8e[_0x2f4e('0x42')]);var _0x4c31b3={'where':_0xbe2bd5[_0x2f4e('0x3d')]};return db[_0x2f4e('0x2c')][_0x2f4e('0x21')](_0x4c31b3)[_0x2f4e('0x26')](function(_0x4dbc54){_0x1922b1[_0x2f4e('0x21')]=_0x4dbc54;if(_0x11dd8e[_0x2f4e('0x32')]['includeAll']){_0xbe2bd5[_0x2f4e('0x43')]=[{'all':!![]}];}return db[_0x2f4e('0x2c')][_0x2f4e('0x44')](_0xbe2bd5);})[_0x2f4e('0x26')](function(_0x47ed07){_0x1922b1[_0x2f4e('0x45')]=_0x47ed07;return _0x1922b1;})[_0x2f4e('0x26')](respondWithFilteredResult(_0x3c374a,_0xbe2bd5))[_0x2f4e('0x46')](handleError(_0x3c374a,null));};exports[_0x2f4e('0x47')]=function(_0x558352,_0x46fde1){var _0x220274={'raw':![],'where':{'id':_0x558352[_0x2f4e('0x48')]['id']}},_0x289aef={};_0x289aef[_0x2f4e('0x31')]=_[_0x2f4e('0x33')](db['VtigerAccount'][_0x2f4e('0x2d')]);_0x289aef[_0x2f4e('0x32')]=_[_0x2f4e('0x33')](_0x558352[_0x2f4e('0x32')]);_0x289aef[_0x2f4e('0x34')]=_[_0x2f4e('0x36')](_0x289aef[_0x2f4e('0x31')],_0x289aef[_0x2f4e('0x32')]);_0x220274[_0x2f4e('0x35')]=_['intersection'](_0x289aef[_0x2f4e('0x31')],qs[_0x2f4e('0x37')](_0x558352[_0x2f4e('0x32')][_0x2f4e('0x37')]));_0x220274['attributes']=_0x220274[_0x2f4e('0x35')][_0x2f4e('0x38')]?_0x220274[_0x2f4e('0x35')]:_0x289aef[_0x2f4e('0x31')];if(_0x558352[_0x2f4e('0x32')][_0x2f4e('0x49')]){_0x220274[_0x2f4e('0x43')]=[{'all':!![]}];}_0x220274=_[_0x2f4e('0x40')]({},_0x220274,_0x558352[_0x2f4e('0x42')]);return db[_0x2f4e('0x2c')]['find'](_0x220274)[_0x2f4e('0x26')](handleEntityNotFound(_0x46fde1,null))['then'](respondWithResult(_0x46fde1,null))[_0x2f4e('0x46')](handleError(_0x46fde1,null));};exports[_0x2f4e('0x4a')]=function(_0x327d7e,_0x3a247){return db['VtigerAccount'][_0x2f4e('0x4a')](_0x327d7e[_0x2f4e('0x4b')],{})[_0x2f4e('0x26')](respondWithResult(_0x3a247,0xc9))[_0x2f4e('0x46')](handleError(_0x3a247,null));};exports[_0x2f4e('0x25')]=function(_0x32aeb1,_0x3213b5){if(_0x32aeb1[_0x2f4e('0x4b')]['id']){delete _0x32aeb1[_0x2f4e('0x4b')]['id'];}return db[_0x2f4e('0x2c')][_0x2f4e('0x4c')]({'where':{'id':_0x32aeb1[_0x2f4e('0x48')]['id']}})[_0x2f4e('0x26')](handleEntityNotFound(_0x3213b5,null))['then'](saveUpdates(_0x32aeb1[_0x2f4e('0x4b')],null))[_0x2f4e('0x26')](respondWithResult(_0x3213b5,null))[_0x2f4e('0x46')](handleError(_0x3213b5,null));};exports['destroy']=function(_0x43b5c1,_0x2d8caa){return db[_0x2f4e('0x2c')]['find']({'where':{'id':_0x43b5c1['params']['id']}})[_0x2f4e('0x26')](handleEntityNotFound(_0x2d8caa,null))[_0x2f4e('0x26')](removeEntity(_0x2d8caa,null))[_0x2f4e('0x46')](handleError(_0x2d8caa,null));};exports['getConfigurations']=function(_0x314c75,_0x3d9c57,_0x5d0e45){var _0x451644={};var _0x32efd3={};var _0x21b239;var _0x369ec5;return db[_0x2f4e('0x2c')][_0x2f4e('0x4d')]({'where':{'id':_0x314c75[_0x2f4e('0x48')]['id']}})[_0x2f4e('0x26')](handleEntityNotFound(_0x3d9c57,null))[_0x2f4e('0x26')](function(_0xc7976e){if(_0xc7976e){_0x21b239=_0xc7976e;_0x32efd3[_0x2f4e('0x31')]=_[_0x2f4e('0x33')](db[_0x2f4e('0x4e')][_0x2f4e('0x2d')]);_0x32efd3[_0x2f4e('0x32')]=_['keys'](_0x314c75[_0x2f4e('0x32')]);_0x32efd3['filters']=_['intersection'](_0x32efd3[_0x2f4e('0x31')],_0x32efd3[_0x2f4e('0x32')]);_0x451644['attributes']=_[_0x2f4e('0x36')](_0x32efd3[_0x2f4e('0x31')],qs[_0x2f4e('0x37')](_0x314c75[_0x2f4e('0x32')][_0x2f4e('0x37')]));_0x451644[_0x2f4e('0x35')]=_0x451644[_0x2f4e('0x35')][_0x2f4e('0x38')]?_0x451644[_0x2f4e('0x35')]:_0x32efd3[_0x2f4e('0x31')];_0x451644[_0x2f4e('0x3b')]=qs['sort'](_0x314c75[_0x2f4e('0x32')]['sort']);_0x451644[_0x2f4e('0x3d')]=qs[_0x2f4e('0x34')](_[_0x2f4e('0x3e')](_0x314c75[_0x2f4e('0x32')],_0x32efd3[_0x2f4e('0x34')]));if(_0x314c75[_0x2f4e('0x32')]['filter']){_0x451644[_0x2f4e('0x3d')]=_['merge'](_0x451644[_0x2f4e('0x3d')],{'$or':_[_0x2f4e('0x2b')](_0x451644[_0x2f4e('0x35')],function(_0x4eda2f){var _0x1e57fe={};_0x1e57fe[_0x4eda2f]={'$like':'%'+_0x314c75['query'][_0x2f4e('0x3f')]+'%'};return _0x1e57fe;})});}_0x451644=_[_0x2f4e('0x40')]({},_0x451644,_0x314c75['options']);return _0x21b239[_0x2f4e('0x4f')](_0x451644);}})[_0x2f4e('0x26')](function(_0x3df42f){if(_0x3df42f){_0x369ec5=_0x3df42f[_0x2f4e('0x38')];if(!_0x314c75[_0x2f4e('0x32')]['hasOwnProperty'](_0x2f4e('0x3a'))){_0x451644[_0x2f4e('0x20')]=qs[_0x2f4e('0x20')](_0x314c75[_0x2f4e('0x32')][_0x2f4e('0x20')]);_0x451644[_0x2f4e('0x1e')]=qs[_0x2f4e('0x1e')](_0x314c75[_0x2f4e('0x32')][_0x2f4e('0x1e')]);}return _0x21b239[_0x2f4e('0x4f')](_0x451644);}})[_0x2f4e('0x26')](function(_0x2e4585){if(_0x2e4585){return _0x2e4585?{'count':_0x369ec5,'rows':_0x2e4585}:null;}})[_0x2f4e('0x26')](respondWithResult(_0x3d9c57,null))['catch'](handleError(_0x3d9c57,null));};exports[_0x2f4e('0x50')]=function(_0x2b0470,_0x18745b,_0x1238d4){if(_0x2b0470[_0x2f4e('0x4b')]['id']){delete _0x2b0470[_0x2f4e('0x4b')]['id'];}return db[_0x2f4e('0x2c')][_0x2f4e('0x4d')]({'where':{'id':_0x2b0470[_0x2f4e('0x48')]['id']}})[_0x2f4e('0x26')](handleEntityNotFound(_0x18745b,null))['then'](function(_0x349712){if(_0x349712){_0x2b0470['body']['AccountId']=_0x349712['id'];_0x2b0470[_0x2f4e('0x4b')][_0x2f4e('0x51')]=integrations[_0x2f4e('0x52')](_0x2b0470[_0x2f4e('0x4b')][_0x2f4e('0x53')],_0x2b0470['body']['type']);_0x2b0470[_0x2f4e('0x4b')][_0x2f4e('0x54')]=integrations[_0x2f4e('0x55')](_0x2b0470['body']['channel'],_0x2b0470['body'][_0x2f4e('0x2f')]);return db[_0x2f4e('0x4e')][_0x2f4e('0x4a')](_0x2b0470[_0x2f4e('0x4b')],{'include':[{'model':db[_0x2f4e('0x56')],'as':'Subjects'},{'model':db[_0x2f4e('0x56')],'as':'Descriptions'}]});}return null;})[_0x2f4e('0x26')](respondWithResult(_0x18745b,null))[_0x2f4e('0x46')](handleError(_0x18745b,null));};var md5=require(_0x2f4e('0x57'));exports[_0x2f4e('0x58')]=function(_0x391d1c,_0x382610,_0x19398a){var _0x41a907=null;var _0x54fc12=null;var _0x5b8536=null;var _0x318bd7=null;var _0x19c5b1='';return db['VtigerAccount'][_0x2f4e('0x4d')]({'where':{'id':_0x391d1c[_0x2f4e('0x48')]['id']},'attributes':['id',_0x2f4e('0x29'),'username','description','moduleName',_0x2f4e('0x59'),'serverUrl',_0x2f4e('0x5a')]})[_0x2f4e('0x26')](handleEntityNotFound(_0x382610,null))[_0x2f4e('0x26')](function(_0x5d5987){if(_0x5d5987){_0x41a907=_0x5d5987[_0x2f4e('0x5b')];_0x54fc12=_0x5d5987[_0x2f4e('0x5a')];_0x5b8536=_0x5d5987[_0x2f4e('0x5c')];_0x19c5b1=_0x5d5987[_0x2f4e('0x59')];var _0x366235=_0x19c5b1[_0x2f4e('0x5d')](-0x1);if(_0x366235==='/'){_0x19c5b1=_0x19c5b1[_0x2f4e('0x5e')](0x0,_0x19c5b1[_0x2f4e('0x5f')](_0x366235));}_0x318bd7=util[_0x2f4e('0x60')](_0x2f4e('0x61'),_0x19c5b1);var _0x4e8709={'method':_0x2f4e('0x62'),'uri':_0x318bd7,'qs':{'operation':'getchallenge','username':_0x5d5987[_0x2f4e('0x5b')]},'json':!![]};return rp(_0x4e8709);}})[_0x2f4e('0x26')](function(_0x33ded2){if(_0x33ded2['success']){var _0x366869={'method':_0x2f4e('0x63'),'uri':_0x318bd7,'form':{'operation':_0x2f4e('0x64'),'username':_0x41a907,'accessKey':md5(_0x33ded2[_0x2f4e('0x65')][_0x2f4e('0x66')]+_0x54fc12)},'json':!![]};return rp(_0x366869);}})['then'](function(_0xe48e05){if(_0xe48e05[_0x2f4e('0x67')]){var _0x2928d0={'method':_0x2f4e('0x62'),'uri':_0x318bd7,'qs':{'operation':_0x2f4e('0x68'),'username':_0x41a907,'sessionName':_0xe48e05[_0x2f4e('0x65')][_0x2f4e('0x69')],'elementType':_0x5b8536},'json':!![]};return rp(_0x2928d0);}})[_0x2f4e('0x26')](function(_0x966ca4){if(_0x966ca4[_0x2f4e('0x67')]){var _0x6e7f62=['autogenerated',_0x2f4e('0x6a'),_0x2f4e('0x6b')];_[_0x2f4e('0x6c')](_0x966ca4[_0x2f4e('0x65')]['fields'],function(_0x354b3d){return _0x6e7f62['includes'](_0x354b3d['type']['name']);});_[_0x2f4e('0x6c')](_0x966ca4[_0x2f4e('0x65')][_0x2f4e('0x37')],function(_0x4dbb4a){return _0x4dbb4a[_0x2f4e('0x6d')]===_0x2f4e('0x6e');});return{'count':_0x966ca4[_0x2f4e('0x65')]['fields'][_0x2f4e('0x38')],'rows':_[_0x2f4e('0x2b')](_0x966ca4[_0x2f4e('0x65')][_0x2f4e('0x37')],function(_0x61eb4c){return{'id':_0x61eb4c[_0x2f4e('0x29')],'name':_0x61eb4c[_0x2f4e('0x6f')],'custom':_[_0x2f4e('0x70')](_0x61eb4c[_0x2f4e('0x29')],_0x2f4e('0x71'))?!![]:![],'options':_0x61eb4c['type'][_0x2f4e('0x29')]==='picklist'&&_0x61eb4c['type'][_0x2f4e('0x72')][_0x2f4e('0x38')]>0x0?_[_0x2f4e('0x2b')](_0x61eb4c[_0x2f4e('0x2f')][_0x2f4e('0x72')],function(_0x52d5bb){return{'name':_0x52d5bb[_0x2f4e('0x6f')],'value':_0x52d5bb[_0x2f4e('0x73')]};}):[]};})};}})[_0x2f4e('0x26')](respondWithResult(_0x382610,null))[_0x2f4e('0x46')](function(_0x395b8b){console['log'](_0x2f4e('0x74')+_0x395b8b);var _0x93b904=_0x391d1c[_0x2f4e('0x32')][_0x2f4e('0x75')]?0x1f4:_0x395b8b[_0x2f4e('0x76')]||0x1f4;logger[_0x2f4e('0x28')]('getFields,\x20%s,\x20%s,\x20%s',_0x2f4e('0x58'),_0x93b904,JSON[_0x2f4e('0x77')](_0x395b8b));delete _0x395b8b[_0x2f4e('0x29')];if(_0x93b904===0x191){_0x93b904=0x190;}_0x382610[_0x2f4e('0x1b')](_0x93b904)[_0x2f4e('0x2a')](_0x391d1c['query'][_0x2f4e('0x75')]?{'message':'Wrong\x20credentials','statusCode':_0x395b8b[_0x2f4e('0x76')]}:_0x395b8b);});};