Built motion from commit (unavailable).|2.5.26
[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 _0x9348=['picklistValues','label','value','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','VtigerAccount,\x20%s,\x20%s','debug','VtigerAccount,\x20%s,\x20%s,\x20%s','request\x20sent','code','error','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','stack','name','send','map','VtigerAccount','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filters','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','create','body','update','destroy','VtigerConfiguration','length','filter','getConfigurations','addConfiguration','findOne','Subjects','getSubjects','channel','getDescriptions','VtigerField','Descriptions','md5','username','moduleName','remoteUri','serverUrl','accessKey','slice','substring','lastIndexOf','format','%s/webservice.php','getchallenge','success','POST','login','GET','describe','sessionName','autogenerated','reference','owner','remove','picklist'];(function(_0x5a243a,_0x36d07f){var _0x210c5a=function(_0x596251){while(--_0x596251){_0x5a243a['push'](_0x5a243a['shift']());}};_0x210c5a(++_0x36d07f);}(_0x9348,0x10d));var _0x8934=function(_0x423b58,_0x51b931){_0x423b58=_0x423b58-0x0;var _0x3de544=_0x9348[_0x423b58];return _0x3de544;};'use strict';var emlformat=require(_0x8934('0x0'));var rimraf=require(_0x8934('0x1'));var zipdir=require(_0x8934('0x2'));var jsonpatch=require(_0x8934('0x3'));var rp=require(_0x8934('0x4'));var moment=require('moment');var BPromise=require(_0x8934('0x5'));var Mustache=require(_0x8934('0x6'));var util=require('util');var path=require(_0x8934('0x7'));var sox=require(_0x8934('0x8'));var csv=require(_0x8934('0x9'));var ejs=require(_0x8934('0xa'));var fs=require('fs');var fs_extra=require(_0x8934('0xb'));var _=require(_0x8934('0xc'));var squel=require('squel');var crypto=require(_0x8934('0xd'));var jsforce=require(_0x8934('0xe'));var deskjs=require(_0x8934('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8934('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x8934('0x11'));var hardwareService=require(_0x8934('0x12'));var logger=require(_0x8934('0x13'))(_0x8934('0x14'));var utils=require(_0x8934('0x15'));var config=require(_0x8934('0x16'));var licenseUtil=require(_0x8934('0x17'));var db=require(_0x8934('0x18'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x8934('0x19'));var client=jayson[_0x8934('0x1a')][_0x8934('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x1906d0,_0xbc487e,_0xdf59f4,_0x5b560f){return new BPromise(function(_0x254720,_0x38230a){var _0xdfc97c=_0x5b560f||client;return _0xdfc97c[_0x8934('0x1c')](_0x1906d0,_0xdf59f4)[_0x8934('0x1d')](function(_0x41e6a9){logger[_0x8934('0x1e')](_0x8934('0x1f'),_0xbc487e,'request\x20sent');logger[_0x8934('0x20')](_0x8934('0x21'),_0xbc487e,_0x8934('0x22'),JSON['stringify'](_0x41e6a9));if(_0x41e6a9['error']){if(_0x41e6a9['error'][_0x8934('0x23')]===0x1f4){logger['error'](_0x8934('0x1f'),_0xbc487e,_0x41e6a9[_0x8934('0x24')][_0x8934('0x25')]);return _0x38230a(_0x41e6a9[_0x8934('0x24')][_0x8934('0x25')]);}logger['error'](_0x8934('0x1f'),_0xbc487e,_0x41e6a9['error'][_0x8934('0x25')]);return _0x254720(_0x41e6a9[_0x8934('0x24')][_0x8934('0x25')]);}else{logger[_0x8934('0x1e')](_0x8934('0x1f'),_0xbc487e,_0x8934('0x22'));_0x254720(_0x41e6a9[_0x8934('0x26')]['message']);}})[_0x8934('0x27')](function(_0x2a5e67){logger[_0x8934('0x24')](_0x8934('0x1f'),_0xbc487e,_0x2a5e67);_0x38230a(_0x2a5e67);});});}function respondWithStatusCode(_0x43b89a,_0x5e593b){_0x5e593b=_0x5e593b||0xcc;return function(_0x3cf295){if(_0x3cf295){return _0x43b89a[_0x8934('0x28')](_0x5e593b);}return _0x43b89a[_0x8934('0x29')](_0x5e593b)['end']();};}function respondWithResult(_0x16cfc2,_0x561df2){_0x561df2=_0x561df2||0xc8;return function(_0x14c5f0){if(_0x14c5f0){return _0x16cfc2[_0x8934('0x29')](_0x561df2)[_0x8934('0x2a')](_0x14c5f0);}};}function respondWithFilteredResult(_0x5ef0ed,_0x1fd5eb){return function(_0x15910b){if(_0x15910b){var _0x310454=_0x15910b[_0x8934('0x2b')],_0x50b89e=_0x1fd5eb[_0x8934('0x2c')],_0x4b5780=_0x1fd5eb[_0x8934('0x2c')]+_0x1fd5eb[_0x8934('0x2d')],_0x3db790;if(_0x4b5780>=_0x310454){_0x4b5780=_0x310454;_0x3db790=0xc8;}else{_0x3db790=0xce;}_0x5ef0ed[_0x8934('0x29')](_0x3db790);return _0x5ef0ed[_0x8934('0x2e')](_0x8934('0x2f'),_0x50b89e+'-'+_0x4b5780+'/'+_0x310454)[_0x8934('0x2a')](_0x15910b);}return null;};}function patchUpdates(_0x18938a){return function(_0x592b99){try{jsonpatch[_0x8934('0x30')](_0x592b99,_0x18938a,!![]);}catch(_0x3e973e){return BPromise['reject'](_0x3e973e);}return _0x592b99[_0x8934('0x31')]();};}function saveUpdates(_0x3d60f9,_0x1a17b5){return function(_0x13aeeb){if(_0x13aeeb){return _0x13aeeb['update'](_0x3d60f9)[_0x8934('0x1d')](function(_0x18e881){return _0x18e881;});}return null;};}function removeEntity(_0x11844a,_0x1af54b){return function(_0x382d81){if(_0x382d81){return _0x382d81['destroy']()[_0x8934('0x1d')](function(){_0x11844a['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xff95be,_0x2447e6){return function(_0x2f5880){if(!_0x2f5880){_0xff95be[_0x8934('0x28')](0x194);}return _0x2f5880;};}function handleError(_0x50bbb4,_0x2b4db6){_0x2b4db6=_0x2b4db6||0x1f4;return function(_0x22aebe){logger[_0x8934('0x24')](_0x22aebe[_0x8934('0x32')]);if(_0x22aebe[_0x8934('0x33')]){delete _0x22aebe['name'];}_0x50bbb4[_0x8934('0x29')](_0x2b4db6)[_0x8934('0x34')](_0x22aebe);};}exports['index']=function(_0x5914b9,_0x845028){var _0x2a790f={},_0x4a4a50={},_0x519273={'count':0x0,'rows':[]};var _0x1a30c1=_[_0x8934('0x35')](db[_0x8934('0x36')][_0x8934('0x37')],function(_0x834d54){return{'name':_0x834d54[_0x8934('0x38')],'type':_0x834d54[_0x8934('0x39')][_0x8934('0x3a')]};});_0x4a4a50[_0x8934('0x3b')]=_[_0x8934('0x35')](_0x1a30c1,_0x8934('0x33'));_0x4a4a50['query']=_[_0x8934('0x3c')](_0x5914b9[_0x8934('0x3d')]);_0x4a4a50['filters']=_[_0x8934('0x3e')](_0x4a4a50[_0x8934('0x3b')],_0x4a4a50[_0x8934('0x3d')]);_0x2a790f[_0x8934('0x3f')]=_[_0x8934('0x3e')](_0x4a4a50['model'],qs['fields'](_0x5914b9['query'][_0x8934('0x40')]));_0x2a790f[_0x8934('0x3f')]=_0x2a790f[_0x8934('0x3f')]['length']?_0x2a790f[_0x8934('0x3f')]:_0x4a4a50['model'];if(!_0x5914b9['query'][_0x8934('0x41')](_0x8934('0x42'))){_0x2a790f['limit']=qs['limit'](_0x5914b9[_0x8934('0x3d')][_0x8934('0x2d')]);_0x2a790f[_0x8934('0x2c')]=qs['offset'](_0x5914b9[_0x8934('0x3d')]['offset']);}_0x2a790f[_0x8934('0x43')]=qs['sort'](_0x5914b9[_0x8934('0x3d')][_0x8934('0x44')]);_0x2a790f[_0x8934('0x45')]=qs['filters'](_[_0x8934('0x46')](_0x5914b9[_0x8934('0x3d')],_0x4a4a50[_0x8934('0x47')]),_0x1a30c1);if(_0x5914b9[_0x8934('0x3d')]['filter']){_0x2a790f[_0x8934('0x45')]=_[_0x8934('0x48')](_0x2a790f[_0x8934('0x45')],{'$or':_[_0x8934('0x35')](_0x1a30c1,function(_0x6e63ff){if(_0x6e63ff[_0x8934('0x39')]!==_0x8934('0x49')){var _0x877e71={};_0x877e71[_0x6e63ff['name']]={'$like':'%'+_0x5914b9['query']['filter']+'%'};return _0x877e71;}})});}_0x2a790f=_[_0x8934('0x48')]({},_0x2a790f,_0x5914b9[_0x8934('0x4a')]);var _0x58206c={'where':_0x2a790f[_0x8934('0x45')]};return db['VtigerAccount'][_0x8934('0x2b')](_0x58206c)[_0x8934('0x1d')](function(_0x4be80d){_0x519273[_0x8934('0x2b')]=_0x4be80d;if(_0x5914b9[_0x8934('0x3d')][_0x8934('0x4b')]){_0x2a790f[_0x8934('0x4c')]=[{'all':!![]}];}return db['VtigerAccount'][_0x8934('0x4d')](_0x2a790f);})[_0x8934('0x1d')](function(_0x5991fc){_0x519273[_0x8934('0x4e')]=_0x5991fc;return _0x519273;})[_0x8934('0x1d')](respondWithFilteredResult(_0x845028,_0x2a790f))[_0x8934('0x27')](handleError(_0x845028,null));};exports[_0x8934('0x4f')]=function(_0x406d0a,_0x419e30){var _0xa45543={'raw':![],'where':{'id':_0x406d0a[_0x8934('0x50')]['id']}},_0x2a1ce9={};_0x2a1ce9[_0x8934('0x3b')]=_[_0x8934('0x3c')](db[_0x8934('0x36')][_0x8934('0x37')]);_0x2a1ce9[_0x8934('0x3d')]=_[_0x8934('0x3c')](_0x406d0a[_0x8934('0x3d')]);_0x2a1ce9[_0x8934('0x47')]=_[_0x8934('0x3e')](_0x2a1ce9['model'],_0x2a1ce9[_0x8934('0x3d')]);_0xa45543[_0x8934('0x3f')]=_['intersection'](_0x2a1ce9['model'],qs['fields'](_0x406d0a['query'][_0x8934('0x40')]));_0xa45543[_0x8934('0x3f')]=_0xa45543[_0x8934('0x3f')]['length']?_0xa45543['attributes']:_0x2a1ce9[_0x8934('0x3b')];if(_0x406d0a['query']['includeAll']){_0xa45543[_0x8934('0x4c')]=[{'all':!![]}];}_0xa45543=_[_0x8934('0x48')]({},_0xa45543,_0x406d0a[_0x8934('0x4a')]);return db[_0x8934('0x36')][_0x8934('0x51')](_0xa45543)[_0x8934('0x1d')](handleEntityNotFound(_0x419e30,null))[_0x8934('0x1d')](respondWithResult(_0x419e30,null))['catch'](handleError(_0x419e30,null));};exports[_0x8934('0x52')]=function(_0x5d2ff7,_0x18e08b){return db[_0x8934('0x36')][_0x8934('0x52')](_0x5d2ff7[_0x8934('0x53')],{})[_0x8934('0x1d')](respondWithResult(_0x18e08b,0xc9))[_0x8934('0x27')](handleError(_0x18e08b,null));};exports[_0x8934('0x54')]=function(_0x251cfe,_0x597e04){if(_0x251cfe[_0x8934('0x53')]['id']){delete _0x251cfe[_0x8934('0x53')]['id'];}return db[_0x8934('0x36')][_0x8934('0x51')]({'where':{'id':_0x251cfe[_0x8934('0x50')]['id']}})['then'](handleEntityNotFound(_0x597e04,null))[_0x8934('0x1d')](saveUpdates(_0x251cfe[_0x8934('0x53')],null))[_0x8934('0x1d')](respondWithResult(_0x597e04,null))['catch'](handleError(_0x597e04,null));};exports[_0x8934('0x55')]=function(_0x2922a1,_0x1e61cc){return db['VtigerAccount']['find']({'where':{'id':_0x2922a1['params']['id']}})[_0x8934('0x1d')](handleEntityNotFound(_0x1e61cc,null))[_0x8934('0x1d')](removeEntity(_0x1e61cc,null))[_0x8934('0x27')](handleError(_0x1e61cc,null));};exports['getConfigurations']=function(_0x280809,_0x10ff96,_0x5f447c){var _0x5157d7={};var _0xf993d2={};var _0x429769;var _0x44d892;return db[_0x8934('0x36')]['findOne']({'where':{'id':_0x280809['params']['id']}})['then'](handleEntityNotFound(_0x10ff96,null))['then'](function(_0x43933f){if(_0x43933f){_0x429769=_0x43933f;_0xf993d2[_0x8934('0x3b')]=_[_0x8934('0x3c')](db[_0x8934('0x56')][_0x8934('0x37')]);_0xf993d2[_0x8934('0x3d')]=_['keys'](_0x280809[_0x8934('0x3d')]);_0xf993d2[_0x8934('0x47')]=_['intersection'](_0xf993d2[_0x8934('0x3b')],_0xf993d2['query']);_0x5157d7[_0x8934('0x3f')]=_['intersection'](_0xf993d2[_0x8934('0x3b')],qs[_0x8934('0x40')](_0x280809[_0x8934('0x3d')][_0x8934('0x40')]));_0x5157d7[_0x8934('0x3f')]=_0x5157d7[_0x8934('0x3f')][_0x8934('0x57')]?_0x5157d7['attributes']:_0xf993d2['model'];_0x5157d7[_0x8934('0x43')]=qs[_0x8934('0x44')](_0x280809[_0x8934('0x3d')][_0x8934('0x44')]);_0x5157d7[_0x8934('0x45')]=qs[_0x8934('0x47')](_[_0x8934('0x46')](_0x280809[_0x8934('0x3d')],_0xf993d2[_0x8934('0x47')]));if(_0x280809[_0x8934('0x3d')][_0x8934('0x58')]){_0x5157d7[_0x8934('0x45')]=_[_0x8934('0x48')](_0x5157d7[_0x8934('0x45')],{'$or':_['map'](_0x5157d7['attributes'],function(_0x1a52be){var _0x11b2c6={};_0x11b2c6[_0x1a52be]={'$like':'%'+_0x280809[_0x8934('0x3d')][_0x8934('0x58')]+'%'};return _0x11b2c6;})});}_0x5157d7=_[_0x8934('0x48')]({},_0x5157d7,_0x280809[_0x8934('0x4a')]);return _0x429769[_0x8934('0x59')](_0x5157d7);}})['then'](function(_0x1ccd22){if(_0x1ccd22){_0x44d892=_0x1ccd22[_0x8934('0x57')];if(!_0x280809['query'][_0x8934('0x41')]('nolimit')){_0x5157d7[_0x8934('0x2d')]=qs[_0x8934('0x2d')](_0x280809[_0x8934('0x3d')]['limit']);_0x5157d7[_0x8934('0x2c')]=qs[_0x8934('0x2c')](_0x280809['query'][_0x8934('0x2c')]);}return _0x429769['getConfigurations'](_0x5157d7);}})[_0x8934('0x1d')](function(_0x583448){if(_0x583448){return _0x583448?{'count':_0x44d892,'rows':_0x583448}:null;}})[_0x8934('0x1d')](respondWithResult(_0x10ff96,null))[_0x8934('0x27')](handleError(_0x10ff96,null));};exports[_0x8934('0x5a')]=function(_0x5ea4fe,_0x196372,_0xfbad9){if(_0x5ea4fe[_0x8934('0x53')]['id']){delete _0x5ea4fe[_0x8934('0x53')]['id'];}return db['VtigerAccount'][_0x8934('0x5b')]({'where':{'id':_0x5ea4fe['params']['id']}})[_0x8934('0x1d')](handleEntityNotFound(_0x196372,null))[_0x8934('0x1d')](function(_0x14992b){if(_0x14992b){_0x5ea4fe[_0x8934('0x53')]['AccountId']=_0x14992b['id'];_0x5ea4fe[_0x8934('0x53')][_0x8934('0x5c')]=integrations[_0x8934('0x5d')](_0x5ea4fe['body'][_0x8934('0x5e')],_0x5ea4fe[_0x8934('0x53')][_0x8934('0x39')]);_0x5ea4fe['body']['Descriptions']=integrations[_0x8934('0x5f')](_0x5ea4fe[_0x8934('0x53')][_0x8934('0x5e')],_0x5ea4fe[_0x8934('0x53')][_0x8934('0x39')]);return db[_0x8934('0x56')][_0x8934('0x52')](_0x5ea4fe[_0x8934('0x53')],{'include':[{'model':db[_0x8934('0x60')],'as':'Subjects'},{'model':db[_0x8934('0x60')],'as':_0x8934('0x61')}]});}return null;})[_0x8934('0x1d')](respondWithResult(_0x196372,null))[_0x8934('0x27')](handleError(_0x196372,null));};var md5=require(_0x8934('0x62'));exports['getFields']=function(_0x333d74,_0x288133,_0x5d88fb){var _0x620ac8=null;var _0x548617=null;var _0x57d745=null;var _0x5cf833=null;var _0xa263a8='';return db[_0x8934('0x36')][_0x8934('0x5b')]({'where':{'id':_0x333d74['params']['id']},'attributes':['id',_0x8934('0x33'),_0x8934('0x63'),'description',_0x8934('0x64'),_0x8934('0x65'),_0x8934('0x66'),_0x8934('0x67')]})[_0x8934('0x1d')](handleEntityNotFound(_0x288133,null))[_0x8934('0x1d')](function(_0x293bb8){if(_0x293bb8){_0x620ac8=_0x293bb8[_0x8934('0x63')];_0x548617=_0x293bb8[_0x8934('0x67')];_0x57d745=_0x293bb8[_0x8934('0x64')];_0xa263a8=_0x293bb8['remoteUri'];var _0x3b3fb4=_0xa263a8[_0x8934('0x68')](-0x1);if(_0x3b3fb4==='/'){_0xa263a8=_0xa263a8[_0x8934('0x69')](0x0,_0xa263a8[_0x8934('0x6a')](_0x3b3fb4));}_0x5cf833=util[_0x8934('0x6b')](_0x8934('0x6c'),_0xa263a8);var _0x395e41={'method':'GET','uri':_0x5cf833,'qs':{'operation':_0x8934('0x6d'),'username':_0x293bb8[_0x8934('0x63')]},'json':!![]};return rp(_0x395e41);}})[_0x8934('0x1d')](function(_0x3c7ce7){if(_0x3c7ce7[_0x8934('0x6e')]){var _0xdf0ab2={'method':_0x8934('0x6f'),'uri':_0x5cf833,'form':{'operation':_0x8934('0x70'),'username':_0x620ac8,'accessKey':md5(_0x3c7ce7[_0x8934('0x26')]['token']+_0x548617)},'json':!![]};return rp(_0xdf0ab2);}})['then'](function(_0x1d1590){if(_0x1d1590[_0x8934('0x6e')]){var _0x4faab2={'method':_0x8934('0x71'),'uri':_0x5cf833,'qs':{'operation':_0x8934('0x72'),'username':_0x620ac8,'sessionName':_0x1d1590[_0x8934('0x26')][_0x8934('0x73')],'elementType':_0x57d745},'json':!![]};return rp(_0x4faab2);}})[_0x8934('0x1d')](function(_0x1894ff){if(_0x1894ff[_0x8934('0x6e')]){var _0x2dad95=[_0x8934('0x74'),_0x8934('0x75'),_0x8934('0x76')];_['remove'](_0x1894ff[_0x8934('0x26')][_0x8934('0x40')],function(_0x460cef){return _0x2dad95['includes'](_0x460cef[_0x8934('0x39')]['name']);});_[_0x8934('0x77')](_0x1894ff[_0x8934('0x26')][_0x8934('0x40')],function(_0x39a833){return _0x39a833['editable']==='false';});return{'count':_0x1894ff[_0x8934('0x26')]['fields'][_0x8934('0x57')],'rows':_[_0x8934('0x35')](_0x1894ff[_0x8934('0x26')][_0x8934('0x40')],function(_0x52c2b9){return{'id':_0x52c2b9[_0x8934('0x33')],'name':_0x52c2b9['label'],'custom':_['startsWith'](_0x52c2b9['name'],'cf_')?!![]:![],'options':_0x52c2b9[_0x8934('0x39')][_0x8934('0x33')]===_0x8934('0x78')&&_0x52c2b9[_0x8934('0x39')][_0x8934('0x79')]['length']>0x0?_['map'](_0x52c2b9[_0x8934('0x39')][_0x8934('0x79')],function(_0x2e43ce){return{'name':_0x2e43ce[_0x8934('0x7a')],'value':_0x2e43ce[_0x8934('0x7b')]};}):[]};})};}})[_0x8934('0x1d')](respondWithResult(_0x288133,null))[_0x8934('0x27')](function(_0x2839dd){console[_0x8934('0x7c')](_0x8934('0x7d')+_0x2839dd);var _0x211a9a=_0x333d74[_0x8934('0x3d')][_0x8934('0x7e')]?0x1f4:_0x2839dd[_0x8934('0x7f')]||0x1f4;logger[_0x8934('0x24')](_0x8934('0x80'),'getFields',_0x211a9a,JSON['stringify'](_0x2839dd));delete _0x2839dd[_0x8934('0x33')];if(_0x211a9a===0x191){_0x211a9a=0x190;}_0x288133[_0x8934('0x29')](_0x211a9a)['send'](_0x333d74[_0x8934('0x3d')][_0x8934('0x7e')]?{'message':_0x8934('0x81'),'statusCode':_0x2839dd[_0x8934('0x7f')]}:_0x2839dd);});};