0e92658cb427271e1600e50e79deefc469e5fabc
[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 _0x9350=['picklist','picklistValues','log','vTiger\x20error:\x20','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','VtigerAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','apply','reject','save','update','destroy','name','send','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','pick','filter','merge','where','type','field','VtigerAccount','includeAll','include','findAll','rows','params','length','options','find','create','body','getConfigurations','order','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','channel','VtigerConfiguration','VtigerField','getFields','findOne','username','description','moduleName','remoteUri','serverUrl','accessKey','slice','substring','%s/webservice.php','GET','success','POST','login','token','describe','reference','owner','remove','includes','editable','map','label','startsWith','cf_'];(function(_0x3b7029,_0x32df22){var _0x273101=function(_0x4ec451){while(--_0x4ec451){_0x3b7029['push'](_0x3b7029['shift']());}};_0x273101(++_0x32df22);}(_0x9350,0x182));var _0x0935=function(_0xba1760,_0x191969){_0xba1760=_0xba1760-0x0;var _0x1f3143=_0x9350[_0xba1760];return _0x1f3143;};'use strict';var pdf=require(_0x0935('0x0'));var emlformat=require(_0x0935('0x1'));var rimraf=require(_0x0935('0x2'));var zipdir=require(_0x0935('0x3'));var jsonpatch=require(_0x0935('0x4'));var rp=require('request-promise');var moment=require(_0x0935('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x0935('0x6'));var csv=require(_0x0935('0x7'));var ejs=require(_0x0935('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0935('0x9'));var crypto=require('crypto');var jsforce=require(_0x0935('0xa'));var deskjs=require(_0x0935('0xb'));var toCsv=require(_0x0935('0x7'));var querystring=require(_0x0935('0xc'));var Papa=require(_0x0935('0xd'));var Redis=require(_0x0935('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var hardwareService=require(_0x0935('0xf'));var logger=require(_0x0935('0x10'))(_0x0935('0x11'));var utils=require(_0x0935('0x12'));var config=require('../../config/environment');var db=require(_0x0935('0x13'))['db'];var integrations=require(_0x0935('0x14'));var jayson=require(_0x0935('0x15'));var client=jayson[_0x0935('0x16')][_0x0935('0x17')]({'port':0x232a});function checkPasswordPattern(_0x52738d,_0x585123,_0x170984){if(_0x170984){var _0x4771e4=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x4771e4['test'](_0x585123)){return _0x52738d;}else{throw new Error(_0x0935('0x18'));}}else{return _0x52738d;}}function respondWithRpcPromise(_0x2dd9ed,_0x320838,_0xf21245,_0x33bce0){return new BPromise(function(_0x4fcb31,_0x3da1aa){var _0x5e7a69=_0x33bce0||client;return _0x5e7a69[_0x0935('0x19')](_0x2dd9ed,_0xf21245)[_0x0935('0x1a')](function(_0x22315b){logger[_0x0935('0x1b')](_0x0935('0x1c'),_0x320838,_0x0935('0x1d'));logger[_0x0935('0x1e')](_0x0935('0x1f'),_0x320838,_0x0935('0x1d'),JSON[_0x0935('0x20')](_0x22315b));if(_0x22315b[_0x0935('0x21')]){if(_0x22315b[_0x0935('0x21')][_0x0935('0x22')]===0x1f4){logger[_0x0935('0x21')](_0x0935('0x1c'),_0x320838,_0x22315b[_0x0935('0x21')][_0x0935('0x23')]);return _0x3da1aa(_0x22315b[_0x0935('0x21')][_0x0935('0x23')]);}logger[_0x0935('0x21')](_0x0935('0x1c'),_0x320838,_0x22315b[_0x0935('0x21')][_0x0935('0x23')]);return _0x4fcb31(_0x22315b[_0x0935('0x21')][_0x0935('0x23')]);}else{logger[_0x0935('0x1b')](_0x0935('0x1c'),_0x320838,'request\x20sent');_0x4fcb31(_0x22315b[_0x0935('0x24')][_0x0935('0x23')]);}})[_0x0935('0x25')](function(_0x30e9f5){logger[_0x0935('0x21')](_0x0935('0x1c'),_0x320838,_0x30e9f5);_0x3da1aa(_0x30e9f5);});});}function respondWithStatusCode(_0xfc6c7,_0x83f055){_0x83f055=_0x83f055||0xcc;return function(_0xa3be92){if(_0xa3be92){return _0xfc6c7[_0x0935('0x26')](_0x83f055);}return _0xfc6c7['status'](_0x83f055)[_0x0935('0x27')]();};}function respondWithResult(_0x23e17c,_0x2279e5){_0x2279e5=_0x2279e5||0xc8;return function(_0x3b5787){if(_0x3b5787){return _0x23e17c[_0x0935('0x28')](_0x2279e5)[_0x0935('0x29')](_0x3b5787);}};}function respondWithFilteredResult(_0x17348e,_0x579507){return function(_0x7c0695){if(_0x7c0695){var _0x9324e5=_0x7c0695[_0x0935('0x2a')],_0x509849=_0x579507['offset'],_0x377138=_0x579507[_0x0935('0x2b')]+_0x579507[_0x0935('0x2c')],_0x23644d;if(_0x377138>=_0x9324e5){_0x377138=_0x9324e5;_0x23644d=0xc8;}else{_0x23644d=0xce;}_0x17348e[_0x0935('0x28')](_0x23644d);return _0x17348e[_0x0935('0x2d')]('Content-Range',_0x509849+'-'+_0x377138+'/'+_0x9324e5)[_0x0935('0x29')](_0x7c0695);}return null;};}function patchUpdates(_0x2ae1bb){return function(_0x2f4f2e){try{jsonpatch[_0x0935('0x2e')](_0x2f4f2e,_0x2ae1bb,!![]);}catch(_0x4d5a3e){return BPromise[_0x0935('0x2f')](_0x4d5a3e);}return _0x2f4f2e[_0x0935('0x30')]();};}function saveUpdates(_0x1dd3b3,_0x20d604){return function(_0x4de777){if(_0x4de777){return _0x4de777[_0x0935('0x31')](_0x1dd3b3)[_0x0935('0x1a')](function(_0x20a456){return _0x20a456;});}return null;};}function removeEntity(_0xc10c41,_0x5670bb){return function(_0x4e3139){if(_0x4e3139){return _0x4e3139[_0x0935('0x32')]()[_0x0935('0x1a')](function(){_0xc10c41[_0x0935('0x28')](0xcc)[_0x0935('0x27')]();});}};}function handleEntityNotFound(_0x130afb,_0x3884eb){return function(_0x1a459e){if(!_0x1a459e){_0x130afb[_0x0935('0x26')](0x194);}return _0x1a459e;};}function handleError(_0x22e27c,_0x35b6ac){_0x35b6ac=_0x35b6ac||0x1f4;return function(_0x344503){logger[_0x0935('0x21')](_0x344503['stack']);if(_0x344503['name']){delete _0x344503[_0x0935('0x33')];}_0x22e27c['status'](_0x35b6ac)[_0x0935('0x34')](_0x344503);};}exports[_0x0935('0x35')]=function(_0x45b538,_0x58747a){var _0x50a187={},_0x1d5919={},_0x1d3a71={'count':0x0,'rows':[]};var _0x28b31d=db['VtigerAccount'][_0x0935('0x36')];_0x1d5919[_0x0935('0x37')]=_[_0x0935('0x38')](_0x28b31d);_0x1d5919['query']=_['keys'](_0x45b538[_0x0935('0x39')]);_0x1d5919[_0x0935('0x3a')]=_[_0x0935('0x3b')](_0x1d5919[_0x0935('0x37')],_0x1d5919[_0x0935('0x39')]);_0x50a187[_0x0935('0x3c')]=_[_0x0935('0x3b')](_0x1d5919[_0x0935('0x37')],qs[_0x0935('0x3d')](_0x45b538[_0x0935('0x39')][_0x0935('0x3d')]));_0x50a187['attributes']=_0x50a187[_0x0935('0x3c')]['length']?_0x50a187[_0x0935('0x3c')]:_0x1d5919[_0x0935('0x37')];if(!_0x45b538[_0x0935('0x39')][_0x0935('0x3e')](_0x0935('0x3f'))){_0x50a187[_0x0935('0x2c')]=qs[_0x0935('0x2c')](_0x45b538[_0x0935('0x39')][_0x0935('0x2c')]);_0x50a187['offset']=qs[_0x0935('0x2b')](_0x45b538[_0x0935('0x39')][_0x0935('0x2b')]);}_0x50a187['order']=qs['sort'](_0x45b538[_0x0935('0x39')][_0x0935('0x40')]);_0x50a187['where']=qs[_0x0935('0x3a')](_[_0x0935('0x41')](_0x45b538[_0x0935('0x39')],_0x1d5919['filters']));if(_0x45b538[_0x0935('0x39')][_0x0935('0x42')]){_0x50a187['where']=_[_0x0935('0x43')](_0x50a187[_0x0935('0x44')],{'$or':_['map'](_0x28b31d,function(_0x16a567){if(_0x16a567[_0x0935('0x45')]['key']!=='VIRTUAL'){var _0x3215cd={};_0x3215cd[_0x16a567[_0x0935('0x46')]]={'$like':'%'+_0x45b538['query'][_0x0935('0x42')]+'%'};return _0x3215cd;}})});}_0x50a187=_[_0x0935('0x43')]({},_0x50a187,_0x45b538['options']);var _0x574508={'where':_0x50a187['where']};return db[_0x0935('0x47')]['count'](_0x574508)[_0x0935('0x1a')](function(_0x1f17e2){_0x1d3a71[_0x0935('0x2a')]=_0x1f17e2;if(_0x45b538[_0x0935('0x39')][_0x0935('0x48')]){_0x50a187[_0x0935('0x49')]=[{'all':!![]}];}return db[_0x0935('0x47')][_0x0935('0x4a')](_0x50a187);})[_0x0935('0x1a')](function(_0x4e5656){_0x1d3a71[_0x0935('0x4b')]=_0x4e5656;return _0x1d3a71;})[_0x0935('0x1a')](respondWithFilteredResult(_0x58747a,_0x50a187))['catch'](handleError(_0x58747a,null));};exports['show']=function(_0x4f5aaa,_0x523c22){var _0x159f2f={'raw':![],'where':{'id':_0x4f5aaa[_0x0935('0x4c')]['id']}},_0x1bc68e={};_0x1bc68e[_0x0935('0x37')]=_[_0x0935('0x38')](db[_0x0935('0x47')][_0x0935('0x36')]);_0x1bc68e[_0x0935('0x39')]=_[_0x0935('0x38')](_0x4f5aaa[_0x0935('0x39')]);_0x1bc68e[_0x0935('0x3a')]=_[_0x0935('0x3b')](_0x1bc68e['model'],_0x1bc68e[_0x0935('0x39')]);_0x159f2f['attributes']=_['intersection'](_0x1bc68e[_0x0935('0x37')],qs['fields'](_0x4f5aaa['query'][_0x0935('0x3d')]));_0x159f2f[_0x0935('0x3c')]=_0x159f2f[_0x0935('0x3c')][_0x0935('0x4d')]?_0x159f2f[_0x0935('0x3c')]:_0x1bc68e[_0x0935('0x37')];if(_0x4f5aaa['query']['includeAll']){_0x159f2f['include']=[{'all':!![]}];}_0x159f2f=_['merge']({},_0x159f2f,_0x4f5aaa[_0x0935('0x4e')]);return db[_0x0935('0x47')][_0x0935('0x4f')](_0x159f2f)[_0x0935('0x1a')](handleEntityNotFound(_0x523c22,null))['then'](respondWithResult(_0x523c22,null))[_0x0935('0x25')](handleError(_0x523c22,null));};exports['create']=function(_0x302910,_0x2cfc8a){return db[_0x0935('0x47')][_0x0935('0x50')](_0x302910['body'],{})[_0x0935('0x1a')](respondWithResult(_0x2cfc8a,0xc9))[_0x0935('0x25')](handleError(_0x2cfc8a,null));};exports[_0x0935('0x31')]=function(_0x23f26d,_0x9fa24b){if(_0x23f26d[_0x0935('0x51')]['id']){delete _0x23f26d[_0x0935('0x51')]['id'];}return db[_0x0935('0x47')][_0x0935('0x4f')]({'where':{'id':_0x23f26d['params']['id']}})['then'](handleEntityNotFound(_0x9fa24b,null))[_0x0935('0x1a')](saveUpdates(_0x23f26d[_0x0935('0x51')],null))[_0x0935('0x1a')](respondWithResult(_0x9fa24b,null))['catch'](handleError(_0x9fa24b,null));};exports[_0x0935('0x32')]=function(_0x4488d2,_0x3140f6){return db[_0x0935('0x47')]['find']({'where':{'id':_0x4488d2[_0x0935('0x4c')]['id']}})[_0x0935('0x1a')](handleEntityNotFound(_0x3140f6,null))[_0x0935('0x1a')](removeEntity(_0x3140f6,null))[_0x0935('0x25')](handleError(_0x3140f6,null));};exports[_0x0935('0x52')]=function(_0x59979f,_0x88bc50,_0x5b5c47){var _0x20f416={};var _0x26fa70={};var _0x218fcd;var _0x665099;return db[_0x0935('0x47')]['findOne']({'where':{'id':_0x59979f[_0x0935('0x4c')]['id']}})[_0x0935('0x1a')](handleEntityNotFound(_0x88bc50,null))[_0x0935('0x1a')](function(_0x4bc466){if(_0x4bc466){_0x218fcd=_0x4bc466;_0x26fa70[_0x0935('0x37')]=_['keys'](db['VtigerConfiguration']['rawAttributes']);_0x26fa70[_0x0935('0x39')]=_[_0x0935('0x38')](_0x59979f['query']);_0x26fa70['filters']=_[_0x0935('0x3b')](_0x26fa70[_0x0935('0x37')],_0x26fa70[_0x0935('0x39')]);_0x20f416['attributes']=_[_0x0935('0x3b')](_0x26fa70[_0x0935('0x37')],qs[_0x0935('0x3d')](_0x59979f['query']['fields']));_0x20f416[_0x0935('0x3c')]=_0x20f416[_0x0935('0x3c')][_0x0935('0x4d')]?_0x20f416['attributes']:_0x26fa70[_0x0935('0x37')];_0x20f416[_0x0935('0x53')]=qs['sort'](_0x59979f['query'][_0x0935('0x40')]);_0x20f416['where']=qs[_0x0935('0x3a')](_[_0x0935('0x41')](_0x59979f[_0x0935('0x39')],_0x26fa70[_0x0935('0x3a')]));if(_0x59979f[_0x0935('0x39')]['filter']){_0x20f416['where']=_[_0x0935('0x43')](_0x20f416['where'],{'$or':_['map'](_0x20f416[_0x0935('0x3c')],function(_0x20fe36){var _0x36258b={};_0x36258b[_0x20fe36]={'$like':'%'+_0x59979f[_0x0935('0x39')][_0x0935('0x42')]+'%'};return _0x36258b;})});}_0x20f416=_[_0x0935('0x43')]({},_0x20f416,_0x59979f[_0x0935('0x4e')]);return _0x218fcd['getConfigurations'](_0x20f416);}})['then'](function(_0x522c60){if(_0x522c60){_0x665099=_0x522c60[_0x0935('0x4d')];if(!_0x59979f['query'][_0x0935('0x3e')](_0x0935('0x3f'))){_0x20f416[_0x0935('0x2c')]=qs[_0x0935('0x2c')](_0x59979f[_0x0935('0x39')][_0x0935('0x2c')]);_0x20f416[_0x0935('0x2b')]=qs[_0x0935('0x2b')](_0x59979f[_0x0935('0x39')]['offset']);}return _0x218fcd['getConfigurations'](_0x20f416);}})[_0x0935('0x1a')](function(_0x5f221c){if(_0x5f221c){return _0x5f221c?{'count':_0x665099,'rows':_0x5f221c}:null;}})[_0x0935('0x1a')](respondWithResult(_0x88bc50,null))[_0x0935('0x25')](handleError(_0x88bc50,null));};exports[_0x0935('0x54')]=function(_0x49e9b5,_0x54ba85,_0x8fbfbc){if(_0x49e9b5[_0x0935('0x51')]['id']){delete _0x49e9b5[_0x0935('0x51')]['id'];}return db['VtigerAccount']['findOne']({'where':{'id':_0x49e9b5['params']['id']}})['then'](handleEntityNotFound(_0x54ba85,null))[_0x0935('0x1a')](function(_0x32cd35){if(_0x32cd35){_0x49e9b5[_0x0935('0x51')][_0x0935('0x55')]=_0x32cd35['id'];_0x49e9b5['body'][_0x0935('0x56')]=integrations[_0x0935('0x57')](_0x49e9b5[_0x0935('0x51')]['channel'],_0x49e9b5['body'][_0x0935('0x45')]);_0x49e9b5[_0x0935('0x51')][_0x0935('0x58')]=integrations['getDescriptions'](_0x49e9b5[_0x0935('0x51')][_0x0935('0x59')],_0x49e9b5['body']['type']);return db[_0x0935('0x5a')][_0x0935('0x50')](_0x49e9b5[_0x0935('0x51')],{'include':[{'model':db[_0x0935('0x5b')],'as':_0x0935('0x56')},{'model':db['VtigerField'],'as':_0x0935('0x58')}]});}return null;})[_0x0935('0x1a')](respondWithResult(_0x54ba85,null))['catch'](handleError(_0x54ba85,null));};var md5=require('md5');exports[_0x0935('0x5c')]=function(_0x210055,_0x158e62,_0x28a0e6){var _0x2f7f7b=null;var _0x2401f3=null;var _0x4fe940=null;var _0x323f05=null;var _0x140b8b='';return db[_0x0935('0x47')][_0x0935('0x5d')]({'where':{'id':_0x210055['params']['id']},'attributes':['id','name',_0x0935('0x5e'),_0x0935('0x5f'),_0x0935('0x60'),_0x0935('0x61'),_0x0935('0x62'),_0x0935('0x63')]})[_0x0935('0x1a')](handleEntityNotFound(_0x158e62,null))[_0x0935('0x1a')](function(_0x27c6dd){if(_0x27c6dd){_0x2f7f7b=_0x27c6dd['username'];_0x2401f3=_0x27c6dd[_0x0935('0x63')];_0x4fe940=_0x27c6dd[_0x0935('0x60')];_0x140b8b=_0x27c6dd['remoteUri'];var _0x5f1810=_0x140b8b[_0x0935('0x64')](-0x1);if(_0x5f1810==='/'){_0x140b8b=_0x140b8b[_0x0935('0x65')](0x0,_0x140b8b['lastIndexOf'](_0x5f1810));}_0x323f05=util['format'](_0x0935('0x66'),_0x140b8b);var _0x45719b={'method':_0x0935('0x67'),'uri':_0x323f05,'qs':{'operation':'getchallenge','username':_0x27c6dd[_0x0935('0x5e')]},'json':!![]};return rp(_0x45719b);}})[_0x0935('0x1a')](function(_0x4e8639){if(_0x4e8639[_0x0935('0x68')]){var _0x20ea75={'method':_0x0935('0x69'),'uri':_0x323f05,'form':{'operation':_0x0935('0x6a'),'username':_0x2f7f7b,'accessKey':md5(_0x4e8639[_0x0935('0x24')][_0x0935('0x6b')]+_0x2401f3)},'json':!![]};return rp(_0x20ea75);}})[_0x0935('0x1a')](function(_0x2c03be){if(_0x2c03be[_0x0935('0x68')]){var _0x5a47bd={'method':_0x0935('0x67'),'uri':_0x323f05,'qs':{'operation':_0x0935('0x6c'),'username':_0x2f7f7b,'sessionName':_0x2c03be['result']['sessionName'],'elementType':_0x4fe940},'json':!![]};return rp(_0x5a47bd);}})['then'](function(_0x55e39d){if(_0x55e39d[_0x0935('0x68')]){var _0x1f2bb7=['autogenerated',_0x0935('0x6d'),_0x0935('0x6e')];_[_0x0935('0x6f')](_0x55e39d['result'][_0x0935('0x3d')],function(_0x4a9041){return _0x1f2bb7[_0x0935('0x70')](_0x4a9041[_0x0935('0x45')][_0x0935('0x33')]);});_[_0x0935('0x6f')](_0x55e39d[_0x0935('0x24')][_0x0935('0x3d')],function(_0x278732){return _0x278732[_0x0935('0x71')]==='false';});return{'count':_0x55e39d[_0x0935('0x24')][_0x0935('0x3d')][_0x0935('0x4d')],'rows':_[_0x0935('0x72')](_0x55e39d['result']['fields'],function(_0x19b60f){return{'id':_0x19b60f['name'],'name':_0x19b60f[_0x0935('0x73')],'custom':_[_0x0935('0x74')](_0x19b60f[_0x0935('0x33')],_0x0935('0x75'))?!![]:![],'options':_0x19b60f[_0x0935('0x45')][_0x0935('0x33')]===_0x0935('0x76')&&_0x19b60f[_0x0935('0x45')][_0x0935('0x77')][_0x0935('0x4d')]>0x0?_[_0x0935('0x72')](_0x19b60f[_0x0935('0x45')][_0x0935('0x77')],function(_0x18c5f6){return{'name':_0x18c5f6[_0x0935('0x73')],'value':_0x18c5f6['value']};}):[]};})};}})[_0x0935('0x1a')](respondWithResult(_0x158e62,null))[_0x0935('0x25')](function(_0x452192){console[_0x0935('0x78')](_0x0935('0x79')+_0x452192);var _0x49033f=_0x210055['query'][_0x0935('0x7a')]?0x1f4:_0x452192[_0x0935('0x7b')]||0x1f4;logger[_0x0935('0x21')](_0x0935('0x7c'),_0x0935('0x5c'),_0x49033f,JSON[_0x0935('0x20')](_0x452192));delete _0x452192[_0x0935('0x33')];if(_0x49033f===0x191){_0x49033f=0x190;}_0x158e62[_0x0935('0x28')](_0x49033f)[_0x0935('0x34')](_0x210055[_0x0935('0x39')][_0x0935('0x7a')]?{'message':_0x0935('0x7d'),'statusCode':_0x452192[_0x0935('0x7b')]}:_0x452192);});};