Built motion from commit (unavailable).|2.5.18
[motion2.git] / server / api / intSugarcrmAccount / intSugarcrmAccount.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 _0x98c2=['type','key','model','query','filters','intersection','attributes','fields','nolimit','order','sort','pick','filter','merge','where','map','VIRTUAL','options','includeAll','include','findAll','rows','show','params','keys','length','catch','create','body','find','getConfigurations','SugarcrmConfiguration','hasOwnProperty','addConfiguration','findOne','AccountId','Subjects','channel','Descriptions','SugarcrmField','description','date_start','duration_hours','parent_type','direction','password','remoteUri','lastIndexOf','POST','%s%s','/service/v4_1/rest.php','login','JSON','xCALLY\x20Motion\x20Integration','Invalid\x20Login','Password\x20Expired','format','get_module_fields','Calls','values','label','endsWith','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','client','http','request','then','info','SugarcrmAccount,\x20%s,\x20%s','debug','SugarcrmAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','stack','name','send','index','SugarcrmAccount','rawAttributes'];(function(_0x10887c,_0x3b476b){var _0x4629cf=function(_0x2c2b66){while(--_0x2c2b66){_0x10887c['push'](_0x10887c['shift']());}};_0x4629cf(++_0x3b476b);}(_0x98c2,0x143));var _0x298c=function(_0x16d10f,_0x2ba2d5){_0x16d10f=_0x16d10f-0x0;var _0x50c823=_0x98c2[_0x16d10f];return _0x50c823;};'use strict';var pdf=require(_0x298c('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x298c('0x1'));var zipdir=require(_0x298c('0x2'));var jsonpatch=require(_0x298c('0x3'));var rp=require(_0x298c('0x4'));var moment=require(_0x298c('0x5'));var BPromise=require(_0x298c('0x6'));var Mustache=require(_0x298c('0x7'));var util=require(_0x298c('0x8'));var path=require('path');var sox=require(_0x298c('0x9'));var csv=require(_0x298c('0xa'));var ejs=require(_0x298c('0xb'));var fs=require('fs');var _=require(_0x298c('0xc'));var squel=require(_0x298c('0xd'));var crypto=require(_0x298c('0xe'));var jsforce=require(_0x298c('0xf'));var deskjs=require(_0x298c('0x10'));var toCsv=require('to-csv');var querystring=require(_0x298c('0x11'));var Papa=require('papaparse');var Redis=require(_0x298c('0x12'));var authService=require(_0x298c('0x13'));var qs=require(_0x298c('0x14'));var as=require(_0x298c('0x15'));var hardwareService=require(_0x298c('0x16'));var logger=require(_0x298c('0x17'))('api');var utils=require(_0x298c('0x18'));var config=require(_0x298c('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x298c('0x1a'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson[_0x298c('0x1b')][_0x298c('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x5cc11b,_0x48a673,_0x37bc74,_0x1d07d1){return new BPromise(function(_0x52e283,_0x25e76b){var _0x1551a3=_0x1d07d1||client;return _0x1551a3[_0x298c('0x1d')](_0x5cc11b,_0x37bc74)[_0x298c('0x1e')](function(_0x4f441b){logger[_0x298c('0x1f')](_0x298c('0x20'),_0x48a673,'request\x20sent');logger[_0x298c('0x21')](_0x298c('0x22'),_0x48a673,_0x298c('0x23'),JSON[_0x298c('0x24')](_0x4f441b));if(_0x4f441b[_0x298c('0x25')]){if(_0x4f441b[_0x298c('0x25')][_0x298c('0x26')]===0x1f4){logger['error'](_0x298c('0x20'),_0x48a673,_0x4f441b['error'][_0x298c('0x27')]);return _0x25e76b(_0x4f441b['error']['message']);}logger['error'](_0x298c('0x20'),_0x48a673,_0x4f441b[_0x298c('0x25')]['message']);return _0x52e283(_0x4f441b[_0x298c('0x25')][_0x298c('0x27')]);}else{logger['info'](_0x298c('0x20'),_0x48a673,_0x298c('0x23'));_0x52e283(_0x4f441b[_0x298c('0x28')][_0x298c('0x27')]);}})['catch'](function(_0x403d2b){logger[_0x298c('0x25')](_0x298c('0x20'),_0x48a673,_0x403d2b);_0x25e76b(_0x403d2b);});});}function respondWithStatusCode(_0x1c594a,_0x35ad3a){_0x35ad3a=_0x35ad3a||0xcc;return function(_0x457d78){if(_0x457d78){return _0x1c594a[_0x298c('0x29')](_0x35ad3a);}return _0x1c594a[_0x298c('0x2a')](_0x35ad3a)[_0x298c('0x2b')]();};}function respondWithResult(_0xadb511,_0x404bfa){_0x404bfa=_0x404bfa||0xc8;return function(_0x1ffd23){if(_0x1ffd23){return _0xadb511[_0x298c('0x2a')](_0x404bfa)[_0x298c('0x2c')](_0x1ffd23);}};}function respondWithFilteredResult(_0x3f2592,_0x5a7763){return function(_0x3ccaa9){if(_0x3ccaa9){var _0x505a64=_0x3ccaa9[_0x298c('0x2d')],_0x336c60=_0x5a7763['offset'],_0x383110=_0x5a7763[_0x298c('0x2e')]+_0x5a7763[_0x298c('0x2f')],_0x5b335f;if(_0x383110>=_0x505a64){_0x383110=_0x505a64;_0x5b335f=0xc8;}else{_0x5b335f=0xce;}_0x3f2592[_0x298c('0x2a')](_0x5b335f);return _0x3f2592[_0x298c('0x30')](_0x298c('0x31'),_0x336c60+'-'+_0x383110+'/'+_0x505a64)[_0x298c('0x2c')](_0x3ccaa9);}return null;};}function patchUpdates(_0x40bd5e){return function(_0x4436ee){try{jsonpatch[_0x298c('0x32')](_0x4436ee,_0x40bd5e,!![]);}catch(_0x5cc181){return BPromise[_0x298c('0x33')](_0x5cc181);}return _0x4436ee[_0x298c('0x34')]();};}function saveUpdates(_0x571a42,_0x144fbc){return function(_0x2ce5cb){if(_0x2ce5cb){return _0x2ce5cb[_0x298c('0x35')](_0x571a42)[_0x298c('0x1e')](function(_0x2b7d6b){return _0x2b7d6b;});}return null;};}function removeEntity(_0x36bd07,_0x300862){return function(_0xe0ba50){if(_0xe0ba50){return _0xe0ba50[_0x298c('0x36')]()[_0x298c('0x1e')](function(){_0x36bd07[_0x298c('0x2a')](0xcc)[_0x298c('0x2b')]();});}};}function handleEntityNotFound(_0x3f44e4,_0x150cbd){return function(_0x409cff){if(!_0x409cff){_0x3f44e4['sendStatus'](0x194);}return _0x409cff;};}function handleError(_0x42d3e4,_0x3daac3){_0x3daac3=_0x3daac3||0x1f4;return function(_0x2adc30){logger['error'](_0x2adc30[_0x298c('0x37')]);if(_0x2adc30[_0x298c('0x38')]){delete _0x2adc30[_0x298c('0x38')];}_0x42d3e4['status'](_0x3daac3)[_0x298c('0x39')](_0x2adc30);};}exports[_0x298c('0x3a')]=function(_0x202b57,_0x516d22){var _0x20eb9d={},_0x391bf8={},_0x899550={'count':0x0,'rows':[]};var _0x4864fa=_['map'](db[_0x298c('0x3b')][_0x298c('0x3c')],function(_0x5e52d8){return{'name':_0x5e52d8['fieldName'],'type':_0x5e52d8[_0x298c('0x3d')][_0x298c('0x3e')]};});_0x391bf8[_0x298c('0x3f')]=_['map'](_0x4864fa,_0x298c('0x38'));_0x391bf8['query']=_['keys'](_0x202b57[_0x298c('0x40')]);_0x391bf8[_0x298c('0x41')]=_[_0x298c('0x42')](_0x391bf8[_0x298c('0x3f')],_0x391bf8[_0x298c('0x40')]);_0x20eb9d[_0x298c('0x43')]=_[_0x298c('0x42')](_0x391bf8[_0x298c('0x3f')],qs[_0x298c('0x44')](_0x202b57['query'][_0x298c('0x44')]));_0x20eb9d[_0x298c('0x43')]=_0x20eb9d['attributes']['length']?_0x20eb9d[_0x298c('0x43')]:_0x391bf8[_0x298c('0x3f')];if(!_0x202b57['query']['hasOwnProperty'](_0x298c('0x45'))){_0x20eb9d['limit']=qs[_0x298c('0x2f')](_0x202b57[_0x298c('0x40')][_0x298c('0x2f')]);_0x20eb9d[_0x298c('0x2e')]=qs['offset'](_0x202b57[_0x298c('0x40')][_0x298c('0x2e')]);}_0x20eb9d[_0x298c('0x46')]=qs['sort'](_0x202b57[_0x298c('0x40')][_0x298c('0x47')]);_0x20eb9d['where']=qs[_0x298c('0x41')](_[_0x298c('0x48')](_0x202b57[_0x298c('0x40')],_0x391bf8[_0x298c('0x41')]),_0x4864fa);if(_0x202b57[_0x298c('0x40')][_0x298c('0x49')]){_0x20eb9d['where']=_[_0x298c('0x4a')](_0x20eb9d[_0x298c('0x4b')],{'$or':_[_0x298c('0x4c')](_0x4864fa,function(_0x150422){if(_0x150422[_0x298c('0x3d')]!==_0x298c('0x4d')){var _0x4445c0={};_0x4445c0[_0x150422[_0x298c('0x38')]]={'$like':'%'+_0x202b57[_0x298c('0x40')][_0x298c('0x49')]+'%'};return _0x4445c0;}})});}_0x20eb9d=_[_0x298c('0x4a')]({},_0x20eb9d,_0x202b57[_0x298c('0x4e')]);var _0x598ea2={'where':_0x20eb9d[_0x298c('0x4b')]};return db['SugarcrmAccount'][_0x298c('0x2d')](_0x598ea2)[_0x298c('0x1e')](function(_0x53e13e){_0x899550[_0x298c('0x2d')]=_0x53e13e;if(_0x202b57['query'][_0x298c('0x4f')]){_0x20eb9d[_0x298c('0x50')]=[{'all':!![]}];}return db['SugarcrmAccount'][_0x298c('0x51')](_0x20eb9d);})[_0x298c('0x1e')](function(_0x1d398a){_0x899550[_0x298c('0x52')]=_0x1d398a;return _0x899550;})[_0x298c('0x1e')](respondWithFilteredResult(_0x516d22,_0x20eb9d))['catch'](handleError(_0x516d22,null));};exports[_0x298c('0x53')]=function(_0x4bbbfc,_0x4752fe){var _0x51b408={'raw':![],'where':{'id':_0x4bbbfc[_0x298c('0x54')]['id']}},_0x1513d6={};_0x1513d6['model']=_[_0x298c('0x55')](db[_0x298c('0x3b')][_0x298c('0x3c')]);_0x1513d6['query']=_[_0x298c('0x55')](_0x4bbbfc[_0x298c('0x40')]);_0x1513d6['filters']=_[_0x298c('0x42')](_0x1513d6[_0x298c('0x3f')],_0x1513d6['query']);_0x51b408[_0x298c('0x43')]=_[_0x298c('0x42')](_0x1513d6[_0x298c('0x3f')],qs[_0x298c('0x44')](_0x4bbbfc[_0x298c('0x40')][_0x298c('0x44')]));_0x51b408[_0x298c('0x43')]=_0x51b408['attributes'][_0x298c('0x56')]?_0x51b408[_0x298c('0x43')]:_0x1513d6[_0x298c('0x3f')];if(_0x4bbbfc['query'][_0x298c('0x4f')]){_0x51b408[_0x298c('0x50')]=[{'all':!![]}];}_0x51b408=_[_0x298c('0x4a')]({},_0x51b408,_0x4bbbfc['options']);return db[_0x298c('0x3b')]['find'](_0x51b408)['then'](handleEntityNotFound(_0x4752fe,null))[_0x298c('0x1e')](respondWithResult(_0x4752fe,null))[_0x298c('0x57')](handleError(_0x4752fe,null));};exports[_0x298c('0x58')]=function(_0x1336ce,_0x271b0f){return db[_0x298c('0x3b')]['create'](_0x1336ce[_0x298c('0x59')],{})['then'](respondWithResult(_0x271b0f,0xc9))[_0x298c('0x57')](handleError(_0x271b0f,null));};exports[_0x298c('0x35')]=function(_0x3d8de0,_0x473d46){if(_0x3d8de0[_0x298c('0x59')]['id']){delete _0x3d8de0[_0x298c('0x59')]['id'];}return db['SugarcrmAccount']['find']({'where':{'id':_0x3d8de0[_0x298c('0x54')]['id']}})[_0x298c('0x1e')](handleEntityNotFound(_0x473d46,null))[_0x298c('0x1e')](saveUpdates(_0x3d8de0[_0x298c('0x59')],null))[_0x298c('0x1e')](respondWithResult(_0x473d46,null))['catch'](handleError(_0x473d46,null));};exports['destroy']=function(_0x2f0ea8,_0x5a8e33){return db['SugarcrmAccount'][_0x298c('0x5a')]({'where':{'id':_0x2f0ea8[_0x298c('0x54')]['id']}})['then'](handleEntityNotFound(_0x5a8e33,null))[_0x298c('0x1e')](removeEntity(_0x5a8e33,null))[_0x298c('0x57')](handleError(_0x5a8e33,null));};exports[_0x298c('0x5b')]=function(_0x2b7af1,_0x2bdb2d,_0x20acee){var _0x2991b7={};var _0x582a74={};var _0x196e40;var _0x209393;return db[_0x298c('0x3b')]['findOne']({'where':{'id':_0x2b7af1[_0x298c('0x54')]['id']}})[_0x298c('0x1e')](handleEntityNotFound(_0x2bdb2d,null))[_0x298c('0x1e')](function(_0x53fd85){if(_0x53fd85){_0x196e40=_0x53fd85;_0x582a74[_0x298c('0x3f')]=_[_0x298c('0x55')](db[_0x298c('0x5c')][_0x298c('0x3c')]);_0x582a74[_0x298c('0x40')]=_[_0x298c('0x55')](_0x2b7af1[_0x298c('0x40')]);_0x582a74['filters']=_[_0x298c('0x42')](_0x582a74['model'],_0x582a74[_0x298c('0x40')]);_0x2991b7['attributes']=_[_0x298c('0x42')](_0x582a74[_0x298c('0x3f')],qs[_0x298c('0x44')](_0x2b7af1[_0x298c('0x40')][_0x298c('0x44')]));_0x2991b7['attributes']=_0x2991b7[_0x298c('0x43')][_0x298c('0x56')]?_0x2991b7[_0x298c('0x43')]:_0x582a74[_0x298c('0x3f')];_0x2991b7[_0x298c('0x46')]=qs[_0x298c('0x47')](_0x2b7af1[_0x298c('0x40')][_0x298c('0x47')]);_0x2991b7[_0x298c('0x4b')]=qs[_0x298c('0x41')](_['pick'](_0x2b7af1[_0x298c('0x40')],_0x582a74[_0x298c('0x41')]));if(_0x2b7af1[_0x298c('0x40')][_0x298c('0x49')]){_0x2991b7[_0x298c('0x4b')]=_[_0x298c('0x4a')](_0x2991b7['where'],{'$or':_['map'](_0x2991b7[_0x298c('0x43')],function(_0x23bc8e){var _0x233f86={};_0x233f86[_0x23bc8e]={'$like':'%'+_0x2b7af1[_0x298c('0x40')][_0x298c('0x49')]+'%'};return _0x233f86;})});}_0x2991b7=_[_0x298c('0x4a')]({},_0x2991b7,_0x2b7af1['options']);return _0x196e40[_0x298c('0x5b')](_0x2991b7);}})[_0x298c('0x1e')](function(_0x4d09f9){if(_0x4d09f9){_0x209393=_0x4d09f9[_0x298c('0x56')];if(!_0x2b7af1[_0x298c('0x40')][_0x298c('0x5d')](_0x298c('0x45'))){_0x2991b7[_0x298c('0x2f')]=qs['limit'](_0x2b7af1['query'][_0x298c('0x2f')]);_0x2991b7[_0x298c('0x2e')]=qs[_0x298c('0x2e')](_0x2b7af1[_0x298c('0x40')][_0x298c('0x2e')]);}return _0x196e40[_0x298c('0x5b')](_0x2991b7);}})[_0x298c('0x1e')](function(_0x521b23){if(_0x521b23){return _0x521b23?{'count':_0x209393,'rows':_0x521b23}:null;}})[_0x298c('0x1e')](respondWithResult(_0x2bdb2d,null))[_0x298c('0x57')](handleError(_0x2bdb2d,null));};exports[_0x298c('0x5e')]=function(_0x397614,_0x27432,_0xfae370){if(_0x397614['body']['id']){delete _0x397614['body']['id'];}return db[_0x298c('0x3b')][_0x298c('0x5f')]({'where':{'id':_0x397614['params']['id']}})['then'](handleEntityNotFound(_0x27432,null))[_0x298c('0x1e')](function(_0x19f7da){if(_0x19f7da){_0x397614[_0x298c('0x59')][_0x298c('0x60')]=_0x19f7da['id'];_0x397614[_0x298c('0x59')][_0x298c('0x61')]=integrations['getSubjects'](_0x397614[_0x298c('0x59')][_0x298c('0x62')],_0x397614[_0x298c('0x59')][_0x298c('0x3d')]);_0x397614[_0x298c('0x59')][_0x298c('0x63')]=integrations['getDescriptions'](_0x397614['body']['channel'],_0x397614[_0x298c('0x59')][_0x298c('0x3d')]);return db[_0x298c('0x5c')]['create'](_0x397614[_0x298c('0x59')],{'include':[{'model':db[_0x298c('0x64')],'as':_0x298c('0x61')},{'model':db[_0x298c('0x64')],'as':_0x298c('0x63')}]});}return null;})[_0x298c('0x1e')](respondWithResult(_0x27432,null))[_0x298c('0x57')](handleError(_0x27432,null));};exports['getFields']=function(_0x552ff9,_0x2b68a8,_0x556e5b){var _0x412f73='';var _0x30df81=['id',_0x298c('0x38'),'assigned_user_id','created_by',_0x298c('0x65'),_0x298c('0x66'),_0x298c('0x67'),'duration_minutes','parent_id',_0x298c('0x68'),'parent_name',_0x298c('0x69')];return db[_0x298c('0x3b')][_0x298c('0x5f')]({'where':{'id':_0x552ff9[_0x298c('0x54')]['id']},'attributes':['id','username',_0x298c('0x6a'),_0x298c('0x6b')]})[_0x298c('0x1e')](handleEntityNotFound(_0x2b68a8,null))[_0x298c('0x1e')](function(_0x506275){if(_0x506275){_0x412f73=_0x506275[_0x298c('0x6b')];var _0x7c2176=_0x412f73['slice'](-0x1);if(_0x7c2176==='/'){_0x412f73=_0x412f73['substring'](0x0,_0x412f73[_0x298c('0x6c')](_0x7c2176));}return rp({'method':_0x298c('0x6d'),'uri':util['format'](_0x298c('0x6e'),_0x412f73,_0x298c('0x6f')),'json':!![],'form':{'method':_0x298c('0x70'),'input_type':_0x298c('0x71'),'response_type':_0x298c('0x71'),'rest_data':JSON[_0x298c('0x24')]({'user_auth':{'user_name':_0x506275['username'],'password':_0x506275[_0x298c('0x6a')],'encryption':'PLAIN'},'application':_0x298c('0x72')})}});}})['then'](function(_0x32e72a){if(_0x32e72a&&_0x32e72a[_0x298c('0x38')]!==_0x298c('0x73')&&_0x32e72a[_0x298c('0x38')]!==_0x298c('0x74')){return rp({'method':'POST','uri':util[_0x298c('0x75')](_0x298c('0x6e'),_0x412f73,_0x298c('0x6f')),'json':!![],'form':{'method':_0x298c('0x76'),'input_type':'JSON','response_type':_0x298c('0x71'),'rest_data':JSON[_0x298c('0x24')]({'session':_0x32e72a['id'],'module_name':_0x298c('0x77')})}})[_0x298c('0x1e')](function(_0x445ce2){if(_0x445ce2){var _0x39967c=_[_0x298c('0x78')](_0x445ce2['module_fields']);_['remove'](_0x39967c,function(_0x3a29cc){return _0x30df81['includes'](_0x3a29cc['name']);});return{'count':_0x39967c[_0x298c('0x56')],'rows':_[_0x298c('0x4c')](_0x39967c,function(_0x51c85a){return{'id':_0x51c85a[_0x298c('0x38')],'name':_0x51c85a[_0x298c('0x79')],'custom':_[_0x298c('0x7a')](_0x51c85a['name'],'_c')?!![]:![],'options':_0x51c85a[_0x298c('0x4e')]?_[_0x298c('0x4c')](_[_0x298c('0x78')](_0x51c85a[_0x298c('0x4e')]),function(_0x1d253e){return{'name':_0x1d253e['value'],'value':_0x1d253e[_0x298c('0x38')]};}):[]};})};}})[_0x298c('0x1e')](respondWithResult(_0x2b68a8,null))[_0x298c('0x57')](function(_0x26c1a6){var _0x5658f3=_0x552ff9['query'][_0x298c('0x7b')]?0x1f4:_0x26c1a6[_0x298c('0x7c')]||0x1f4;logger[_0x298c('0x25')](_0x298c('0x7d'),_0x298c('0x7e'),_0x5658f3,JSON[_0x298c('0x24')](_0x26c1a6));delete _0x26c1a6[_0x298c('0x38')];if(_0x5658f3===0x191){_0x5658f3=0x190;}_0x2b68a8[_0x298c('0x2a')](_0x5658f3)['send'](_0x552ff9[_0x298c('0x40')][_0x298c('0x7b')]?{'message':_0x298c('0x7f'),'statusCode':_0x26c1a6['statusCode']}:_0x26c1a6);});}else{var _0x5a4448=0x1f4;_0x2b68a8[_0x298c('0x2a')](_0x5a4448)[_0x298c('0x39')]({'message':_0x298c('0x7f'),'statusCode':0x190});}});};