Built motion from commit 25580385.|2.6.2
[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 _0x26b6=['username','moduleName','accessKey','remoteUri','substring','lastIndexOf','%s/webservice.php','getchallenge','success','POST','login','result','token','GET','describe','sessionName','autogenerated','reference','owner','remove','editable','label','startsWith','cf_','picklist','picklistValues','value','log','vTiger\x20error:\x20','test','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','save','update','destroy','then','error','stack','name','send','index','map','VtigerAccount','fieldName','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','type','merge','options','count','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','params','VtigerConfiguration','getConfigurations','addConfiguration','findOne','AccountId','Subjects','getDescriptions','channel','VtigerField','Descriptions','md5','getFields'];(function(_0x2b7389,_0x58311b){var _0xe5d9da=function(_0xecec75){while(--_0xecec75){_0x2b7389['push'](_0x2b7389['shift']());}};_0xe5d9da(++_0x58311b);}(_0x26b6,0x116));var _0x626b=function(_0xfbd68d,_0x1ec578){_0xfbd68d=_0xfbd68d-0x0;var _0x470f50=_0x26b6[_0xfbd68d];return _0x470f50;};'use strict';var emlformat=require(_0x626b('0x0'));var rimraf=require(_0x626b('0x1'));var zipdir=require(_0x626b('0x2'));var jsonpatch=require(_0x626b('0x3'));var rp=require(_0x626b('0x4'));var moment=require(_0x626b('0x5'));var BPromise=require(_0x626b('0x6'));var Mustache=require(_0x626b('0x7'));var util=require(_0x626b('0x8'));var path=require('path');var sox=require(_0x626b('0x9'));var csv=require(_0x626b('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x626b('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x626b('0xc'));var deskjs=require(_0x626b('0xd'));var toCsv=require(_0x626b('0xa'));var querystring=require(_0x626b('0xe'));var Papa=require(_0x626b('0xf'));var Redis=require(_0x626b('0x10'));var authService=require(_0x626b('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x626b('0x12'));var hardwareService=require(_0x626b('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x626b('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x626b('0x15'));var db=require(_0x626b('0x16'))['db'];var integrations=require(_0x626b('0x17'));function respondWithStatusCode(_0x4d3d6,_0x3ea9da){_0x3ea9da=_0x3ea9da||0xcc;return function(_0x5b691e){if(_0x5b691e){return _0x4d3d6[_0x626b('0x18')](_0x3ea9da);}return _0x4d3d6[_0x626b('0x19')](_0x3ea9da)[_0x626b('0x1a')]();};}function respondWithResult(_0x6e349,_0x954d89){_0x954d89=_0x954d89||0xc8;return function(_0x25d0c1){if(_0x25d0c1){return _0x6e349[_0x626b('0x19')](_0x954d89)[_0x626b('0x1b')](_0x25d0c1);}};}function respondWithFilteredResult(_0x390940,_0x2a5ac2){return function(_0x154b4b){if(_0x154b4b){var _0x448951=typeof _0x2a5ac2[_0x626b('0x1c')]===_0x626b('0x1d')&&typeof _0x2a5ac2['limit']===_0x626b('0x1d');var _0x2369a7=_0x154b4b['count'];var _0x598b98=_0x448951?0x0:_0x2a5ac2[_0x626b('0x1c')];var _0x4ad6d3=_0x448951?_0x154b4b['count']:_0x2a5ac2['offset']+_0x2a5ac2[_0x626b('0x1e')];var _0xbb3efb;if(_0x4ad6d3>=_0x2369a7){_0x4ad6d3=_0x2369a7;_0xbb3efb=0xc8;}else{_0xbb3efb=0xce;}_0x390940['status'](_0xbb3efb);return _0x390940[_0x626b('0x1f')](_0x626b('0x20'),_0x598b98+'-'+_0x4ad6d3+'/'+_0x2369a7)[_0x626b('0x1b')](_0x154b4b);}return null;};}function patchUpdates(_0x446bf4){return function(_0x35da9a){try{jsonpatch['apply'](_0x35da9a,_0x446bf4,!![]);}catch(_0x4aa433){return BPromise['reject'](_0x4aa433);}return _0x35da9a[_0x626b('0x21')]();};}function saveUpdates(_0x46ab52,_0x378ff0){return function(_0x2065c0){if(_0x2065c0){return _0x2065c0[_0x626b('0x22')](_0x46ab52)['then'](function(_0x5614ee){return _0x5614ee;});}return null;};}function removeEntity(_0x318195,_0x51a92a){return function(_0x298a9f){if(_0x298a9f){return _0x298a9f[_0x626b('0x23')]()[_0x626b('0x24')](function(){_0x318195['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x12066f,_0x5a54a9){return function(_0x56f25a){if(!_0x56f25a){_0x12066f[_0x626b('0x18')](0x194);}return _0x56f25a;};}function handleError(_0x4723a3,_0x4107d8){_0x4107d8=_0x4107d8||0x1f4;return function(_0xf620a0){logger[_0x626b('0x25')](_0xf620a0[_0x626b('0x26')]);if(_0xf620a0[_0x626b('0x27')]){delete _0xf620a0[_0x626b('0x27')];}_0x4723a3[_0x626b('0x19')](_0x4107d8)[_0x626b('0x28')](_0xf620a0);};}exports[_0x626b('0x29')]=function(_0x39a61c,_0x5a5618){var _0x5948e8={},_0x3ff12e={},_0x1da444={'count':0x0,'rows':[]};var _0x336f08=_[_0x626b('0x2a')](db[_0x626b('0x2b')]['rawAttributes'],function(_0x1900c4){return{'name':_0x1900c4[_0x626b('0x2c')],'type':_0x1900c4['type'][_0x626b('0x2d')]};});_0x3ff12e[_0x626b('0x2e')]=_[_0x626b('0x2a')](_0x336f08,_0x626b('0x27'));_0x3ff12e[_0x626b('0x2f')]=_[_0x626b('0x30')](_0x39a61c[_0x626b('0x2f')]);_0x3ff12e['filters']=_['intersection'](_0x3ff12e[_0x626b('0x2e')],_0x3ff12e[_0x626b('0x2f')]);_0x5948e8[_0x626b('0x31')]=_[_0x626b('0x32')](_0x3ff12e[_0x626b('0x2e')],qs['fields'](_0x39a61c[_0x626b('0x2f')][_0x626b('0x33')]));_0x5948e8[_0x626b('0x31')]=_0x5948e8[_0x626b('0x31')][_0x626b('0x34')]?_0x5948e8[_0x626b('0x31')]:_0x3ff12e['model'];if(!_0x39a61c[_0x626b('0x2f')][_0x626b('0x35')](_0x626b('0x36'))){_0x5948e8['limit']=qs['limit'](_0x39a61c[_0x626b('0x2f')][_0x626b('0x1e')]);_0x5948e8[_0x626b('0x1c')]=qs['offset'](_0x39a61c[_0x626b('0x2f')][_0x626b('0x1c')]);}_0x5948e8[_0x626b('0x37')]=qs[_0x626b('0x38')](_0x39a61c['query']['sort']);_0x5948e8[_0x626b('0x39')]=qs[_0x626b('0x3a')](_[_0x626b('0x3b')](_0x39a61c['query'],_0x3ff12e[_0x626b('0x3a')]),_0x336f08);if(_0x39a61c[_0x626b('0x2f')][_0x626b('0x3c')]){_0x5948e8[_0x626b('0x39')]=_['merge'](_0x5948e8[_0x626b('0x39')],{'$or':_['map'](_0x336f08,function(_0x2d9fa3){if(_0x2d9fa3[_0x626b('0x3d')]!=='VIRTUAL'){var _0x4b2119={};_0x4b2119[_0x2d9fa3['name']]={'$like':'%'+_0x39a61c['query'][_0x626b('0x3c')]+'%'};return _0x4b2119;}})});}_0x5948e8=_[_0x626b('0x3e')]({},_0x5948e8,_0x39a61c[_0x626b('0x3f')]);var _0x5de409={'where':_0x5948e8[_0x626b('0x39')]};return db[_0x626b('0x2b')][_0x626b('0x40')](_0x5de409)[_0x626b('0x24')](function(_0x32ef6e){_0x1da444[_0x626b('0x40')]=_0x32ef6e;if(_0x39a61c['query'][_0x626b('0x41')]){_0x5948e8[_0x626b('0x42')]=[{'all':!![]}];}return db[_0x626b('0x2b')][_0x626b('0x43')](_0x5948e8);})[_0x626b('0x24')](function(_0x13d7ab){_0x1da444[_0x626b('0x44')]=_0x13d7ab;return _0x1da444;})[_0x626b('0x24')](respondWithFilteredResult(_0x5a5618,_0x5948e8))[_0x626b('0x45')](handleError(_0x5a5618,null));};exports[_0x626b('0x46')]=function(_0x5e07e6,_0x3c4ea9){var _0x29bebb={'raw':![],'where':{'id':_0x5e07e6['params']['id']}},_0x527358={};_0x527358[_0x626b('0x2e')]=_[_0x626b('0x30')](db['VtigerAccount'][_0x626b('0x47')]);_0x527358[_0x626b('0x2f')]=_['keys'](_0x5e07e6['query']);_0x527358[_0x626b('0x3a')]=_[_0x626b('0x32')](_0x527358['model'],_0x527358[_0x626b('0x2f')]);_0x29bebb[_0x626b('0x31')]=_[_0x626b('0x32')](_0x527358[_0x626b('0x2e')],qs[_0x626b('0x33')](_0x5e07e6[_0x626b('0x2f')][_0x626b('0x33')]));_0x29bebb[_0x626b('0x31')]=_0x29bebb[_0x626b('0x31')][_0x626b('0x34')]?_0x29bebb[_0x626b('0x31')]:_0x527358[_0x626b('0x2e')];if(_0x5e07e6[_0x626b('0x2f')]['includeAll']){_0x29bebb[_0x626b('0x42')]=[{'all':!![]}];}_0x29bebb=_[_0x626b('0x3e')]({},_0x29bebb,_0x5e07e6[_0x626b('0x3f')]);return db['VtigerAccount'][_0x626b('0x48')](_0x29bebb)[_0x626b('0x24')](handleEntityNotFound(_0x3c4ea9,null))[_0x626b('0x24')](respondWithResult(_0x3c4ea9,null))[_0x626b('0x45')](handleError(_0x3c4ea9,null));};exports[_0x626b('0x49')]=function(_0x1064f5,_0x335f51){return db[_0x626b('0x2b')]['create'](_0x1064f5[_0x626b('0x4a')],{})[_0x626b('0x24')](respondWithResult(_0x335f51,0xc9))[_0x626b('0x45')](handleError(_0x335f51,null));};exports[_0x626b('0x22')]=function(_0x3991c0,_0x41e1ee){if(_0x3991c0[_0x626b('0x4a')]['id']){delete _0x3991c0[_0x626b('0x4a')]['id'];}return db[_0x626b('0x2b')]['find']({'where':{'id':_0x3991c0[_0x626b('0x4b')]['id']}})[_0x626b('0x24')](handleEntityNotFound(_0x41e1ee,null))[_0x626b('0x24')](saveUpdates(_0x3991c0[_0x626b('0x4a')],null))[_0x626b('0x24')](respondWithResult(_0x41e1ee,null))[_0x626b('0x45')](handleError(_0x41e1ee,null));};exports[_0x626b('0x23')]=function(_0x58aca8,_0x5ed6fb){return db[_0x626b('0x2b')][_0x626b('0x48')]({'where':{'id':_0x58aca8[_0x626b('0x4b')]['id']}})['then'](handleEntityNotFound(_0x5ed6fb,null))[_0x626b('0x24')](removeEntity(_0x5ed6fb,null))['catch'](handleError(_0x5ed6fb,null));};exports['getConfigurations']=function(_0x387930,_0x17e861,_0x369ac3){var _0x45eab7={};var _0x20bb74={};var _0xe0a478;var _0x490d43;return db[_0x626b('0x2b')]['findOne']({'where':{'id':_0x387930['params']['id']}})[_0x626b('0x24')](handleEntityNotFound(_0x17e861,null))[_0x626b('0x24')](function(_0x2f4e4a){if(_0x2f4e4a){_0xe0a478=_0x2f4e4a;_0x20bb74['model']=_['keys'](db[_0x626b('0x4c')][_0x626b('0x47')]);_0x20bb74[_0x626b('0x2f')]=_[_0x626b('0x30')](_0x387930[_0x626b('0x2f')]);_0x20bb74[_0x626b('0x3a')]=_['intersection'](_0x20bb74[_0x626b('0x2e')],_0x20bb74['query']);_0x45eab7[_0x626b('0x31')]=_['intersection'](_0x20bb74[_0x626b('0x2e')],qs[_0x626b('0x33')](_0x387930[_0x626b('0x2f')][_0x626b('0x33')]));_0x45eab7[_0x626b('0x31')]=_0x45eab7[_0x626b('0x31')][_0x626b('0x34')]?_0x45eab7[_0x626b('0x31')]:_0x20bb74['model'];_0x45eab7[_0x626b('0x37')]=qs[_0x626b('0x38')](_0x387930[_0x626b('0x2f')][_0x626b('0x38')]);_0x45eab7[_0x626b('0x39')]=qs[_0x626b('0x3a')](_[_0x626b('0x3b')](_0x387930[_0x626b('0x2f')],_0x20bb74['filters']));if(_0x387930[_0x626b('0x2f')][_0x626b('0x3c')]){_0x45eab7[_0x626b('0x39')]=_['merge'](_0x45eab7[_0x626b('0x39')],{'$or':_[_0x626b('0x2a')](_0x45eab7[_0x626b('0x31')],function(_0x58d140){var _0x527451={};_0x527451[_0x58d140]={'$like':'%'+_0x387930[_0x626b('0x2f')]['filter']+'%'};return _0x527451;})});}_0x45eab7=_[_0x626b('0x3e')]({},_0x45eab7,_0x387930[_0x626b('0x3f')]);return _0xe0a478[_0x626b('0x4d')](_0x45eab7);}})[_0x626b('0x24')](function(_0x2c4199){if(_0x2c4199){_0x490d43=_0x2c4199['length'];if(!_0x387930[_0x626b('0x2f')][_0x626b('0x35')]('nolimit')){_0x45eab7['limit']=qs['limit'](_0x387930[_0x626b('0x2f')]['limit']);_0x45eab7[_0x626b('0x1c')]=qs[_0x626b('0x1c')](_0x387930[_0x626b('0x2f')][_0x626b('0x1c')]);}return _0xe0a478[_0x626b('0x4d')](_0x45eab7);}})[_0x626b('0x24')](function(_0x23fae3){if(_0x23fae3){return _0x23fae3?{'count':_0x490d43,'rows':_0x23fae3}:null;}})['then'](respondWithResult(_0x17e861,null))[_0x626b('0x45')](handleError(_0x17e861,null));};exports[_0x626b('0x4e')]=function(_0x9d2c76,_0x361f02,_0x3798f8){if(_0x9d2c76['body']['id']){delete _0x9d2c76[_0x626b('0x4a')]['id'];}return db['VtigerAccount'][_0x626b('0x4f')]({'where':{'id':_0x9d2c76['params']['id']}})[_0x626b('0x24')](handleEntityNotFound(_0x361f02,null))['then'](function(_0x4ecf4f){if(_0x4ecf4f){_0x9d2c76['body'][_0x626b('0x50')]=_0x4ecf4f['id'];_0x9d2c76[_0x626b('0x4a')][_0x626b('0x51')]=integrations['getSubjects'](_0x9d2c76['body']['channel'],_0x9d2c76[_0x626b('0x4a')]['type']);_0x9d2c76[_0x626b('0x4a')]['Descriptions']=integrations[_0x626b('0x52')](_0x9d2c76['body'][_0x626b('0x53')],_0x9d2c76[_0x626b('0x4a')]['type']);return db[_0x626b('0x4c')][_0x626b('0x49')](_0x9d2c76['body'],{'include':[{'model':db['VtigerField'],'as':'Subjects'},{'model':db[_0x626b('0x54')],'as':_0x626b('0x55')}]});}return null;})[_0x626b('0x24')](respondWithResult(_0x361f02,null))[_0x626b('0x45')](handleError(_0x361f02,null));};var md5=require(_0x626b('0x56'));exports[_0x626b('0x57')]=function(_0x2850d4,_0x5175c1,_0x4b791b){var _0x1678e1=null;var _0x4f3d6b=null;var _0xd31b0a=null;var _0x22df4c=null;var _0x13b507='';return db[_0x626b('0x2b')][_0x626b('0x4f')]({'where':{'id':_0x2850d4[_0x626b('0x4b')]['id']},'attributes':['id','name',_0x626b('0x58'),'description',_0x626b('0x59'),'remoteUri','serverUrl',_0x626b('0x5a')]})[_0x626b('0x24')](handleEntityNotFound(_0x5175c1,null))[_0x626b('0x24')](function(_0x720183){if(_0x720183){_0x1678e1=_0x720183['username'];_0x4f3d6b=_0x720183['accessKey'];_0xd31b0a=_0x720183[_0x626b('0x59')];_0x13b507=_0x720183[_0x626b('0x5b')];var _0xc1f2ae=_0x13b507['slice'](-0x1);if(_0xc1f2ae==='/'){_0x13b507=_0x13b507[_0x626b('0x5c')](0x0,_0x13b507[_0x626b('0x5d')](_0xc1f2ae));}_0x22df4c=util['format'](_0x626b('0x5e'),_0x13b507);var _0x349ede={'method':'GET','uri':_0x22df4c,'qs':{'operation':_0x626b('0x5f'),'username':_0x720183[_0x626b('0x58')]},'json':!![]};return rp(_0x349ede);}})['then'](function(_0x4cf13c){if(_0x4cf13c[_0x626b('0x60')]){var _0x1bc5a7={'method':_0x626b('0x61'),'uri':_0x22df4c,'form':{'operation':_0x626b('0x62'),'username':_0x1678e1,'accessKey':md5(_0x4cf13c[_0x626b('0x63')][_0x626b('0x64')]+_0x4f3d6b)},'json':!![]};return rp(_0x1bc5a7);}})[_0x626b('0x24')](function(_0x566909){if(_0x566909[_0x626b('0x60')]){var _0x39d771={'method':_0x626b('0x65'),'uri':_0x22df4c,'qs':{'operation':_0x626b('0x66'),'username':_0x1678e1,'sessionName':_0x566909[_0x626b('0x63')][_0x626b('0x67')],'elementType':_0xd31b0a},'json':!![]};return rp(_0x39d771);}})['then'](function(_0x40b5a1){if(_0x40b5a1[_0x626b('0x60')]){var _0x72ff94=[_0x626b('0x68'),_0x626b('0x69'),_0x626b('0x6a')];_[_0x626b('0x6b')](_0x40b5a1[_0x626b('0x63')]['fields'],function(_0x148e78){return _0x72ff94['includes'](_0x148e78['type']['name']);});_['remove'](_0x40b5a1['result'][_0x626b('0x33')],function(_0x2c3836){return _0x2c3836[_0x626b('0x6c')]==='false';});return{'count':_0x40b5a1[_0x626b('0x63')]['fields'][_0x626b('0x34')],'rows':_['map'](_0x40b5a1[_0x626b('0x63')][_0x626b('0x33')],function(_0x75140c){return{'id':_0x75140c[_0x626b('0x27')],'name':_0x75140c[_0x626b('0x6d')],'custom':_[_0x626b('0x6e')](_0x75140c[_0x626b('0x27')],_0x626b('0x6f'))?!![]:![],'options':_0x75140c['type']['name']===_0x626b('0x70')&&_0x75140c[_0x626b('0x3d')][_0x626b('0x71')][_0x626b('0x34')]>0x0?_[_0x626b('0x2a')](_0x75140c[_0x626b('0x3d')][_0x626b('0x71')],function(_0x137b02){return{'name':_0x137b02[_0x626b('0x6d')],'value':_0x137b02[_0x626b('0x72')]};}):[]};})};}})[_0x626b('0x24')](respondWithResult(_0x5175c1,null))['catch'](function(_0x533b18){console[_0x626b('0x73')](_0x626b('0x74')+_0x533b18);var _0x5e84cf=_0x2850d4['query'][_0x626b('0x75')]?0x1f4:_0x533b18['statusCode']||0x1f4;logger[_0x626b('0x25')](_0x626b('0x76'),_0x626b('0x57'),_0x5e84cf,JSON[_0x626b('0x77')](_0x533b18));delete _0x533b18['name'];if(_0x5e84cf===0x191){_0x5e84cf=0x190;}_0x5175c1[_0x626b('0x19')](_0x5e84cf)[_0x626b('0x28')](_0x2850d4[_0x626b('0x2f')]['test']?{'message':_0x626b('0x78'),'statusCode':_0x533b18[_0x626b('0x79')]}:_0x533b18);});};