Built motion from commit 994c64e1.|2.6.1
[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 _0xd0a9=['../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','undefined','limit','offset','count','Content-Range','apply','update','then','error','name','send','index','VtigerAccount','fieldName','model','map','query','keys','intersection','attributes','fields','nolimit','order','sort','filters','pick','filter','where','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','destroy','getConfigurations','findOne','VtigerConfiguration','rawAttributes','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','VtigerField','Descriptions','md5','getFields','username','description','serverUrl','accessKey','moduleName','substring','format','%s/webservice.php','getchallenge','success','POST','login','result','token','GET','describe','sessionName','autogenerated','reference','owner','remove','includes','false','label','cf_','picklist','picklistValues','value','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','papaparse'];(function(_0x57e843,_0x1aed2d){var _0x54d548=function(_0x26185e){while(--_0x26185e){_0x57e843['push'](_0x57e843['shift']());}};_0x54d548(++_0x1aed2d);}(_0xd0a9,0x158));var _0x9d0a=function(_0xd1c39b,_0x16f0c6){_0xd1c39b=_0xd1c39b-0x0;var _0x58f5bc=_0xd0a9[_0xd1c39b];return _0x58f5bc;};'use strict';var emlformat=require(_0x9d0a('0x0'));var rimraf=require(_0x9d0a('0x1'));var zipdir=require(_0x9d0a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9d0a('0x3'));var moment=require(_0x9d0a('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9d0a('0x5'));var util=require(_0x9d0a('0x6'));var path=require('path');var sox=require(_0x9d0a('0x7'));var csv=require(_0x9d0a('0x8'));var ejs=require(_0x9d0a('0x9'));var fs=require('fs');var fs_extra=require(_0x9d0a('0xa'));var _=require('lodash');var squel=require(_0x9d0a('0xb'));var crypto=require(_0x9d0a('0xc'));var jsforce=require(_0x9d0a('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x9d0a('0xe'));var Papa=require(_0x9d0a('0xf'));var Redis=require('ioredis');var authService=require(_0x9d0a('0x10'));var qs=require(_0x9d0a('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9d0a('0x12'));var logger=require('../../config/logger')(_0x9d0a('0x13'));var utils=require(_0x9d0a('0x14'));var config=require(_0x9d0a('0x15'));var licenseUtil=require(_0x9d0a('0x16'));var db=require('../../mysqldb')['db'];var integrations=require(_0x9d0a('0x17'));function respondWithStatusCode(_0x1c8646,_0x14acc7){_0x14acc7=_0x14acc7||0xcc;return function(_0x56c1d8){if(_0x56c1d8){return _0x1c8646[_0x9d0a('0x18')](_0x14acc7);}return _0x1c8646[_0x9d0a('0x19')](_0x14acc7)[_0x9d0a('0x1a')]();};}function respondWithResult(_0x58b0c2,_0x5e6703){_0x5e6703=_0x5e6703||0xc8;return function(_0x16732a){if(_0x16732a){return _0x58b0c2[_0x9d0a('0x19')](_0x5e6703)['json'](_0x16732a);}};}function respondWithFilteredResult(_0x431b57,_0x1120ef){return function(_0x160608){if(_0x160608){var _0x237aee=typeof _0x1120ef['offset']===_0x9d0a('0x1b')&&typeof _0x1120ef[_0x9d0a('0x1c')]===_0x9d0a('0x1b');var _0x5006c3=_0x160608['count'];var _0x93eba5=_0x237aee?0x0:_0x1120ef[_0x9d0a('0x1d')];var _0x5b1591=_0x237aee?_0x160608[_0x9d0a('0x1e')]:_0x1120ef[_0x9d0a('0x1d')]+_0x1120ef[_0x9d0a('0x1c')];var _0x47d2a7;if(_0x5b1591>=_0x5006c3){_0x5b1591=_0x5006c3;_0x47d2a7=0xc8;}else{_0x47d2a7=0xce;}_0x431b57[_0x9d0a('0x19')](_0x47d2a7);return _0x431b57['set'](_0x9d0a('0x1f'),_0x93eba5+'-'+_0x5b1591+'/'+_0x5006c3)['json'](_0x160608);}return null;};}function patchUpdates(_0x16486a){return function(_0x5d173c){try{jsonpatch[_0x9d0a('0x20')](_0x5d173c,_0x16486a,!![]);}catch(_0xb64d0a){return BPromise['reject'](_0xb64d0a);}return _0x5d173c['save']();};}function saveUpdates(_0xf50c3e,_0x443b94){return function(_0x37c9e4){if(_0x37c9e4){return _0x37c9e4[_0x9d0a('0x21')](_0xf50c3e)[_0x9d0a('0x22')](function(_0x37c22e){return _0x37c22e;});}return null;};}function removeEntity(_0x3d3c56,_0xfce821){return function(_0x1da412){if(_0x1da412){return _0x1da412['destroy']()['then'](function(){_0x3d3c56[_0x9d0a('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3549e2,_0x3d3c2f){return function(_0xc4ca98){if(!_0xc4ca98){_0x3549e2[_0x9d0a('0x18')](0x194);}return _0xc4ca98;};}function handleError(_0x11a0d9,_0x830b9c){_0x830b9c=_0x830b9c||0x1f4;return function(_0x554df2){logger[_0x9d0a('0x23')](_0x554df2['stack']);if(_0x554df2[_0x9d0a('0x24')]){delete _0x554df2['name'];}_0x11a0d9[_0x9d0a('0x19')](_0x830b9c)[_0x9d0a('0x25')](_0x554df2);};}exports[_0x9d0a('0x26')]=function(_0x479846,_0x26364b){var _0x40155c={},_0x280be0={},_0x2a8ef7={'count':0x0,'rows':[]};var _0x28eeab=_['map'](db[_0x9d0a('0x27')]['rawAttributes'],function(_0xee6881){return{'name':_0xee6881[_0x9d0a('0x28')],'type':_0xee6881['type']['key']};});_0x280be0[_0x9d0a('0x29')]=_[_0x9d0a('0x2a')](_0x28eeab,_0x9d0a('0x24'));_0x280be0[_0x9d0a('0x2b')]=_[_0x9d0a('0x2c')](_0x479846[_0x9d0a('0x2b')]);_0x280be0['filters']=_[_0x9d0a('0x2d')](_0x280be0[_0x9d0a('0x29')],_0x280be0[_0x9d0a('0x2b')]);_0x40155c[_0x9d0a('0x2e')]=_[_0x9d0a('0x2d')](_0x280be0[_0x9d0a('0x29')],qs['fields'](_0x479846[_0x9d0a('0x2b')][_0x9d0a('0x2f')]));_0x40155c[_0x9d0a('0x2e')]=_0x40155c['attributes']['length']?_0x40155c[_0x9d0a('0x2e')]:_0x280be0['model'];if(!_0x479846[_0x9d0a('0x2b')]['hasOwnProperty'](_0x9d0a('0x30'))){_0x40155c[_0x9d0a('0x1c')]=qs[_0x9d0a('0x1c')](_0x479846[_0x9d0a('0x2b')]['limit']);_0x40155c[_0x9d0a('0x1d')]=qs[_0x9d0a('0x1d')](_0x479846['query'][_0x9d0a('0x1d')]);}_0x40155c[_0x9d0a('0x31')]=qs[_0x9d0a('0x32')](_0x479846[_0x9d0a('0x2b')][_0x9d0a('0x32')]);_0x40155c['where']=qs[_0x9d0a('0x33')](_[_0x9d0a('0x34')](_0x479846[_0x9d0a('0x2b')],_0x280be0['filters']),_0x28eeab);if(_0x479846[_0x9d0a('0x2b')][_0x9d0a('0x35')]){_0x40155c[_0x9d0a('0x36')]=_['merge'](_0x40155c['where'],{'$or':_['map'](_0x28eeab,function(_0x343e35){if(_0x343e35[_0x9d0a('0x37')]!==_0x9d0a('0x38')){var _0x4574e3={};_0x4574e3[_0x343e35[_0x9d0a('0x24')]]={'$like':'%'+_0x479846['query'][_0x9d0a('0x35')]+'%'};return _0x4574e3;}})});}_0x40155c=_[_0x9d0a('0x39')]({},_0x40155c,_0x479846[_0x9d0a('0x3a')]);var _0x532c71={'where':_0x40155c[_0x9d0a('0x36')]};return db[_0x9d0a('0x27')][_0x9d0a('0x1e')](_0x532c71)[_0x9d0a('0x22')](function(_0x23e423){_0x2a8ef7['count']=_0x23e423;if(_0x479846[_0x9d0a('0x2b')][_0x9d0a('0x3b')]){_0x40155c[_0x9d0a('0x3c')]=[{'all':!![]}];}return db['VtigerAccount'][_0x9d0a('0x3d')](_0x40155c);})[_0x9d0a('0x22')](function(_0x3389dd){_0x2a8ef7[_0x9d0a('0x3e')]=_0x3389dd;return _0x2a8ef7;})[_0x9d0a('0x22')](respondWithFilteredResult(_0x26364b,_0x40155c))[_0x9d0a('0x3f')](handleError(_0x26364b,null));};exports[_0x9d0a('0x40')]=function(_0x23469b,_0x44e2a9){var _0x3956f1={'raw':![],'where':{'id':_0x23469b[_0x9d0a('0x41')]['id']}},_0x59cba7={};_0x59cba7[_0x9d0a('0x29')]=_[_0x9d0a('0x2c')](db[_0x9d0a('0x27')]['rawAttributes']);_0x59cba7['query']=_[_0x9d0a('0x2c')](_0x23469b['query']);_0x59cba7[_0x9d0a('0x33')]=_['intersection'](_0x59cba7['model'],_0x59cba7['query']);_0x3956f1[_0x9d0a('0x2e')]=_[_0x9d0a('0x2d')](_0x59cba7[_0x9d0a('0x29')],qs[_0x9d0a('0x2f')](_0x23469b[_0x9d0a('0x2b')]['fields']));_0x3956f1[_0x9d0a('0x2e')]=_0x3956f1[_0x9d0a('0x2e')][_0x9d0a('0x42')]?_0x3956f1[_0x9d0a('0x2e')]:_0x59cba7[_0x9d0a('0x29')];if(_0x23469b['query'][_0x9d0a('0x3b')]){_0x3956f1[_0x9d0a('0x3c')]=[{'all':!![]}];}_0x3956f1=_[_0x9d0a('0x39')]({},_0x3956f1,_0x23469b[_0x9d0a('0x3a')]);return db[_0x9d0a('0x27')][_0x9d0a('0x43')](_0x3956f1)[_0x9d0a('0x22')](handleEntityNotFound(_0x44e2a9,null))[_0x9d0a('0x22')](respondWithResult(_0x44e2a9,null))[_0x9d0a('0x3f')](handleError(_0x44e2a9,null));};exports[_0x9d0a('0x44')]=function(_0x1f760f,_0x5c1280){return db[_0x9d0a('0x27')][_0x9d0a('0x44')](_0x1f760f[_0x9d0a('0x45')],{})[_0x9d0a('0x22')](respondWithResult(_0x5c1280,0xc9))[_0x9d0a('0x3f')](handleError(_0x5c1280,null));};exports[_0x9d0a('0x21')]=function(_0x22b10a,_0x52c941){if(_0x22b10a[_0x9d0a('0x45')]['id']){delete _0x22b10a[_0x9d0a('0x45')]['id'];}return db['VtigerAccount'][_0x9d0a('0x43')]({'where':{'id':_0x22b10a[_0x9d0a('0x41')]['id']}})[_0x9d0a('0x22')](handleEntityNotFound(_0x52c941,null))[_0x9d0a('0x22')](saveUpdates(_0x22b10a[_0x9d0a('0x45')],null))[_0x9d0a('0x22')](respondWithResult(_0x52c941,null))['catch'](handleError(_0x52c941,null));};exports[_0x9d0a('0x46')]=function(_0x4d7f4a,_0xf7a404){return db[_0x9d0a('0x27')]['find']({'where':{'id':_0x4d7f4a['params']['id']}})[_0x9d0a('0x22')](handleEntityNotFound(_0xf7a404,null))['then'](removeEntity(_0xf7a404,null))['catch'](handleError(_0xf7a404,null));};exports[_0x9d0a('0x47')]=function(_0x420c33,_0x14bd64,_0x1153b0){var _0x154329={};var _0x467b01={};var _0x23ba39;var _0x2a217f;return db['VtigerAccount'][_0x9d0a('0x48')]({'where':{'id':_0x420c33[_0x9d0a('0x41')]['id']}})['then'](handleEntityNotFound(_0x14bd64,null))[_0x9d0a('0x22')](function(_0x35df66){if(_0x35df66){_0x23ba39=_0x35df66;_0x467b01[_0x9d0a('0x29')]=_[_0x9d0a('0x2c')](db[_0x9d0a('0x49')][_0x9d0a('0x4a')]);_0x467b01[_0x9d0a('0x2b')]=_['keys'](_0x420c33[_0x9d0a('0x2b')]);_0x467b01[_0x9d0a('0x33')]=_[_0x9d0a('0x2d')](_0x467b01[_0x9d0a('0x29')],_0x467b01[_0x9d0a('0x2b')]);_0x154329['attributes']=_[_0x9d0a('0x2d')](_0x467b01[_0x9d0a('0x29')],qs['fields'](_0x420c33[_0x9d0a('0x2b')][_0x9d0a('0x2f')]));_0x154329[_0x9d0a('0x2e')]=_0x154329[_0x9d0a('0x2e')][_0x9d0a('0x42')]?_0x154329['attributes']:_0x467b01[_0x9d0a('0x29')];_0x154329[_0x9d0a('0x31')]=qs[_0x9d0a('0x32')](_0x420c33[_0x9d0a('0x2b')]['sort']);_0x154329[_0x9d0a('0x36')]=qs[_0x9d0a('0x33')](_['pick'](_0x420c33['query'],_0x467b01[_0x9d0a('0x33')]));if(_0x420c33[_0x9d0a('0x2b')][_0x9d0a('0x35')]){_0x154329['where']=_[_0x9d0a('0x39')](_0x154329['where'],{'$or':_[_0x9d0a('0x2a')](_0x154329[_0x9d0a('0x2e')],function(_0x30e3b4){var _0x4f3b49={};_0x4f3b49[_0x30e3b4]={'$like':'%'+_0x420c33[_0x9d0a('0x2b')]['filter']+'%'};return _0x4f3b49;})});}_0x154329=_['merge']({},_0x154329,_0x420c33['options']);return _0x23ba39['getConfigurations'](_0x154329);}})[_0x9d0a('0x22')](function(_0x118cb4){if(_0x118cb4){_0x2a217f=_0x118cb4[_0x9d0a('0x42')];if(!_0x420c33[_0x9d0a('0x2b')]['hasOwnProperty'](_0x9d0a('0x30'))){_0x154329['limit']=qs[_0x9d0a('0x1c')](_0x420c33[_0x9d0a('0x2b')][_0x9d0a('0x1c')]);_0x154329[_0x9d0a('0x1d')]=qs[_0x9d0a('0x1d')](_0x420c33[_0x9d0a('0x2b')][_0x9d0a('0x1d')]);}return _0x23ba39['getConfigurations'](_0x154329);}})[_0x9d0a('0x22')](function(_0x31433f){if(_0x31433f){return _0x31433f?{'count':_0x2a217f,'rows':_0x31433f}:null;}})['then'](respondWithResult(_0x14bd64,null))[_0x9d0a('0x3f')](handleError(_0x14bd64,null));};exports[_0x9d0a('0x4b')]=function(_0x3d49c4,_0x1429af,_0x45f0dd){if(_0x3d49c4[_0x9d0a('0x45')]['id']){delete _0x3d49c4['body']['id'];}return db[_0x9d0a('0x27')][_0x9d0a('0x48')]({'where':{'id':_0x3d49c4[_0x9d0a('0x41')]['id']}})['then'](handleEntityNotFound(_0x1429af,null))[_0x9d0a('0x22')](function(_0x5e9456){if(_0x5e9456){_0x3d49c4[_0x9d0a('0x45')][_0x9d0a('0x4c')]=_0x5e9456['id'];_0x3d49c4[_0x9d0a('0x45')][_0x9d0a('0x4d')]=integrations[_0x9d0a('0x4e')](_0x3d49c4['body'][_0x9d0a('0x4f')],_0x3d49c4[_0x9d0a('0x45')][_0x9d0a('0x37')]);_0x3d49c4[_0x9d0a('0x45')]['Descriptions']=integrations[_0x9d0a('0x50')](_0x3d49c4[_0x9d0a('0x45')][_0x9d0a('0x4f')],_0x3d49c4[_0x9d0a('0x45')][_0x9d0a('0x37')]);return db[_0x9d0a('0x49')][_0x9d0a('0x44')](_0x3d49c4[_0x9d0a('0x45')],{'include':[{'model':db[_0x9d0a('0x51')],'as':'Subjects'},{'model':db[_0x9d0a('0x51')],'as':_0x9d0a('0x52')}]});}return null;})[_0x9d0a('0x22')](respondWithResult(_0x1429af,null))[_0x9d0a('0x3f')](handleError(_0x1429af,null));};var md5=require(_0x9d0a('0x53'));exports[_0x9d0a('0x54')]=function(_0x650e79,_0x202d3f,_0x29692c){var _0x4908ed=null;var _0x5ed66d=null;var _0x82c82f=null;var _0x1f9fb7=null;var _0x5e5fc1='';return db[_0x9d0a('0x27')][_0x9d0a('0x48')]({'where':{'id':_0x650e79[_0x9d0a('0x41')]['id']},'attributes':['id',_0x9d0a('0x24'),_0x9d0a('0x55'),_0x9d0a('0x56'),'moduleName','remoteUri',_0x9d0a('0x57'),_0x9d0a('0x58')]})[_0x9d0a('0x22')](handleEntityNotFound(_0x202d3f,null))[_0x9d0a('0x22')](function(_0x52c00f){if(_0x52c00f){_0x4908ed=_0x52c00f['username'];_0x5ed66d=_0x52c00f[_0x9d0a('0x58')];_0x82c82f=_0x52c00f[_0x9d0a('0x59')];_0x5e5fc1=_0x52c00f['remoteUri'];var _0x15817b=_0x5e5fc1['slice'](-0x1);if(_0x15817b==='/'){_0x5e5fc1=_0x5e5fc1[_0x9d0a('0x5a')](0x0,_0x5e5fc1['lastIndexOf'](_0x15817b));}_0x1f9fb7=util[_0x9d0a('0x5b')](_0x9d0a('0x5c'),_0x5e5fc1);var _0x5a4db3={'method':'GET','uri':_0x1f9fb7,'qs':{'operation':_0x9d0a('0x5d'),'username':_0x52c00f['username']},'json':!![]};return rp(_0x5a4db3);}})[_0x9d0a('0x22')](function(_0x5b2cb8){if(_0x5b2cb8[_0x9d0a('0x5e')]){var _0xd12ea6={'method':_0x9d0a('0x5f'),'uri':_0x1f9fb7,'form':{'operation':_0x9d0a('0x60'),'username':_0x4908ed,'accessKey':md5(_0x5b2cb8[_0x9d0a('0x61')][_0x9d0a('0x62')]+_0x5ed66d)},'json':!![]};return rp(_0xd12ea6);}})[_0x9d0a('0x22')](function(_0x2de5bf){if(_0x2de5bf[_0x9d0a('0x5e')]){var _0x1c9407={'method':_0x9d0a('0x63'),'uri':_0x1f9fb7,'qs':{'operation':_0x9d0a('0x64'),'username':_0x4908ed,'sessionName':_0x2de5bf['result'][_0x9d0a('0x65')],'elementType':_0x82c82f},'json':!![]};return rp(_0x1c9407);}})[_0x9d0a('0x22')](function(_0x560050){if(_0x560050[_0x9d0a('0x5e')]){var _0x319175=[_0x9d0a('0x66'),_0x9d0a('0x67'),_0x9d0a('0x68')];_[_0x9d0a('0x69')](_0x560050['result'][_0x9d0a('0x2f')],function(_0x2677f3){return _0x319175[_0x9d0a('0x6a')](_0x2677f3['type'][_0x9d0a('0x24')]);});_[_0x9d0a('0x69')](_0x560050[_0x9d0a('0x61')]['fields'],function(_0x5681c5){return _0x5681c5['editable']===_0x9d0a('0x6b');});return{'count':_0x560050[_0x9d0a('0x61')]['fields'][_0x9d0a('0x42')],'rows':_['map'](_0x560050[_0x9d0a('0x61')][_0x9d0a('0x2f')],function(_0xf929c6){return{'id':_0xf929c6[_0x9d0a('0x24')],'name':_0xf929c6[_0x9d0a('0x6c')],'custom':_['startsWith'](_0xf929c6[_0x9d0a('0x24')],_0x9d0a('0x6d'))?!![]:![],'options':_0xf929c6[_0x9d0a('0x37')][_0x9d0a('0x24')]===_0x9d0a('0x6e')&&_0xf929c6[_0x9d0a('0x37')][_0x9d0a('0x6f')][_0x9d0a('0x42')]>0x0?_[_0x9d0a('0x2a')](_0xf929c6['type'][_0x9d0a('0x6f')],function(_0xd17157){return{'name':_0xd17157['label'],'value':_0xd17157[_0x9d0a('0x70')]};}):[]};})};}})[_0x9d0a('0x22')](respondWithResult(_0x202d3f,null))[_0x9d0a('0x3f')](function(_0x35fbfd){console[_0x9d0a('0x71')](_0x9d0a('0x72')+_0x35fbfd);var _0x144e39=_0x650e79[_0x9d0a('0x2b')][_0x9d0a('0x73')]?0x1f4:_0x35fbfd[_0x9d0a('0x74')]||0x1f4;logger[_0x9d0a('0x23')](_0x9d0a('0x75'),_0x9d0a('0x54'),_0x144e39,JSON[_0x9d0a('0x76')](_0x35fbfd));delete _0x35fbfd['name'];if(_0x144e39===0x191){_0x144e39=0x190;}_0x202d3f[_0x9d0a('0x19')](_0x144e39)[_0x9d0a('0x25')](_0x650e79['query'][_0x9d0a('0x73')]?{'message':_0x9d0a('0x77'),'statusCode':_0x35fbfd['statusCode']}:_0x35fbfd);});};