Built motion from commit da617fac.|2.6.6
[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 _0xa74b=['error','stack','name','send','map','fieldName','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','type','VIRTUAL','merge','options','includeAll','SugarcrmConfiguration','findAll','rows','catch','show','params','rawAttributes','length','include','find','body','update','getFields','findOne','SugarcrmField','filter','getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','sox','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','save','then','destroy'];(function(_0x376db5,_0x2b8874){var _0x304c17=function(_0x2dd9ba){while(--_0x2dd9ba){_0x376db5['push'](_0x376db5['shift']());}};_0x304c17(++_0x2b8874);}(_0xa74b,0x157));var _0xba74=function(_0x4a9fb1,_0x273043){_0x4a9fb1=_0x4a9fb1-0x0;var _0x348672=_0xa74b[_0x4a9fb1];return _0x348672;};'use strict';var emlformat=require(_0xba74('0x0'));var rimraf=require(_0xba74('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xba74('0x2'));var rp=require(_0xba74('0x3'));var moment=require(_0xba74('0x4'));var BPromise=require(_0xba74('0x5'));var Mustache=require(_0xba74('0x6'));var util=require('util');var path=require('path');var sox=require(_0xba74('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xba74('0x8'));var crypto=require('crypto');var jsforce=require(_0xba74('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xba74('0xa'));var querystring=require(_0xba74('0xb'));var Papa=require(_0xba74('0xc'));var Redis=require(_0xba74('0xd'));var authService=require(_0xba74('0xe'));var qs=require(_0xba74('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xba74('0x10'))(_0xba74('0x11'));var utils=require('../../config/utils');var config=require(_0xba74('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xba74('0x13'))['db'];function respondWithStatusCode(_0x34caab,_0x2bbe8c){_0x2bbe8c=_0x2bbe8c||0xcc;return function(_0x1e9515){if(_0x1e9515){return _0x34caab[_0xba74('0x14')](_0x2bbe8c);}return _0x34caab[_0xba74('0x15')](_0x2bbe8c)[_0xba74('0x16')]();};}function respondWithResult(_0x40770c,_0x237d6b){_0x237d6b=_0x237d6b||0xc8;return function(_0x482251){if(_0x482251){return _0x40770c[_0xba74('0x15')](_0x237d6b)[_0xba74('0x17')](_0x482251);}};}function respondWithFilteredResult(_0x333672,_0x14f062){return function(_0x119b73){if(_0x119b73){var _0x47fb6e=typeof _0x14f062[_0xba74('0x18')]===_0xba74('0x19')&&typeof _0x14f062['limit']===_0xba74('0x19');var _0x4b73ca=_0x119b73['count'];var _0x2862df=_0x47fb6e?0x0:_0x14f062['offset'];var _0x13ad2f=_0x47fb6e?_0x119b73[_0xba74('0x1a')]:_0x14f062[_0xba74('0x18')]+_0x14f062['limit'];var _0x4d1e4b;if(_0x13ad2f>=_0x4b73ca){_0x13ad2f=_0x4b73ca;_0x4d1e4b=0xc8;}else{_0x4d1e4b=0xce;}_0x333672[_0xba74('0x15')](_0x4d1e4b);return _0x333672[_0xba74('0x1b')](_0xba74('0x1c'),_0x2862df+'-'+_0x13ad2f+'/'+_0x4b73ca)['json'](_0x119b73);}return null;};}function patchUpdates(_0x2c19c5){return function(_0x63f0e4){try{jsonpatch['apply'](_0x63f0e4,_0x2c19c5,!![]);}catch(_0x14f342){return BPromise['reject'](_0x14f342);}return _0x63f0e4[_0xba74('0x1d')]();};}function saveUpdates(_0x89c36e,_0x542fb0){return function(_0x43e742){if(_0x43e742){return _0x43e742['update'](_0x89c36e)[_0xba74('0x1e')](function(_0x50b8dc){return _0x50b8dc;});}return null;};}function removeEntity(_0x1ff822,_0x2862e8){return function(_0x499410){if(_0x499410){return _0x499410[_0xba74('0x1f')]()[_0xba74('0x1e')](function(){_0x1ff822['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a0e1c,_0x5c1985){return function(_0x120da9){if(!_0x120da9){_0x4a0e1c[_0xba74('0x14')](0x194);}return _0x120da9;};}function handleError(_0x585654,_0xe2836e){_0xe2836e=_0xe2836e||0x1f4;return function(_0x1dc5ec){logger[_0xba74('0x20')](_0x1dc5ec[_0xba74('0x21')]);if(_0x1dc5ec[_0xba74('0x22')]){delete _0x1dc5ec[_0xba74('0x22')];}_0x585654[_0xba74('0x15')](_0xe2836e)[_0xba74('0x23')](_0x1dc5ec);};}exports['index']=function(_0x34b008,_0xf29e31){var _0x3b7772={},_0x3e2881={},_0x4e738d={'count':0x0,'rows':[]};var _0x599ae4=_[_0xba74('0x24')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x11009c){return{'name':_0x11009c[_0xba74('0x25')],'type':_0x11009c['type']['key']};});_0x3e2881[_0xba74('0x26')]=_[_0xba74('0x24')](_0x599ae4,_0xba74('0x22'));_0x3e2881[_0xba74('0x27')]=_[_0xba74('0x28')](_0x34b008[_0xba74('0x27')]);_0x3e2881['filters']=_[_0xba74('0x29')](_0x3e2881[_0xba74('0x26')],_0x3e2881['query']);_0x3b7772['attributes']=_[_0xba74('0x29')](_0x3e2881[_0xba74('0x26')],qs[_0xba74('0x2a')](_0x34b008[_0xba74('0x27')]['fields']));_0x3b7772[_0xba74('0x2b')]=_0x3b7772[_0xba74('0x2b')]['length']?_0x3b7772['attributes']:_0x3e2881[_0xba74('0x26')];if(!_0x34b008[_0xba74('0x27')][_0xba74('0x2c')](_0xba74('0x2d'))){_0x3b7772[_0xba74('0x2e')]=qs[_0xba74('0x2e')](_0x34b008[_0xba74('0x27')][_0xba74('0x2e')]);_0x3b7772[_0xba74('0x18')]=qs[_0xba74('0x18')](_0x34b008[_0xba74('0x27')][_0xba74('0x18')]);}_0x3b7772[_0xba74('0x2f')]=qs[_0xba74('0x30')](_0x34b008[_0xba74('0x27')][_0xba74('0x30')]);_0x3b7772[_0xba74('0x31')]=qs[_0xba74('0x32')](_[_0xba74('0x33')](_0x34b008[_0xba74('0x27')],_0x3e2881[_0xba74('0x32')]),_0x599ae4);if(_0x34b008[_0xba74('0x27')]['filter']){_0x3b7772[_0xba74('0x31')]=_['merge'](_0x3b7772[_0xba74('0x31')],{'$or':_[_0xba74('0x24')](_0x599ae4,function(_0x4540dc){if(_0x4540dc[_0xba74('0x34')]!==_0xba74('0x35')){var _0x3c66c3={};_0x3c66c3[_0x4540dc[_0xba74('0x22')]]={'$like':'%'+_0x34b008['query']['filter']+'%'};return _0x3c66c3;}})});}_0x3b7772=_[_0xba74('0x36')]({},_0x3b7772,_0x34b008[_0xba74('0x37')]);var _0x38953a={'where':_0x3b7772[_0xba74('0x31')]};return db['SugarcrmConfiguration']['count'](_0x38953a)[_0xba74('0x1e')](function(_0x5b2605){_0x4e738d[_0xba74('0x1a')]=_0x5b2605;if(_0x34b008['query'][_0xba74('0x38')]){_0x3b7772['include']=[{'all':!![]}];}return db[_0xba74('0x39')][_0xba74('0x3a')](_0x3b7772);})[_0xba74('0x1e')](function(_0x1fbd84){_0x4e738d[_0xba74('0x3b')]=_0x1fbd84;return _0x4e738d;})[_0xba74('0x1e')](respondWithFilteredResult(_0xf29e31,_0x3b7772))[_0xba74('0x3c')](handleError(_0xf29e31,null));};exports[_0xba74('0x3d')]=function(_0x197f61,_0x43755f){var _0x354a31={'raw':![],'where':{'id':_0x197f61[_0xba74('0x3e')]['id']}},_0x5c1f72={};_0x5c1f72[_0xba74('0x26')]=_[_0xba74('0x28')](db[_0xba74('0x39')][_0xba74('0x3f')]);_0x5c1f72[_0xba74('0x27')]=_[_0xba74('0x28')](_0x197f61[_0xba74('0x27')]);_0x5c1f72[_0xba74('0x32')]=_[_0xba74('0x29')](_0x5c1f72[_0xba74('0x26')],_0x5c1f72[_0xba74('0x27')]);_0x354a31['attributes']=_[_0xba74('0x29')](_0x5c1f72[_0xba74('0x26')],qs['fields'](_0x197f61['query']['fields']));_0x354a31[_0xba74('0x2b')]=_0x354a31['attributes'][_0xba74('0x40')]?_0x354a31[_0xba74('0x2b')]:_0x5c1f72[_0xba74('0x26')];if(_0x197f61[_0xba74('0x27')][_0xba74('0x38')]){_0x354a31[_0xba74('0x41')]=[{'all':!![]}];}_0x354a31=_[_0xba74('0x36')]({},_0x354a31,_0x197f61[_0xba74('0x37')]);return db['SugarcrmConfiguration'][_0xba74('0x42')](_0x354a31)[_0xba74('0x1e')](handleEntityNotFound(_0x43755f,null))['then'](respondWithResult(_0x43755f,null))[_0xba74('0x3c')](handleError(_0x43755f,null));};exports['create']=function(_0x29bf34,_0x5911a2){return db[_0xba74('0x39')]['create'](_0x29bf34[_0xba74('0x43')],{})[_0xba74('0x1e')](respondWithResult(_0x5911a2,0xc9))['catch'](handleError(_0x5911a2,null));};exports[_0xba74('0x44')]=function(_0xede846,_0x28927e){if(_0xede846[_0xba74('0x43')]['id']){delete _0xede846[_0xba74('0x43')]['id'];}return db['SugarcrmConfiguration'][_0xba74('0x42')]({'where':{'id':_0xede846[_0xba74('0x3e')]['id']}})['then'](handleEntityNotFound(_0x28927e,null))[_0xba74('0x1e')](saveUpdates(_0xede846['body'],null))[_0xba74('0x1e')](respondWithResult(_0x28927e,null))[_0xba74('0x3c')](handleError(_0x28927e,null));};exports[_0xba74('0x1f')]=function(_0xf34363,_0x3ccc76){return db[_0xba74('0x39')]['find']({'where':{'id':_0xf34363[_0xba74('0x3e')]['id']}})[_0xba74('0x1e')](handleEntityNotFound(_0x3ccc76,null))['then'](removeEntity(_0x3ccc76,null))['catch'](handleError(_0x3ccc76,null));};exports[_0xba74('0x45')]=function(_0x390cb5,_0x13e06f,_0x2d3242){var _0x36efc8={};var _0x107ab5={};var _0xcf0296;var _0x4f7749;return db[_0xba74('0x39')][_0xba74('0x46')]({'where':{'id':_0x390cb5[_0xba74('0x3e')]['id']}})[_0xba74('0x1e')](handleEntityNotFound(_0x13e06f,null))[_0xba74('0x1e')](function(_0x24d6fa){if(_0x24d6fa){_0xcf0296=_0x24d6fa;_0x107ab5[_0xba74('0x26')]=_[_0xba74('0x28')](db[_0xba74('0x47')][_0xba74('0x3f')]);_0x107ab5[_0xba74('0x27')]=_[_0xba74('0x28')](_0x390cb5[_0xba74('0x27')]);_0x107ab5[_0xba74('0x32')]=_['intersection'](_0x107ab5['model'],_0x107ab5['query']);_0x36efc8['attributes']=_[_0xba74('0x29')](_0x107ab5['model'],qs['fields'](_0x390cb5[_0xba74('0x27')]['fields']));_0x36efc8[_0xba74('0x2b')]=_0x36efc8[_0xba74('0x2b')]['length']?_0x36efc8[_0xba74('0x2b')]:_0x107ab5[_0xba74('0x26')];_0x36efc8[_0xba74('0x2f')]=qs[_0xba74('0x30')](_0x390cb5['query'][_0xba74('0x30')]);_0x36efc8[_0xba74('0x31')]=qs[_0xba74('0x32')](_[_0xba74('0x33')](_0x390cb5[_0xba74('0x27')],_0x107ab5['filters']));if(_0x390cb5['query'][_0xba74('0x48')]){_0x36efc8['where']=_[_0xba74('0x36')](_0x36efc8[_0xba74('0x31')],{'$or':_[_0xba74('0x24')](_0x36efc8[_0xba74('0x2b')],function(_0x529217){var _0x57adea={};_0x57adea[_0x529217]={'$like':'%'+_0x390cb5[_0xba74('0x27')]['filter']+'%'};return _0x57adea;})});}_0x36efc8=_['merge']({},_0x36efc8,_0x390cb5[_0xba74('0x37')]);return _0xcf0296[_0xba74('0x45')](_0x36efc8);}})[_0xba74('0x1e')](function(_0x9f15a5){if(_0x9f15a5){_0x4f7749=_0x9f15a5[_0xba74('0x40')];if(!_0x390cb5[_0xba74('0x27')][_0xba74('0x2c')](_0xba74('0x2d'))){_0x36efc8[_0xba74('0x2e')]=qs[_0xba74('0x2e')](_0x390cb5[_0xba74('0x27')][_0xba74('0x2e')]);_0x36efc8['offset']=qs[_0xba74('0x18')](_0x390cb5['query']['offset']);}return _0xcf0296[_0xba74('0x45')](_0x36efc8);}})['then'](function(_0x3ef11a){if(_0x3ef11a){return _0x3ef11a?{'count':_0x4f7749,'rows':_0x3ef11a}:null;}})[_0xba74('0x1e')](respondWithResult(_0x13e06f,null))['catch'](handleError(_0x13e06f,null));};exports[_0xba74('0x49')]=function(_0x37876a,_0x22995c,_0x3a0e8f){var _0x459b5d={};var _0x18438d={};var _0x4afab6;var _0x473317;return db[_0xba74('0x39')]['findOne']({'where':{'id':_0x37876a[_0xba74('0x3e')]['id']}})[_0xba74('0x1e')](handleEntityNotFound(_0x22995c,null))[_0xba74('0x1e')](function(_0x5ba4f6){if(_0x5ba4f6){_0x4afab6=_0x5ba4f6;_0x18438d['model']=_[_0xba74('0x28')](db['SugarcrmField'][_0xba74('0x3f')]);_0x18438d[_0xba74('0x27')]=_[_0xba74('0x28')](_0x37876a[_0xba74('0x27')]);_0x18438d[_0xba74('0x32')]=_['intersection'](_0x18438d[_0xba74('0x26')],_0x18438d[_0xba74('0x27')]);_0x459b5d[_0xba74('0x2b')]=_[_0xba74('0x29')](_0x18438d[_0xba74('0x26')],qs[_0xba74('0x2a')](_0x37876a[_0xba74('0x27')]['fields']));_0x459b5d[_0xba74('0x2b')]=_0x459b5d['attributes'][_0xba74('0x40')]?_0x459b5d[_0xba74('0x2b')]:_0x18438d[_0xba74('0x26')];_0x459b5d[_0xba74('0x2f')]=qs[_0xba74('0x30')](_0x37876a[_0xba74('0x27')][_0xba74('0x30')]);_0x459b5d['where']=qs[_0xba74('0x32')](_[_0xba74('0x33')](_0x37876a[_0xba74('0x27')],_0x18438d[_0xba74('0x32')]));if(_0x37876a[_0xba74('0x27')][_0xba74('0x48')]){_0x459b5d[_0xba74('0x31')]=_[_0xba74('0x36')](_0x459b5d[_0xba74('0x31')],{'$or':_[_0xba74('0x24')](_0x459b5d['attributes'],function(_0x22e565){var _0x535de3={};_0x535de3[_0x22e565]={'$like':'%'+_0x37876a[_0xba74('0x27')][_0xba74('0x48')]+'%'};return _0x535de3;})});}_0x459b5d=_[_0xba74('0x36')]({},_0x459b5d,_0x37876a['options']);return _0x4afab6[_0xba74('0x49')](_0x459b5d);}})[_0xba74('0x1e')](function(_0x4cac24){if(_0x4cac24){_0x473317=_0x4cac24[_0xba74('0x40')];if(!_0x37876a[_0xba74('0x27')][_0xba74('0x2c')]('nolimit')){_0x459b5d[_0xba74('0x2e')]=qs['limit'](_0x37876a['query'][_0xba74('0x2e')]);_0x459b5d[_0xba74('0x18')]=qs[_0xba74('0x18')](_0x37876a['query'][_0xba74('0x18')]);}return _0x4afab6[_0xba74('0x49')](_0x459b5d);}})[_0xba74('0x1e')](function(_0x7b105d){if(_0x7b105d){return _0x7b105d?{'count':_0x473317,'rows':_0x7b105d}:null;}})[_0xba74('0x1e')](respondWithResult(_0x22995c,null))[_0xba74('0x3c')](handleError(_0x22995c,null));};exports[_0xba74('0x4a')]=function(_0x49b2a5,_0x12e9fd,_0x2585e6){var _0xf5c37c={};var _0x4d2052={};var _0x151774;var _0x2ef299;return db[_0xba74('0x39')][_0xba74('0x46')]({'where':{'id':_0x49b2a5[_0xba74('0x3e')]['id']}})['then'](handleEntityNotFound(_0x12e9fd,null))[_0xba74('0x1e')](function(_0x1840bc){if(_0x1840bc){_0x151774=_0x1840bc;_0x4d2052[_0xba74('0x26')]=_[_0xba74('0x28')](db['SugarcrmField'][_0xba74('0x3f')]);_0x4d2052['query']=_[_0xba74('0x28')](_0x49b2a5[_0xba74('0x27')]);_0x4d2052[_0xba74('0x32')]=_[_0xba74('0x29')](_0x4d2052['model'],_0x4d2052[_0xba74('0x27')]);_0xf5c37c[_0xba74('0x2b')]=_[_0xba74('0x29')](_0x4d2052['model'],qs['fields'](_0x49b2a5[_0xba74('0x27')][_0xba74('0x2a')]));_0xf5c37c['attributes']=_0xf5c37c['attributes'][_0xba74('0x40')]?_0xf5c37c['attributes']:_0x4d2052[_0xba74('0x26')];_0xf5c37c[_0xba74('0x2f')]=qs['sort'](_0x49b2a5[_0xba74('0x27')]['sort']);_0xf5c37c[_0xba74('0x31')]=qs['filters'](_[_0xba74('0x33')](_0x49b2a5['query'],_0x4d2052['filters']));if(_0x49b2a5[_0xba74('0x27')][_0xba74('0x48')]){_0xf5c37c[_0xba74('0x31')]=_[_0xba74('0x36')](_0xf5c37c[_0xba74('0x31')],{'$or':_['map'](_0xf5c37c[_0xba74('0x2b')],function(_0x1cda37){var _0xda919d={};_0xda919d[_0x1cda37]={'$like':'%'+_0x49b2a5[_0xba74('0x27')]['filter']+'%'};return _0xda919d;})});}_0xf5c37c=_[_0xba74('0x36')]({},_0xf5c37c,_0x49b2a5[_0xba74('0x37')]);return _0x151774['getDescriptions'](_0xf5c37c);}})['then'](function(_0xc5d676){if(_0xc5d676){_0x2ef299=_0xc5d676['length'];if(!_0x49b2a5['query']['hasOwnProperty'](_0xba74('0x2d'))){_0xf5c37c[_0xba74('0x2e')]=qs[_0xba74('0x2e')](_0x49b2a5[_0xba74('0x27')]['limit']);_0xf5c37c[_0xba74('0x18')]=qs[_0xba74('0x18')](_0x49b2a5[_0xba74('0x27')][_0xba74('0x18')]);}return _0x151774[_0xba74('0x4a')](_0xf5c37c);}})[_0xba74('0x1e')](function(_0x12e3e0){if(_0x12e3e0){return _0x12e3e0?{'count':_0x2ef299,'rows':_0x12e3e0}:null;}})['then'](respondWithResult(_0x12e9fd,null))[_0xba74('0x3c')](handleError(_0x12e9fd,null));};