Built motion from commit 00bf23f6.|2.6.16
[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 _0x6490=['options','find','create','body','findOne','VtigerConfiguration','order','getConfigurations','addConfiguration','Subjects','getSubjects','VtigerField','Descriptions','md5','getFields','username','description','moduleName','serverUrl','accessKey','remoteUri','slice','substring','lastIndexOf','%s/webservice.php','GET','success','POST','login','result','token','describe','sessionName','autogenerated','owner','remove','editable','false','cf_','picklist','picklistValues','label','value','log','vTiger\x20error:\x20','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','offset','count','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','VtigerAccount','includeAll','include','findAll','rows','catch','params'];(function(_0x57baa6,_0x3af298){var _0x303fbf=function(_0x24c318){while(--_0x24c318){_0x57baa6['push'](_0x57baa6['shift']());}};_0x303fbf(++_0x3af298);}(_0x6490,0xac));var _0x0649=function(_0x285800,_0x26765e){_0x285800=_0x285800-0x0;var _0x4b809e=_0x6490[_0x285800];return _0x4b809e;};'use strict';var emlformat=require(_0x0649('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0649('0x1'));var jsonpatch=require(_0x0649('0x2'));var rp=require(_0x0649('0x3'));var moment=require(_0x0649('0x4'));var BPromise=require(_0x0649('0x5'));var Mustache=require(_0x0649('0x6'));var util=require('util');var path=require(_0x0649('0x7'));var sox=require('sox');var csv=require(_0x0649('0x8'));var ejs=require(_0x0649('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0649('0xa'));var squel=require(_0x0649('0xb'));var crypto=require('crypto');var jsforce=require(_0x0649('0xc'));var deskjs=require(_0x0649('0xd'));var toCsv=require(_0x0649('0x8'));var querystring=require(_0x0649('0xe'));var Papa=require(_0x0649('0xf'));var Redis=require(_0x0649('0x10'));var authService=require(_0x0649('0x11'));var qs=require(_0x0649('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0649('0x13'));var logger=require(_0x0649('0x14'))(_0x0649('0x15'));var utils=require(_0x0649('0x16'));var config=require(_0x0649('0x17'));var licenseUtil=require(_0x0649('0x18'));var db=require(_0x0649('0x19'))['db'];var integrations=require(_0x0649('0x1a'));function respondWithStatusCode(_0x55262f,_0x3b4317){_0x3b4317=_0x3b4317||0xcc;return function(_0x277d28){if(_0x277d28){return _0x55262f[_0x0649('0x1b')](_0x3b4317);}return _0x55262f[_0x0649('0x1c')](_0x3b4317)[_0x0649('0x1d')]();};}function respondWithResult(_0x55369e,_0x35a2dc){_0x35a2dc=_0x35a2dc||0xc8;return function(_0xe60342){if(_0xe60342){return _0x55369e[_0x0649('0x1c')](_0x35a2dc)[_0x0649('0x1e')](_0xe60342);}};}function respondWithFilteredResult(_0x5d9bbe,_0xa68961){return function(_0x561662){if(_0x561662){var _0x45d6f8=typeof _0xa68961['offset']===_0x0649('0x1f')&&typeof _0xa68961[_0x0649('0x20')]==='undefined';var _0xfc8548=_0x561662['count'];var _0x4183ac=_0x45d6f8?0x0:_0xa68961[_0x0649('0x21')];var _0x3d48bb=_0x45d6f8?_0x561662[_0x0649('0x22')]:_0xa68961[_0x0649('0x21')]+_0xa68961['limit'];var _0x5d54f2;if(_0x3d48bb>=_0xfc8548){_0x3d48bb=_0xfc8548;_0x5d54f2=0xc8;}else{_0x5d54f2=0xce;}_0x5d9bbe[_0x0649('0x1c')](_0x5d54f2);return _0x5d9bbe[_0x0649('0x23')](_0x0649('0x24'),_0x4183ac+'-'+_0x3d48bb+'/'+_0xfc8548)[_0x0649('0x1e')](_0x561662);}return null;};}function patchUpdates(_0x9cb2bc){return function(_0x3041cc){try{jsonpatch[_0x0649('0x25')](_0x3041cc,_0x9cb2bc,!![]);}catch(_0x2a15b6){return BPromise[_0x0649('0x26')](_0x2a15b6);}return _0x3041cc[_0x0649('0x27')]();};}function saveUpdates(_0x29eb39,_0x1d6eab){return function(_0x5856aa){if(_0x5856aa){return _0x5856aa[_0x0649('0x28')](_0x29eb39)['then'](function(_0x3397fd){return _0x3397fd;});}return null;};}function removeEntity(_0x44ccdd,_0x29f4b9){return function(_0x5ecabe){if(_0x5ecabe){return _0x5ecabe[_0x0649('0x29')]()[_0x0649('0x2a')](function(){_0x44ccdd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x255558,_0x1611a6){return function(_0x37a60d){if(!_0x37a60d){_0x255558[_0x0649('0x1b')](0x194);}return _0x37a60d;};}function handleError(_0x43c4e1,_0x2ad48a){_0x2ad48a=_0x2ad48a||0x1f4;return function(_0x377776){logger[_0x0649('0x2b')](_0x377776[_0x0649('0x2c')]);if(_0x377776[_0x0649('0x2d')]){delete _0x377776['name'];}_0x43c4e1[_0x0649('0x1c')](_0x2ad48a)['send'](_0x377776);};}exports['index']=function(_0x2e497e,_0x5ac1bc){var _0x258b94={},_0x394247={},_0x2e848c={'count':0x0,'rows':[]};var _0x4c11a5=_[_0x0649('0x2e')](db['VtigerAccount'][_0x0649('0x2f')],function(_0x2f70a5){return{'name':_0x2f70a5[_0x0649('0x30')],'type':_0x2f70a5[_0x0649('0x31')][_0x0649('0x32')]};});_0x394247[_0x0649('0x33')]=_['map'](_0x4c11a5,_0x0649('0x2d'));_0x394247[_0x0649('0x34')]=_[_0x0649('0x35')](_0x2e497e[_0x0649('0x34')]);_0x394247[_0x0649('0x36')]=_[_0x0649('0x37')](_0x394247[_0x0649('0x33')],_0x394247[_0x0649('0x34')]);_0x258b94[_0x0649('0x38')]=_[_0x0649('0x37')](_0x394247[_0x0649('0x33')],qs['fields'](_0x2e497e[_0x0649('0x34')][_0x0649('0x39')]));_0x258b94['attributes']=_0x258b94['attributes'][_0x0649('0x3a')]?_0x258b94[_0x0649('0x38')]:_0x394247[_0x0649('0x33')];if(!_0x2e497e[_0x0649('0x34')][_0x0649('0x3b')](_0x0649('0x3c'))){_0x258b94['limit']=qs[_0x0649('0x20')](_0x2e497e[_0x0649('0x34')][_0x0649('0x20')]);_0x258b94['offset']=qs[_0x0649('0x21')](_0x2e497e[_0x0649('0x34')][_0x0649('0x21')]);}_0x258b94['order']=qs[_0x0649('0x3d')](_0x2e497e[_0x0649('0x34')][_0x0649('0x3d')]);_0x258b94['where']=qs['filters'](_[_0x0649('0x3e')](_0x2e497e['query'],_0x394247[_0x0649('0x36')]),_0x4c11a5);if(_0x2e497e['query'][_0x0649('0x3f')]){_0x258b94[_0x0649('0x40')]=_[_0x0649('0x41')](_0x258b94['where'],{'$or':_[_0x0649('0x2e')](_0x4c11a5,function(_0x5854d3){if(_0x5854d3[_0x0649('0x31')]!==_0x0649('0x42')){var _0x4f8a27={};_0x4f8a27[_0x5854d3['name']]={'$like':'%'+_0x2e497e['query'][_0x0649('0x3f')]+'%'};return _0x4f8a27;}})});}_0x258b94=_[_0x0649('0x41')]({},_0x258b94,_0x2e497e['options']);var _0x565c1a={'where':_0x258b94[_0x0649('0x40')]};return db[_0x0649('0x43')][_0x0649('0x22')](_0x565c1a)['then'](function(_0x543353){_0x2e848c[_0x0649('0x22')]=_0x543353;if(_0x2e497e[_0x0649('0x34')][_0x0649('0x44')]){_0x258b94[_0x0649('0x45')]=[{'all':!![]}];}return db[_0x0649('0x43')][_0x0649('0x46')](_0x258b94);})[_0x0649('0x2a')](function(_0x34da8e){_0x2e848c[_0x0649('0x47')]=_0x34da8e;return _0x2e848c;})[_0x0649('0x2a')](respondWithFilteredResult(_0x5ac1bc,_0x258b94))[_0x0649('0x48')](handleError(_0x5ac1bc,null));};exports['show']=function(_0x5731f3,_0x1374d1){var _0x5651a5={'raw':![],'where':{'id':_0x5731f3[_0x0649('0x49')]['id']}},_0x4b12ba={};_0x4b12ba[_0x0649('0x33')]=_[_0x0649('0x35')](db['VtigerAccount'][_0x0649('0x2f')]);_0x4b12ba['query']=_[_0x0649('0x35')](_0x5731f3[_0x0649('0x34')]);_0x4b12ba['filters']=_['intersection'](_0x4b12ba[_0x0649('0x33')],_0x4b12ba[_0x0649('0x34')]);_0x5651a5[_0x0649('0x38')]=_[_0x0649('0x37')](_0x4b12ba[_0x0649('0x33')],qs['fields'](_0x5731f3[_0x0649('0x34')][_0x0649('0x39')]));_0x5651a5[_0x0649('0x38')]=_0x5651a5[_0x0649('0x38')][_0x0649('0x3a')]?_0x5651a5[_0x0649('0x38')]:_0x4b12ba[_0x0649('0x33')];if(_0x5731f3[_0x0649('0x34')][_0x0649('0x44')]){_0x5651a5['include']=[{'all':!![]}];}_0x5651a5=_['merge']({},_0x5651a5,_0x5731f3[_0x0649('0x4a')]);return db[_0x0649('0x43')][_0x0649('0x4b')](_0x5651a5)[_0x0649('0x2a')](handleEntityNotFound(_0x1374d1,null))['then'](respondWithResult(_0x1374d1,null))[_0x0649('0x48')](handleError(_0x1374d1,null));};exports['create']=function(_0x1223a1,_0x796205){return db['VtigerAccount'][_0x0649('0x4c')](_0x1223a1['body'],{})[_0x0649('0x2a')](respondWithResult(_0x796205,0xc9))[_0x0649('0x48')](handleError(_0x796205,null));};exports[_0x0649('0x28')]=function(_0x10e467,_0x3f663c){if(_0x10e467['body']['id']){delete _0x10e467[_0x0649('0x4d')]['id'];}return db[_0x0649('0x43')][_0x0649('0x4b')]({'where':{'id':_0x10e467[_0x0649('0x49')]['id']}})[_0x0649('0x2a')](handleEntityNotFound(_0x3f663c,null))[_0x0649('0x2a')](saveUpdates(_0x10e467[_0x0649('0x4d')],null))[_0x0649('0x2a')](respondWithResult(_0x3f663c,null))['catch'](handleError(_0x3f663c,null));};exports[_0x0649('0x29')]=function(_0x5f3c77,_0x486d80){return db[_0x0649('0x43')][_0x0649('0x4b')]({'where':{'id':_0x5f3c77[_0x0649('0x49')]['id']}})[_0x0649('0x2a')](handleEntityNotFound(_0x486d80,null))[_0x0649('0x2a')](removeEntity(_0x486d80,null))[_0x0649('0x48')](handleError(_0x486d80,null));};exports['getConfigurations']=function(_0x3dd8d5,_0x47c8ca,_0x464911){var _0x579f22={};var _0x3d4246={};var _0x1c76ac;var _0x34daa7;return db[_0x0649('0x43')][_0x0649('0x4e')]({'where':{'id':_0x3dd8d5[_0x0649('0x49')]['id']}})[_0x0649('0x2a')](handleEntityNotFound(_0x47c8ca,null))['then'](function(_0x5caf09){if(_0x5caf09){_0x1c76ac=_0x5caf09;_0x3d4246[_0x0649('0x33')]=_['keys'](db[_0x0649('0x4f')]['rawAttributes']);_0x3d4246['query']=_['keys'](_0x3dd8d5[_0x0649('0x34')]);_0x3d4246[_0x0649('0x36')]=_[_0x0649('0x37')](_0x3d4246[_0x0649('0x33')],_0x3d4246[_0x0649('0x34')]);_0x579f22[_0x0649('0x38')]=_[_0x0649('0x37')](_0x3d4246[_0x0649('0x33')],qs[_0x0649('0x39')](_0x3dd8d5[_0x0649('0x34')][_0x0649('0x39')]));_0x579f22['attributes']=_0x579f22['attributes']['length']?_0x579f22['attributes']:_0x3d4246[_0x0649('0x33')];_0x579f22[_0x0649('0x50')]=qs[_0x0649('0x3d')](_0x3dd8d5[_0x0649('0x34')]['sort']);_0x579f22[_0x0649('0x40')]=qs[_0x0649('0x36')](_[_0x0649('0x3e')](_0x3dd8d5['query'],_0x3d4246[_0x0649('0x36')]));if(_0x3dd8d5[_0x0649('0x34')][_0x0649('0x3f')]){_0x579f22[_0x0649('0x40')]=_[_0x0649('0x41')](_0x579f22['where'],{'$or':_['map'](_0x579f22['attributes'],function(_0x365337){var _0x26cd80={};_0x26cd80[_0x365337]={'$like':'%'+_0x3dd8d5['query']['filter']+'%'};return _0x26cd80;})});}_0x579f22=_['merge']({},_0x579f22,_0x3dd8d5[_0x0649('0x4a')]);return _0x1c76ac[_0x0649('0x51')](_0x579f22);}})[_0x0649('0x2a')](function(_0x1ab911){if(_0x1ab911){_0x34daa7=_0x1ab911[_0x0649('0x3a')];if(!_0x3dd8d5[_0x0649('0x34')][_0x0649('0x3b')](_0x0649('0x3c'))){_0x579f22[_0x0649('0x20')]=qs['limit'](_0x3dd8d5[_0x0649('0x34')]['limit']);_0x579f22[_0x0649('0x21')]=qs['offset'](_0x3dd8d5['query'][_0x0649('0x21')]);}return _0x1c76ac[_0x0649('0x51')](_0x579f22);}})[_0x0649('0x2a')](function(_0x3bf63b){if(_0x3bf63b){return _0x3bf63b?{'count':_0x34daa7,'rows':_0x3bf63b}:null;}})[_0x0649('0x2a')](respondWithResult(_0x47c8ca,null))[_0x0649('0x48')](handleError(_0x47c8ca,null));};exports[_0x0649('0x52')]=function(_0xde2a82,_0x2f9e0c,_0x2fbf24){if(_0xde2a82[_0x0649('0x4d')]['id']){delete _0xde2a82[_0x0649('0x4d')]['id'];}return db[_0x0649('0x43')]['findOne']({'where':{'id':_0xde2a82[_0x0649('0x49')]['id']}})['then'](handleEntityNotFound(_0x2f9e0c,null))[_0x0649('0x2a')](function(_0x2d86a8){if(_0x2d86a8){_0xde2a82[_0x0649('0x4d')]['AccountId']=_0x2d86a8['id'];_0xde2a82[_0x0649('0x4d')][_0x0649('0x53')]=integrations[_0x0649('0x54')](_0xde2a82[_0x0649('0x4d')]['channel'],_0xde2a82[_0x0649('0x4d')][_0x0649('0x31')]);_0xde2a82['body']['Descriptions']=integrations['getDescriptions'](_0xde2a82['body']['channel'],_0xde2a82[_0x0649('0x4d')][_0x0649('0x31')]);return db['VtigerConfiguration'][_0x0649('0x4c')](_0xde2a82[_0x0649('0x4d')],{'include':[{'model':db[_0x0649('0x55')],'as':_0x0649('0x53')},{'model':db[_0x0649('0x55')],'as':_0x0649('0x56')}]});}return null;})[_0x0649('0x2a')](respondWithResult(_0x2f9e0c,null))[_0x0649('0x48')](handleError(_0x2f9e0c,null));};var md5=require(_0x0649('0x57'));exports[_0x0649('0x58')]=function(_0x577f18,_0x2f6545,_0xd8dbdc){var _0x403e5a=null;var _0x13e23d=null;var _0x5798c0=null;var _0x154139=null;var _0x5b959a='';return db['VtigerAccount'][_0x0649('0x4e')]({'where':{'id':_0x577f18[_0x0649('0x49')]['id']},'attributes':['id','name',_0x0649('0x59'),_0x0649('0x5a'),_0x0649('0x5b'),'remoteUri',_0x0649('0x5c'),_0x0649('0x5d')]})[_0x0649('0x2a')](handleEntityNotFound(_0x2f6545,null))[_0x0649('0x2a')](function(_0x2af2e1){if(_0x2af2e1){_0x403e5a=_0x2af2e1[_0x0649('0x59')];_0x13e23d=_0x2af2e1['accessKey'];_0x5798c0=_0x2af2e1[_0x0649('0x5b')];_0x5b959a=_0x2af2e1[_0x0649('0x5e')];var _0x3c6f72=_0x5b959a[_0x0649('0x5f')](-0x1);if(_0x3c6f72==='/'){_0x5b959a=_0x5b959a[_0x0649('0x60')](0x0,_0x5b959a[_0x0649('0x61')](_0x3c6f72));}_0x154139=util['format'](_0x0649('0x62'),_0x5b959a);var _0x2eb02c={'method':_0x0649('0x63'),'uri':_0x154139,'qs':{'operation':'getchallenge','username':_0x2af2e1['username']},'json':!![]};return rp(_0x2eb02c);}})[_0x0649('0x2a')](function(_0x12ad33){if(_0x12ad33[_0x0649('0x64')]){var _0x3f868a={'method':_0x0649('0x65'),'uri':_0x154139,'form':{'operation':_0x0649('0x66'),'username':_0x403e5a,'accessKey':md5(_0x12ad33[_0x0649('0x67')][_0x0649('0x68')]+_0x13e23d)},'json':!![]};return rp(_0x3f868a);}})['then'](function(_0x56c5da){if(_0x56c5da[_0x0649('0x64')]){var _0x36637d={'method':_0x0649('0x63'),'uri':_0x154139,'qs':{'operation':_0x0649('0x69'),'username':_0x403e5a,'sessionName':_0x56c5da[_0x0649('0x67')][_0x0649('0x6a')],'elementType':_0x5798c0},'json':!![]};return rp(_0x36637d);}})[_0x0649('0x2a')](function(_0x1c2f11){if(_0x1c2f11[_0x0649('0x64')]){var _0x4e392c=[_0x0649('0x6b'),'reference',_0x0649('0x6c')];_[_0x0649('0x6d')](_0x1c2f11[_0x0649('0x67')][_0x0649('0x39')],function(_0x5a4c07){return _0x4e392c['includes'](_0x5a4c07[_0x0649('0x31')][_0x0649('0x2d')]);});_[_0x0649('0x6d')](_0x1c2f11['result'][_0x0649('0x39')],function(_0x286dac){return _0x286dac[_0x0649('0x6e')]===_0x0649('0x6f');});return{'count':_0x1c2f11['result']['fields']['length'],'rows':_['map'](_0x1c2f11[_0x0649('0x67')][_0x0649('0x39')],function(_0x200d8f){return{'id':_0x200d8f[_0x0649('0x2d')],'name':_0x200d8f['label'],'custom':_['startsWith'](_0x200d8f[_0x0649('0x2d')],_0x0649('0x70'))?!![]:![],'options':_0x200d8f[_0x0649('0x31')][_0x0649('0x2d')]===_0x0649('0x71')&&_0x200d8f[_0x0649('0x31')][_0x0649('0x72')][_0x0649('0x3a')]>0x0?_[_0x0649('0x2e')](_0x200d8f['type'][_0x0649('0x72')],function(_0x3e3fa7){return{'name':_0x3e3fa7[_0x0649('0x73')],'value':_0x3e3fa7[_0x0649('0x74')]};}):[]};})};}})[_0x0649('0x2a')](respondWithResult(_0x2f6545,null))[_0x0649('0x48')](function(_0x13e378){console[_0x0649('0x75')](_0x0649('0x76')+_0x13e378);var _0x2ed43a=_0x577f18[_0x0649('0x34')]['test']?0x1f4:_0x13e378[_0x0649('0x77')]||0x1f4;logger[_0x0649('0x2b')](_0x0649('0x78'),_0x0649('0x58'),_0x2ed43a,JSON['stringify'](_0x13e378));delete _0x13e378[_0x0649('0x2d')];if(_0x2ed43a===0x191){_0x2ed43a=0x190;}_0x2f6545[_0x0649('0x1c')](_0x2ed43a)[_0x0649('0x79')](_0x577f18[_0x0649('0x34')]['test']?{'message':_0x0649('0x7a'),'statusCode':_0x13e378[_0x0649('0x77')]}:_0x13e378);});};