Built motion from commit e0fa946e.|2.6.5
[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 _0xef30=['include','findAll','rows','catch','show','params','keys','fields','find','create','body','findOne','getConfigurations','AccountId','channel','Descriptions','getDescriptions','VtigerConfiguration','VtigerField','Subjects','md5','getFields','username','moduleName','remoteUri','accessKey','slice','lastIndexOf','format','%s/webservice.php','getchallenge','success','login','result','token','describe','sessionName','autogenerated','owner','remove','includes','editable','false','label','startsWith','cf_','picklistValues','value','log','vTiger\x20error:\x20','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','send','index','VtigerAccount','rawAttributes','fieldName','type','key','model','map','name','query','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','options','includeAll'];(function(_0x36d9ac,_0x314606){var _0x281977=function(_0x200ae4){while(--_0x200ae4){_0x36d9ac['push'](_0x36d9ac['shift']());}};_0x281977(++_0x314606);}(_0xef30,0xb6));var _0x0ef3=function(_0x5447fd,_0x52a6b5){_0x5447fd=_0x5447fd-0x0;var _0x15b28a=_0xef30[_0x5447fd];return _0x15b28a;};'use strict';var emlformat=require(_0x0ef3('0x0'));var rimraf=require(_0x0ef3('0x1'));var zipdir=require(_0x0ef3('0x2'));var jsonpatch=require(_0x0ef3('0x3'));var rp=require(_0x0ef3('0x4'));var moment=require(_0x0ef3('0x5'));var BPromise=require(_0x0ef3('0x6'));var Mustache=require(_0x0ef3('0x7'));var util=require(_0x0ef3('0x8'));var path=require(_0x0ef3('0x9'));var sox=require('sox');var csv=require(_0x0ef3('0xa'));var ejs=require(_0x0ef3('0xb'));var fs=require('fs');var fs_extra=require(_0x0ef3('0xc'));var _=require(_0x0ef3('0xd'));var squel=require(_0x0ef3('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0ef3('0xf'));var toCsv=require('to-csv');var querystring=require(_0x0ef3('0x10'));var Papa=require(_0x0ef3('0x11'));var Redis=require(_0x0ef3('0x12'));var authService=require(_0x0ef3('0x13'));var qs=require(_0x0ef3('0x14'));var as=require(_0x0ef3('0x15'));var hardwareService=require(_0x0ef3('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x0ef3('0x17'));var config=require(_0x0ef3('0x18'));var licenseUtil=require(_0x0ef3('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0x0ef3('0x1a'));function respondWithStatusCode(_0x5d5545,_0x52020e){_0x52020e=_0x52020e||0xcc;return function(_0x76985e){if(_0x76985e){return _0x5d5545[_0x0ef3('0x1b')](_0x52020e);}return _0x5d5545['status'](_0x52020e)[_0x0ef3('0x1c')]();};}function respondWithResult(_0x4af50d,_0x31bbd1){_0x31bbd1=_0x31bbd1||0xc8;return function(_0x23242e){if(_0x23242e){return _0x4af50d[_0x0ef3('0x1d')](_0x31bbd1)[_0x0ef3('0x1e')](_0x23242e);}};}function respondWithFilteredResult(_0x4f69bf,_0x12a5af){return function(_0x42aeb4){if(_0x42aeb4){var _0x1da77a=typeof _0x12a5af[_0x0ef3('0x1f')]===_0x0ef3('0x20')&&typeof _0x12a5af['limit']===_0x0ef3('0x20');var _0x5d6767=_0x42aeb4[_0x0ef3('0x21')];var _0x21c71b=_0x1da77a?0x0:_0x12a5af[_0x0ef3('0x1f')];var _0x2e1406=_0x1da77a?_0x42aeb4[_0x0ef3('0x21')]:_0x12a5af[_0x0ef3('0x1f')]+_0x12a5af[_0x0ef3('0x22')];var _0x10259f;if(_0x2e1406>=_0x5d6767){_0x2e1406=_0x5d6767;_0x10259f=0xc8;}else{_0x10259f=0xce;}_0x4f69bf[_0x0ef3('0x1d')](_0x10259f);return _0x4f69bf[_0x0ef3('0x23')](_0x0ef3('0x24'),_0x21c71b+'-'+_0x2e1406+'/'+_0x5d6767)[_0x0ef3('0x1e')](_0x42aeb4);}return null;};}function patchUpdates(_0x2ebbbd){return function(_0x4c25c6){try{jsonpatch[_0x0ef3('0x25')](_0x4c25c6,_0x2ebbbd,!![]);}catch(_0xfbfc9e){return BPromise[_0x0ef3('0x26')](_0xfbfc9e);}return _0x4c25c6[_0x0ef3('0x27')]();};}function saveUpdates(_0x1c9eea,_0x3134b8){return function(_0x4ec06a){if(_0x4ec06a){return _0x4ec06a[_0x0ef3('0x28')](_0x1c9eea)[_0x0ef3('0x29')](function(_0x443c66){return _0x443c66;});}return null;};}function removeEntity(_0x18083e,_0x92c08){return function(_0x3a0308){if(_0x3a0308){return _0x3a0308[_0x0ef3('0x2a')]()[_0x0ef3('0x29')](function(){_0x18083e[_0x0ef3('0x1d')](0xcc)[_0x0ef3('0x1c')]();});}};}function handleEntityNotFound(_0x4a23eb,_0x15c2df){return function(_0x32e362){if(!_0x32e362){_0x4a23eb[_0x0ef3('0x1b')](0x194);}return _0x32e362;};}function handleError(_0x514c31,_0x23751d){_0x23751d=_0x23751d||0x1f4;return function(_0x3f1523){logger['error'](_0x3f1523[_0x0ef3('0x2b')]);if(_0x3f1523['name']){delete _0x3f1523['name'];}_0x514c31[_0x0ef3('0x1d')](_0x23751d)[_0x0ef3('0x2c')](_0x3f1523);};}exports[_0x0ef3('0x2d')]=function(_0x69ce92,_0x2a6b6e){var _0x1c11d5={},_0x47b020={},_0x3fb8e5={'count':0x0,'rows':[]};var _0x3d6e14=_['map'](db[_0x0ef3('0x2e')][_0x0ef3('0x2f')],function(_0x1189cb){return{'name':_0x1189cb[_0x0ef3('0x30')],'type':_0x1189cb[_0x0ef3('0x31')][_0x0ef3('0x32')]};});_0x47b020[_0x0ef3('0x33')]=_[_0x0ef3('0x34')](_0x3d6e14,_0x0ef3('0x35'));_0x47b020[_0x0ef3('0x36')]=_['keys'](_0x69ce92['query']);_0x47b020[_0x0ef3('0x37')]=_['intersection'](_0x47b020['model'],_0x47b020['query']);_0x1c11d5[_0x0ef3('0x38')]=_[_0x0ef3('0x39')](_0x47b020[_0x0ef3('0x33')],qs['fields'](_0x69ce92[_0x0ef3('0x36')]['fields']));_0x1c11d5[_0x0ef3('0x38')]=_0x1c11d5[_0x0ef3('0x38')][_0x0ef3('0x3a')]?_0x1c11d5[_0x0ef3('0x38')]:_0x47b020[_0x0ef3('0x33')];if(!_0x69ce92[_0x0ef3('0x36')][_0x0ef3('0x3b')](_0x0ef3('0x3c'))){_0x1c11d5['limit']=qs[_0x0ef3('0x22')](_0x69ce92[_0x0ef3('0x36')][_0x0ef3('0x22')]);_0x1c11d5['offset']=qs[_0x0ef3('0x1f')](_0x69ce92[_0x0ef3('0x36')]['offset']);}_0x1c11d5[_0x0ef3('0x3d')]=qs[_0x0ef3('0x3e')](_0x69ce92[_0x0ef3('0x36')][_0x0ef3('0x3e')]);_0x1c11d5[_0x0ef3('0x3f')]=qs[_0x0ef3('0x37')](_[_0x0ef3('0x40')](_0x69ce92[_0x0ef3('0x36')],_0x47b020['filters']),_0x3d6e14);if(_0x69ce92['query']['filter']){_0x1c11d5[_0x0ef3('0x3f')]=_['merge'](_0x1c11d5[_0x0ef3('0x3f')],{'$or':_[_0x0ef3('0x34')](_0x3d6e14,function(_0x104327){if(_0x104327[_0x0ef3('0x31')]!==_0x0ef3('0x41')){var _0x193452={};_0x193452[_0x104327[_0x0ef3('0x35')]]={'$like':'%'+_0x69ce92[_0x0ef3('0x36')][_0x0ef3('0x42')]+'%'};return _0x193452;}})});}_0x1c11d5=_[_0x0ef3('0x43')]({},_0x1c11d5,_0x69ce92[_0x0ef3('0x44')]);var _0x1287ab={'where':_0x1c11d5[_0x0ef3('0x3f')]};return db[_0x0ef3('0x2e')][_0x0ef3('0x21')](_0x1287ab)[_0x0ef3('0x29')](function(_0x5a6c1f){_0x3fb8e5[_0x0ef3('0x21')]=_0x5a6c1f;if(_0x69ce92[_0x0ef3('0x36')][_0x0ef3('0x45')]){_0x1c11d5[_0x0ef3('0x46')]=[{'all':!![]}];}return db['VtigerAccount'][_0x0ef3('0x47')](_0x1c11d5);})[_0x0ef3('0x29')](function(_0x3cf17f){_0x3fb8e5[_0x0ef3('0x48')]=_0x3cf17f;return _0x3fb8e5;})['then'](respondWithFilteredResult(_0x2a6b6e,_0x1c11d5))[_0x0ef3('0x49')](handleError(_0x2a6b6e,null));};exports[_0x0ef3('0x4a')]=function(_0x472cf8,_0x51d1a1){var _0x26b341={'raw':![],'where':{'id':_0x472cf8[_0x0ef3('0x4b')]['id']}},_0x1e5b87={};_0x1e5b87[_0x0ef3('0x33')]=_['keys'](db[_0x0ef3('0x2e')][_0x0ef3('0x2f')]);_0x1e5b87[_0x0ef3('0x36')]=_[_0x0ef3('0x4c')](_0x472cf8[_0x0ef3('0x36')]);_0x1e5b87['filters']=_[_0x0ef3('0x39')](_0x1e5b87[_0x0ef3('0x33')],_0x1e5b87[_0x0ef3('0x36')]);_0x26b341[_0x0ef3('0x38')]=_['intersection'](_0x1e5b87[_0x0ef3('0x33')],qs[_0x0ef3('0x4d')](_0x472cf8[_0x0ef3('0x36')][_0x0ef3('0x4d')]));_0x26b341[_0x0ef3('0x38')]=_0x26b341['attributes'][_0x0ef3('0x3a')]?_0x26b341[_0x0ef3('0x38')]:_0x1e5b87[_0x0ef3('0x33')];if(_0x472cf8[_0x0ef3('0x36')][_0x0ef3('0x45')]){_0x26b341[_0x0ef3('0x46')]=[{'all':!![]}];}_0x26b341=_[_0x0ef3('0x43')]({},_0x26b341,_0x472cf8[_0x0ef3('0x44')]);return db[_0x0ef3('0x2e')][_0x0ef3('0x4e')](_0x26b341)['then'](handleEntityNotFound(_0x51d1a1,null))[_0x0ef3('0x29')](respondWithResult(_0x51d1a1,null))[_0x0ef3('0x49')](handleError(_0x51d1a1,null));};exports[_0x0ef3('0x4f')]=function(_0x4619c8,_0x15720b){return db['VtigerAccount'][_0x0ef3('0x4f')](_0x4619c8['body'],{})[_0x0ef3('0x29')](respondWithResult(_0x15720b,0xc9))['catch'](handleError(_0x15720b,null));};exports['update']=function(_0x2a1f00,_0x5e4d83){if(_0x2a1f00['body']['id']){delete _0x2a1f00[_0x0ef3('0x50')]['id'];}return db[_0x0ef3('0x2e')][_0x0ef3('0x4e')]({'where':{'id':_0x2a1f00[_0x0ef3('0x4b')]['id']}})[_0x0ef3('0x29')](handleEntityNotFound(_0x5e4d83,null))[_0x0ef3('0x29')](saveUpdates(_0x2a1f00[_0x0ef3('0x50')],null))[_0x0ef3('0x29')](respondWithResult(_0x5e4d83,null))[_0x0ef3('0x49')](handleError(_0x5e4d83,null));};exports[_0x0ef3('0x2a')]=function(_0x40164d,_0x3eca66){return db[_0x0ef3('0x2e')][_0x0ef3('0x4e')]({'where':{'id':_0x40164d[_0x0ef3('0x4b')]['id']}})[_0x0ef3('0x29')](handleEntityNotFound(_0x3eca66,null))[_0x0ef3('0x29')](removeEntity(_0x3eca66,null))['catch'](handleError(_0x3eca66,null));};exports['getConfigurations']=function(_0x4d56fd,_0x1e02bd,_0x289077){var _0x3957b7={};var _0x151928={};var _0x32448b;var _0x4f6ea1;return db['VtigerAccount'][_0x0ef3('0x51')]({'where':{'id':_0x4d56fd[_0x0ef3('0x4b')]['id']}})['then'](handleEntityNotFound(_0x1e02bd,null))[_0x0ef3('0x29')](function(_0x1894ce){if(_0x1894ce){_0x32448b=_0x1894ce;_0x151928['model']=_[_0x0ef3('0x4c')](db['VtigerConfiguration']['rawAttributes']);_0x151928[_0x0ef3('0x36')]=_[_0x0ef3('0x4c')](_0x4d56fd['query']);_0x151928[_0x0ef3('0x37')]=_[_0x0ef3('0x39')](_0x151928[_0x0ef3('0x33')],_0x151928['query']);_0x3957b7[_0x0ef3('0x38')]=_[_0x0ef3('0x39')](_0x151928[_0x0ef3('0x33')],qs[_0x0ef3('0x4d')](_0x4d56fd['query'][_0x0ef3('0x4d')]));_0x3957b7[_0x0ef3('0x38')]=_0x3957b7[_0x0ef3('0x38')]['length']?_0x3957b7['attributes']:_0x151928[_0x0ef3('0x33')];_0x3957b7[_0x0ef3('0x3d')]=qs[_0x0ef3('0x3e')](_0x4d56fd[_0x0ef3('0x36')]['sort']);_0x3957b7['where']=qs[_0x0ef3('0x37')](_[_0x0ef3('0x40')](_0x4d56fd[_0x0ef3('0x36')],_0x151928[_0x0ef3('0x37')]));if(_0x4d56fd[_0x0ef3('0x36')][_0x0ef3('0x42')]){_0x3957b7[_0x0ef3('0x3f')]=_[_0x0ef3('0x43')](_0x3957b7[_0x0ef3('0x3f')],{'$or':_[_0x0ef3('0x34')](_0x3957b7[_0x0ef3('0x38')],function(_0x9de291){var _0x48fdd9={};_0x48fdd9[_0x9de291]={'$like':'%'+_0x4d56fd[_0x0ef3('0x36')][_0x0ef3('0x42')]+'%'};return _0x48fdd9;})});}_0x3957b7=_['merge']({},_0x3957b7,_0x4d56fd[_0x0ef3('0x44')]);return _0x32448b[_0x0ef3('0x52')](_0x3957b7);}})['then'](function(_0x1c1b2f){if(_0x1c1b2f){_0x4f6ea1=_0x1c1b2f[_0x0ef3('0x3a')];if(!_0x4d56fd[_0x0ef3('0x36')][_0x0ef3('0x3b')](_0x0ef3('0x3c'))){_0x3957b7[_0x0ef3('0x22')]=qs['limit'](_0x4d56fd['query'][_0x0ef3('0x22')]);_0x3957b7['offset']=qs[_0x0ef3('0x1f')](_0x4d56fd[_0x0ef3('0x36')][_0x0ef3('0x1f')]);}return _0x32448b[_0x0ef3('0x52')](_0x3957b7);}})[_0x0ef3('0x29')](function(_0x10ef23){if(_0x10ef23){return _0x10ef23?{'count':_0x4f6ea1,'rows':_0x10ef23}:null;}})[_0x0ef3('0x29')](respondWithResult(_0x1e02bd,null))[_0x0ef3('0x49')](handleError(_0x1e02bd,null));};exports['addConfiguration']=function(_0x103e87,_0x2c0506,_0x2b807e){if(_0x103e87['body']['id']){delete _0x103e87[_0x0ef3('0x50')]['id'];}return db[_0x0ef3('0x2e')][_0x0ef3('0x51')]({'where':{'id':_0x103e87['params']['id']}})[_0x0ef3('0x29')](handleEntityNotFound(_0x2c0506,null))[_0x0ef3('0x29')](function(_0x40d01c){if(_0x40d01c){_0x103e87[_0x0ef3('0x50')][_0x0ef3('0x53')]=_0x40d01c['id'];_0x103e87['body']['Subjects']=integrations['getSubjects'](_0x103e87[_0x0ef3('0x50')][_0x0ef3('0x54')],_0x103e87['body'][_0x0ef3('0x31')]);_0x103e87['body'][_0x0ef3('0x55')]=integrations[_0x0ef3('0x56')](_0x103e87[_0x0ef3('0x50')][_0x0ef3('0x54')],_0x103e87[_0x0ef3('0x50')]['type']);return db[_0x0ef3('0x57')][_0x0ef3('0x4f')](_0x103e87[_0x0ef3('0x50')],{'include':[{'model':db[_0x0ef3('0x58')],'as':_0x0ef3('0x59')},{'model':db[_0x0ef3('0x58')],'as':_0x0ef3('0x55')}]});}return null;})[_0x0ef3('0x29')](respondWithResult(_0x2c0506,null))[_0x0ef3('0x49')](handleError(_0x2c0506,null));};var md5=require(_0x0ef3('0x5a'));exports[_0x0ef3('0x5b')]=function(_0x161699,_0x57011c,_0x1a7d19){var _0x1afbda=null;var _0xbee12=null;var _0x5d90fe=null;var _0x50413f=null;var _0x18aa29='';return db[_0x0ef3('0x2e')]['findOne']({'where':{'id':_0x161699[_0x0ef3('0x4b')]['id']},'attributes':['id','name',_0x0ef3('0x5c'),'description',_0x0ef3('0x5d'),_0x0ef3('0x5e'),'serverUrl','accessKey']})['then'](handleEntityNotFound(_0x57011c,null))['then'](function(_0x289e4a){if(_0x289e4a){_0x1afbda=_0x289e4a[_0x0ef3('0x5c')];_0xbee12=_0x289e4a[_0x0ef3('0x5f')];_0x5d90fe=_0x289e4a['moduleName'];_0x18aa29=_0x289e4a[_0x0ef3('0x5e')];var _0x3ac5c6=_0x18aa29[_0x0ef3('0x60')](-0x1);if(_0x3ac5c6==='/'){_0x18aa29=_0x18aa29['substring'](0x0,_0x18aa29[_0x0ef3('0x61')](_0x3ac5c6));}_0x50413f=util[_0x0ef3('0x62')](_0x0ef3('0x63'),_0x18aa29);var _0x415864={'method':'GET','uri':_0x50413f,'qs':{'operation':_0x0ef3('0x64'),'username':_0x289e4a[_0x0ef3('0x5c')]},'json':!![]};return rp(_0x415864);}})[_0x0ef3('0x29')](function(_0x411715){if(_0x411715[_0x0ef3('0x65')]){var _0x24f909={'method':'POST','uri':_0x50413f,'form':{'operation':_0x0ef3('0x66'),'username':_0x1afbda,'accessKey':md5(_0x411715[_0x0ef3('0x67')][_0x0ef3('0x68')]+_0xbee12)},'json':!![]};return rp(_0x24f909);}})['then'](function(_0x2ac852){if(_0x2ac852['success']){var _0xbb53e3={'method':'GET','uri':_0x50413f,'qs':{'operation':_0x0ef3('0x69'),'username':_0x1afbda,'sessionName':_0x2ac852[_0x0ef3('0x67')][_0x0ef3('0x6a')],'elementType':_0x5d90fe},'json':!![]};return rp(_0xbb53e3);}})[_0x0ef3('0x29')](function(_0x4741e8){if(_0x4741e8[_0x0ef3('0x65')]){var _0x5a110d=[_0x0ef3('0x6b'),'reference',_0x0ef3('0x6c')];_[_0x0ef3('0x6d')](_0x4741e8['result'][_0x0ef3('0x4d')],function(_0x346147){return _0x5a110d[_0x0ef3('0x6e')](_0x346147[_0x0ef3('0x31')][_0x0ef3('0x35')]);});_[_0x0ef3('0x6d')](_0x4741e8[_0x0ef3('0x67')][_0x0ef3('0x4d')],function(_0x4b05a1){return _0x4b05a1[_0x0ef3('0x6f')]===_0x0ef3('0x70');});return{'count':_0x4741e8['result'][_0x0ef3('0x4d')]['length'],'rows':_['map'](_0x4741e8[_0x0ef3('0x67')][_0x0ef3('0x4d')],function(_0x3ad129){return{'id':_0x3ad129['name'],'name':_0x3ad129[_0x0ef3('0x71')],'custom':_[_0x0ef3('0x72')](_0x3ad129[_0x0ef3('0x35')],_0x0ef3('0x73'))?!![]:![],'options':_0x3ad129['type'][_0x0ef3('0x35')]==='picklist'&&_0x3ad129['type'][_0x0ef3('0x74')][_0x0ef3('0x3a')]>0x0?_[_0x0ef3('0x34')](_0x3ad129[_0x0ef3('0x31')][_0x0ef3('0x74')],function(_0x3c3a54){return{'name':_0x3c3a54[_0x0ef3('0x71')],'value':_0x3c3a54[_0x0ef3('0x75')]};}):[]};})};}})[_0x0ef3('0x29')](respondWithResult(_0x57011c,null))[_0x0ef3('0x49')](function(_0xf56078){console[_0x0ef3('0x76')](_0x0ef3('0x77')+_0xf56078);var _0x5d8cd2=_0x161699[_0x0ef3('0x36')][_0x0ef3('0x78')]?0x1f4:_0xf56078[_0x0ef3('0x79')]||0x1f4;logger[_0x0ef3('0x7a')](_0x0ef3('0x7b'),_0x0ef3('0x5b'),_0x5d8cd2,JSON[_0x0ef3('0x7c')](_0xf56078));delete _0xf56078['name'];if(_0x5d8cd2===0x191){_0x5d8cd2=0x190;}_0x57011c[_0x0ef3('0x1d')](_0x5d8cd2)[_0x0ef3('0x2c')](_0x161699[_0x0ef3('0x36')][_0x0ef3('0x78')]?{'message':_0x0ef3('0x7d'),'statusCode':_0xf56078['statusCode']}:_0xf56078);});};