Built motion from commit (unavailable).|2.5.11
[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 _0x448a=['rimraf','fast-json-patch','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','then','info','request\x20sent','stringify','error','code','VtigerAccount,\x20%s,\x20%s','message','result','catch','sendStatus','status','offset','limit','set','Content-Range','json','apply','reject','save','update','stack','name','send','map','VtigerAccount','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','merge','VIRTUAL','options','includeAll','rows','params','length','find','create','body','destroy','getConfigurations','VtigerConfiguration','pick','filter','nolimit','addConfiguration','findOne','AccountId','channel','Descriptions','getDescriptions','VtigerField','md5','getFields','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','substring','format','%s/webservice.php','GET','getchallenge','success','POST','token','sessionName','reference','owner','includes','remove','false','label','startsWith','cf_','picklist','picklistValues','value','log','test','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','statusCode','eml-format'];(function(_0x53f122,_0x2cdeca){var _0x59a134=function(_0x41468d){while(--_0x41468d){_0x53f122['push'](_0x53f122['shift']());}};_0x59a134(++_0x2cdeca);}(_0x448a,0x1ef));var _0xa448=function(_0x282e25,_0x5abf6b){_0x282e25=_0x282e25-0x0;var _0x444374=_0x448a[_0x282e25];return _0x444374;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa448('0x0'));var rimraf=require(_0xa448('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa448('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xa448('0x3'));var Mustache=require(_0xa448('0x4'));var util=require('util');var path=require(_0xa448('0x5'));var sox=require(_0xa448('0x6'));var csv=require(_0xa448('0x7'));var ejs=require(_0xa448('0x8'));var fs=require('fs');var _=require(_0xa448('0x9'));var squel=require(_0xa448('0xa'));var crypto=require(_0xa448('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa448('0x7'));var querystring=require(_0xa448('0xc'));var Papa=require(_0xa448('0xd'));var Redis=require(_0xa448('0xe'));var authService=require(_0xa448('0xf'));var qs=require(_0xa448('0x10'));var as=require(_0xa448('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xa448('0x12'));var utils=require(_0xa448('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xa448('0x14'));var db=require(_0xa448('0x15'))['db'];var integrations=require(_0xa448('0x16'));var jayson=require(_0xa448('0x17'));var client=jayson[_0xa448('0x18')][_0xa448('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x2babde,_0x357202,_0x2d41b6,_0x5da954){return new BPromise(function(_0x5d90aa,_0xf0e2f4){var _0x19f31f=_0x5da954||client;return _0x19f31f[_0xa448('0x1a')](_0x2babde,_0x2d41b6)[_0xa448('0x1b')](function(_0x335a28){logger[_0xa448('0x1c')]('VtigerAccount,\x20%s,\x20%s',_0x357202,'request\x20sent');logger['debug']('VtigerAccount,\x20%s,\x20%s,\x20%s',_0x357202,_0xa448('0x1d'),JSON[_0xa448('0x1e')](_0x335a28));if(_0x335a28['error']){if(_0x335a28[_0xa448('0x1f')][_0xa448('0x20')]===0x1f4){logger[_0xa448('0x1f')](_0xa448('0x21'),_0x357202,_0x335a28[_0xa448('0x1f')]['message']);return _0xf0e2f4(_0x335a28[_0xa448('0x1f')][_0xa448('0x22')]);}logger[_0xa448('0x1f')](_0xa448('0x21'),_0x357202,_0x335a28[_0xa448('0x1f')]['message']);return _0x5d90aa(_0x335a28[_0xa448('0x1f')][_0xa448('0x22')]);}else{logger[_0xa448('0x1c')](_0xa448('0x21'),_0x357202,_0xa448('0x1d'));_0x5d90aa(_0x335a28[_0xa448('0x23')][_0xa448('0x22')]);}})[_0xa448('0x24')](function(_0x3552ae){logger[_0xa448('0x1f')](_0xa448('0x21'),_0x357202,_0x3552ae);_0xf0e2f4(_0x3552ae);});});}function respondWithStatusCode(_0x4aee1e,_0x347f87){_0x347f87=_0x347f87||0xcc;return function(_0x453d88){if(_0x453d88){return _0x4aee1e[_0xa448('0x25')](_0x347f87);}return _0x4aee1e[_0xa448('0x26')](_0x347f87)['end']();};}function respondWithResult(_0x2ccc29,_0xba8d8f){_0xba8d8f=_0xba8d8f||0xc8;return function(_0xc1af15){if(_0xc1af15){return _0x2ccc29[_0xa448('0x26')](_0xba8d8f)['json'](_0xc1af15);}};}function respondWithFilteredResult(_0x46bcb3,_0x4daa90){return function(_0x25a42d){if(_0x25a42d){var _0x3e6679=_0x25a42d['count'],_0x2aee99=_0x4daa90[_0xa448('0x27')],_0x1f045c=_0x4daa90[_0xa448('0x27')]+_0x4daa90[_0xa448('0x28')],_0xc05fb6;if(_0x1f045c>=_0x3e6679){_0x1f045c=_0x3e6679;_0xc05fb6=0xc8;}else{_0xc05fb6=0xce;}_0x46bcb3[_0xa448('0x26')](_0xc05fb6);return _0x46bcb3[_0xa448('0x29')](_0xa448('0x2a'),_0x2aee99+'-'+_0x1f045c+'/'+_0x3e6679)[_0xa448('0x2b')](_0x25a42d);}return null;};}function patchUpdates(_0x30f30a){return function(_0x445c10){try{jsonpatch[_0xa448('0x2c')](_0x445c10,_0x30f30a,!![]);}catch(_0x32bfa4){return BPromise[_0xa448('0x2d')](_0x32bfa4);}return _0x445c10[_0xa448('0x2e')]();};}function saveUpdates(_0x7a2715,_0x597a99){return function(_0x1f8938){if(_0x1f8938){return _0x1f8938[_0xa448('0x2f')](_0x7a2715)[_0xa448('0x1b')](function(_0x2136b5){return _0x2136b5;});}return null;};}function removeEntity(_0x440e3e,_0x1af0d8){return function(_0xe44a6){if(_0xe44a6){return _0xe44a6['destroy']()[_0xa448('0x1b')](function(){_0x440e3e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ccdbc,_0x3b7d4d){return function(_0x12eed9){if(!_0x12eed9){_0x2ccdbc[_0xa448('0x25')](0x194);}return _0x12eed9;};}function handleError(_0x3503d6,_0x5b06a8){_0x5b06a8=_0x5b06a8||0x1f4;return function(_0x4d545e){logger[_0xa448('0x1f')](_0x4d545e[_0xa448('0x30')]);if(_0x4d545e[_0xa448('0x31')]){delete _0x4d545e['name'];}_0x3503d6[_0xa448('0x26')](_0x5b06a8)[_0xa448('0x32')](_0x4d545e);};}exports['index']=function(_0xdc765d,_0x194f9e){var _0x1db1c8={},_0x68875a={},_0x43c452={'count':0x0,'rows':[]};var _0x5a58cd=_[_0xa448('0x33')](db[_0xa448('0x34')][_0xa448('0x35')],function(_0x15e207){return{'name':_0x15e207['fieldName'],'type':_0x15e207[_0xa448('0x36')][_0xa448('0x37')]};});_0x68875a[_0xa448('0x38')]=_[_0xa448('0x33')](_0x5a58cd,_0xa448('0x31'));_0x68875a['query']=_[_0xa448('0x39')](_0xdc765d[_0xa448('0x3a')]);_0x68875a[_0xa448('0x3b')]=_[_0xa448('0x3c')](_0x68875a[_0xa448('0x38')],_0x68875a[_0xa448('0x3a')]);_0x1db1c8[_0xa448('0x3d')]=_['intersection'](_0x68875a[_0xa448('0x38')],qs['fields'](_0xdc765d['query'][_0xa448('0x3e')]));_0x1db1c8[_0xa448('0x3d')]=_0x1db1c8[_0xa448('0x3d')]['length']?_0x1db1c8[_0xa448('0x3d')]:_0x68875a[_0xa448('0x38')];if(!_0xdc765d[_0xa448('0x3a')][_0xa448('0x3f')]('nolimit')){_0x1db1c8['limit']=qs[_0xa448('0x28')](_0xdc765d['query'][_0xa448('0x28')]);_0x1db1c8[_0xa448('0x27')]=qs[_0xa448('0x27')](_0xdc765d['query'][_0xa448('0x27')]);}_0x1db1c8[_0xa448('0x40')]=qs[_0xa448('0x41')](_0xdc765d[_0xa448('0x3a')][_0xa448('0x41')]);_0x1db1c8[_0xa448('0x42')]=qs[_0xa448('0x3b')](_['pick'](_0xdc765d['query'],_0x68875a[_0xa448('0x3b')]),_0x5a58cd);if(_0xdc765d[_0xa448('0x3a')]['filter']){_0x1db1c8[_0xa448('0x42')]=_[_0xa448('0x43')](_0x1db1c8[_0xa448('0x42')],{'$or':_[_0xa448('0x33')](_0x5a58cd,function(_0x210842){if(_0x210842[_0xa448('0x36')]!==_0xa448('0x44')){var _0x97e8af={};_0x97e8af[_0x210842[_0xa448('0x31')]]={'$like':'%'+_0xdc765d['query']['filter']+'%'};return _0x97e8af;}})});}_0x1db1c8=_['merge']({},_0x1db1c8,_0xdc765d[_0xa448('0x45')]);var _0xd78321={'where':_0x1db1c8[_0xa448('0x42')]};return db[_0xa448('0x34')]['count'](_0xd78321)[_0xa448('0x1b')](function(_0x488b3a){_0x43c452['count']=_0x488b3a;if(_0xdc765d[_0xa448('0x3a')][_0xa448('0x46')]){_0x1db1c8['include']=[{'all':!![]}];}return db['VtigerAccount']['findAll'](_0x1db1c8);})['then'](function(_0x55d89e){_0x43c452[_0xa448('0x47')]=_0x55d89e;return _0x43c452;})[_0xa448('0x1b')](respondWithFilteredResult(_0x194f9e,_0x1db1c8))[_0xa448('0x24')](handleError(_0x194f9e,null));};exports['show']=function(_0x4585c9,_0x5e18aa){var _0xc41cb0={'raw':![],'where':{'id':_0x4585c9[_0xa448('0x48')]['id']}},_0x3dd84d={};_0x3dd84d['model']=_[_0xa448('0x39')](db[_0xa448('0x34')]['rawAttributes']);_0x3dd84d['query']=_[_0xa448('0x39')](_0x4585c9[_0xa448('0x3a')]);_0x3dd84d[_0xa448('0x3b')]=_[_0xa448('0x3c')](_0x3dd84d['model'],_0x3dd84d[_0xa448('0x3a')]);_0xc41cb0[_0xa448('0x3d')]=_[_0xa448('0x3c')](_0x3dd84d[_0xa448('0x38')],qs['fields'](_0x4585c9[_0xa448('0x3a')][_0xa448('0x3e')]));_0xc41cb0[_0xa448('0x3d')]=_0xc41cb0[_0xa448('0x3d')][_0xa448('0x49')]?_0xc41cb0['attributes']:_0x3dd84d[_0xa448('0x38')];if(_0x4585c9[_0xa448('0x3a')]['includeAll']){_0xc41cb0['include']=[{'all':!![]}];}_0xc41cb0=_[_0xa448('0x43')]({},_0xc41cb0,_0x4585c9[_0xa448('0x45')]);return db[_0xa448('0x34')][_0xa448('0x4a')](_0xc41cb0)[_0xa448('0x1b')](handleEntityNotFound(_0x5e18aa,null))[_0xa448('0x1b')](respondWithResult(_0x5e18aa,null))['catch'](handleError(_0x5e18aa,null));};exports[_0xa448('0x4b')]=function(_0x6a5c9f,_0x3f1e53){return db[_0xa448('0x34')][_0xa448('0x4b')](_0x6a5c9f['body'],{})[_0xa448('0x1b')](respondWithResult(_0x3f1e53,0xc9))[_0xa448('0x24')](handleError(_0x3f1e53,null));};exports['update']=function(_0x5359b1,_0x4bc0c5){if(_0x5359b1[_0xa448('0x4c')]['id']){delete _0x5359b1[_0xa448('0x4c')]['id'];}return db[_0xa448('0x34')][_0xa448('0x4a')]({'where':{'id':_0x5359b1[_0xa448('0x48')]['id']}})['then'](handleEntityNotFound(_0x4bc0c5,null))['then'](saveUpdates(_0x5359b1[_0xa448('0x4c')],null))[_0xa448('0x1b')](respondWithResult(_0x4bc0c5,null))['catch'](handleError(_0x4bc0c5,null));};exports[_0xa448('0x4d')]=function(_0x1ad904,_0xdeb841){return db[_0xa448('0x34')][_0xa448('0x4a')]({'where':{'id':_0x1ad904[_0xa448('0x48')]['id']}})[_0xa448('0x1b')](handleEntityNotFound(_0xdeb841,null))[_0xa448('0x1b')](removeEntity(_0xdeb841,null))[_0xa448('0x24')](handleError(_0xdeb841,null));};exports[_0xa448('0x4e')]=function(_0x476e8b,_0x173609,_0x1f74bb){var _0x2fc03e={};var _0x343efc={};var _0x112de8;var _0xf98b2;return db[_0xa448('0x34')]['findOne']({'where':{'id':_0x476e8b[_0xa448('0x48')]['id']}})[_0xa448('0x1b')](handleEntityNotFound(_0x173609,null))['then'](function(_0x4bd302){if(_0x4bd302){_0x112de8=_0x4bd302;_0x343efc[_0xa448('0x38')]=_[_0xa448('0x39')](db[_0xa448('0x4f')][_0xa448('0x35')]);_0x343efc['query']=_[_0xa448('0x39')](_0x476e8b[_0xa448('0x3a')]);_0x343efc['filters']=_[_0xa448('0x3c')](_0x343efc[_0xa448('0x38')],_0x343efc[_0xa448('0x3a')]);_0x2fc03e[_0xa448('0x3d')]=_[_0xa448('0x3c')](_0x343efc[_0xa448('0x38')],qs['fields'](_0x476e8b[_0xa448('0x3a')]['fields']));_0x2fc03e[_0xa448('0x3d')]=_0x2fc03e[_0xa448('0x3d')][_0xa448('0x49')]?_0x2fc03e[_0xa448('0x3d')]:_0x343efc[_0xa448('0x38')];_0x2fc03e[_0xa448('0x40')]=qs[_0xa448('0x41')](_0x476e8b[_0xa448('0x3a')][_0xa448('0x41')]);_0x2fc03e[_0xa448('0x42')]=qs[_0xa448('0x3b')](_[_0xa448('0x50')](_0x476e8b[_0xa448('0x3a')],_0x343efc[_0xa448('0x3b')]));if(_0x476e8b[_0xa448('0x3a')][_0xa448('0x51')]){_0x2fc03e[_0xa448('0x42')]=_[_0xa448('0x43')](_0x2fc03e['where'],{'$or':_[_0xa448('0x33')](_0x2fc03e[_0xa448('0x3d')],function(_0x298dae){var _0x234519={};_0x234519[_0x298dae]={'$like':'%'+_0x476e8b['query'][_0xa448('0x51')]+'%'};return _0x234519;})});}_0x2fc03e=_[_0xa448('0x43')]({},_0x2fc03e,_0x476e8b[_0xa448('0x45')]);return _0x112de8[_0xa448('0x4e')](_0x2fc03e);}})[_0xa448('0x1b')](function(_0x1d6c44){if(_0x1d6c44){_0xf98b2=_0x1d6c44[_0xa448('0x49')];if(!_0x476e8b[_0xa448('0x3a')][_0xa448('0x3f')](_0xa448('0x52'))){_0x2fc03e[_0xa448('0x28')]=qs['limit'](_0x476e8b[_0xa448('0x3a')][_0xa448('0x28')]);_0x2fc03e[_0xa448('0x27')]=qs[_0xa448('0x27')](_0x476e8b[_0xa448('0x3a')][_0xa448('0x27')]);}return _0x112de8[_0xa448('0x4e')](_0x2fc03e);}})['then'](function(_0x21bc41){if(_0x21bc41){return _0x21bc41?{'count':_0xf98b2,'rows':_0x21bc41}:null;}})[_0xa448('0x1b')](respondWithResult(_0x173609,null))[_0xa448('0x24')](handleError(_0x173609,null));};exports[_0xa448('0x53')]=function(_0x2195be,_0x1d5e03,_0x3bdfd0){if(_0x2195be[_0xa448('0x4c')]['id']){delete _0x2195be[_0xa448('0x4c')]['id'];}return db[_0xa448('0x34')][_0xa448('0x54')]({'where':{'id':_0x2195be[_0xa448('0x48')]['id']}})['then'](handleEntityNotFound(_0x1d5e03,null))[_0xa448('0x1b')](function(_0x57a6ab){if(_0x57a6ab){_0x2195be['body'][_0xa448('0x55')]=_0x57a6ab['id'];_0x2195be['body']['Subjects']=integrations['getSubjects'](_0x2195be['body'][_0xa448('0x56')],_0x2195be[_0xa448('0x4c')][_0xa448('0x36')]);_0x2195be[_0xa448('0x4c')][_0xa448('0x57')]=integrations[_0xa448('0x58')](_0x2195be['body'][_0xa448('0x56')],_0x2195be[_0xa448('0x4c')][_0xa448('0x36')]);return db[_0xa448('0x4f')][_0xa448('0x4b')](_0x2195be[_0xa448('0x4c')],{'include':[{'model':db[_0xa448('0x59')],'as':'Subjects'},{'model':db[_0xa448('0x59')],'as':_0xa448('0x57')}]});}return null;})[_0xa448('0x1b')](respondWithResult(_0x1d5e03,null))[_0xa448('0x24')](handleError(_0x1d5e03,null));};var md5=require(_0xa448('0x5a'));exports[_0xa448('0x5b')]=function(_0x358867,_0x5f5868,_0x560145){var _0x2ac14e=null;var _0xadfdb5=null;var _0x49d6e9=null;var _0x2b2753=null;var _0x20bbff='';return db[_0xa448('0x34')][_0xa448('0x54')]({'where':{'id':_0x358867[_0xa448('0x48')]['id']},'attributes':['id',_0xa448('0x31'),_0xa448('0x5c'),_0xa448('0x5d'),_0xa448('0x5e'),_0xa448('0x5f'),_0xa448('0x60'),_0xa448('0x61')]})['then'](handleEntityNotFound(_0x5f5868,null))['then'](function(_0x40bf16){if(_0x40bf16){_0x2ac14e=_0x40bf16[_0xa448('0x5c')];_0xadfdb5=_0x40bf16['accessKey'];_0x49d6e9=_0x40bf16[_0xa448('0x5e')];_0x20bbff=_0x40bf16[_0xa448('0x5f')];var _0x46e38f=_0x20bbff[_0xa448('0x62')](-0x1);if(_0x46e38f==='/'){_0x20bbff=_0x20bbff[_0xa448('0x63')](0x0,_0x20bbff['lastIndexOf'](_0x46e38f));}_0x2b2753=util[_0xa448('0x64')](_0xa448('0x65'),_0x20bbff);var _0x50be6e={'method':_0xa448('0x66'),'uri':_0x2b2753,'qs':{'operation':_0xa448('0x67'),'username':_0x40bf16[_0xa448('0x5c')]},'json':!![]};return rp(_0x50be6e);}})[_0xa448('0x1b')](function(_0x13e689){if(_0x13e689[_0xa448('0x68')]){var _0x7eeba9={'method':_0xa448('0x69'),'uri':_0x2b2753,'form':{'operation':'login','username':_0x2ac14e,'accessKey':md5(_0x13e689['result'][_0xa448('0x6a')]+_0xadfdb5)},'json':!![]};return rp(_0x7eeba9);}})[_0xa448('0x1b')](function(_0x4ffd56){if(_0x4ffd56[_0xa448('0x68')]){var _0x50ff85={'method':'GET','uri':_0x2b2753,'qs':{'operation':'describe','username':_0x2ac14e,'sessionName':_0x4ffd56['result'][_0xa448('0x6b')],'elementType':_0x49d6e9},'json':!![]};return rp(_0x50ff85);}})[_0xa448('0x1b')](function(_0x66c5f2){if(_0x66c5f2[_0xa448('0x68')]){var _0x176084=['autogenerated',_0xa448('0x6c'),_0xa448('0x6d')];_['remove'](_0x66c5f2[_0xa448('0x23')][_0xa448('0x3e')],function(_0x976b6d){return _0x176084[_0xa448('0x6e')](_0x976b6d[_0xa448('0x36')][_0xa448('0x31')]);});_[_0xa448('0x6f')](_0x66c5f2['result'][_0xa448('0x3e')],function(_0x18fe39){return _0x18fe39['editable']===_0xa448('0x70');});return{'count':_0x66c5f2[_0xa448('0x23')][_0xa448('0x3e')][_0xa448('0x49')],'rows':_['map'](_0x66c5f2[_0xa448('0x23')][_0xa448('0x3e')],function(_0x4658e8){return{'id':_0x4658e8[_0xa448('0x31')],'name':_0x4658e8[_0xa448('0x71')],'custom':_[_0xa448('0x72')](_0x4658e8[_0xa448('0x31')],_0xa448('0x73'))?!![]:![],'options':_0x4658e8[_0xa448('0x36')][_0xa448('0x31')]===_0xa448('0x74')&&_0x4658e8[_0xa448('0x36')][_0xa448('0x75')][_0xa448('0x49')]>0x0?_[_0xa448('0x33')](_0x4658e8['type'][_0xa448('0x75')],function(_0x2a16d7){return{'name':_0x2a16d7['label'],'value':_0x2a16d7[_0xa448('0x76')]};}):[]};})};}})[_0xa448('0x1b')](respondWithResult(_0x5f5868,null))['catch'](function(_0x3b9515){console[_0xa448('0x77')]('vTiger\x20error:\x20'+_0x3b9515);var _0x39980a=_0x358867['query'][_0xa448('0x78')]?0x1f4:_0x3b9515['statusCode']||0x1f4;logger['error'](_0xa448('0x79'),_0xa448('0x5b'),_0x39980a,JSON['stringify'](_0x3b9515));delete _0x3b9515['name'];if(_0x39980a===0x191){_0x39980a=0x190;}_0x5f5868[_0xa448('0x26')](_0x39980a)[_0xa448('0x32')](_0x358867[_0xa448('0x3a')][_0xa448('0x78')]?{'message':_0xa448('0x7a'),'statusCode':_0x3b9515[_0xa448('0x7b')]}:_0x3b9515);});};