3c5dde04c543ec1f132e481515da84f13dbfacfd
[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 _0x83af=['sendStatus','error','name','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','type','VIRTUAL','filter','merge','options','VtigerAccount','includeAll','include','catch','show','params','find','create','body','findOne','VtigerConfiguration','rawAttributes','pick','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','channel','VtigerField','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','result','token','describe','autogenerated','reference','owner','remove','includes','editable','false','label','startsWith','cf_','picklist','picklistValues','value','log','vTiger\x20error:\x20','test','getFields,\x20%s,\x20%s,\x20%s','stringify','send','statusCode','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','../../components/integrations/configuration','status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy'];(function(_0x4ed520,_0x21be63){var _0x4415a6=function(_0x14b151){while(--_0x14b151){_0x4ed520['push'](_0x4ed520['shift']());}};_0x4415a6(++_0x21be63);}(_0x83af,0xcc));var _0xf83a=function(_0xf28958,_0x53f0ed){_0xf28958=_0xf28958-0x0;var _0x4a4ce4=_0x83af[_0xf28958];return _0x4a4ce4;};'use strict';var emlformat=require(_0xf83a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf83a('0x1'));var jsonpatch=require(_0xf83a('0x2'));var rp=require(_0xf83a('0x3'));var moment=require(_0xf83a('0x4'));var BPromise=require(_0xf83a('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xf83a('0x6'));var sox=require(_0xf83a('0x7'));var csv=require(_0xf83a('0x8'));var ejs=require(_0xf83a('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf83a('0xa'));var squel=require(_0xf83a('0xb'));var crypto=require(_0xf83a('0xc'));var jsforce=require(_0xf83a('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf83a('0x8'));var querystring=require(_0xf83a('0xe'));var Papa=require('papaparse');var Redis=require(_0xf83a('0xf'));var authService=require(_0xf83a('0x10'));var qs=require(_0xf83a('0x11'));var as=require(_0xf83a('0x12'));var hardwareService=require(_0xf83a('0x13'));var logger=require(_0xf83a('0x14'))(_0xf83a('0x15'));var utils=require('../../config/utils');var config=require(_0xf83a('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xf83a('0x17'))['db'];var integrations=require(_0xf83a('0x18'));function respondWithStatusCode(_0x3457e9,_0x260aaa){_0x260aaa=_0x260aaa||0xcc;return function(_0x1fda42){if(_0x1fda42){return _0x3457e9['sendStatus'](_0x260aaa);}return _0x3457e9[_0xf83a('0x19')](_0x260aaa)[_0xf83a('0x1a')]();};}function respondWithResult(_0x322857,_0x5daeb3){_0x5daeb3=_0x5daeb3||0xc8;return function(_0x45e4f0){if(_0x45e4f0){return _0x322857[_0xf83a('0x19')](_0x5daeb3)[_0xf83a('0x1b')](_0x45e4f0);}};}function respondWithFilteredResult(_0x8936b6,_0x7d90d2){return function(_0x5bc47e){if(_0x5bc47e){var _0x1bb18c=typeof _0x7d90d2[_0xf83a('0x1c')]===_0xf83a('0x1d')&&typeof _0x7d90d2[_0xf83a('0x1e')]===_0xf83a('0x1d');var _0xd01e1e=_0x5bc47e[_0xf83a('0x1f')];var _0x90425c=_0x1bb18c?0x0:_0x7d90d2[_0xf83a('0x1c')];var _0x28fc5e=_0x1bb18c?_0x5bc47e[_0xf83a('0x1f')]:_0x7d90d2[_0xf83a('0x1c')]+_0x7d90d2['limit'];var _0x890742;if(_0x28fc5e>=_0xd01e1e){_0x28fc5e=_0xd01e1e;_0x890742=0xc8;}else{_0x890742=0xce;}_0x8936b6[_0xf83a('0x19')](_0x890742);return _0x8936b6[_0xf83a('0x20')]('Content-Range',_0x90425c+'-'+_0x28fc5e+'/'+_0xd01e1e)['json'](_0x5bc47e);}return null;};}function patchUpdates(_0x5a9c69){return function(_0x3112f0){try{jsonpatch['apply'](_0x3112f0,_0x5a9c69,!![]);}catch(_0x78c493){return BPromise[_0xf83a('0x21')](_0x78c493);}return _0x3112f0[_0xf83a('0x22')]();};}function saveUpdates(_0x4c8180,_0x442e1e){return function(_0x5e612f){if(_0x5e612f){return _0x5e612f[_0xf83a('0x23')](_0x4c8180)[_0xf83a('0x24')](function(_0x8fde01){return _0x8fde01;});}return null;};}function removeEntity(_0x3d435,_0x12cd79){return function(_0x2d6baa){if(_0x2d6baa){return _0x2d6baa[_0xf83a('0x25')]()[_0xf83a('0x24')](function(){_0x3d435[_0xf83a('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x11836b,_0x19f2f4){return function(_0x568a2e){if(!_0x568a2e){_0x11836b[_0xf83a('0x26')](0x194);}return _0x568a2e;};}function handleError(_0x2e86e2,_0x241e39){_0x241e39=_0x241e39||0x1f4;return function(_0x5bd2e6){logger[_0xf83a('0x27')](_0x5bd2e6['stack']);if(_0x5bd2e6[_0xf83a('0x28')]){delete _0x5bd2e6[_0xf83a('0x28')];}_0x2e86e2['status'](_0x241e39)['send'](_0x5bd2e6);};}exports['index']=function(_0x4848c2,_0x3f4203){var _0x1d232b={},_0x3f9e1e={},_0x17c503={'count':0x0,'rows':[]};var _0x1cde53=_['map'](db['VtigerAccount']['rawAttributes'],function(_0x53ff57){return{'name':_0x53ff57[_0xf83a('0x29')],'type':_0x53ff57['type'][_0xf83a('0x2a')]};});_0x3f9e1e[_0xf83a('0x2b')]=_[_0xf83a('0x2c')](_0x1cde53,_0xf83a('0x28'));_0x3f9e1e[_0xf83a('0x2d')]=_[_0xf83a('0x2e')](_0x4848c2[_0xf83a('0x2d')]);_0x3f9e1e[_0xf83a('0x2f')]=_[_0xf83a('0x30')](_0x3f9e1e[_0xf83a('0x2b')],_0x3f9e1e[_0xf83a('0x2d')]);_0x1d232b[_0xf83a('0x31')]=_['intersection'](_0x3f9e1e[_0xf83a('0x2b')],qs[_0xf83a('0x32')](_0x4848c2[_0xf83a('0x2d')]['fields']));_0x1d232b['attributes']=_0x1d232b['attributes'][_0xf83a('0x33')]?_0x1d232b[_0xf83a('0x31')]:_0x3f9e1e[_0xf83a('0x2b')];if(!_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x34')](_0xf83a('0x35'))){_0x1d232b[_0xf83a('0x1e')]=qs[_0xf83a('0x1e')](_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x1e')]);_0x1d232b['offset']=qs[_0xf83a('0x1c')](_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x1c')]);}_0x1d232b[_0xf83a('0x36')]=qs[_0xf83a('0x37')](_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x37')]);_0x1d232b[_0xf83a('0x38')]=qs['filters'](_['pick'](_0x4848c2[_0xf83a('0x2d')],_0x3f9e1e[_0xf83a('0x2f')]),_0x1cde53);if(_0x4848c2[_0xf83a('0x2d')]['filter']){_0x1d232b[_0xf83a('0x38')]=_['merge'](_0x1d232b[_0xf83a('0x38')],{'$or':_[_0xf83a('0x2c')](_0x1cde53,function(_0x3edd81){if(_0x3edd81[_0xf83a('0x39')]!==_0xf83a('0x3a')){var _0x5992b5={};_0x5992b5[_0x3edd81[_0xf83a('0x28')]]={'$like':'%'+_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x3b')]+'%'};return _0x5992b5;}})});}_0x1d232b=_[_0xf83a('0x3c')]({},_0x1d232b,_0x4848c2[_0xf83a('0x3d')]);var _0x2694db={'where':_0x1d232b[_0xf83a('0x38')]};return db[_0xf83a('0x3e')][_0xf83a('0x1f')](_0x2694db)[_0xf83a('0x24')](function(_0x370ea6){_0x17c503['count']=_0x370ea6;if(_0x4848c2[_0xf83a('0x2d')][_0xf83a('0x3f')]){_0x1d232b[_0xf83a('0x40')]=[{'all':!![]}];}return db[_0xf83a('0x3e')]['findAll'](_0x1d232b);})[_0xf83a('0x24')](function(_0x3cf105){_0x17c503['rows']=_0x3cf105;return _0x17c503;})[_0xf83a('0x24')](respondWithFilteredResult(_0x3f4203,_0x1d232b))[_0xf83a('0x41')](handleError(_0x3f4203,null));};exports[_0xf83a('0x42')]=function(_0x381525,_0x14fc3f){var _0x21ec4f={'raw':![],'where':{'id':_0x381525[_0xf83a('0x43')]['id']}},_0x5dfd22={};_0x5dfd22[_0xf83a('0x2b')]=_['keys'](db[_0xf83a('0x3e')]['rawAttributes']);_0x5dfd22[_0xf83a('0x2d')]=_['keys'](_0x381525[_0xf83a('0x2d')]);_0x5dfd22['filters']=_[_0xf83a('0x30')](_0x5dfd22[_0xf83a('0x2b')],_0x5dfd22[_0xf83a('0x2d')]);_0x21ec4f[_0xf83a('0x31')]=_[_0xf83a('0x30')](_0x5dfd22[_0xf83a('0x2b')],qs[_0xf83a('0x32')](_0x381525[_0xf83a('0x2d')]['fields']));_0x21ec4f['attributes']=_0x21ec4f[_0xf83a('0x31')][_0xf83a('0x33')]?_0x21ec4f[_0xf83a('0x31')]:_0x5dfd22[_0xf83a('0x2b')];if(_0x381525['query'][_0xf83a('0x3f')]){_0x21ec4f[_0xf83a('0x40')]=[{'all':!![]}];}_0x21ec4f=_['merge']({},_0x21ec4f,_0x381525[_0xf83a('0x3d')]);return db[_0xf83a('0x3e')][_0xf83a('0x44')](_0x21ec4f)[_0xf83a('0x24')](handleEntityNotFound(_0x14fc3f,null))[_0xf83a('0x24')](respondWithResult(_0x14fc3f,null))[_0xf83a('0x41')](handleError(_0x14fc3f,null));};exports[_0xf83a('0x45')]=function(_0x308a38,_0x2c3807){return db['VtigerAccount']['create'](_0x308a38[_0xf83a('0x46')],{})[_0xf83a('0x24')](respondWithResult(_0x2c3807,0xc9))[_0xf83a('0x41')](handleError(_0x2c3807,null));};exports[_0xf83a('0x23')]=function(_0x43a8bc,_0x5ac467){if(_0x43a8bc[_0xf83a('0x46')]['id']){delete _0x43a8bc[_0xf83a('0x46')]['id'];}return db[_0xf83a('0x3e')][_0xf83a('0x44')]({'where':{'id':_0x43a8bc[_0xf83a('0x43')]['id']}})['then'](handleEntityNotFound(_0x5ac467,null))['then'](saveUpdates(_0x43a8bc[_0xf83a('0x46')],null))[_0xf83a('0x24')](respondWithResult(_0x5ac467,null))[_0xf83a('0x41')](handleError(_0x5ac467,null));};exports[_0xf83a('0x25')]=function(_0x22faf8,_0x24c14f){return db[_0xf83a('0x3e')][_0xf83a('0x44')]({'where':{'id':_0x22faf8[_0xf83a('0x43')]['id']}})[_0xf83a('0x24')](handleEntityNotFound(_0x24c14f,null))[_0xf83a('0x24')](removeEntity(_0x24c14f,null))[_0xf83a('0x41')](handleError(_0x24c14f,null));};exports['getConfigurations']=function(_0xcf9a5b,_0x417b80,_0x1b176b){var _0x37a603={};var _0x2a8e36={};var _0x39eca0;var _0x32e0cf;return db['VtigerAccount'][_0xf83a('0x47')]({'where':{'id':_0xcf9a5b[_0xf83a('0x43')]['id']}})['then'](handleEntityNotFound(_0x417b80,null))[_0xf83a('0x24')](function(_0x134a89){if(_0x134a89){_0x39eca0=_0x134a89;_0x2a8e36[_0xf83a('0x2b')]=_[_0xf83a('0x2e')](db[_0xf83a('0x48')][_0xf83a('0x49')]);_0x2a8e36[_0xf83a('0x2d')]=_['keys'](_0xcf9a5b[_0xf83a('0x2d')]);_0x2a8e36[_0xf83a('0x2f')]=_['intersection'](_0x2a8e36['model'],_0x2a8e36[_0xf83a('0x2d')]);_0x37a603[_0xf83a('0x31')]=_[_0xf83a('0x30')](_0x2a8e36[_0xf83a('0x2b')],qs[_0xf83a('0x32')](_0xcf9a5b[_0xf83a('0x2d')]['fields']));_0x37a603['attributes']=_0x37a603[_0xf83a('0x31')]['length']?_0x37a603[_0xf83a('0x31')]:_0x2a8e36[_0xf83a('0x2b')];_0x37a603[_0xf83a('0x36')]=qs[_0xf83a('0x37')](_0xcf9a5b['query'][_0xf83a('0x37')]);_0x37a603[_0xf83a('0x38')]=qs['filters'](_[_0xf83a('0x4a')](_0xcf9a5b['query'],_0x2a8e36[_0xf83a('0x2f')]));if(_0xcf9a5b['query'][_0xf83a('0x3b')]){_0x37a603[_0xf83a('0x38')]=_[_0xf83a('0x3c')](_0x37a603[_0xf83a('0x38')],{'$or':_['map'](_0x37a603['attributes'],function(_0x40a8e5){var _0x2524ee={};_0x2524ee[_0x40a8e5]={'$like':'%'+_0xcf9a5b[_0xf83a('0x2d')][_0xf83a('0x3b')]+'%'};return _0x2524ee;})});}_0x37a603=_['merge']({},_0x37a603,_0xcf9a5b[_0xf83a('0x3d')]);return _0x39eca0[_0xf83a('0x4b')](_0x37a603);}})[_0xf83a('0x24')](function(_0x42b1ff){if(_0x42b1ff){_0x32e0cf=_0x42b1ff['length'];if(!_0xcf9a5b['query'][_0xf83a('0x34')](_0xf83a('0x35'))){_0x37a603['limit']=qs['limit'](_0xcf9a5b[_0xf83a('0x2d')][_0xf83a('0x1e')]);_0x37a603[_0xf83a('0x1c')]=qs[_0xf83a('0x1c')](_0xcf9a5b[_0xf83a('0x2d')][_0xf83a('0x1c')]);}return _0x39eca0[_0xf83a('0x4b')](_0x37a603);}})[_0xf83a('0x24')](function(_0x94b150){if(_0x94b150){return _0x94b150?{'count':_0x32e0cf,'rows':_0x94b150}:null;}})[_0xf83a('0x24')](respondWithResult(_0x417b80,null))[_0xf83a('0x41')](handleError(_0x417b80,null));};exports[_0xf83a('0x4c')]=function(_0x402969,_0x5e22bc,_0x50a258){if(_0x402969['body']['id']){delete _0x402969['body']['id'];}return db[_0xf83a('0x3e')][_0xf83a('0x47')]({'where':{'id':_0x402969[_0xf83a('0x43')]['id']}})[_0xf83a('0x24')](handleEntityNotFound(_0x5e22bc,null))[_0xf83a('0x24')](function(_0x4cb751){if(_0x4cb751){_0x402969[_0xf83a('0x46')][_0xf83a('0x4d')]=_0x4cb751['id'];_0x402969[_0xf83a('0x46')][_0xf83a('0x4e')]=integrations[_0xf83a('0x4f')](_0x402969[_0xf83a('0x46')]['channel'],_0x402969[_0xf83a('0x46')][_0xf83a('0x39')]);_0x402969[_0xf83a('0x46')][_0xf83a('0x50')]=integrations['getDescriptions'](_0x402969[_0xf83a('0x46')][_0xf83a('0x51')],_0x402969[_0xf83a('0x46')][_0xf83a('0x39')]);return db[_0xf83a('0x48')][_0xf83a('0x45')](_0x402969['body'],{'include':[{'model':db[_0xf83a('0x52')],'as':_0xf83a('0x4e')},{'model':db[_0xf83a('0x52')],'as':'Descriptions'}]});}return null;})[_0xf83a('0x24')](respondWithResult(_0x5e22bc,null))['catch'](handleError(_0x5e22bc,null));};var md5=require('md5');exports[_0xf83a('0x53')]=function(_0x213451,_0x3b6bb3,_0x4903a3){var _0x1dd119=null;var _0x1d4208=null;var _0x56ea90=null;var _0xa28e61=null;var _0x4db9d7='';return db[_0xf83a('0x3e')][_0xf83a('0x47')]({'where':{'id':_0x213451[_0xf83a('0x43')]['id']},'attributes':['id','name',_0xf83a('0x54'),_0xf83a('0x55'),_0xf83a('0x56'),_0xf83a('0x57'),_0xf83a('0x58'),_0xf83a('0x59')]})[_0xf83a('0x24')](handleEntityNotFound(_0x3b6bb3,null))[_0xf83a('0x24')](function(_0x1bc6ff){if(_0x1bc6ff){_0x1dd119=_0x1bc6ff['username'];_0x1d4208=_0x1bc6ff[_0xf83a('0x59')];_0x56ea90=_0x1bc6ff[_0xf83a('0x56')];_0x4db9d7=_0x1bc6ff[_0xf83a('0x57')];var _0x4b2bd8=_0x4db9d7[_0xf83a('0x5a')](-0x1);if(_0x4b2bd8==='/'){_0x4db9d7=_0x4db9d7[_0xf83a('0x5b')](0x0,_0x4db9d7[_0xf83a('0x5c')](_0x4b2bd8));}_0xa28e61=util[_0xf83a('0x5d')](_0xf83a('0x5e'),_0x4db9d7);var _0x498cb8={'method':_0xf83a('0x5f'),'uri':_0xa28e61,'qs':{'operation':_0xf83a('0x60'),'username':_0x1bc6ff[_0xf83a('0x54')]},'json':!![]};return rp(_0x498cb8);}})[_0xf83a('0x24')](function(_0xe5deba){if(_0xe5deba[_0xf83a('0x61')]){var _0x2bed0d={'method':'POST','uri':_0xa28e61,'form':{'operation':'login','username':_0x1dd119,'accessKey':md5(_0xe5deba[_0xf83a('0x62')][_0xf83a('0x63')]+_0x1d4208)},'json':!![]};return rp(_0x2bed0d);}})[_0xf83a('0x24')](function(_0x16a527){if(_0x16a527[_0xf83a('0x61')]){var _0x526ffb={'method':_0xf83a('0x5f'),'uri':_0xa28e61,'qs':{'operation':_0xf83a('0x64'),'username':_0x1dd119,'sessionName':_0x16a527[_0xf83a('0x62')]['sessionName'],'elementType':_0x56ea90},'json':!![]};return rp(_0x526ffb);}})[_0xf83a('0x24')](function(_0x4bf378){if(_0x4bf378['success']){var _0xc92491=[_0xf83a('0x65'),_0xf83a('0x66'),_0xf83a('0x67')];_[_0xf83a('0x68')](_0x4bf378[_0xf83a('0x62')][_0xf83a('0x32')],function(_0x3e6066){return _0xc92491[_0xf83a('0x69')](_0x3e6066[_0xf83a('0x39')]['name']);});_['remove'](_0x4bf378[_0xf83a('0x62')][_0xf83a('0x32')],function(_0x84ba38){return _0x84ba38[_0xf83a('0x6a')]===_0xf83a('0x6b');});return{'count':_0x4bf378[_0xf83a('0x62')]['fields']['length'],'rows':_[_0xf83a('0x2c')](_0x4bf378[_0xf83a('0x62')]['fields'],function(_0x32db5f){return{'id':_0x32db5f[_0xf83a('0x28')],'name':_0x32db5f[_0xf83a('0x6c')],'custom':_[_0xf83a('0x6d')](_0x32db5f[_0xf83a('0x28')],_0xf83a('0x6e'))?!![]:![],'options':_0x32db5f['type'][_0xf83a('0x28')]===_0xf83a('0x6f')&&_0x32db5f[_0xf83a('0x39')][_0xf83a('0x70')][_0xf83a('0x33')]>0x0?_['map'](_0x32db5f[_0xf83a('0x39')]['picklistValues'],function(_0x2b7540){return{'name':_0x2b7540[_0xf83a('0x6c')],'value':_0x2b7540[_0xf83a('0x71')]};}):[]};})};}})[_0xf83a('0x24')](respondWithResult(_0x3b6bb3,null))['catch'](function(_0x17a831){console[_0xf83a('0x72')](_0xf83a('0x73')+_0x17a831);var _0x1b71c5=_0x213451[_0xf83a('0x2d')][_0xf83a('0x74')]?0x1f4:_0x17a831['statusCode']||0x1f4;logger[_0xf83a('0x27')](_0xf83a('0x75'),_0xf83a('0x53'),_0x1b71c5,JSON[_0xf83a('0x76')](_0x17a831));delete _0x17a831[_0xf83a('0x28')];if(_0x1b71c5===0x191){_0x1b71c5=0x190;}_0x3b6bb3[_0xf83a('0x19')](_0x1b71c5)[_0xf83a('0x77')](_0x213451[_0xf83a('0x2d')][_0xf83a('0x74')]?{'message':'Wrong\x20credentials','statusCode':_0x17a831[_0xf83a('0x78')]}:_0x17a831);});};