cefd2412a15d86f0623614dbd186dd09c6598a71
[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 _0x8485=['path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','error','stack','name','send','index','map','VtigerAccount','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','destroy','getConfigurations','findOne','order','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','VtigerConfiguration','VtigerField','md5','getFields','description','moduleName','remoteUri','serverUrl','accessKey','username','slice','substring','format','%s/webservice.php','getchallenge','success','login','token','describe','result','sessionName','reference','remove','editable','false','label','startsWith','picklist','picklistValues','value','log','vTiger\x20error:\x20','getFields,\x20%s,\x20%s,\x20%s','stringify','test','statusCode','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util'];(function(_0x4455bc,_0x25c254){var _0x721c22=function(_0x29e62e){while(--_0x29e62e){_0x4455bc['push'](_0x4455bc['shift']());}};_0x721c22(++_0x25c254);}(_0x8485,0xf2));var _0x5848=function(_0x3fe61d,_0x18bcd1){_0x3fe61d=_0x3fe61d-0x0;var _0x4487b4=_0x8485[_0x3fe61d];return _0x4487b4;};'use strict';var emlformat=require(_0x5848('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x5848('0x1'));var jsonpatch=require(_0x5848('0x2'));var rp=require(_0x5848('0x3'));var moment=require('moment');var BPromise=require(_0x5848('0x4'));var Mustache=require('mustache');var util=require(_0x5848('0x5'));var path=require(_0x5848('0x6'));var sox=require(_0x5848('0x7'));var csv=require(_0x5848('0x8'));var ejs=require(_0x5848('0x9'));var fs=require('fs');var fs_extra=require(_0x5848('0xa'));var _=require('lodash');var squel=require(_0x5848('0xb'));var crypto=require(_0x5848('0xc'));var jsforce=require(_0x5848('0xd'));var deskjs=require(_0x5848('0xe'));var toCsv=require('to-csv');var querystring=require(_0x5848('0xf'));var Papa=require(_0x5848('0x10'));var Redis=require('ioredis');var authService=require(_0x5848('0x11'));var qs=require(_0x5848('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5848('0x13'));var logger=require(_0x5848('0x14'))(_0x5848('0x15'));var utils=require(_0x5848('0x16'));var config=require(_0x5848('0x17'));var licenseUtil=require(_0x5848('0x18'));var db=require(_0x5848('0x19'))['db'];var integrations=require(_0x5848('0x1a'));function respondWithStatusCode(_0x545428,_0x3599d2){_0x3599d2=_0x3599d2||0xcc;return function(_0x1fb9f8){if(_0x1fb9f8){return _0x545428[_0x5848('0x1b')](_0x3599d2);}return _0x545428['status'](_0x3599d2)[_0x5848('0x1c')]();};}function respondWithResult(_0x380088,_0x324a36){_0x324a36=_0x324a36||0xc8;return function(_0x4a9691){if(_0x4a9691){return _0x380088[_0x5848('0x1d')](_0x324a36)[_0x5848('0x1e')](_0x4a9691);}};}function respondWithFilteredResult(_0x20be8a,_0x51c1ee){return function(_0x32553b){if(_0x32553b){var _0x106e2d=typeof _0x51c1ee[_0x5848('0x1f')]===_0x5848('0x20')&&typeof _0x51c1ee[_0x5848('0x21')]===_0x5848('0x20');var _0x2ef115=_0x32553b[_0x5848('0x22')];var _0xedcf21=_0x106e2d?0x0:_0x51c1ee[_0x5848('0x1f')];var _0x74a836=_0x106e2d?_0x32553b['count']:_0x51c1ee[_0x5848('0x1f')]+_0x51c1ee[_0x5848('0x21')];var _0x3269ad;if(_0x74a836>=_0x2ef115){_0x74a836=_0x2ef115;_0x3269ad=0xc8;}else{_0x3269ad=0xce;}_0x20be8a[_0x5848('0x1d')](_0x3269ad);return _0x20be8a[_0x5848('0x23')](_0x5848('0x24'),_0xedcf21+'-'+_0x74a836+'/'+_0x2ef115)['json'](_0x32553b);}return null;};}function patchUpdates(_0x3088c5){return function(_0x3eec68){try{jsonpatch['apply'](_0x3eec68,_0x3088c5,!![]);}catch(_0x457937){return BPromise[_0x5848('0x25')](_0x457937);}return _0x3eec68[_0x5848('0x26')]();};}function saveUpdates(_0x2def04,_0x42e76d){return function(_0x4afd22){if(_0x4afd22){return _0x4afd22[_0x5848('0x27')](_0x2def04)[_0x5848('0x28')](function(_0x3ee2a7){return _0x3ee2a7;});}return null;};}function removeEntity(_0x121985,_0x144ea7){return function(_0x20daee){if(_0x20daee){return _0x20daee['destroy']()['then'](function(){_0x121985[_0x5848('0x1d')](0xcc)[_0x5848('0x1c')]();});}};}function handleEntityNotFound(_0x5e8d41,_0x2a03c9){return function(_0x549448){if(!_0x549448){_0x5e8d41[_0x5848('0x1b')](0x194);}return _0x549448;};}function handleError(_0x425850,_0x1f26c9){_0x1f26c9=_0x1f26c9||0x1f4;return function(_0x53d8d9){logger[_0x5848('0x29')](_0x53d8d9[_0x5848('0x2a')]);if(_0x53d8d9[_0x5848('0x2b')]){delete _0x53d8d9['name'];}_0x425850[_0x5848('0x1d')](_0x1f26c9)[_0x5848('0x2c')](_0x53d8d9);};}exports[_0x5848('0x2d')]=function(_0x5889dd,_0x186978){var _0x8aae10={},_0x1bd7d9={},_0x237727={'count':0x0,'rows':[]};var _0x55fde1=_[_0x5848('0x2e')](db[_0x5848('0x2f')][_0x5848('0x30')],function(_0x2edc12){return{'name':_0x2edc12[_0x5848('0x31')],'type':_0x2edc12[_0x5848('0x32')]['key']};});_0x1bd7d9[_0x5848('0x33')]=_[_0x5848('0x2e')](_0x55fde1,'name');_0x1bd7d9['query']=_[_0x5848('0x34')](_0x5889dd[_0x5848('0x35')]);_0x1bd7d9[_0x5848('0x36')]=_[_0x5848('0x37')](_0x1bd7d9[_0x5848('0x33')],_0x1bd7d9[_0x5848('0x35')]);_0x8aae10[_0x5848('0x38')]=_[_0x5848('0x37')](_0x1bd7d9[_0x5848('0x33')],qs[_0x5848('0x39')](_0x5889dd[_0x5848('0x35')]['fields']));_0x8aae10['attributes']=_0x8aae10['attributes'][_0x5848('0x3a')]?_0x8aae10[_0x5848('0x38')]:_0x1bd7d9[_0x5848('0x33')];if(!_0x5889dd[_0x5848('0x35')][_0x5848('0x3b')]('nolimit')){_0x8aae10['limit']=qs[_0x5848('0x21')](_0x5889dd[_0x5848('0x35')][_0x5848('0x21')]);_0x8aae10[_0x5848('0x1f')]=qs[_0x5848('0x1f')](_0x5889dd[_0x5848('0x35')][_0x5848('0x1f')]);}_0x8aae10['order']=qs['sort'](_0x5889dd[_0x5848('0x35')][_0x5848('0x3c')]);_0x8aae10[_0x5848('0x3d')]=qs[_0x5848('0x36')](_[_0x5848('0x3e')](_0x5889dd['query'],_0x1bd7d9[_0x5848('0x36')]),_0x55fde1);if(_0x5889dd[_0x5848('0x35')][_0x5848('0x3f')]){_0x8aae10[_0x5848('0x3d')]=_['merge'](_0x8aae10['where'],{'$or':_[_0x5848('0x2e')](_0x55fde1,function(_0x33b1a4){if(_0x33b1a4[_0x5848('0x32')]!==_0x5848('0x40')){var _0x4547e0={};_0x4547e0[_0x33b1a4[_0x5848('0x2b')]]={'$like':'%'+_0x5889dd[_0x5848('0x35')]['filter']+'%'};return _0x4547e0;}})});}_0x8aae10=_[_0x5848('0x41')]({},_0x8aae10,_0x5889dd[_0x5848('0x42')]);var _0x7de9aa={'where':_0x8aae10[_0x5848('0x3d')]};return db[_0x5848('0x2f')][_0x5848('0x22')](_0x7de9aa)[_0x5848('0x28')](function(_0x427a97){_0x237727[_0x5848('0x22')]=_0x427a97;if(_0x5889dd[_0x5848('0x35')][_0x5848('0x43')]){_0x8aae10['include']=[{'all':!![]}];}return db[_0x5848('0x2f')][_0x5848('0x44')](_0x8aae10);})[_0x5848('0x28')](function(_0x47b918){_0x237727[_0x5848('0x45')]=_0x47b918;return _0x237727;})[_0x5848('0x28')](respondWithFilteredResult(_0x186978,_0x8aae10))[_0x5848('0x46')](handleError(_0x186978,null));};exports[_0x5848('0x47')]=function(_0x31f1c8,_0x3534bc){var _0x4adc63={'raw':![],'where':{'id':_0x31f1c8[_0x5848('0x48')]['id']}},_0x59e156={};_0x59e156[_0x5848('0x33')]=_[_0x5848('0x34')](db[_0x5848('0x2f')][_0x5848('0x30')]);_0x59e156[_0x5848('0x35')]=_[_0x5848('0x34')](_0x31f1c8[_0x5848('0x35')]);_0x59e156[_0x5848('0x36')]=_[_0x5848('0x37')](_0x59e156[_0x5848('0x33')],_0x59e156[_0x5848('0x35')]);_0x4adc63[_0x5848('0x38')]=_[_0x5848('0x37')](_0x59e156[_0x5848('0x33')],qs[_0x5848('0x39')](_0x31f1c8[_0x5848('0x35')]['fields']));_0x4adc63[_0x5848('0x38')]=_0x4adc63[_0x5848('0x38')][_0x5848('0x3a')]?_0x4adc63['attributes']:_0x59e156[_0x5848('0x33')];if(_0x31f1c8[_0x5848('0x35')][_0x5848('0x43')]){_0x4adc63[_0x5848('0x49')]=[{'all':!![]}];}_0x4adc63=_[_0x5848('0x41')]({},_0x4adc63,_0x31f1c8[_0x5848('0x42')]);return db[_0x5848('0x2f')][_0x5848('0x4a')](_0x4adc63)[_0x5848('0x28')](handleEntityNotFound(_0x3534bc,null))[_0x5848('0x28')](respondWithResult(_0x3534bc,null))[_0x5848('0x46')](handleError(_0x3534bc,null));};exports['create']=function(_0x2a446a,_0x38e186){return db[_0x5848('0x2f')][_0x5848('0x4b')](_0x2a446a['body'],{})['then'](respondWithResult(_0x38e186,0xc9))[_0x5848('0x46')](handleError(_0x38e186,null));};exports[_0x5848('0x27')]=function(_0x29c68f,_0x30d86e){if(_0x29c68f[_0x5848('0x4c')]['id']){delete _0x29c68f['body']['id'];}return db[_0x5848('0x2f')][_0x5848('0x4a')]({'where':{'id':_0x29c68f['params']['id']}})[_0x5848('0x28')](handleEntityNotFound(_0x30d86e,null))[_0x5848('0x28')](saveUpdates(_0x29c68f[_0x5848('0x4c')],null))[_0x5848('0x28')](respondWithResult(_0x30d86e,null))['catch'](handleError(_0x30d86e,null));};exports[_0x5848('0x4d')]=function(_0x483feb,_0x2094b3){return db['VtigerAccount'][_0x5848('0x4a')]({'where':{'id':_0x483feb[_0x5848('0x48')]['id']}})[_0x5848('0x28')](handleEntityNotFound(_0x2094b3,null))['then'](removeEntity(_0x2094b3,null))['catch'](handleError(_0x2094b3,null));};exports[_0x5848('0x4e')]=function(_0x4ba448,_0x2ae30f,_0x4d9f27){var _0x1773b8={};var _0x5d560e={};var _0x10da56;var _0x5559f2;return db['VtigerAccount'][_0x5848('0x4f')]({'where':{'id':_0x4ba448[_0x5848('0x48')]['id']}})[_0x5848('0x28')](handleEntityNotFound(_0x2ae30f,null))[_0x5848('0x28')](function(_0x29c0b3){if(_0x29c0b3){_0x10da56=_0x29c0b3;_0x5d560e[_0x5848('0x33')]=_['keys'](db['VtigerConfiguration'][_0x5848('0x30')]);_0x5d560e[_0x5848('0x35')]=_[_0x5848('0x34')](_0x4ba448['query']);_0x5d560e[_0x5848('0x36')]=_[_0x5848('0x37')](_0x5d560e[_0x5848('0x33')],_0x5d560e[_0x5848('0x35')]);_0x1773b8[_0x5848('0x38')]=_['intersection'](_0x5d560e['model'],qs['fields'](_0x4ba448[_0x5848('0x35')][_0x5848('0x39')]));_0x1773b8[_0x5848('0x38')]=_0x1773b8[_0x5848('0x38')][_0x5848('0x3a')]?_0x1773b8['attributes']:_0x5d560e[_0x5848('0x33')];_0x1773b8[_0x5848('0x50')]=qs[_0x5848('0x3c')](_0x4ba448['query'][_0x5848('0x3c')]);_0x1773b8[_0x5848('0x3d')]=qs[_0x5848('0x36')](_[_0x5848('0x3e')](_0x4ba448['query'],_0x5d560e['filters']));if(_0x4ba448[_0x5848('0x35')][_0x5848('0x3f')]){_0x1773b8[_0x5848('0x3d')]=_[_0x5848('0x41')](_0x1773b8[_0x5848('0x3d')],{'$or':_[_0x5848('0x2e')](_0x1773b8[_0x5848('0x38')],function(_0x5183d2){var _0x541ab2={};_0x541ab2[_0x5183d2]={'$like':'%'+_0x4ba448[_0x5848('0x35')]['filter']+'%'};return _0x541ab2;})});}_0x1773b8=_[_0x5848('0x41')]({},_0x1773b8,_0x4ba448[_0x5848('0x42')]);return _0x10da56[_0x5848('0x4e')](_0x1773b8);}})['then'](function(_0x3383b1){if(_0x3383b1){_0x5559f2=_0x3383b1[_0x5848('0x3a')];if(!_0x4ba448['query'][_0x5848('0x3b')](_0x5848('0x51'))){_0x1773b8[_0x5848('0x21')]=qs[_0x5848('0x21')](_0x4ba448[_0x5848('0x35')][_0x5848('0x21')]);_0x1773b8['offset']=qs[_0x5848('0x1f')](_0x4ba448[_0x5848('0x35')][_0x5848('0x1f')]);}return _0x10da56[_0x5848('0x4e')](_0x1773b8);}})[_0x5848('0x28')](function(_0x242b69){if(_0x242b69){return _0x242b69?{'count':_0x5559f2,'rows':_0x242b69}:null;}})[_0x5848('0x28')](respondWithResult(_0x2ae30f,null))[_0x5848('0x46')](handleError(_0x2ae30f,null));};exports[_0x5848('0x52')]=function(_0x2896c4,_0xa61391,_0x164699){if(_0x2896c4[_0x5848('0x4c')]['id']){delete _0x2896c4['body']['id'];}return db['VtigerAccount'][_0x5848('0x4f')]({'where':{'id':_0x2896c4[_0x5848('0x48')]['id']}})['then'](handleEntityNotFound(_0xa61391,null))[_0x5848('0x28')](function(_0x4b78ec){if(_0x4b78ec){_0x2896c4[_0x5848('0x4c')][_0x5848('0x53')]=_0x4b78ec['id'];_0x2896c4[_0x5848('0x4c')][_0x5848('0x54')]=integrations[_0x5848('0x55')](_0x2896c4[_0x5848('0x4c')][_0x5848('0x56')],_0x2896c4[_0x5848('0x4c')][_0x5848('0x32')]);_0x2896c4[_0x5848('0x4c')][_0x5848('0x57')]=integrations['getDescriptions'](_0x2896c4['body']['channel'],_0x2896c4[_0x5848('0x4c')]['type']);return db[_0x5848('0x58')][_0x5848('0x4b')](_0x2896c4[_0x5848('0x4c')],{'include':[{'model':db[_0x5848('0x59')],'as':_0x5848('0x54')},{'model':db[_0x5848('0x59')],'as':_0x5848('0x57')}]});}return null;})[_0x5848('0x28')](respondWithResult(_0xa61391,null))[_0x5848('0x46')](handleError(_0xa61391,null));};var md5=require(_0x5848('0x5a'));exports[_0x5848('0x5b')]=function(_0xb44fe8,_0x802b07,_0x27ec52){var _0x4b4e2b=null;var _0x1bbdc4=null;var _0x4a96bc=null;var _0xdd701=null;var _0xfe5edf='';return db[_0x5848('0x2f')][_0x5848('0x4f')]({'where':{'id':_0xb44fe8[_0x5848('0x48')]['id']},'attributes':['id',_0x5848('0x2b'),'username',_0x5848('0x5c'),_0x5848('0x5d'),_0x5848('0x5e'),_0x5848('0x5f'),_0x5848('0x60')]})[_0x5848('0x28')](handleEntityNotFound(_0x802b07,null))[_0x5848('0x28')](function(_0x4a9b9a){if(_0x4a9b9a){_0x4b4e2b=_0x4a9b9a[_0x5848('0x61')];_0x1bbdc4=_0x4a9b9a['accessKey'];_0x4a96bc=_0x4a9b9a[_0x5848('0x5d')];_0xfe5edf=_0x4a9b9a[_0x5848('0x5e')];var _0x7b6a7a=_0xfe5edf[_0x5848('0x62')](-0x1);if(_0x7b6a7a==='/'){_0xfe5edf=_0xfe5edf[_0x5848('0x63')](0x0,_0xfe5edf['lastIndexOf'](_0x7b6a7a));}_0xdd701=util[_0x5848('0x64')](_0x5848('0x65'),_0xfe5edf);var _0xf8aad3={'method':'GET','uri':_0xdd701,'qs':{'operation':_0x5848('0x66'),'username':_0x4a9b9a[_0x5848('0x61')]},'json':!![]};return rp(_0xf8aad3);}})[_0x5848('0x28')](function(_0x2a7978){if(_0x2a7978[_0x5848('0x67')]){var _0x4ae116={'method':'POST','uri':_0xdd701,'form':{'operation':_0x5848('0x68'),'username':_0x4b4e2b,'accessKey':md5(_0x2a7978['result'][_0x5848('0x69')]+_0x1bbdc4)},'json':!![]};return rp(_0x4ae116);}})['then'](function(_0x189993){if(_0x189993[_0x5848('0x67')]){var _0x3703ba={'method':'GET','uri':_0xdd701,'qs':{'operation':_0x5848('0x6a'),'username':_0x4b4e2b,'sessionName':_0x189993[_0x5848('0x6b')][_0x5848('0x6c')],'elementType':_0x4a96bc},'json':!![]};return rp(_0x3703ba);}})[_0x5848('0x28')](function(_0x5495bf){if(_0x5495bf[_0x5848('0x67')]){var _0x294199=['autogenerated',_0x5848('0x6d'),'owner'];_['remove'](_0x5495bf['result'][_0x5848('0x39')],function(_0xd95bfb){return _0x294199['includes'](_0xd95bfb[_0x5848('0x32')][_0x5848('0x2b')]);});_[_0x5848('0x6e')](_0x5495bf[_0x5848('0x6b')][_0x5848('0x39')],function(_0x322ca4){return _0x322ca4[_0x5848('0x6f')]===_0x5848('0x70');});return{'count':_0x5495bf[_0x5848('0x6b')][_0x5848('0x39')][_0x5848('0x3a')],'rows':_[_0x5848('0x2e')](_0x5495bf['result'][_0x5848('0x39')],function(_0x25b94c){return{'id':_0x25b94c['name'],'name':_0x25b94c[_0x5848('0x71')],'custom':_[_0x5848('0x72')](_0x25b94c[_0x5848('0x2b')],'cf_')?!![]:![],'options':_0x25b94c[_0x5848('0x32')]['name']===_0x5848('0x73')&&_0x25b94c[_0x5848('0x32')][_0x5848('0x74')][_0x5848('0x3a')]>0x0?_[_0x5848('0x2e')](_0x25b94c['type']['picklistValues'],function(_0x232d05){return{'name':_0x232d05[_0x5848('0x71')],'value':_0x232d05[_0x5848('0x75')]};}):[]};})};}})[_0x5848('0x28')](respondWithResult(_0x802b07,null))[_0x5848('0x46')](function(_0xd5e47){console[_0x5848('0x76')](_0x5848('0x77')+_0xd5e47);var _0x1a1807=_0xb44fe8['query']['test']?0x1f4:_0xd5e47['statusCode']||0x1f4;logger[_0x5848('0x29')](_0x5848('0x78'),_0x5848('0x5b'),_0x1a1807,JSON[_0x5848('0x79')](_0xd5e47));delete _0xd5e47['name'];if(_0x1a1807===0x191){_0x1a1807=0x190;}_0x802b07[_0x5848('0x1d')](_0x1a1807)[_0x5848('0x2c')](_0xb44fe8[_0x5848('0x35')][_0x5848('0x7a')]?{'message':'Wrong\x20credentials','statusCode':_0xd5e47[_0x5848('0x7b')]}:_0xd5e47);});};