da7aad30e52253672929f421dfe9b19be70ab649
[motion2.git] / server / api / intSugarcrmConfiguration / intSugarcrmConfiguration.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 _0x800e=['options','include','SugarcrmConfiguration','findAll','catch','show','rawAttributes','includeAll','find','create','body','params','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','hasOwnProperty','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','undefined','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','end','sendStatus','stack','name','send','index','map','type','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge'];(function(_0xfd9b19,_0x21d75f){var _0x514918=function(_0x52e212){while(--_0x52e212){_0xfd9b19['push'](_0xfd9b19['shift']());}};_0x514918(++_0x21d75f);}(_0x800e,0x19d));var _0xe800=function(_0x609988,_0x507944){_0x609988=_0x609988-0x0;var _0x159984=_0x800e[_0x609988];return _0x159984;};'use strict';var emlformat=require(_0xe800('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe800('0x1'));var jsonpatch=require(_0xe800('0x2'));var rp=require(_0xe800('0x3'));var moment=require(_0xe800('0x4'));var BPromise=require(_0xe800('0x5'));var Mustache=require('mustache');var util=require(_0xe800('0x6'));var path=require(_0xe800('0x7'));var sox=require('sox');var csv=require(_0xe800('0x8'));var ejs=require(_0xe800('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe800('0xa'));var squel=require('squel');var crypto=require(_0xe800('0xb'));var jsforce=require(_0xe800('0xc'));var deskjs=require(_0xe800('0xd'));var toCsv=require('to-csv');var querystring=require(_0xe800('0xe'));var Papa=require('papaparse');var Redis=require(_0xe800('0xf'));var authService=require(_0xe800('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe800('0x11'));var logger=require(_0xe800('0x12'))(_0xe800('0x13'));var utils=require('../../config/utils');var config=require(_0xe800('0x14'));var licenseUtil=require(_0xe800('0x15'));var db=require(_0xe800('0x16'))['db'];function respondWithStatusCode(_0x4df989,_0x365a66){_0x365a66=_0x365a66||0xcc;return function(_0x4e515f){if(_0x4e515f){return _0x4df989['sendStatus'](_0x365a66);}return _0x4df989['status'](_0x365a66)['end']();};}function respondWithResult(_0x28f05d,_0xc86a29){_0xc86a29=_0xc86a29||0xc8;return function(_0x5a7111){if(_0x5a7111){return _0x28f05d[_0xe800('0x17')](_0xc86a29)[_0xe800('0x18')](_0x5a7111);}};}function respondWithFilteredResult(_0x3d950d,_0x5b3bbd){return function(_0x1dfe05){if(_0x1dfe05){var _0xaf8f14=typeof _0x5b3bbd['offset']===_0xe800('0x19')&&typeof _0x5b3bbd['limit']===_0xe800('0x19');var _0x375188=_0x1dfe05[_0xe800('0x1a')];var _0x2e84ef=_0xaf8f14?0x0:_0x5b3bbd[_0xe800('0x1b')];var _0x43813b=_0xaf8f14?_0x1dfe05[_0xe800('0x1a')]:_0x5b3bbd['offset']+_0x5b3bbd[_0xe800('0x1c')];var _0x26ad12;if(_0x43813b>=_0x375188){_0x43813b=_0x375188;_0x26ad12=0xc8;}else{_0x26ad12=0xce;}_0x3d950d[_0xe800('0x17')](_0x26ad12);return _0x3d950d[_0xe800('0x1d')](_0xe800('0x1e'),_0x2e84ef+'-'+_0x43813b+'/'+_0x375188)[_0xe800('0x18')](_0x1dfe05);}return null;};}function patchUpdates(_0x5affbd){return function(_0x9d16c2){try{jsonpatch['apply'](_0x9d16c2,_0x5affbd,!![]);}catch(_0x2110a8){return BPromise[_0xe800('0x1f')](_0x2110a8);}return _0x9d16c2[_0xe800('0x20')]();};}function saveUpdates(_0x4f9578,_0x1c4d7b){return function(_0x4a32d8){if(_0x4a32d8){return _0x4a32d8[_0xe800('0x21')](_0x4f9578)[_0xe800('0x22')](function(_0x51d7cd){return _0x51d7cd;});}return null;};}function removeEntity(_0x265a7f,_0x4471ae){return function(_0x43f6ea){if(_0x43f6ea){return _0x43f6ea[_0xe800('0x23')]()[_0xe800('0x22')](function(){_0x265a7f['status'](0xcc)[_0xe800('0x24')]();});}};}function handleEntityNotFound(_0x3051e3,_0x375961){return function(_0x12a538){if(!_0x12a538){_0x3051e3[_0xe800('0x25')](0x194);}return _0x12a538;};}function handleError(_0x291679,_0x3cbae2){_0x3cbae2=_0x3cbae2||0x1f4;return function(_0x5aa631){logger['error'](_0x5aa631[_0xe800('0x26')]);if(_0x5aa631[_0xe800('0x27')]){delete _0x5aa631['name'];}_0x291679[_0xe800('0x17')](_0x3cbae2)[_0xe800('0x28')](_0x5aa631);};}exports[_0xe800('0x29')]=function(_0x4cf3d,_0x438447){var _0x37c682={},_0x69f7a6={},_0x341298={'count':0x0,'rows':[]};var _0x85aa28=_[_0xe800('0x2a')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x51e5d8){return{'name':_0x51e5d8['fieldName'],'type':_0x51e5d8[_0xe800('0x2b')][_0xe800('0x2c')]};});_0x69f7a6[_0xe800('0x2d')]=_['map'](_0x85aa28,_0xe800('0x27'));_0x69f7a6[_0xe800('0x2e')]=_[_0xe800('0x2f')](_0x4cf3d[_0xe800('0x2e')]);_0x69f7a6[_0xe800('0x30')]=_['intersection'](_0x69f7a6[_0xe800('0x2d')],_0x69f7a6[_0xe800('0x2e')]);_0x37c682[_0xe800('0x31')]=_[_0xe800('0x32')](_0x69f7a6[_0xe800('0x2d')],qs['fields'](_0x4cf3d[_0xe800('0x2e')][_0xe800('0x33')]));_0x37c682['attributes']=_0x37c682[_0xe800('0x31')][_0xe800('0x34')]?_0x37c682[_0xe800('0x31')]:_0x69f7a6[_0xe800('0x2d')];if(!_0x4cf3d[_0xe800('0x2e')]['hasOwnProperty'](_0xe800('0x35'))){_0x37c682['limit']=qs['limit'](_0x4cf3d[_0xe800('0x2e')][_0xe800('0x1c')]);_0x37c682['offset']=qs['offset'](_0x4cf3d['query']['offset']);}_0x37c682[_0xe800('0x36')]=qs[_0xe800('0x37')](_0x4cf3d[_0xe800('0x2e')][_0xe800('0x37')]);_0x37c682[_0xe800('0x38')]=qs[_0xe800('0x30')](_[_0xe800('0x39')](_0x4cf3d[_0xe800('0x2e')],_0x69f7a6[_0xe800('0x30')]),_0x85aa28);if(_0x4cf3d[_0xe800('0x2e')][_0xe800('0x3a')]){_0x37c682['where']=_['merge'](_0x37c682[_0xe800('0x38')],{'$or':_['map'](_0x85aa28,function(_0xb5fe66){if(_0xb5fe66[_0xe800('0x2b')]!==_0xe800('0x3b')){var _0x502d67={};_0x502d67[_0xb5fe66[_0xe800('0x27')]]={'$like':'%'+_0x4cf3d['query'][_0xe800('0x3a')]+'%'};return _0x502d67;}})});}_0x37c682=_[_0xe800('0x3c')]({},_0x37c682,_0x4cf3d[_0xe800('0x3d')]);var _0x52733b={'where':_0x37c682[_0xe800('0x38')]};return db['SugarcrmConfiguration'][_0xe800('0x1a')](_0x52733b)[_0xe800('0x22')](function(_0x3dbfd1){_0x341298[_0xe800('0x1a')]=_0x3dbfd1;if(_0x4cf3d[_0xe800('0x2e')]['includeAll']){_0x37c682[_0xe800('0x3e')]=[{'all':!![]}];}return db[_0xe800('0x3f')][_0xe800('0x40')](_0x37c682);})[_0xe800('0x22')](function(_0x517914){_0x341298['rows']=_0x517914;return _0x341298;})[_0xe800('0x22')](respondWithFilteredResult(_0x438447,_0x37c682))[_0xe800('0x41')](handleError(_0x438447,null));};exports[_0xe800('0x42')]=function(_0x178c1f,_0x57f9af){var _0x41b2f0={'raw':![],'where':{'id':_0x178c1f['params']['id']}},_0x4cfe4b={};_0x4cfe4b[_0xe800('0x2d')]=_[_0xe800('0x2f')](db[_0xe800('0x3f')][_0xe800('0x43')]);_0x4cfe4b[_0xe800('0x2e')]=_['keys'](_0x178c1f[_0xe800('0x2e')]);_0x4cfe4b['filters']=_[_0xe800('0x32')](_0x4cfe4b['model'],_0x4cfe4b[_0xe800('0x2e')]);_0x41b2f0['attributes']=_[_0xe800('0x32')](_0x4cfe4b[_0xe800('0x2d')],qs[_0xe800('0x33')](_0x178c1f[_0xe800('0x2e')]['fields']));_0x41b2f0[_0xe800('0x31')]=_0x41b2f0[_0xe800('0x31')][_0xe800('0x34')]?_0x41b2f0['attributes']:_0x4cfe4b[_0xe800('0x2d')];if(_0x178c1f[_0xe800('0x2e')][_0xe800('0x44')]){_0x41b2f0[_0xe800('0x3e')]=[{'all':!![]}];}_0x41b2f0=_[_0xe800('0x3c')]({},_0x41b2f0,_0x178c1f[_0xe800('0x3d')]);return db[_0xe800('0x3f')][_0xe800('0x45')](_0x41b2f0)[_0xe800('0x22')](handleEntityNotFound(_0x57f9af,null))[_0xe800('0x22')](respondWithResult(_0x57f9af,null))[_0xe800('0x41')](handleError(_0x57f9af,null));};exports[_0xe800('0x46')]=function(_0xfa8c68,_0x21602a){return db[_0xe800('0x3f')]['create'](_0xfa8c68[_0xe800('0x47')],{})['then'](respondWithResult(_0x21602a,0xc9))[_0xe800('0x41')](handleError(_0x21602a,null));};exports['update']=function(_0x152de7,_0x3af2fa){if(_0x152de7[_0xe800('0x47')]['id']){delete _0x152de7['body']['id'];}return db[_0xe800('0x3f')][_0xe800('0x45')]({'where':{'id':_0x152de7[_0xe800('0x48')]['id']}})['then'](handleEntityNotFound(_0x3af2fa,null))[_0xe800('0x22')](saveUpdates(_0x152de7[_0xe800('0x47')],null))[_0xe800('0x22')](respondWithResult(_0x3af2fa,null))[_0xe800('0x41')](handleError(_0x3af2fa,null));};exports[_0xe800('0x23')]=function(_0x516a0a,_0x44cfbb){return db[_0xe800('0x3f')]['find']({'where':{'id':_0x516a0a[_0xe800('0x48')]['id']}})[_0xe800('0x22')](handleEntityNotFound(_0x44cfbb,null))[_0xe800('0x22')](removeEntity(_0x44cfbb,null))[_0xe800('0x41')](handleError(_0x44cfbb,null));};exports[_0xe800('0x49')]=function(_0x194003,_0x1b98ca,_0x3db2bd){var _0x51c13d={};var _0x4a02b5={};var _0x105159;var _0x4640ac;return db['SugarcrmConfiguration'][_0xe800('0x4a')]({'where':{'id':_0x194003[_0xe800('0x48')]['id']}})[_0xe800('0x22')](handleEntityNotFound(_0x1b98ca,null))[_0xe800('0x22')](function(_0x49d75e){if(_0x49d75e){_0x105159=_0x49d75e;_0x4a02b5['model']=_[_0xe800('0x2f')](db[_0xe800('0x4b')][_0xe800('0x43')]);_0x4a02b5[_0xe800('0x2e')]=_['keys'](_0x194003[_0xe800('0x2e')]);_0x4a02b5['filters']=_[_0xe800('0x32')](_0x4a02b5[_0xe800('0x2d')],_0x4a02b5['query']);_0x51c13d[_0xe800('0x31')]=_[_0xe800('0x32')](_0x4a02b5[_0xe800('0x2d')],qs[_0xe800('0x33')](_0x194003[_0xe800('0x2e')][_0xe800('0x33')]));_0x51c13d['attributes']=_0x51c13d[_0xe800('0x31')][_0xe800('0x34')]?_0x51c13d[_0xe800('0x31')]:_0x4a02b5[_0xe800('0x2d')];_0x51c13d[_0xe800('0x36')]=qs[_0xe800('0x37')](_0x194003['query'][_0xe800('0x37')]);_0x51c13d[_0xe800('0x38')]=qs[_0xe800('0x30')](_[_0xe800('0x39')](_0x194003[_0xe800('0x2e')],_0x4a02b5['filters']));if(_0x194003[_0xe800('0x2e')][_0xe800('0x3a')]){_0x51c13d[_0xe800('0x38')]=_['merge'](_0x51c13d[_0xe800('0x38')],{'$or':_[_0xe800('0x2a')](_0x51c13d[_0xe800('0x31')],function(_0x324d6b){var _0x4390eb={};_0x4390eb[_0x324d6b]={'$like':'%'+_0x194003['query'][_0xe800('0x3a')]+'%'};return _0x4390eb;})});}_0x51c13d=_[_0xe800('0x3c')]({},_0x51c13d,_0x194003[_0xe800('0x3d')]);return _0x105159[_0xe800('0x49')](_0x51c13d);}})[_0xe800('0x22')](function(_0x4dce89){if(_0x4dce89){_0x4640ac=_0x4dce89[_0xe800('0x34')];if(!_0x194003[_0xe800('0x2e')]['hasOwnProperty']('nolimit')){_0x51c13d[_0xe800('0x1c')]=qs[_0xe800('0x1c')](_0x194003[_0xe800('0x2e')][_0xe800('0x1c')]);_0x51c13d['offset']=qs[_0xe800('0x1b')](_0x194003['query'][_0xe800('0x1b')]);}return _0x105159[_0xe800('0x49')](_0x51c13d);}})['then'](function(_0x4ab980){if(_0x4ab980){return _0x4ab980?{'count':_0x4640ac,'rows':_0x4ab980}:null;}})[_0xe800('0x22')](respondWithResult(_0x1b98ca,null))['catch'](handleError(_0x1b98ca,null));};exports[_0xe800('0x4c')]=function(_0x53ad54,_0xdfec1f,_0x1c1d6f){var _0x3faca3={};var _0x9497da={};var _0x3aa8e2;var _0x54df25;return db['SugarcrmConfiguration'][_0xe800('0x4a')]({'where':{'id':_0x53ad54[_0xe800('0x48')]['id']}})[_0xe800('0x22')](handleEntityNotFound(_0xdfec1f,null))['then'](function(_0x288f04){if(_0x288f04){_0x3aa8e2=_0x288f04;_0x9497da['model']=_[_0xe800('0x2f')](db[_0xe800('0x4b')]['rawAttributes']);_0x9497da['query']=_['keys'](_0x53ad54[_0xe800('0x2e')]);_0x9497da['filters']=_[_0xe800('0x32')](_0x9497da[_0xe800('0x2d')],_0x9497da['query']);_0x3faca3[_0xe800('0x31')]=_[_0xe800('0x32')](_0x9497da[_0xe800('0x2d')],qs[_0xe800('0x33')](_0x53ad54[_0xe800('0x2e')][_0xe800('0x33')]));_0x3faca3['attributes']=_0x3faca3[_0xe800('0x31')]['length']?_0x3faca3[_0xe800('0x31')]:_0x9497da[_0xe800('0x2d')];_0x3faca3[_0xe800('0x36')]=qs[_0xe800('0x37')](_0x53ad54['query'][_0xe800('0x37')]);_0x3faca3[_0xe800('0x38')]=qs[_0xe800('0x30')](_[_0xe800('0x39')](_0x53ad54[_0xe800('0x2e')],_0x9497da[_0xe800('0x30')]));if(_0x53ad54[_0xe800('0x2e')][_0xe800('0x3a')]){_0x3faca3[_0xe800('0x38')]=_['merge'](_0x3faca3['where'],{'$or':_[_0xe800('0x2a')](_0x3faca3[_0xe800('0x31')],function(_0x2326b4){var _0x32ccb0={};_0x32ccb0[_0x2326b4]={'$like':'%'+_0x53ad54['query'][_0xe800('0x3a')]+'%'};return _0x32ccb0;})});}_0x3faca3=_['merge']({},_0x3faca3,_0x53ad54[_0xe800('0x3d')]);return _0x3aa8e2['getSubjects'](_0x3faca3);}})[_0xe800('0x22')](function(_0x5ac265){if(_0x5ac265){_0x54df25=_0x5ac265[_0xe800('0x34')];if(!_0x53ad54['query']['hasOwnProperty'](_0xe800('0x35'))){_0x3faca3['limit']=qs[_0xe800('0x1c')](_0x53ad54['query']['limit']);_0x3faca3['offset']=qs[_0xe800('0x1b')](_0x53ad54[_0xe800('0x2e')][_0xe800('0x1b')]);}return _0x3aa8e2[_0xe800('0x4c')](_0x3faca3);}})[_0xe800('0x22')](function(_0x1eee43){if(_0x1eee43){return _0x1eee43?{'count':_0x54df25,'rows':_0x1eee43}:null;}})[_0xe800('0x22')](respondWithResult(_0xdfec1f,null))[_0xe800('0x41')](handleError(_0xdfec1f,null));};exports[_0xe800('0x4d')]=function(_0x1761aa,_0x48d727,_0x2f974a){var _0x45cd71={};var _0x1aa27f={};var _0x822eb0;var _0xc8cf2d;return db[_0xe800('0x3f')]['findOne']({'where':{'id':_0x1761aa[_0xe800('0x48')]['id']}})[_0xe800('0x22')](handleEntityNotFound(_0x48d727,null))[_0xe800('0x22')](function(_0xacaef8){if(_0xacaef8){_0x822eb0=_0xacaef8;_0x1aa27f[_0xe800('0x2d')]=_[_0xe800('0x2f')](db[_0xe800('0x4b')][_0xe800('0x43')]);_0x1aa27f[_0xe800('0x2e')]=_['keys'](_0x1761aa[_0xe800('0x2e')]);_0x1aa27f['filters']=_['intersection'](_0x1aa27f['model'],_0x1aa27f['query']);_0x45cd71['attributes']=_['intersection'](_0x1aa27f['model'],qs['fields'](_0x1761aa['query']['fields']));_0x45cd71['attributes']=_0x45cd71['attributes'][_0xe800('0x34')]?_0x45cd71['attributes']:_0x1aa27f['model'];_0x45cd71['order']=qs[_0xe800('0x37')](_0x1761aa['query']['sort']);_0x45cd71[_0xe800('0x38')]=qs['filters'](_[_0xe800('0x39')](_0x1761aa[_0xe800('0x2e')],_0x1aa27f[_0xe800('0x30')]));if(_0x1761aa[_0xe800('0x2e')]['filter']){_0x45cd71[_0xe800('0x38')]=_[_0xe800('0x3c')](_0x45cd71['where'],{'$or':_[_0xe800('0x2a')](_0x45cd71[_0xe800('0x31')],function(_0x595e96){var _0x3ed6a0={};_0x3ed6a0[_0x595e96]={'$like':'%'+_0x1761aa[_0xe800('0x2e')][_0xe800('0x3a')]+'%'};return _0x3ed6a0;})});}_0x45cd71=_[_0xe800('0x3c')]({},_0x45cd71,_0x1761aa[_0xe800('0x3d')]);return _0x822eb0[_0xe800('0x4d')](_0x45cd71);}})[_0xe800('0x22')](function(_0x3ef47b){if(_0x3ef47b){_0xc8cf2d=_0x3ef47b[_0xe800('0x34')];if(!_0x1761aa[_0xe800('0x2e')][_0xe800('0x4e')](_0xe800('0x35'))){_0x45cd71[_0xe800('0x1c')]=qs[_0xe800('0x1c')](_0x1761aa[_0xe800('0x2e')][_0xe800('0x1c')]);_0x45cd71[_0xe800('0x1b')]=qs[_0xe800('0x1b')](_0x1761aa[_0xe800('0x2e')][_0xe800('0x1b')]);}return _0x822eb0[_0xe800('0x4d')](_0x45cd71);}})[_0xe800('0x22')](function(_0x1f3b8){if(_0x1f3b8){return _0x1f3b8?{'count':_0xc8cf2d,'rows':_0x1f3b8}:null;}})[_0xe800('0x22')](respondWithResult(_0x48d727,null))[_0xe800('0x41')](handleError(_0x48d727,null));};