Built motion from commit (unavailable).|2.5.21
[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 _0xcedf=['json','offset','set','apply','reject','destroy','sendStatus','stack','name','send','index','map','SugarcrmAccount','fieldName','type','key','query','keys','filters','intersection','model','attributes','length','nolimit','limit','filter','where','merge','VIRTUAL','count','includeAll','include','rows','show','params','rawAttributes','fields','options','find','create','body','update','getConfigurations','findOne','SugarcrmConfiguration','order','sort','pick','hasOwnProperty','AccountId','Subjects','getSubjects','channel','Descriptions','SugarcrmField','getFields','assigned_user_id','description','date_start','duration_hours','duration_minutes','parent_name','direction','username','remoteUri','slice','lastIndexOf','format','%s%s','/service/v4_1/rest.php','login','JSON','password','PLAIN','xCALLY\x20Motion\x20Integration','Invalid\x20Login','POST','get_module_fields','values','module_fields','remove','includes','label','endsWith','test','statusCode','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','then','request\x20sent','stringify','error','code','message','SugarcrmAccount,\x20%s,\x20%s','info','result','catch','status','end'];(function(_0x26e372,_0x5c1c57){var _0x5c2ae6=function(_0x286d8d){while(--_0x286d8d){_0x26e372['push'](_0x26e372['shift']());}};_0x5c2ae6(++_0x5c1c57);}(_0xcedf,0x15b));var _0xfced=function(_0x4bb916,_0x3119d0){_0x4bb916=_0x4bb916-0x0;var _0x47f238=_0xcedf[_0x4bb916];return _0x47f238;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xfced('0x0'));var rimraf=require(_0xfced('0x1'));var zipdir=require(_0xfced('0x2'));var jsonpatch=require(_0xfced('0x3'));var rp=require(_0xfced('0x4'));var moment=require(_0xfced('0x5'));var BPromise=require(_0xfced('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xfced('0x7'));var sox=require(_0xfced('0x8'));var csv=require('to-csv');var ejs=require(_0xfced('0x9'));var fs=require('fs');var _=require(_0xfced('0xa'));var squel=require(_0xfced('0xb'));var crypto=require('crypto');var jsforce=require(_0xfced('0xc'));var deskjs=require(_0xfced('0xd'));var toCsv=require('to-csv');var querystring=require(_0xfced('0xe'));var Papa=require('papaparse');var Redis=require(_0xfced('0xf'));var authService=require(_0xfced('0x10'));var qs=require(_0xfced('0x11'));var as=require(_0xfced('0x12'));var hardwareService=require(_0xfced('0x13'));var logger=require(_0xfced('0x14'))(_0xfced('0x15'));var utils=require(_0xfced('0x16'));var config=require(_0xfced('0x17'));var licenseUtil=require(_0xfced('0x18'));var db=require(_0xfced('0x19'))['db'];var integrations=require(_0xfced('0x1a'));var jayson=require(_0xfced('0x1b'));var client=jayson[_0xfced('0x1c')][_0xfced('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x5d285f,_0x120ae5,_0x5182d1,_0x486ac1){return new BPromise(function(_0x4fff1b,_0x3a3d0e){var _0x47094f=_0x486ac1||client;return _0x47094f[_0xfced('0x1e')](_0x5d285f,_0x5182d1)[_0xfced('0x1f')](function(_0xd90a1e){logger['info']('SugarcrmAccount,\x20%s,\x20%s',_0x120ae5,_0xfced('0x20'));logger['debug']('SugarcrmAccount,\x20%s,\x20%s,\x20%s',_0x120ae5,'request\x20sent',JSON[_0xfced('0x21')](_0xd90a1e));if(_0xd90a1e['error']){if(_0xd90a1e[_0xfced('0x22')][_0xfced('0x23')]===0x1f4){logger[_0xfced('0x22')]('SugarcrmAccount,\x20%s,\x20%s',_0x120ae5,_0xd90a1e[_0xfced('0x22')][_0xfced('0x24')]);return _0x3a3d0e(_0xd90a1e[_0xfced('0x22')][_0xfced('0x24')]);}logger[_0xfced('0x22')](_0xfced('0x25'),_0x120ae5,_0xd90a1e['error'][_0xfced('0x24')]);return _0x4fff1b(_0xd90a1e[_0xfced('0x22')][_0xfced('0x24')]);}else{logger[_0xfced('0x26')](_0xfced('0x25'),_0x120ae5,'request\x20sent');_0x4fff1b(_0xd90a1e[_0xfced('0x27')][_0xfced('0x24')]);}})[_0xfced('0x28')](function(_0x308a76){logger[_0xfced('0x22')](_0xfced('0x25'),_0x120ae5,_0x308a76);_0x3a3d0e(_0x308a76);});});}function respondWithStatusCode(_0x44a8e3,_0x21a0e4){_0x21a0e4=_0x21a0e4||0xcc;return function(_0x44b828){if(_0x44b828){return _0x44a8e3['sendStatus'](_0x21a0e4);}return _0x44a8e3[_0xfced('0x29')](_0x21a0e4)[_0xfced('0x2a')]();};}function respondWithResult(_0x5ca480,_0x3747d6){_0x3747d6=_0x3747d6||0xc8;return function(_0x1810cf){if(_0x1810cf){return _0x5ca480[_0xfced('0x29')](_0x3747d6)[_0xfced('0x2b')](_0x1810cf);}};}function respondWithFilteredResult(_0x376a49,_0x3a7e04){return function(_0x13e3d6){if(_0x13e3d6){var _0x107740=_0x13e3d6['count'],_0x39cd03=_0x3a7e04['offset'],_0x1f6986=_0x3a7e04[_0xfced('0x2c')]+_0x3a7e04['limit'],_0x5c260f;if(_0x1f6986>=_0x107740){_0x1f6986=_0x107740;_0x5c260f=0xc8;}else{_0x5c260f=0xce;}_0x376a49[_0xfced('0x29')](_0x5c260f);return _0x376a49[_0xfced('0x2d')]('Content-Range',_0x39cd03+'-'+_0x1f6986+'/'+_0x107740)['json'](_0x13e3d6);}return null;};}function patchUpdates(_0x28e744){return function(_0x14d93f){try{jsonpatch[_0xfced('0x2e')](_0x14d93f,_0x28e744,!![]);}catch(_0x35fa52){return BPromise[_0xfced('0x2f')](_0x35fa52);}return _0x14d93f['save']();};}function saveUpdates(_0x101cfc,_0x5c35f8){return function(_0x1d41c8){if(_0x1d41c8){return _0x1d41c8['update'](_0x101cfc)['then'](function(_0x22b004){return _0x22b004;});}return null;};}function removeEntity(_0x25bb00,_0x146d22){return function(_0x4e3c10){if(_0x4e3c10){return _0x4e3c10[_0xfced('0x30')]()[_0xfced('0x1f')](function(){_0x25bb00[_0xfced('0x29')](0xcc)[_0xfced('0x2a')]();});}};}function handleEntityNotFound(_0x5ed065,_0x37fd69){return function(_0x228493){if(!_0x228493){_0x5ed065[_0xfced('0x31')](0x194);}return _0x228493;};}function handleError(_0x423d93,_0xaa07a3){_0xaa07a3=_0xaa07a3||0x1f4;return function(_0x4a163d){logger[_0xfced('0x22')](_0x4a163d[_0xfced('0x32')]);if(_0x4a163d[_0xfced('0x33')]){delete _0x4a163d[_0xfced('0x33')];}_0x423d93['status'](_0xaa07a3)[_0xfced('0x34')](_0x4a163d);};}exports[_0xfced('0x35')]=function(_0x33d44b,_0x4f7c0){var _0x439910={},_0x3e090b={},_0x41d81d={'count':0x0,'rows':[]};var _0x17ccb4=_[_0xfced('0x36')](db[_0xfced('0x37')]['rawAttributes'],function(_0x49f5bc){return{'name':_0x49f5bc[_0xfced('0x38')],'type':_0x49f5bc[_0xfced('0x39')][_0xfced('0x3a')]};});_0x3e090b['model']=_[_0xfced('0x36')](_0x17ccb4,_0xfced('0x33'));_0x3e090b[_0xfced('0x3b')]=_[_0xfced('0x3c')](_0x33d44b[_0xfced('0x3b')]);_0x3e090b[_0xfced('0x3d')]=_[_0xfced('0x3e')](_0x3e090b[_0xfced('0x3f')],_0x3e090b[_0xfced('0x3b')]);_0x439910[_0xfced('0x40')]=_[_0xfced('0x3e')](_0x3e090b[_0xfced('0x3f')],qs['fields'](_0x33d44b[_0xfced('0x3b')]['fields']));_0x439910[_0xfced('0x40')]=_0x439910[_0xfced('0x40')][_0xfced('0x41')]?_0x439910['attributes']:_0x3e090b[_0xfced('0x3f')];if(!_0x33d44b[_0xfced('0x3b')]['hasOwnProperty'](_0xfced('0x42'))){_0x439910[_0xfced('0x43')]=qs['limit'](_0x33d44b[_0xfced('0x3b')]['limit']);_0x439910[_0xfced('0x2c')]=qs[_0xfced('0x2c')](_0x33d44b[_0xfced('0x3b')][_0xfced('0x2c')]);}_0x439910['order']=qs['sort'](_0x33d44b[_0xfced('0x3b')]['sort']);_0x439910['where']=qs[_0xfced('0x3d')](_['pick'](_0x33d44b[_0xfced('0x3b')],_0x3e090b[_0xfced('0x3d')]),_0x17ccb4);if(_0x33d44b[_0xfced('0x3b')][_0xfced('0x44')]){_0x439910[_0xfced('0x45')]=_[_0xfced('0x46')](_0x439910[_0xfced('0x45')],{'$or':_['map'](_0x17ccb4,function(_0x47aba6){if(_0x47aba6[_0xfced('0x39')]!==_0xfced('0x47')){var _0x24abfa={};_0x24abfa[_0x47aba6['name']]={'$like':'%'+_0x33d44b[_0xfced('0x3b')]['filter']+'%'};return _0x24abfa;}})});}_0x439910=_[_0xfced('0x46')]({},_0x439910,_0x33d44b['options']);var _0x4cb1a9={'where':_0x439910['where']};return db[_0xfced('0x37')][_0xfced('0x48')](_0x4cb1a9)['then'](function(_0x378ed7){_0x41d81d['count']=_0x378ed7;if(_0x33d44b[_0xfced('0x3b')][_0xfced('0x49')]){_0x439910[_0xfced('0x4a')]=[{'all':!![]}];}return db[_0xfced('0x37')]['findAll'](_0x439910);})[_0xfced('0x1f')](function(_0x395292){_0x41d81d[_0xfced('0x4b')]=_0x395292;return _0x41d81d;})[_0xfced('0x1f')](respondWithFilteredResult(_0x4f7c0,_0x439910))['catch'](handleError(_0x4f7c0,null));};exports[_0xfced('0x4c')]=function(_0x4d2cc5,_0x5716a1){var _0x418974={'raw':![],'where':{'id':_0x4d2cc5[_0xfced('0x4d')]['id']}},_0x386bed={};_0x386bed[_0xfced('0x3f')]=_[_0xfced('0x3c')](db[_0xfced('0x37')][_0xfced('0x4e')]);_0x386bed[_0xfced('0x3b')]=_[_0xfced('0x3c')](_0x4d2cc5['query']);_0x386bed[_0xfced('0x3d')]=_['intersection'](_0x386bed['model'],_0x386bed[_0xfced('0x3b')]);_0x418974[_0xfced('0x40')]=_[_0xfced('0x3e')](_0x386bed[_0xfced('0x3f')],qs[_0xfced('0x4f')](_0x4d2cc5[_0xfced('0x3b')][_0xfced('0x4f')]));_0x418974['attributes']=_0x418974[_0xfced('0x40')][_0xfced('0x41')]?_0x418974[_0xfced('0x40')]:_0x386bed[_0xfced('0x3f')];if(_0x4d2cc5[_0xfced('0x3b')][_0xfced('0x49')]){_0x418974['include']=[{'all':!![]}];}_0x418974=_['merge']({},_0x418974,_0x4d2cc5[_0xfced('0x50')]);return db[_0xfced('0x37')][_0xfced('0x51')](_0x418974)[_0xfced('0x1f')](handleEntityNotFound(_0x5716a1,null))['then'](respondWithResult(_0x5716a1,null))['catch'](handleError(_0x5716a1,null));};exports[_0xfced('0x52')]=function(_0x17e713,_0x380f26){return db[_0xfced('0x37')][_0xfced('0x52')](_0x17e713[_0xfced('0x53')],{})[_0xfced('0x1f')](respondWithResult(_0x380f26,0xc9))['catch'](handleError(_0x380f26,null));};exports[_0xfced('0x54')]=function(_0x184fba,_0x4bb0ea){if(_0x184fba['body']['id']){delete _0x184fba['body']['id'];}return db[_0xfced('0x37')][_0xfced('0x51')]({'where':{'id':_0x184fba[_0xfced('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4bb0ea,null))['then'](saveUpdates(_0x184fba[_0xfced('0x53')],null))['then'](respondWithResult(_0x4bb0ea,null))[_0xfced('0x28')](handleError(_0x4bb0ea,null));};exports[_0xfced('0x30')]=function(_0x27ce76,_0x4d5129){return db['SugarcrmAccount'][_0xfced('0x51')]({'where':{'id':_0x27ce76['params']['id']}})['then'](handleEntityNotFound(_0x4d5129,null))[_0xfced('0x1f')](removeEntity(_0x4d5129,null))[_0xfced('0x28')](handleError(_0x4d5129,null));};exports[_0xfced('0x55')]=function(_0x5da9f8,_0x123155,_0xca6c09){var _0x83013c={};var _0x299828={};var _0x5c10b1;var _0x2cf9ac;return db['SugarcrmAccount'][_0xfced('0x56')]({'where':{'id':_0x5da9f8['params']['id']}})['then'](handleEntityNotFound(_0x123155,null))[_0xfced('0x1f')](function(_0x2ac32a){if(_0x2ac32a){_0x5c10b1=_0x2ac32a;_0x299828[_0xfced('0x3f')]=_[_0xfced('0x3c')](db[_0xfced('0x57')][_0xfced('0x4e')]);_0x299828[_0xfced('0x3b')]=_[_0xfced('0x3c')](_0x5da9f8[_0xfced('0x3b')]);_0x299828['filters']=_[_0xfced('0x3e')](_0x299828[_0xfced('0x3f')],_0x299828[_0xfced('0x3b')]);_0x83013c['attributes']=_[_0xfced('0x3e')](_0x299828[_0xfced('0x3f')],qs[_0xfced('0x4f')](_0x5da9f8[_0xfced('0x3b')][_0xfced('0x4f')]));_0x83013c['attributes']=_0x83013c['attributes'][_0xfced('0x41')]?_0x83013c[_0xfced('0x40')]:_0x299828[_0xfced('0x3f')];_0x83013c[_0xfced('0x58')]=qs[_0xfced('0x59')](_0x5da9f8[_0xfced('0x3b')]['sort']);_0x83013c[_0xfced('0x45')]=qs['filters'](_[_0xfced('0x5a')](_0x5da9f8[_0xfced('0x3b')],_0x299828[_0xfced('0x3d')]));if(_0x5da9f8[_0xfced('0x3b')][_0xfced('0x44')]){_0x83013c['where']=_[_0xfced('0x46')](_0x83013c[_0xfced('0x45')],{'$or':_[_0xfced('0x36')](_0x83013c['attributes'],function(_0x2ae9d2){var _0x1a0028={};_0x1a0028[_0x2ae9d2]={'$like':'%'+_0x5da9f8[_0xfced('0x3b')][_0xfced('0x44')]+'%'};return _0x1a0028;})});}_0x83013c=_[_0xfced('0x46')]({},_0x83013c,_0x5da9f8['options']);return _0x5c10b1['getConfigurations'](_0x83013c);}})[_0xfced('0x1f')](function(_0x3ec65d){if(_0x3ec65d){_0x2cf9ac=_0x3ec65d[_0xfced('0x41')];if(!_0x5da9f8[_0xfced('0x3b')][_0xfced('0x5b')](_0xfced('0x42'))){_0x83013c[_0xfced('0x43')]=qs[_0xfced('0x43')](_0x5da9f8[_0xfced('0x3b')][_0xfced('0x43')]);_0x83013c['offset']=qs[_0xfced('0x2c')](_0x5da9f8[_0xfced('0x3b')][_0xfced('0x2c')]);}return _0x5c10b1[_0xfced('0x55')](_0x83013c);}})[_0xfced('0x1f')](function(_0x23b63e){if(_0x23b63e){return _0x23b63e?{'count':_0x2cf9ac,'rows':_0x23b63e}:null;}})[_0xfced('0x1f')](respondWithResult(_0x123155,null))['catch'](handleError(_0x123155,null));};exports['addConfiguration']=function(_0x4de8ce,_0x422c4b,_0x2b919d){if(_0x4de8ce[_0xfced('0x53')]['id']){delete _0x4de8ce[_0xfced('0x53')]['id'];}return db[_0xfced('0x37')][_0xfced('0x56')]({'where':{'id':_0x4de8ce[_0xfced('0x4d')]['id']}})[_0xfced('0x1f')](handleEntityNotFound(_0x422c4b,null))[_0xfced('0x1f')](function(_0x5f3600){if(_0x5f3600){_0x4de8ce['body'][_0xfced('0x5c')]=_0x5f3600['id'];_0x4de8ce['body'][_0xfced('0x5d')]=integrations[_0xfced('0x5e')](_0x4de8ce['body'][_0xfced('0x5f')],_0x4de8ce[_0xfced('0x53')][_0xfced('0x39')]);_0x4de8ce[_0xfced('0x53')][_0xfced('0x60')]=integrations['getDescriptions'](_0x4de8ce[_0xfced('0x53')][_0xfced('0x5f')],_0x4de8ce['body'][_0xfced('0x39')]);return db[_0xfced('0x57')][_0xfced('0x52')](_0x4de8ce[_0xfced('0x53')],{'include':[{'model':db[_0xfced('0x61')],'as':_0xfced('0x5d')},{'model':db[_0xfced('0x61')],'as':_0xfced('0x60')}]});}return null;})[_0xfced('0x1f')](respondWithResult(_0x422c4b,null))[_0xfced('0x28')](handleError(_0x422c4b,null));};exports[_0xfced('0x62')]=function(_0x5df2eb,_0x1d4094,_0x51d178){var _0x37fb85='';var _0x51aa15=['id','name',_0xfced('0x63'),'created_by',_0xfced('0x64'),_0xfced('0x65'),_0xfced('0x66'),_0xfced('0x67'),'parent_id','parent_type',_0xfced('0x68'),_0xfced('0x69')];return db[_0xfced('0x37')][_0xfced('0x56')]({'where':{'id':_0x5df2eb['params']['id']},'attributes':['id',_0xfced('0x6a'),'password',_0xfced('0x6b')]})['then'](handleEntityNotFound(_0x1d4094,null))[_0xfced('0x1f')](function(_0x447934){if(_0x447934){_0x37fb85=_0x447934['remoteUri'];var _0x529c36=_0x37fb85[_0xfced('0x6c')](-0x1);if(_0x529c36==='/'){_0x37fb85=_0x37fb85['substring'](0x0,_0x37fb85[_0xfced('0x6d')](_0x529c36));}return rp({'method':'POST','uri':util[_0xfced('0x6e')](_0xfced('0x6f'),_0x37fb85,_0xfced('0x70')),'json':!![],'form':{'method':_0xfced('0x71'),'input_type':_0xfced('0x72'),'response_type':_0xfced('0x72'),'rest_data':JSON[_0xfced('0x21')]({'user_auth':{'user_name':_0x447934['username'],'password':_0x447934[_0xfced('0x73')],'encryption':_0xfced('0x74')},'application':_0xfced('0x75')})}});}})[_0xfced('0x1f')](function(_0x4a4e56){if(_0x4a4e56&&_0x4a4e56['name']!==_0xfced('0x76')&&_0x4a4e56[_0xfced('0x33')]!=='Password\x20Expired'){return rp({'method':_0xfced('0x77'),'uri':util[_0xfced('0x6e')](_0xfced('0x6f'),_0x37fb85,'/service/v4_1/rest.php'),'json':!![],'form':{'method':_0xfced('0x78'),'input_type':_0xfced('0x72'),'response_type':'JSON','rest_data':JSON[_0xfced('0x21')]({'session':_0x4a4e56['id'],'module_name':'Calls'})}})[_0xfced('0x1f')](function(_0x1219fd){if(_0x1219fd){var _0x107930=_[_0xfced('0x79')](_0x1219fd[_0xfced('0x7a')]);_[_0xfced('0x7b')](_0x107930,function(_0x42da71){return _0x51aa15[_0xfced('0x7c')](_0x42da71[_0xfced('0x33')]);});return{'count':_0x107930[_0xfced('0x41')],'rows':_[_0xfced('0x36')](_0x107930,function(_0xb9d05a){return{'id':_0xb9d05a['name'],'name':_0xb9d05a[_0xfced('0x7d')],'custom':_[_0xfced('0x7e')](_0xb9d05a['name'],'_c')?!![]:![],'options':_0xb9d05a[_0xfced('0x50')]?_[_0xfced('0x36')](_[_0xfced('0x79')](_0xb9d05a[_0xfced('0x50')]),function(_0x577bbe){return{'name':_0x577bbe['value'],'value':_0x577bbe[_0xfced('0x33')]};}):[]};})};}})[_0xfced('0x1f')](respondWithResult(_0x1d4094,null))[_0xfced('0x28')](function(_0xb3c882){var _0x2ee8ef=_0x5df2eb[_0xfced('0x3b')][_0xfced('0x7f')]?0x1f4:_0xb3c882[_0xfced('0x80')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x2ee8ef,JSON[_0xfced('0x21')](_0xb3c882));delete _0xb3c882[_0xfced('0x33')];if(_0x2ee8ef===0x191){_0x2ee8ef=0x190;}_0x1d4094[_0xfced('0x29')](_0x2ee8ef)[_0xfced('0x34')](_0x5df2eb[_0xfced('0x3b')]['test']?{'message':'Wrong\x20credentials','statusCode':_0xb3c882[_0xfced('0x80')]}:_0xb3c882);});}else{var _0x19025a=0x1f4;_0x1d4094[_0xfced('0x29')](_0x19025a)['send']({'message':_0xfced('0x81'),'statusCode':0x190});}});};