Built motion from commit (unavailable).|2.5.30
[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 _0x72e3=['catch','keys','includeAll','find','create','body','update','params','getConfigurations','findOne','SugarcrmConfiguration','length','nolimit','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','SugarcrmField','getFields','assigned_user_id','created_by','description','date_start','duration_hours','duration_minutes','parent_id','parent_type','parent_name','direction','username','password','remoteUri','slice','substring','POST','format','%s%s','/service/v4_1/rest.php','login','JSON','PLAIN','xCALLY\x20Motion\x20Integration','Invalid\x20Login','Password\x20Expired','get_module_fields','Calls','values','module_fields','includes','label','value','test','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','http','request','then','SugarcrmAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','SugarcrmAccount,\x20%s,\x20%s','message','info','result','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','SugarcrmAccount','include','rows'];(function(_0x545a3c,_0x561724){var _0x3fcc1d=function(_0x76c068){while(--_0x76c068){_0x545a3c['push'](_0x545a3c['shift']());}};_0x3fcc1d(++_0x561724);}(_0x72e3,0x145));var _0x372e=function(_0x24bbdc,_0x503ed4){_0x24bbdc=_0x24bbdc-0x0;var _0x176f53=_0x72e3[_0x24bbdc];return _0x176f53;};'use strict';var emlformat=require(_0x372e('0x0'));var rimraf=require(_0x372e('0x1'));var zipdir=require(_0x372e('0x2'));var jsonpatch=require(_0x372e('0x3'));var rp=require(_0x372e('0x4'));var moment=require(_0x372e('0x5'));var BPromise=require(_0x372e('0x6'));var Mustache=require('mustache');var util=require(_0x372e('0x7'));var path=require('path');var sox=require(_0x372e('0x8'));var csv=require(_0x372e('0x9'));var ejs=require(_0x372e('0xa'));var fs=require('fs');var fs_extra=require(_0x372e('0xb'));var _=require(_0x372e('0xc'));var squel=require(_0x372e('0xd'));var crypto=require(_0x372e('0xe'));var jsforce=require(_0x372e('0xf'));var deskjs=require(_0x372e('0x10'));var toCsv=require('to-csv');var querystring=require(_0x372e('0x11'));var Papa=require(_0x372e('0x12'));var Redis=require(_0x372e('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x372e('0x14'));var as=require(_0x372e('0x15'));var hardwareService=require(_0x372e('0x16'));var logger=require(_0x372e('0x17'))('api');var utils=require(_0x372e('0x18'));var config=require(_0x372e('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x372e('0x1a'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x372e('0x1b'));var client=jayson['client'][_0x372e('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0xa4fd4b,_0x5ede5f,_0x30df15,_0x2ec871){return new BPromise(function(_0x44f95a,_0x511869){var _0x4b3dbb=_0x2ec871||client;return _0x4b3dbb[_0x372e('0x1d')](_0xa4fd4b,_0x30df15)[_0x372e('0x1e')](function(_0x1b7e08){logger['info']('SugarcrmAccount,\x20%s,\x20%s',_0x5ede5f,'request\x20sent');logger['debug'](_0x372e('0x1f'),_0x5ede5f,_0x372e('0x20'),JSON[_0x372e('0x21')](_0x1b7e08));if(_0x1b7e08[_0x372e('0x22')]){if(_0x1b7e08['error']['code']===0x1f4){logger[_0x372e('0x22')](_0x372e('0x23'),_0x5ede5f,_0x1b7e08[_0x372e('0x22')][_0x372e('0x24')]);return _0x511869(_0x1b7e08[_0x372e('0x22')][_0x372e('0x24')]);}logger['error'](_0x372e('0x23'),_0x5ede5f,_0x1b7e08[_0x372e('0x22')][_0x372e('0x24')]);return _0x44f95a(_0x1b7e08[_0x372e('0x22')]['message']);}else{logger[_0x372e('0x25')]('SugarcrmAccount,\x20%s,\x20%s',_0x5ede5f,_0x372e('0x20'));_0x44f95a(_0x1b7e08[_0x372e('0x26')][_0x372e('0x24')]);}})['catch'](function(_0x2a75b9){logger[_0x372e('0x22')](_0x372e('0x23'),_0x5ede5f,_0x2a75b9);_0x511869(_0x2a75b9);});});}function respondWithStatusCode(_0x48057a,_0x51b96b){_0x51b96b=_0x51b96b||0xcc;return function(_0x158908){if(_0x158908){return _0x48057a[_0x372e('0x27')](_0x51b96b);}return _0x48057a['status'](_0x51b96b)[_0x372e('0x28')]();};}function respondWithResult(_0x2d3c2c,_0x4203f2){_0x4203f2=_0x4203f2||0xc8;return function(_0x11553c){if(_0x11553c){return _0x2d3c2c[_0x372e('0x29')](_0x4203f2)[_0x372e('0x2a')](_0x11553c);}};}function respondWithFilteredResult(_0x3a98db,_0x59949a){return function(_0x20a13b){if(_0x20a13b){var _0x3f6abf=typeof _0x59949a[_0x372e('0x2b')]===_0x372e('0x2c')&&typeof _0x59949a['limit']===_0x372e('0x2c');var _0x1b27f9=_0x20a13b[_0x372e('0x2d')];var _0xeeb494=_0x3f6abf?0x0:_0x59949a[_0x372e('0x2b')];var _0x2ff8eb=_0x3f6abf?_0x20a13b[_0x372e('0x2d')]:_0x59949a[_0x372e('0x2b')]+_0x59949a[_0x372e('0x2e')];var _0x170035;if(_0x2ff8eb>=_0x1b27f9){_0x2ff8eb=_0x1b27f9;_0x170035=0xc8;}else{_0x170035=0xce;}_0x3a98db[_0x372e('0x29')](_0x170035);return _0x3a98db[_0x372e('0x2f')](_0x372e('0x30'),_0xeeb494+'-'+_0x2ff8eb+'/'+_0x1b27f9)[_0x372e('0x2a')](_0x20a13b);}return null;};}function patchUpdates(_0x1d3aae){return function(_0xf124b){try{jsonpatch['apply'](_0xf124b,_0x1d3aae,!![]);}catch(_0x571a17){return BPromise[_0x372e('0x31')](_0x571a17);}return _0xf124b[_0x372e('0x32')]();};}function saveUpdates(_0x5ed7ff,_0x404e7c){return function(_0x1add6d){if(_0x1add6d){return _0x1add6d['update'](_0x5ed7ff)[_0x372e('0x1e')](function(_0x1221f6){return _0x1221f6;});}return null;};}function removeEntity(_0x56ecf8,_0x2dfd87){return function(_0x2551ce){if(_0x2551ce){return _0x2551ce['destroy']()[_0x372e('0x1e')](function(){_0x56ecf8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x329f41,_0x109f1f){return function(_0x2282fa){if(!_0x2282fa){_0x329f41['sendStatus'](0x194);}return _0x2282fa;};}function handleError(_0x25e382,_0x23c705){_0x23c705=_0x23c705||0x1f4;return function(_0x4b08f0){logger[_0x372e('0x22')](_0x4b08f0['stack']);if(_0x4b08f0[_0x372e('0x33')]){delete _0x4b08f0[_0x372e('0x33')];}_0x25e382[_0x372e('0x29')](_0x23c705)[_0x372e('0x34')](_0x4b08f0);};}exports[_0x372e('0x35')]=function(_0x4a1166,_0x4ddcf3){var _0x519d87={},_0x3af377={},_0xa5df6a={'count':0x0,'rows':[]};var _0x218e72=_[_0x372e('0x36')](db['SugarcrmAccount'][_0x372e('0x37')],function(_0x233946){return{'name':_0x233946[_0x372e('0x38')],'type':_0x233946[_0x372e('0x39')][_0x372e('0x3a')]};});_0x3af377[_0x372e('0x3b')]=_[_0x372e('0x36')](_0x218e72,_0x372e('0x33'));_0x3af377[_0x372e('0x3c')]=_['keys'](_0x4a1166['query']);_0x3af377[_0x372e('0x3d')]=_[_0x372e('0x3e')](_0x3af377[_0x372e('0x3b')],_0x3af377[_0x372e('0x3c')]);_0x519d87[_0x372e('0x3f')]=_[_0x372e('0x3e')](_0x3af377[_0x372e('0x3b')],qs['fields'](_0x4a1166[_0x372e('0x3c')][_0x372e('0x40')]));_0x519d87[_0x372e('0x3f')]=_0x519d87[_0x372e('0x3f')]['length']?_0x519d87[_0x372e('0x3f')]:_0x3af377['model'];if(!_0x4a1166[_0x372e('0x3c')][_0x372e('0x41')]('nolimit')){_0x519d87[_0x372e('0x2e')]=qs[_0x372e('0x2e')](_0x4a1166[_0x372e('0x3c')][_0x372e('0x2e')]);_0x519d87[_0x372e('0x2b')]=qs[_0x372e('0x2b')](_0x4a1166[_0x372e('0x3c')][_0x372e('0x2b')]);}_0x519d87[_0x372e('0x42')]=qs[_0x372e('0x43')](_0x4a1166[_0x372e('0x3c')][_0x372e('0x43')]);_0x519d87[_0x372e('0x44')]=qs[_0x372e('0x3d')](_[_0x372e('0x45')](_0x4a1166[_0x372e('0x3c')],_0x3af377[_0x372e('0x3d')]),_0x218e72);if(_0x4a1166[_0x372e('0x3c')][_0x372e('0x46')]){_0x519d87[_0x372e('0x44')]=_[_0x372e('0x47')](_0x519d87[_0x372e('0x44')],{'$or':_[_0x372e('0x36')](_0x218e72,function(_0x153aaa){if(_0x153aaa[_0x372e('0x39')]!==_0x372e('0x48')){var _0x3209fc={};_0x3209fc[_0x153aaa[_0x372e('0x33')]]={'$like':'%'+_0x4a1166[_0x372e('0x3c')]['filter']+'%'};return _0x3209fc;}})});}_0x519d87=_[_0x372e('0x47')]({},_0x519d87,_0x4a1166[_0x372e('0x49')]);var _0x42d3f6={'where':_0x519d87[_0x372e('0x44')]};return db[_0x372e('0x4a')][_0x372e('0x2d')](_0x42d3f6)[_0x372e('0x1e')](function(_0x2671ce){_0xa5df6a[_0x372e('0x2d')]=_0x2671ce;if(_0x4a1166['query']['includeAll']){_0x519d87[_0x372e('0x4b')]=[{'all':!![]}];}return db[_0x372e('0x4a')]['findAll'](_0x519d87);})[_0x372e('0x1e')](function(_0x4e6e03){_0xa5df6a[_0x372e('0x4c')]=_0x4e6e03;return _0xa5df6a;})[_0x372e('0x1e')](respondWithFilteredResult(_0x4ddcf3,_0x519d87))[_0x372e('0x4d')](handleError(_0x4ddcf3,null));};exports['show']=function(_0x16e05b,_0x40ca53){var _0x1c6897={'raw':![],'where':{'id':_0x16e05b['params']['id']}},_0x123c45={};_0x123c45[_0x372e('0x3b')]=_[_0x372e('0x4e')](db['SugarcrmAccount']['rawAttributes']);_0x123c45['query']=_[_0x372e('0x4e')](_0x16e05b[_0x372e('0x3c')]);_0x123c45['filters']=_[_0x372e('0x3e')](_0x123c45['model'],_0x123c45['query']);_0x1c6897[_0x372e('0x3f')]=_[_0x372e('0x3e')](_0x123c45['model'],qs[_0x372e('0x40')](_0x16e05b[_0x372e('0x3c')][_0x372e('0x40')]));_0x1c6897[_0x372e('0x3f')]=_0x1c6897[_0x372e('0x3f')]['length']?_0x1c6897[_0x372e('0x3f')]:_0x123c45[_0x372e('0x3b')];if(_0x16e05b[_0x372e('0x3c')][_0x372e('0x4f')]){_0x1c6897[_0x372e('0x4b')]=[{'all':!![]}];}_0x1c6897=_[_0x372e('0x47')]({},_0x1c6897,_0x16e05b['options']);return db[_0x372e('0x4a')][_0x372e('0x50')](_0x1c6897)[_0x372e('0x1e')](handleEntityNotFound(_0x40ca53,null))[_0x372e('0x1e')](respondWithResult(_0x40ca53,null))[_0x372e('0x4d')](handleError(_0x40ca53,null));};exports[_0x372e('0x51')]=function(_0x58223d,_0x348850){return db[_0x372e('0x4a')][_0x372e('0x51')](_0x58223d[_0x372e('0x52')],{})[_0x372e('0x1e')](respondWithResult(_0x348850,0xc9))[_0x372e('0x4d')](handleError(_0x348850,null));};exports[_0x372e('0x53')]=function(_0x523afb,_0x15cc8b){if(_0x523afb[_0x372e('0x52')]['id']){delete _0x523afb[_0x372e('0x52')]['id'];}return db[_0x372e('0x4a')][_0x372e('0x50')]({'where':{'id':_0x523afb[_0x372e('0x54')]['id']}})[_0x372e('0x1e')](handleEntityNotFound(_0x15cc8b,null))[_0x372e('0x1e')](saveUpdates(_0x523afb[_0x372e('0x52')],null))[_0x372e('0x1e')](respondWithResult(_0x15cc8b,null))[_0x372e('0x4d')](handleError(_0x15cc8b,null));};exports['destroy']=function(_0x568dfd,_0x390968){return db['SugarcrmAccount']['find']({'where':{'id':_0x568dfd[_0x372e('0x54')]['id']}})[_0x372e('0x1e')](handleEntityNotFound(_0x390968,null))['then'](removeEntity(_0x390968,null))[_0x372e('0x4d')](handleError(_0x390968,null));};exports[_0x372e('0x55')]=function(_0x3c37dd,_0x248f4f,_0x38d7d1){var _0x259f8e={};var _0x2f6821={};var _0x88bfc8;var _0x40b89c;return db['SugarcrmAccount'][_0x372e('0x56')]({'where':{'id':_0x3c37dd['params']['id']}})[_0x372e('0x1e')](handleEntityNotFound(_0x248f4f,null))['then'](function(_0x39c11b){if(_0x39c11b){_0x88bfc8=_0x39c11b;_0x2f6821[_0x372e('0x3b')]=_['keys'](db[_0x372e('0x57')][_0x372e('0x37')]);_0x2f6821[_0x372e('0x3c')]=_[_0x372e('0x4e')](_0x3c37dd[_0x372e('0x3c')]);_0x2f6821[_0x372e('0x3d')]=_[_0x372e('0x3e')](_0x2f6821['model'],_0x2f6821[_0x372e('0x3c')]);_0x259f8e['attributes']=_[_0x372e('0x3e')](_0x2f6821[_0x372e('0x3b')],qs[_0x372e('0x40')](_0x3c37dd[_0x372e('0x3c')][_0x372e('0x40')]));_0x259f8e[_0x372e('0x3f')]=_0x259f8e[_0x372e('0x3f')][_0x372e('0x58')]?_0x259f8e[_0x372e('0x3f')]:_0x2f6821[_0x372e('0x3b')];_0x259f8e['order']=qs[_0x372e('0x43')](_0x3c37dd[_0x372e('0x3c')]['sort']);_0x259f8e[_0x372e('0x44')]=qs[_0x372e('0x3d')](_[_0x372e('0x45')](_0x3c37dd[_0x372e('0x3c')],_0x2f6821[_0x372e('0x3d')]));if(_0x3c37dd['query']['filter']){_0x259f8e[_0x372e('0x44')]=_['merge'](_0x259f8e[_0x372e('0x44')],{'$or':_[_0x372e('0x36')](_0x259f8e['attributes'],function(_0x8dd9dc){var _0x23d645={};_0x23d645[_0x8dd9dc]={'$like':'%'+_0x3c37dd['query'][_0x372e('0x46')]+'%'};return _0x23d645;})});}_0x259f8e=_[_0x372e('0x47')]({},_0x259f8e,_0x3c37dd[_0x372e('0x49')]);return _0x88bfc8[_0x372e('0x55')](_0x259f8e);}})[_0x372e('0x1e')](function(_0x596994){if(_0x596994){_0x40b89c=_0x596994['length'];if(!_0x3c37dd['query'][_0x372e('0x41')](_0x372e('0x59'))){_0x259f8e[_0x372e('0x2e')]=qs[_0x372e('0x2e')](_0x3c37dd[_0x372e('0x3c')][_0x372e('0x2e')]);_0x259f8e[_0x372e('0x2b')]=qs[_0x372e('0x2b')](_0x3c37dd[_0x372e('0x3c')][_0x372e('0x2b')]);}return _0x88bfc8[_0x372e('0x55')](_0x259f8e);}})[_0x372e('0x1e')](function(_0x2114d6){if(_0x2114d6){return _0x2114d6?{'count':_0x40b89c,'rows':_0x2114d6}:null;}})['then'](respondWithResult(_0x248f4f,null))['catch'](handleError(_0x248f4f,null));};exports['addConfiguration']=function(_0x1b2af2,_0xc00558,_0xda1363){if(_0x1b2af2[_0x372e('0x52')]['id']){delete _0x1b2af2[_0x372e('0x52')]['id'];}return db[_0x372e('0x4a')][_0x372e('0x56')]({'where':{'id':_0x1b2af2[_0x372e('0x54')]['id']}})['then'](handleEntityNotFound(_0xc00558,null))[_0x372e('0x1e')](function(_0x3f33a6){if(_0x3f33a6){_0x1b2af2['body'][_0x372e('0x5a')]=_0x3f33a6['id'];_0x1b2af2[_0x372e('0x52')][_0x372e('0x5b')]=integrations[_0x372e('0x5c')](_0x1b2af2['body'][_0x372e('0x5d')],_0x1b2af2[_0x372e('0x52')][_0x372e('0x39')]);_0x1b2af2[_0x372e('0x52')][_0x372e('0x5e')]=integrations[_0x372e('0x5f')](_0x1b2af2[_0x372e('0x52')]['channel'],_0x1b2af2['body']['type']);return db[_0x372e('0x57')][_0x372e('0x51')](_0x1b2af2['body'],{'include':[{'model':db[_0x372e('0x60')],'as':'Subjects'},{'model':db['SugarcrmField'],'as':_0x372e('0x5e')}]});}return null;})[_0x372e('0x1e')](respondWithResult(_0xc00558,null))[_0x372e('0x4d')](handleError(_0xc00558,null));};exports[_0x372e('0x61')]=function(_0x1355da,_0x531acf,_0x1c72f1){var _0xed12c3='';var _0x2c8093=['id',_0x372e('0x33'),_0x372e('0x62'),_0x372e('0x63'),_0x372e('0x64'),_0x372e('0x65'),_0x372e('0x66'),_0x372e('0x67'),_0x372e('0x68'),_0x372e('0x69'),_0x372e('0x6a'),_0x372e('0x6b')];return db[_0x372e('0x4a')]['findOne']({'where':{'id':_0x1355da[_0x372e('0x54')]['id']},'attributes':['id',_0x372e('0x6c'),_0x372e('0x6d'),_0x372e('0x6e')]})['then'](handleEntityNotFound(_0x531acf,null))[_0x372e('0x1e')](function(_0x5d9f42){if(_0x5d9f42){_0xed12c3=_0x5d9f42['remoteUri'];var _0x498b83=_0xed12c3[_0x372e('0x6f')](-0x1);if(_0x498b83==='/'){_0xed12c3=_0xed12c3[_0x372e('0x70')](0x0,_0xed12c3['lastIndexOf'](_0x498b83));}return rp({'method':_0x372e('0x71'),'uri':util[_0x372e('0x72')](_0x372e('0x73'),_0xed12c3,_0x372e('0x74')),'json':!![],'form':{'method':_0x372e('0x75'),'input_type':_0x372e('0x76'),'response_type':_0x372e('0x76'),'rest_data':JSON[_0x372e('0x21')]({'user_auth':{'user_name':_0x5d9f42[_0x372e('0x6c')],'password':_0x5d9f42[_0x372e('0x6d')],'encryption':_0x372e('0x77')},'application':_0x372e('0x78')})}});}})['then'](function(_0x58e9a0){if(_0x58e9a0&&_0x58e9a0[_0x372e('0x33')]!==_0x372e('0x79')&&_0x58e9a0[_0x372e('0x33')]!==_0x372e('0x7a')){return rp({'method':_0x372e('0x71'),'uri':util[_0x372e('0x72')](_0x372e('0x73'),_0xed12c3,'/service/v4_1/rest.php'),'json':!![],'form':{'method':_0x372e('0x7b'),'input_type':_0x372e('0x76'),'response_type':_0x372e('0x76'),'rest_data':JSON[_0x372e('0x21')]({'session':_0x58e9a0['id'],'module_name':_0x372e('0x7c')})}})['then'](function(_0x32690a){if(_0x32690a){var _0xa34d18=_[_0x372e('0x7d')](_0x32690a[_0x372e('0x7e')]);_['remove'](_0xa34d18,function(_0x72a8cc){return _0x2c8093[_0x372e('0x7f')](_0x72a8cc[_0x372e('0x33')]);});return{'count':_0xa34d18[_0x372e('0x58')],'rows':_[_0x372e('0x36')](_0xa34d18,function(_0x3e89c7){return{'id':_0x3e89c7['name'],'name':_0x3e89c7[_0x372e('0x80')],'custom':_['endsWith'](_0x3e89c7[_0x372e('0x33')],'_c')?!![]:![],'options':_0x3e89c7['options']?_[_0x372e('0x36')](_[_0x372e('0x7d')](_0x3e89c7[_0x372e('0x49')]),function(_0x2c61e8){return{'name':_0x2c61e8[_0x372e('0x81')],'value':_0x2c61e8[_0x372e('0x33')]};}):[]};})};}})[_0x372e('0x1e')](respondWithResult(_0x531acf,null))[_0x372e('0x4d')](function(_0xf5d502){var _0x4d718b=_0x1355da[_0x372e('0x3c')][_0x372e('0x82')]?0x1f4:_0xf5d502['statusCode']||0x1f4;logger[_0x372e('0x22')](_0x372e('0x83'),_0x372e('0x61'),_0x4d718b,JSON[_0x372e('0x21')](_0xf5d502));delete _0xf5d502['name'];if(_0x4d718b===0x191){_0x4d718b=0x190;}_0x531acf[_0x372e('0x29')](_0x4d718b)[_0x372e('0x34')](_0x1355da[_0x372e('0x3c')][_0x372e('0x82')]?{'message':_0x372e('0x84'),'statusCode':_0xf5d502[_0x372e('0x85')]}:_0xf5d502);});}else{var _0x17391f=0x1f4;_0x531acf[_0x372e('0x29')](_0x17391f)[_0x372e('0x34')]({'message':_0x372e('0x84'),'statusCode':0x190});}});};