Built motion from commit e1760111.|2.6.18
[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 _0xc2ba=['status','end','json','undefined','count','offset','limit','Content-Range','apply','save','then','destroy','error','name','send','index','map','VtigerAccount','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','include','findAll','rows','catch','params','keys','find','create','body','update','getConfigurations','VtigerConfiguration','nolimit','addConfiguration','findOne','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','VtigerField','md5','getFields','username','description','accessKey','moduleName','slice','substring','lastIndexOf','format','success','login','GET','describe','result','sessionName','reference','includes','remove','editable','false','label','startsWith','cf_','picklist','picklistValues','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus'];(function(_0x1f4016,_0x117fc4){var _0x3c2af1=function(_0x176f02){while(--_0x176f02){_0x1f4016['push'](_0x1f4016['shift']());}};_0x3c2af1(++_0x117fc4);}(_0xc2ba,0x146));var _0xac2b=function(_0x5c6a9b,_0x12b762){_0x5c6a9b=_0x5c6a9b-0x0;var _0x4f42c5=_0xc2ba[_0x5c6a9b];return _0x4f42c5;};'use strict';var emlformat=require(_0xac2b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xac2b('0x1'));var jsonpatch=require(_0xac2b('0x2'));var rp=require(_0xac2b('0x3'));var moment=require(_0xac2b('0x4'));var BPromise=require(_0xac2b('0x5'));var Mustache=require(_0xac2b('0x6'));var util=require(_0xac2b('0x7'));var path=require(_0xac2b('0x8'));var sox=require(_0xac2b('0x9'));var csv=require(_0xac2b('0xa'));var ejs=require(_0xac2b('0xb'));var fs=require('fs');var fs_extra=require(_0xac2b('0xc'));var _=require(_0xac2b('0xd'));var squel=require('squel');var crypto=require(_0xac2b('0xe'));var jsforce=require(_0xac2b('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xac2b('0xa'));var querystring=require(_0xac2b('0x10'));var Papa=require(_0xac2b('0x11'));var Redis=require(_0xac2b('0x12'));var authService=require(_0xac2b('0x13'));var qs=require(_0xac2b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xac2b('0x15'));var logger=require(_0xac2b('0x16'))('api');var utils=require(_0xac2b('0x17'));var config=require(_0xac2b('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xac2b('0x19'))['db'];var integrations=require(_0xac2b('0x1a'));function respondWithStatusCode(_0x89ecf0,_0x5dd417){_0x5dd417=_0x5dd417||0xcc;return function(_0x1d56a3){if(_0x1d56a3){return _0x89ecf0[_0xac2b('0x1b')](_0x5dd417);}return _0x89ecf0[_0xac2b('0x1c')](_0x5dd417)[_0xac2b('0x1d')]();};}function respondWithResult(_0x3292ec,_0x411351){_0x411351=_0x411351||0xc8;return function(_0x2a4480){if(_0x2a4480){return _0x3292ec[_0xac2b('0x1c')](_0x411351)[_0xac2b('0x1e')](_0x2a4480);}};}function respondWithFilteredResult(_0x32d9c9,_0x37d317){return function(_0x5d273c){if(_0x5d273c){var _0x14fc52=typeof _0x37d317['offset']==='undefined'&&typeof _0x37d317['limit']===_0xac2b('0x1f');var _0x39e2ca=_0x5d273c[_0xac2b('0x20')];var _0x1aa098=_0x14fc52?0x0:_0x37d317['offset'];var _0x3c8693=_0x14fc52?_0x5d273c['count']:_0x37d317[_0xac2b('0x21')]+_0x37d317[_0xac2b('0x22')];var _0x2e8ca1;if(_0x3c8693>=_0x39e2ca){_0x3c8693=_0x39e2ca;_0x2e8ca1=0xc8;}else{_0x2e8ca1=0xce;}_0x32d9c9['status'](_0x2e8ca1);return _0x32d9c9['set'](_0xac2b('0x23'),_0x1aa098+'-'+_0x3c8693+'/'+_0x39e2ca)[_0xac2b('0x1e')](_0x5d273c);}return null;};}function patchUpdates(_0x7084e4){return function(_0x189058){try{jsonpatch[_0xac2b('0x24')](_0x189058,_0x7084e4,!![]);}catch(_0x527010){return BPromise['reject'](_0x527010);}return _0x189058[_0xac2b('0x25')]();};}function saveUpdates(_0x191b1d,_0x40f932){return function(_0x10a29b){if(_0x10a29b){return _0x10a29b['update'](_0x191b1d)[_0xac2b('0x26')](function(_0x33d569){return _0x33d569;});}return null;};}function removeEntity(_0x3272c8,_0x491ea7){return function(_0x3d1b53){if(_0x3d1b53){return _0x3d1b53[_0xac2b('0x27')]()[_0xac2b('0x26')](function(){_0x3272c8[_0xac2b('0x1c')](0xcc)[_0xac2b('0x1d')]();});}};}function handleEntityNotFound(_0x31eefc,_0x55a99a){return function(_0x2d809d){if(!_0x2d809d){_0x31eefc['sendStatus'](0x194);}return _0x2d809d;};}function handleError(_0x24ae6b,_0x11e10e){_0x11e10e=_0x11e10e||0x1f4;return function(_0x578eaa){logger[_0xac2b('0x28')](_0x578eaa['stack']);if(_0x578eaa[_0xac2b('0x29')]){delete _0x578eaa[_0xac2b('0x29')];}_0x24ae6b[_0xac2b('0x1c')](_0x11e10e)[_0xac2b('0x2a')](_0x578eaa);};}exports[_0xac2b('0x2b')]=function(_0x21cb1c,_0x271cbd){var _0x1cee73={},_0x2ab046={},_0x5b19a6={'count':0x0,'rows':[]};var _0x4a3414=_[_0xac2b('0x2c')](db[_0xac2b('0x2d')][_0xac2b('0x2e')],function(_0x36e270){return{'name':_0x36e270['fieldName'],'type':_0x36e270[_0xac2b('0x2f')][_0xac2b('0x30')]};});_0x2ab046[_0xac2b('0x31')]=_[_0xac2b('0x2c')](_0x4a3414,'name');_0x2ab046[_0xac2b('0x32')]=_['keys'](_0x21cb1c['query']);_0x2ab046[_0xac2b('0x33')]=_[_0xac2b('0x34')](_0x2ab046['model'],_0x2ab046[_0xac2b('0x32')]);_0x1cee73[_0xac2b('0x35')]=_[_0xac2b('0x34')](_0x2ab046[_0xac2b('0x31')],qs[_0xac2b('0x36')](_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x36')]));_0x1cee73[_0xac2b('0x35')]=_0x1cee73[_0xac2b('0x35')][_0xac2b('0x37')]?_0x1cee73[_0xac2b('0x35')]:_0x2ab046[_0xac2b('0x31')];if(!_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x38')]('nolimit')){_0x1cee73[_0xac2b('0x22')]=qs[_0xac2b('0x22')](_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x22')]);_0x1cee73[_0xac2b('0x21')]=qs[_0xac2b('0x21')](_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x21')]);}_0x1cee73[_0xac2b('0x39')]=qs[_0xac2b('0x3a')](_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x3a')]);_0x1cee73[_0xac2b('0x3b')]=qs[_0xac2b('0x33')](_[_0xac2b('0x3c')](_0x21cb1c[_0xac2b('0x32')],_0x2ab046[_0xac2b('0x33')]),_0x4a3414);if(_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x3d')]){_0x1cee73['where']=_[_0xac2b('0x3e')](_0x1cee73[_0xac2b('0x3b')],{'$or':_[_0xac2b('0x2c')](_0x4a3414,function(_0x5f3553){if(_0x5f3553[_0xac2b('0x2f')]!=='VIRTUAL'){var _0x31bec3={};_0x31bec3[_0x5f3553['name']]={'$like':'%'+_0x21cb1c[_0xac2b('0x32')][_0xac2b('0x3d')]+'%'};return _0x31bec3;}})});}_0x1cee73=_[_0xac2b('0x3e')]({},_0x1cee73,_0x21cb1c[_0xac2b('0x3f')]);var _0x2db082={'where':_0x1cee73[_0xac2b('0x3b')]};return db[_0xac2b('0x2d')][_0xac2b('0x20')](_0x2db082)[_0xac2b('0x26')](function(_0x4797ce){_0x5b19a6[_0xac2b('0x20')]=_0x4797ce;if(_0x21cb1c[_0xac2b('0x32')]['includeAll']){_0x1cee73[_0xac2b('0x40')]=[{'all':!![]}];}return db[_0xac2b('0x2d')][_0xac2b('0x41')](_0x1cee73);})[_0xac2b('0x26')](function(_0x2d3e21){_0x5b19a6[_0xac2b('0x42')]=_0x2d3e21;return _0x5b19a6;})[_0xac2b('0x26')](respondWithFilteredResult(_0x271cbd,_0x1cee73))[_0xac2b('0x43')](handleError(_0x271cbd,null));};exports['show']=function(_0x4019be,_0x5c9787){var _0x5096ca={'raw':![],'where':{'id':_0x4019be[_0xac2b('0x44')]['id']}},_0x400282={};_0x400282[_0xac2b('0x31')]=_[_0xac2b('0x45')](db[_0xac2b('0x2d')]['rawAttributes']);_0x400282[_0xac2b('0x32')]=_[_0xac2b('0x45')](_0x4019be['query']);_0x400282[_0xac2b('0x33')]=_[_0xac2b('0x34')](_0x400282[_0xac2b('0x31')],_0x400282[_0xac2b('0x32')]);_0x5096ca['attributes']=_[_0xac2b('0x34')](_0x400282['model'],qs[_0xac2b('0x36')](_0x4019be['query'][_0xac2b('0x36')]));_0x5096ca['attributes']=_0x5096ca[_0xac2b('0x35')][_0xac2b('0x37')]?_0x5096ca[_0xac2b('0x35')]:_0x400282[_0xac2b('0x31')];if(_0x4019be['query']['includeAll']){_0x5096ca['include']=[{'all':!![]}];}_0x5096ca=_[_0xac2b('0x3e')]({},_0x5096ca,_0x4019be['options']);return db[_0xac2b('0x2d')][_0xac2b('0x46')](_0x5096ca)[_0xac2b('0x26')](handleEntityNotFound(_0x5c9787,null))[_0xac2b('0x26')](respondWithResult(_0x5c9787,null))[_0xac2b('0x43')](handleError(_0x5c9787,null));};exports['create']=function(_0x105288,_0x36d3c7){return db[_0xac2b('0x2d')][_0xac2b('0x47')](_0x105288[_0xac2b('0x48')],{})[_0xac2b('0x26')](respondWithResult(_0x36d3c7,0xc9))['catch'](handleError(_0x36d3c7,null));};exports[_0xac2b('0x49')]=function(_0x34ebd4,_0x3d7823){if(_0x34ebd4[_0xac2b('0x48')]['id']){delete _0x34ebd4[_0xac2b('0x48')]['id'];}return db[_0xac2b('0x2d')][_0xac2b('0x46')]({'where':{'id':_0x34ebd4['params']['id']}})[_0xac2b('0x26')](handleEntityNotFound(_0x3d7823,null))[_0xac2b('0x26')](saveUpdates(_0x34ebd4[_0xac2b('0x48')],null))[_0xac2b('0x26')](respondWithResult(_0x3d7823,null))[_0xac2b('0x43')](handleError(_0x3d7823,null));};exports[_0xac2b('0x27')]=function(_0x15f8f9,_0x215f9f){return db[_0xac2b('0x2d')][_0xac2b('0x46')]({'where':{'id':_0x15f8f9['params']['id']}})[_0xac2b('0x26')](handleEntityNotFound(_0x215f9f,null))[_0xac2b('0x26')](removeEntity(_0x215f9f,null))[_0xac2b('0x43')](handleError(_0x215f9f,null));};exports[_0xac2b('0x4a')]=function(_0xfaa644,_0x5b9aad,_0x57826d){var _0x5dd9cd={};var _0x322fe3={};var _0x4cf014;var _0x352f60;return db[_0xac2b('0x2d')]['findOne']({'where':{'id':_0xfaa644[_0xac2b('0x44')]['id']}})[_0xac2b('0x26')](handleEntityNotFound(_0x5b9aad,null))[_0xac2b('0x26')](function(_0x3da7ff){if(_0x3da7ff){_0x4cf014=_0x3da7ff;_0x322fe3[_0xac2b('0x31')]=_[_0xac2b('0x45')](db[_0xac2b('0x4b')][_0xac2b('0x2e')]);_0x322fe3[_0xac2b('0x32')]=_[_0xac2b('0x45')](_0xfaa644[_0xac2b('0x32')]);_0x322fe3[_0xac2b('0x33')]=_[_0xac2b('0x34')](_0x322fe3['model'],_0x322fe3[_0xac2b('0x32')]);_0x5dd9cd['attributes']=_[_0xac2b('0x34')](_0x322fe3['model'],qs['fields'](_0xfaa644['query'][_0xac2b('0x36')]));_0x5dd9cd[_0xac2b('0x35')]=_0x5dd9cd[_0xac2b('0x35')]['length']?_0x5dd9cd[_0xac2b('0x35')]:_0x322fe3[_0xac2b('0x31')];_0x5dd9cd[_0xac2b('0x39')]=qs[_0xac2b('0x3a')](_0xfaa644[_0xac2b('0x32')]['sort']);_0x5dd9cd['where']=qs[_0xac2b('0x33')](_[_0xac2b('0x3c')](_0xfaa644[_0xac2b('0x32')],_0x322fe3['filters']));if(_0xfaa644[_0xac2b('0x32')][_0xac2b('0x3d')]){_0x5dd9cd['where']=_[_0xac2b('0x3e')](_0x5dd9cd[_0xac2b('0x3b')],{'$or':_[_0xac2b('0x2c')](_0x5dd9cd['attributes'],function(_0x263b5e){var _0x2d3349={};_0x2d3349[_0x263b5e]={'$like':'%'+_0xfaa644[_0xac2b('0x32')]['filter']+'%'};return _0x2d3349;})});}_0x5dd9cd=_[_0xac2b('0x3e')]({},_0x5dd9cd,_0xfaa644[_0xac2b('0x3f')]);return _0x4cf014[_0xac2b('0x4a')](_0x5dd9cd);}})['then'](function(_0x3f5c95){if(_0x3f5c95){_0x352f60=_0x3f5c95[_0xac2b('0x37')];if(!_0xfaa644[_0xac2b('0x32')][_0xac2b('0x38')](_0xac2b('0x4c'))){_0x5dd9cd[_0xac2b('0x22')]=qs['limit'](_0xfaa644[_0xac2b('0x32')][_0xac2b('0x22')]);_0x5dd9cd['offset']=qs[_0xac2b('0x21')](_0xfaa644[_0xac2b('0x32')][_0xac2b('0x21')]);}return _0x4cf014[_0xac2b('0x4a')](_0x5dd9cd);}})['then'](function(_0xd79320){if(_0xd79320){return _0xd79320?{'count':_0x352f60,'rows':_0xd79320}:null;}})[_0xac2b('0x26')](respondWithResult(_0x5b9aad,null))[_0xac2b('0x43')](handleError(_0x5b9aad,null));};exports[_0xac2b('0x4d')]=function(_0x2d1012,_0x3d1a3e,_0x1c12b1){if(_0x2d1012['body']['id']){delete _0x2d1012[_0xac2b('0x48')]['id'];}return db[_0xac2b('0x2d')][_0xac2b('0x4e')]({'where':{'id':_0x2d1012[_0xac2b('0x44')]['id']}})[_0xac2b('0x26')](handleEntityNotFound(_0x3d1a3e,null))[_0xac2b('0x26')](function(_0x130232){if(_0x130232){_0x2d1012[_0xac2b('0x48')][_0xac2b('0x4f')]=_0x130232['id'];_0x2d1012[_0xac2b('0x48')][_0xac2b('0x50')]=integrations[_0xac2b('0x51')](_0x2d1012['body']['channel'],_0x2d1012[_0xac2b('0x48')][_0xac2b('0x2f')]);_0x2d1012[_0xac2b('0x48')][_0xac2b('0x52')]=integrations[_0xac2b('0x53')](_0x2d1012[_0xac2b('0x48')][_0xac2b('0x54')],_0x2d1012[_0xac2b('0x48')][_0xac2b('0x2f')]);return db[_0xac2b('0x4b')][_0xac2b('0x47')](_0x2d1012['body'],{'include':[{'model':db[_0xac2b('0x55')],'as':'Subjects'},{'model':db['VtigerField'],'as':_0xac2b('0x52')}]});}return null;})[_0xac2b('0x26')](respondWithResult(_0x3d1a3e,null))[_0xac2b('0x43')](handleError(_0x3d1a3e,null));};var md5=require(_0xac2b('0x56'));exports[_0xac2b('0x57')]=function(_0xd21f42,_0x13e0e3,_0x50acb7){var _0x5b5b5a=null;var _0x400ab5=null;var _0x20d79b=null;var _0x4d52df=null;var _0x3f8bb2='';return db['VtigerAccount'][_0xac2b('0x4e')]({'where':{'id':_0xd21f42[_0xac2b('0x44')]['id']},'attributes':['id',_0xac2b('0x29'),_0xac2b('0x58'),_0xac2b('0x59'),'moduleName','remoteUri','serverUrl',_0xac2b('0x5a')]})[_0xac2b('0x26')](handleEntityNotFound(_0x13e0e3,null))['then'](function(_0x2383ab){if(_0x2383ab){_0x5b5b5a=_0x2383ab[_0xac2b('0x58')];_0x400ab5=_0x2383ab[_0xac2b('0x5a')];_0x20d79b=_0x2383ab[_0xac2b('0x5b')];_0x3f8bb2=_0x2383ab['remoteUri'];var _0x298cc4=_0x3f8bb2[_0xac2b('0x5c')](-0x1);if(_0x298cc4==='/'){_0x3f8bb2=_0x3f8bb2[_0xac2b('0x5d')](0x0,_0x3f8bb2[_0xac2b('0x5e')](_0x298cc4));}_0x4d52df=util[_0xac2b('0x5f')]('%s/webservice.php',_0x3f8bb2);var _0x46f3a9={'method':'GET','uri':_0x4d52df,'qs':{'operation':'getchallenge','username':_0x2383ab[_0xac2b('0x58')]},'json':!![]};return rp(_0x46f3a9);}})[_0xac2b('0x26')](function(_0xe3ed0c){if(_0xe3ed0c[_0xac2b('0x60')]){var _0xa30551={'method':'POST','uri':_0x4d52df,'form':{'operation':_0xac2b('0x61'),'username':_0x5b5b5a,'accessKey':md5(_0xe3ed0c['result']['token']+_0x400ab5)},'json':!![]};return rp(_0xa30551);}})[_0xac2b('0x26')](function(_0xf874e3){if(_0xf874e3[_0xac2b('0x60')]){var _0x58eb51={'method':_0xac2b('0x62'),'uri':_0x4d52df,'qs':{'operation':_0xac2b('0x63'),'username':_0x5b5b5a,'sessionName':_0xf874e3[_0xac2b('0x64')][_0xac2b('0x65')],'elementType':_0x20d79b},'json':!![]};return rp(_0x58eb51);}})[_0xac2b('0x26')](function(_0x44e353){if(_0x44e353[_0xac2b('0x60')]){var _0x397df1=['autogenerated',_0xac2b('0x66'),'owner'];_['remove'](_0x44e353[_0xac2b('0x64')]['fields'],function(_0x3bff59){return _0x397df1[_0xac2b('0x67')](_0x3bff59['type'][_0xac2b('0x29')]);});_[_0xac2b('0x68')](_0x44e353[_0xac2b('0x64')]['fields'],function(_0x128a76){return _0x128a76[_0xac2b('0x69')]===_0xac2b('0x6a');});return{'count':_0x44e353[_0xac2b('0x64')]['fields']['length'],'rows':_[_0xac2b('0x2c')](_0x44e353[_0xac2b('0x64')][_0xac2b('0x36')],function(_0x1561a4){return{'id':_0x1561a4[_0xac2b('0x29')],'name':_0x1561a4[_0xac2b('0x6b')],'custom':_[_0xac2b('0x6c')](_0x1561a4[_0xac2b('0x29')],_0xac2b('0x6d'))?!![]:![],'options':_0x1561a4[_0xac2b('0x2f')][_0xac2b('0x29')]===_0xac2b('0x6e')&&_0x1561a4[_0xac2b('0x2f')][_0xac2b('0x6f')]['length']>0x0?_[_0xac2b('0x2c')](_0x1561a4[_0xac2b('0x2f')]['picklistValues'],function(_0x1bfae8){return{'name':_0x1bfae8[_0xac2b('0x6b')],'value':_0x1bfae8['value']};}):[]};})};}})[_0xac2b('0x26')](respondWithResult(_0x13e0e3,null))[_0xac2b('0x43')](function(_0x479a8a){console[_0xac2b('0x70')](_0xac2b('0x71')+_0x479a8a);var _0x143e32=_0xd21f42[_0xac2b('0x32')][_0xac2b('0x72')]?0x1f4:_0x479a8a[_0xac2b('0x73')]||0x1f4;logger[_0xac2b('0x28')](_0xac2b('0x74'),_0xac2b('0x57'),_0x143e32,JSON[_0xac2b('0x75')](_0x479a8a));delete _0x479a8a['name'];if(_0x143e32===0x191){_0x143e32=0x190;}_0x13e0e3[_0xac2b('0x1c')](_0x143e32)['send'](_0xd21f42[_0xac2b('0x32')][_0xac2b('0x72')]?{'message':'Wrong\x20credentials','statusCode':_0x479a8a[_0xac2b('0x73')]}:_0x479a8a);});};