97cf240ba09acfbefa94293562614ad1a3de03c2
[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 _0xe038=['attributes','fields','length','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','catch','params','keys','include','find','create','body','update','getConfigurations','findOne','VtigerConfiguration','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','channel','VtigerField','md5','username','description','remoteUri','serverUrl','accessKey','moduleName','substring','lastIndexOf','format','%s/webservice.php','getchallenge','success','login','token','GET','describe','sessionName','autogenerated','reference','remove','result','includes','editable','false','label','startsWith','cf_','picklistValues','value','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','Wrong\x20credentials','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','then','destroy','sendStatus','error','stack','name','send','index','map','VtigerAccount','rawAttributes','fieldName','type','model','query','filters','intersection'];(function(_0x52f1e6,_0xf70489){var _0x21f104=function(_0xb89f9e){while(--_0xb89f9e){_0x52f1e6['push'](_0x52f1e6['shift']());}};_0x21f104(++_0xf70489);}(_0xe038,0xbc));var _0x8e03=function(_0x599f41,_0x4db732){_0x599f41=_0x599f41-0x0;var _0x2e4d58=_0xe038[_0x599f41];return _0x2e4d58;};'use strict';var emlformat=require(_0x8e03('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8e03('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8e03('0x2'));var moment=require(_0x8e03('0x3'));var BPromise=require(_0x8e03('0x4'));var Mustache=require(_0x8e03('0x5'));var util=require('util');var path=require(_0x8e03('0x6'));var sox=require(_0x8e03('0x7'));var csv=require(_0x8e03('0x8'));var ejs=require(_0x8e03('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8e03('0xa'));var crypto=require(_0x8e03('0xb'));var jsforce=require(_0x8e03('0xc'));var deskjs=require(_0x8e03('0xd'));var toCsv=require(_0x8e03('0x8'));var querystring=require('querystring');var Papa=require(_0x8e03('0xe'));var Redis=require(_0x8e03('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x8e03('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8e03('0x11'));var logger=require(_0x8e03('0x12'))('api');var utils=require(_0x8e03('0x13'));var config=require(_0x8e03('0x14'));var licenseUtil=require(_0x8e03('0x15'));var db=require(_0x8e03('0x16'))['db'];var integrations=require(_0x8e03('0x17'));function respondWithStatusCode(_0x3457d4,_0x556b10){_0x556b10=_0x556b10||0xcc;return function(_0xad691b){if(_0xad691b){return _0x3457d4['sendStatus'](_0x556b10);}return _0x3457d4[_0x8e03('0x18')](_0x556b10)[_0x8e03('0x19')]();};}function respondWithResult(_0x1b546e,_0x448676){_0x448676=_0x448676||0xc8;return function(_0x2f61ce){if(_0x2f61ce){return _0x1b546e[_0x8e03('0x18')](_0x448676)[_0x8e03('0x1a')](_0x2f61ce);}};}function respondWithFilteredResult(_0x43dc04,_0x31080e){return function(_0x16a4fa){if(_0x16a4fa){var _0x43fe42=typeof _0x31080e[_0x8e03('0x1b')]===_0x8e03('0x1c')&&typeof _0x31080e[_0x8e03('0x1d')]===_0x8e03('0x1c');var _0x8fa517=_0x16a4fa[_0x8e03('0x1e')];var _0x6547a1=_0x43fe42?0x0:_0x31080e[_0x8e03('0x1b')];var _0x3b9968=_0x43fe42?_0x16a4fa[_0x8e03('0x1e')]:_0x31080e[_0x8e03('0x1b')]+_0x31080e[_0x8e03('0x1d')];var _0x2354c0;if(_0x3b9968>=_0x8fa517){_0x3b9968=_0x8fa517;_0x2354c0=0xc8;}else{_0x2354c0=0xce;}_0x43dc04['status'](_0x2354c0);return _0x43dc04[_0x8e03('0x1f')](_0x8e03('0x20'),_0x6547a1+'-'+_0x3b9968+'/'+_0x8fa517)[_0x8e03('0x1a')](_0x16a4fa);}return null;};}function patchUpdates(_0x337cbf){return function(_0x3bbc3b){try{jsonpatch[_0x8e03('0x21')](_0x3bbc3b,_0x337cbf,!![]);}catch(_0x1ae829){return BPromise[_0x8e03('0x22')](_0x1ae829);}return _0x3bbc3b['save']();};}function saveUpdates(_0x530482,_0x5b91fd){return function(_0x46e11d){if(_0x46e11d){return _0x46e11d['update'](_0x530482)[_0x8e03('0x23')](function(_0x43cf29){return _0x43cf29;});}return null;};}function removeEntity(_0x46ded6,_0x135aba){return function(_0x387d19){if(_0x387d19){return _0x387d19[_0x8e03('0x24')]()[_0x8e03('0x23')](function(){_0x46ded6[_0x8e03('0x18')](0xcc)[_0x8e03('0x19')]();});}};}function handleEntityNotFound(_0x3fad15,_0x4aba85){return function(_0x30d982){if(!_0x30d982){_0x3fad15[_0x8e03('0x25')](0x194);}return _0x30d982;};}function handleError(_0x102ec3,_0x25a87a){_0x25a87a=_0x25a87a||0x1f4;return function(_0x148c3a){logger[_0x8e03('0x26')](_0x148c3a[_0x8e03('0x27')]);if(_0x148c3a[_0x8e03('0x28')]){delete _0x148c3a[_0x8e03('0x28')];}_0x102ec3[_0x8e03('0x18')](_0x25a87a)[_0x8e03('0x29')](_0x148c3a);};}exports[_0x8e03('0x2a')]=function(_0xc45bc3,_0x4822d4){var _0x222b3e={},_0x171ede={},_0x538de4={'count':0x0,'rows':[]};var _0x71051e=_[_0x8e03('0x2b')](db[_0x8e03('0x2c')][_0x8e03('0x2d')],function(_0x42f3ab){return{'name':_0x42f3ab[_0x8e03('0x2e')],'type':_0x42f3ab[_0x8e03('0x2f')]['key']};});_0x171ede[_0x8e03('0x30')]=_[_0x8e03('0x2b')](_0x71051e,_0x8e03('0x28'));_0x171ede['query']=_['keys'](_0xc45bc3[_0x8e03('0x31')]);_0x171ede[_0x8e03('0x32')]=_[_0x8e03('0x33')](_0x171ede[_0x8e03('0x30')],_0x171ede[_0x8e03('0x31')]);_0x222b3e[_0x8e03('0x34')]=_['intersection'](_0x171ede[_0x8e03('0x30')],qs[_0x8e03('0x35')](_0xc45bc3[_0x8e03('0x31')][_0x8e03('0x35')]));_0x222b3e[_0x8e03('0x34')]=_0x222b3e['attributes'][_0x8e03('0x36')]?_0x222b3e[_0x8e03('0x34')]:_0x171ede[_0x8e03('0x30')];if(!_0xc45bc3[_0x8e03('0x31')]['hasOwnProperty'](_0x8e03('0x37'))){_0x222b3e[_0x8e03('0x1d')]=qs[_0x8e03('0x1d')](_0xc45bc3['query'][_0x8e03('0x1d')]);_0x222b3e[_0x8e03('0x1b')]=qs[_0x8e03('0x1b')](_0xc45bc3[_0x8e03('0x31')][_0x8e03('0x1b')]);}_0x222b3e[_0x8e03('0x38')]=qs[_0x8e03('0x39')](_0xc45bc3[_0x8e03('0x31')][_0x8e03('0x39')]);_0x222b3e['where']=qs[_0x8e03('0x32')](_[_0x8e03('0x3a')](_0xc45bc3[_0x8e03('0x31')],_0x171ede[_0x8e03('0x32')]),_0x71051e);if(_0xc45bc3['query'][_0x8e03('0x3b')]){_0x222b3e[_0x8e03('0x3c')]=_['merge'](_0x222b3e[_0x8e03('0x3c')],{'$or':_['map'](_0x71051e,function(_0x32395a){if(_0x32395a[_0x8e03('0x2f')]!==_0x8e03('0x3d')){var _0x3c28c5={};_0x3c28c5[_0x32395a[_0x8e03('0x28')]]={'$like':'%'+_0xc45bc3[_0x8e03('0x31')][_0x8e03('0x3b')]+'%'};return _0x3c28c5;}})});}_0x222b3e=_[_0x8e03('0x3e')]({},_0x222b3e,_0xc45bc3[_0x8e03('0x3f')]);var _0x4fb92c={'where':_0x222b3e[_0x8e03('0x3c')]};return db[_0x8e03('0x2c')][_0x8e03('0x1e')](_0x4fb92c)[_0x8e03('0x23')](function(_0x5a3f27){_0x538de4[_0x8e03('0x1e')]=_0x5a3f27;if(_0xc45bc3[_0x8e03('0x31')][_0x8e03('0x40')]){_0x222b3e['include']=[{'all':!![]}];}return db[_0x8e03('0x2c')]['findAll'](_0x222b3e);})[_0x8e03('0x23')](function(_0x31c3b0){_0x538de4['rows']=_0x31c3b0;return _0x538de4;})[_0x8e03('0x23')](respondWithFilteredResult(_0x4822d4,_0x222b3e))[_0x8e03('0x41')](handleError(_0x4822d4,null));};exports['show']=function(_0x1e89a8,_0x4ff9ee){var _0x15d3c2={'raw':![],'where':{'id':_0x1e89a8[_0x8e03('0x42')]['id']}},_0x47bd8a={};_0x47bd8a[_0x8e03('0x30')]=_[_0x8e03('0x43')](db[_0x8e03('0x2c')][_0x8e03('0x2d')]);_0x47bd8a[_0x8e03('0x31')]=_[_0x8e03('0x43')](_0x1e89a8[_0x8e03('0x31')]);_0x47bd8a['filters']=_[_0x8e03('0x33')](_0x47bd8a[_0x8e03('0x30')],_0x47bd8a[_0x8e03('0x31')]);_0x15d3c2['attributes']=_[_0x8e03('0x33')](_0x47bd8a[_0x8e03('0x30')],qs[_0x8e03('0x35')](_0x1e89a8[_0x8e03('0x31')][_0x8e03('0x35')]));_0x15d3c2[_0x8e03('0x34')]=_0x15d3c2[_0x8e03('0x34')][_0x8e03('0x36')]?_0x15d3c2[_0x8e03('0x34')]:_0x47bd8a[_0x8e03('0x30')];if(_0x1e89a8[_0x8e03('0x31')]['includeAll']){_0x15d3c2[_0x8e03('0x44')]=[{'all':!![]}];}_0x15d3c2=_['merge']({},_0x15d3c2,_0x1e89a8[_0x8e03('0x3f')]);return db[_0x8e03('0x2c')][_0x8e03('0x45')](_0x15d3c2)[_0x8e03('0x23')](handleEntityNotFound(_0x4ff9ee,null))['then'](respondWithResult(_0x4ff9ee,null))[_0x8e03('0x41')](handleError(_0x4ff9ee,null));};exports[_0x8e03('0x46')]=function(_0x1d9fcf,_0x94cc72){return db[_0x8e03('0x2c')][_0x8e03('0x46')](_0x1d9fcf[_0x8e03('0x47')],{})[_0x8e03('0x23')](respondWithResult(_0x94cc72,0xc9))['catch'](handleError(_0x94cc72,null));};exports[_0x8e03('0x48')]=function(_0x50e7d0,_0x2f2071){if(_0x50e7d0[_0x8e03('0x47')]['id']){delete _0x50e7d0[_0x8e03('0x47')]['id'];}return db['VtigerAccount'][_0x8e03('0x45')]({'where':{'id':_0x50e7d0[_0x8e03('0x42')]['id']}})[_0x8e03('0x23')](handleEntityNotFound(_0x2f2071,null))['then'](saveUpdates(_0x50e7d0[_0x8e03('0x47')],null))['then'](respondWithResult(_0x2f2071,null))['catch'](handleError(_0x2f2071,null));};exports['destroy']=function(_0x1b7154,_0x2f94ba){return db[_0x8e03('0x2c')][_0x8e03('0x45')]({'where':{'id':_0x1b7154[_0x8e03('0x42')]['id']}})[_0x8e03('0x23')](handleEntityNotFound(_0x2f94ba,null))[_0x8e03('0x23')](removeEntity(_0x2f94ba,null))['catch'](handleError(_0x2f94ba,null));};exports[_0x8e03('0x49')]=function(_0x49550c,_0xbc8b7e,_0x396944){var _0x26b2a0={};var _0x5b5219={};var _0x5b6ea8;var _0x2bf567;return db[_0x8e03('0x2c')][_0x8e03('0x4a')]({'where':{'id':_0x49550c[_0x8e03('0x42')]['id']}})[_0x8e03('0x23')](handleEntityNotFound(_0xbc8b7e,null))[_0x8e03('0x23')](function(_0x38b953){if(_0x38b953){_0x5b6ea8=_0x38b953;_0x5b5219[_0x8e03('0x30')]=_['keys'](db[_0x8e03('0x4b')][_0x8e03('0x2d')]);_0x5b5219[_0x8e03('0x31')]=_[_0x8e03('0x43')](_0x49550c[_0x8e03('0x31')]);_0x5b5219[_0x8e03('0x32')]=_[_0x8e03('0x33')](_0x5b5219['model'],_0x5b5219['query']);_0x26b2a0[_0x8e03('0x34')]=_['intersection'](_0x5b5219[_0x8e03('0x30')],qs[_0x8e03('0x35')](_0x49550c[_0x8e03('0x31')][_0x8e03('0x35')]));_0x26b2a0[_0x8e03('0x34')]=_0x26b2a0[_0x8e03('0x34')][_0x8e03('0x36')]?_0x26b2a0[_0x8e03('0x34')]:_0x5b5219[_0x8e03('0x30')];_0x26b2a0['order']=qs[_0x8e03('0x39')](_0x49550c[_0x8e03('0x31')][_0x8e03('0x39')]);_0x26b2a0[_0x8e03('0x3c')]=qs[_0x8e03('0x32')](_[_0x8e03('0x3a')](_0x49550c[_0x8e03('0x31')],_0x5b5219['filters']));if(_0x49550c[_0x8e03('0x31')][_0x8e03('0x3b')]){_0x26b2a0[_0x8e03('0x3c')]=_[_0x8e03('0x3e')](_0x26b2a0['where'],{'$or':_['map'](_0x26b2a0[_0x8e03('0x34')],function(_0x78838d){var _0x427b87={};_0x427b87[_0x78838d]={'$like':'%'+_0x49550c[_0x8e03('0x31')][_0x8e03('0x3b')]+'%'};return _0x427b87;})});}_0x26b2a0=_[_0x8e03('0x3e')]({},_0x26b2a0,_0x49550c[_0x8e03('0x3f')]);return _0x5b6ea8[_0x8e03('0x49')](_0x26b2a0);}})[_0x8e03('0x23')](function(_0x1131e7){if(_0x1131e7){_0x2bf567=_0x1131e7['length'];if(!_0x49550c[_0x8e03('0x31')][_0x8e03('0x4c')](_0x8e03('0x37'))){_0x26b2a0[_0x8e03('0x1d')]=qs[_0x8e03('0x1d')](_0x49550c[_0x8e03('0x31')][_0x8e03('0x1d')]);_0x26b2a0[_0x8e03('0x1b')]=qs[_0x8e03('0x1b')](_0x49550c[_0x8e03('0x31')]['offset']);}return _0x5b6ea8[_0x8e03('0x49')](_0x26b2a0);}})['then'](function(_0x49bffc){if(_0x49bffc){return _0x49bffc?{'count':_0x2bf567,'rows':_0x49bffc}:null;}})['then'](respondWithResult(_0xbc8b7e,null))[_0x8e03('0x41')](handleError(_0xbc8b7e,null));};exports[_0x8e03('0x4d')]=function(_0x39e7b9,_0x2b00cd,_0x1a34fc){if(_0x39e7b9[_0x8e03('0x47')]['id']){delete _0x39e7b9[_0x8e03('0x47')]['id'];}return db[_0x8e03('0x2c')]['findOne']({'where':{'id':_0x39e7b9[_0x8e03('0x42')]['id']}})[_0x8e03('0x23')](handleEntityNotFound(_0x2b00cd,null))[_0x8e03('0x23')](function(_0x177f89){if(_0x177f89){_0x39e7b9[_0x8e03('0x47')][_0x8e03('0x4e')]=_0x177f89['id'];_0x39e7b9[_0x8e03('0x47')][_0x8e03('0x4f')]=integrations[_0x8e03('0x50')](_0x39e7b9[_0x8e03('0x47')]['channel'],_0x39e7b9[_0x8e03('0x47')][_0x8e03('0x2f')]);_0x39e7b9[_0x8e03('0x47')][_0x8e03('0x51')]=integrations['getDescriptions'](_0x39e7b9[_0x8e03('0x47')][_0x8e03('0x52')],_0x39e7b9[_0x8e03('0x47')]['type']);return db[_0x8e03('0x4b')][_0x8e03('0x46')](_0x39e7b9['body'],{'include':[{'model':db['VtigerField'],'as':'Subjects'},{'model':db[_0x8e03('0x53')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x2b00cd,null))['catch'](handleError(_0x2b00cd,null));};var md5=require(_0x8e03('0x54'));exports['getFields']=function(_0x1fdabf,_0x104b4e,_0x5cd579){var _0x739a1=null;var _0x524229=null;var _0xb04625=null;var _0x34e712=null;var _0x46a7a0='';return db[_0x8e03('0x2c')][_0x8e03('0x4a')]({'where':{'id':_0x1fdabf['params']['id']},'attributes':['id',_0x8e03('0x28'),_0x8e03('0x55'),_0x8e03('0x56'),'moduleName',_0x8e03('0x57'),_0x8e03('0x58'),_0x8e03('0x59')]})[_0x8e03('0x23')](handleEntityNotFound(_0x104b4e,null))[_0x8e03('0x23')](function(_0x774670){if(_0x774670){_0x739a1=_0x774670[_0x8e03('0x55')];_0x524229=_0x774670['accessKey'];_0xb04625=_0x774670[_0x8e03('0x5a')];_0x46a7a0=_0x774670[_0x8e03('0x57')];var _0x191ee3=_0x46a7a0['slice'](-0x1);if(_0x191ee3==='/'){_0x46a7a0=_0x46a7a0[_0x8e03('0x5b')](0x0,_0x46a7a0[_0x8e03('0x5c')](_0x191ee3));}_0x34e712=util[_0x8e03('0x5d')](_0x8e03('0x5e'),_0x46a7a0);var _0x1393ae={'method':'GET','uri':_0x34e712,'qs':{'operation':_0x8e03('0x5f'),'username':_0x774670['username']},'json':!![]};return rp(_0x1393ae);}})[_0x8e03('0x23')](function(_0x24bf46){if(_0x24bf46[_0x8e03('0x60')]){var _0x3cd502={'method':'POST','uri':_0x34e712,'form':{'operation':_0x8e03('0x61'),'username':_0x739a1,'accessKey':md5(_0x24bf46['result'][_0x8e03('0x62')]+_0x524229)},'json':!![]};return rp(_0x3cd502);}})['then'](function(_0x285a0c){if(_0x285a0c[_0x8e03('0x60')]){var _0x31b069={'method':_0x8e03('0x63'),'uri':_0x34e712,'qs':{'operation':_0x8e03('0x64'),'username':_0x739a1,'sessionName':_0x285a0c['result'][_0x8e03('0x65')],'elementType':_0xb04625},'json':!![]};return rp(_0x31b069);}})[_0x8e03('0x23')](function(_0x44b3c4){if(_0x44b3c4[_0x8e03('0x60')]){var _0x126b68=[_0x8e03('0x66'),_0x8e03('0x67'),'owner'];_[_0x8e03('0x68')](_0x44b3c4[_0x8e03('0x69')][_0x8e03('0x35')],function(_0x2e58a3){return _0x126b68[_0x8e03('0x6a')](_0x2e58a3[_0x8e03('0x2f')][_0x8e03('0x28')]);});_[_0x8e03('0x68')](_0x44b3c4['result'][_0x8e03('0x35')],function(_0x1c75b6){return _0x1c75b6[_0x8e03('0x6b')]===_0x8e03('0x6c');});return{'count':_0x44b3c4[_0x8e03('0x69')][_0x8e03('0x35')]['length'],'rows':_[_0x8e03('0x2b')](_0x44b3c4[_0x8e03('0x69')]['fields'],function(_0x312ecb){return{'id':_0x312ecb[_0x8e03('0x28')],'name':_0x312ecb[_0x8e03('0x6d')],'custom':_[_0x8e03('0x6e')](_0x312ecb[_0x8e03('0x28')],_0x8e03('0x6f'))?!![]:![],'options':_0x312ecb['type'][_0x8e03('0x28')]==='picklist'&&_0x312ecb[_0x8e03('0x2f')][_0x8e03('0x70')][_0x8e03('0x36')]>0x0?_['map'](_0x312ecb[_0x8e03('0x2f')][_0x8e03('0x70')],function(_0x3cf73d){return{'name':_0x3cf73d[_0x8e03('0x6d')],'value':_0x3cf73d[_0x8e03('0x71')]};}):[]};})};}})[_0x8e03('0x23')](respondWithResult(_0x104b4e,null))[_0x8e03('0x41')](function(_0x54d51d){console['log'](_0x8e03('0x72')+_0x54d51d);var _0x2ae055=_0x1fdabf[_0x8e03('0x31')][_0x8e03('0x73')]?0x1f4:_0x54d51d[_0x8e03('0x74')]||0x1f4;logger[_0x8e03('0x26')](_0x8e03('0x75'),_0x8e03('0x76'),_0x2ae055,JSON['stringify'](_0x54d51d));delete _0x54d51d[_0x8e03('0x28')];if(_0x2ae055===0x191){_0x2ae055=0x190;}_0x104b4e[_0x8e03('0x18')](_0x2ae055)[_0x8e03('0x29')](_0x1fdabf[_0x8e03('0x31')][_0x8e03('0x73')]?{'message':_0x8e03('0x77'),'statusCode':_0x54d51d[_0x8e03('0x74')]}:_0x54d51d);});};