Built motion from commit b5996064.|2.6.21
[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 _0x1457=['jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','SugarcrmConfiguration','key','model','map','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','getFields','options','getSubjects','findOne','SugarcrmField','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto'];(function(_0x2a837f,_0x5317e1){var _0x94f248=function(_0x55724f){while(--_0x55724f){_0x2a837f['push'](_0x2a837f['shift']());}};_0x94f248(++_0x5317e1);}(_0x1457,0xed));var _0x7145=function(_0x5ac7d7,_0x109040){_0x5ac7d7=_0x5ac7d7-0x0;var _0x23955f=_0x1457[_0x5ac7d7];return _0x23955f;};'use strict';var emlformat=require(_0x7145('0x0'));var rimraf=require(_0x7145('0x1'));var zipdir=require(_0x7145('0x2'));var jsonpatch=require(_0x7145('0x3'));var rp=require(_0x7145('0x4'));var moment=require(_0x7145('0x5'));var BPromise=require(_0x7145('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x7145('0x7'));var sox=require(_0x7145('0x8'));var csv=require(_0x7145('0x9'));var ejs=require(_0x7145('0xa'));var fs=require('fs');var fs_extra=require(_0x7145('0xb'));var _=require(_0x7145('0xc'));var squel=require(_0x7145('0xd'));var crypto=require(_0x7145('0xe'));var jsforce=require(_0x7145('0xf'));var deskjs=require(_0x7145('0x10'));var toCsv=require(_0x7145('0x9'));var querystring=require(_0x7145('0x11'));var Papa=require('papaparse');var Redis=require(_0x7145('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x7145('0x13'));var as=require(_0x7145('0x14'));var hardwareService=require(_0x7145('0x15'));var logger=require(_0x7145('0x16'))(_0x7145('0x17'));var utils=require(_0x7145('0x18'));var config=require(_0x7145('0x19'));var licenseUtil=require(_0x7145('0x1a'));var db=require(_0x7145('0x1b'))['db'];function respondWithStatusCode(_0x4497bb,_0x5d616d){_0x5d616d=_0x5d616d||0xcc;return function(_0x37d45d){if(_0x37d45d){return _0x4497bb[_0x7145('0x1c')](_0x5d616d);}return _0x4497bb['status'](_0x5d616d)['end']();};}function respondWithResult(_0x32fa14,_0x11d221){_0x11d221=_0x11d221||0xc8;return function(_0x86f723){if(_0x86f723){return _0x32fa14[_0x7145('0x1d')](_0x11d221)[_0x7145('0x1e')](_0x86f723);}};}function respondWithFilteredResult(_0x20f8e8,_0x54669b){return function(_0x11a5d6){if(_0x11a5d6){var _0x2f2e24=typeof _0x54669b[_0x7145('0x1f')]==='undefined'&&typeof _0x54669b['limit']===_0x7145('0x20');var _0x448622=_0x11a5d6[_0x7145('0x21')];var _0x4eba14=_0x2f2e24?0x0:_0x54669b[_0x7145('0x1f')];var _0x2ccd0e=_0x2f2e24?_0x11a5d6[_0x7145('0x21')]:_0x54669b[_0x7145('0x1f')]+_0x54669b['limit'];var _0x5ebde6;if(_0x2ccd0e>=_0x448622){_0x2ccd0e=_0x448622;_0x5ebde6=0xc8;}else{_0x5ebde6=0xce;}_0x20f8e8[_0x7145('0x1d')](_0x5ebde6);return _0x20f8e8['set'](_0x7145('0x22'),_0x4eba14+'-'+_0x2ccd0e+'/'+_0x448622)[_0x7145('0x1e')](_0x11a5d6);}return null;};}function patchUpdates(_0x5d619f){return function(_0x50d1a0){try{jsonpatch[_0x7145('0x23')](_0x50d1a0,_0x5d619f,!![]);}catch(_0x3266d2){return BPromise[_0x7145('0x24')](_0x3266d2);}return _0x50d1a0[_0x7145('0x25')]();};}function saveUpdates(_0x557034,_0x461ce0){return function(_0x52224d){if(_0x52224d){return _0x52224d[_0x7145('0x26')](_0x557034)[_0x7145('0x27')](function(_0x187bef){return _0x187bef;});}return null;};}function removeEntity(_0x57de02,_0x4a97bd){return function(_0x12cdfb){if(_0x12cdfb){return _0x12cdfb[_0x7145('0x28')]()[_0x7145('0x27')](function(){_0x57de02['status'](0xcc)[_0x7145('0x29')]();});}};}function handleEntityNotFound(_0x41004f,_0x301693){return function(_0x1419a4){if(!_0x1419a4){_0x41004f[_0x7145('0x1c')](0x194);}return _0x1419a4;};}function handleError(_0x15a7ad,_0x1e8e8d){_0x1e8e8d=_0x1e8e8d||0x1f4;return function(_0x521075){logger[_0x7145('0x2a')](_0x521075[_0x7145('0x2b')]);if(_0x521075[_0x7145('0x2c')]){delete _0x521075[_0x7145('0x2c')];}_0x15a7ad[_0x7145('0x1d')](_0x1e8e8d)['send'](_0x521075);};}exports['index']=function(_0x4da550,_0x306b5b){var _0x38513e={},_0x155d96={},_0x5534be={'count':0x0,'rows':[]};var _0x2cdd6e=_['map'](db[_0x7145('0x2d')]['rawAttributes'],function(_0x3856b0){return{'name':_0x3856b0['fieldName'],'type':_0x3856b0['type'][_0x7145('0x2e')]};});_0x155d96[_0x7145('0x2f')]=_[_0x7145('0x30')](_0x2cdd6e,_0x7145('0x2c'));_0x155d96['query']=_[_0x7145('0x31')](_0x4da550[_0x7145('0x32')]);_0x155d96['filters']=_[_0x7145('0x33')](_0x155d96[_0x7145('0x2f')],_0x155d96['query']);_0x38513e[_0x7145('0x34')]=_['intersection'](_0x155d96['model'],qs[_0x7145('0x35')](_0x4da550[_0x7145('0x32')]['fields']));_0x38513e['attributes']=_0x38513e[_0x7145('0x34')][_0x7145('0x36')]?_0x38513e[_0x7145('0x34')]:_0x155d96[_0x7145('0x2f')];if(!_0x4da550[_0x7145('0x32')][_0x7145('0x37')](_0x7145('0x38'))){_0x38513e['limit']=qs[_0x7145('0x39')](_0x4da550[_0x7145('0x32')]['limit']);_0x38513e['offset']=qs[_0x7145('0x1f')](_0x4da550[_0x7145('0x32')][_0x7145('0x1f')]);}_0x38513e[_0x7145('0x3a')]=qs['sort'](_0x4da550['query'][_0x7145('0x3b')]);_0x38513e[_0x7145('0x3c')]=qs[_0x7145('0x3d')](_[_0x7145('0x3e')](_0x4da550[_0x7145('0x32')],_0x155d96['filters']),_0x2cdd6e);if(_0x4da550[_0x7145('0x32')][_0x7145('0x3f')]){_0x38513e[_0x7145('0x3c')]=_[_0x7145('0x40')](_0x38513e['where'],{'$or':_['map'](_0x2cdd6e,function(_0x164b32){if(_0x164b32[_0x7145('0x41')]!==_0x7145('0x42')){var _0x3138d8={};_0x3138d8[_0x164b32['name']]={'$like':'%'+_0x4da550[_0x7145('0x32')]['filter']+'%'};return _0x3138d8;}})});}_0x38513e=_[_0x7145('0x40')]({},_0x38513e,_0x4da550['options']);var _0x4a3e75={'where':_0x38513e[_0x7145('0x3c')]};return db['SugarcrmConfiguration'][_0x7145('0x21')](_0x4a3e75)[_0x7145('0x27')](function(_0xbb35f9){_0x5534be['count']=_0xbb35f9;if(_0x4da550[_0x7145('0x32')][_0x7145('0x43')]){_0x38513e[_0x7145('0x44')]=[{'all':!![]}];}return db[_0x7145('0x2d')][_0x7145('0x45')](_0x38513e);})['then'](function(_0x3e9339){_0x5534be[_0x7145('0x46')]=_0x3e9339;return _0x5534be;})['then'](respondWithFilteredResult(_0x306b5b,_0x38513e))[_0x7145('0x47')](handleError(_0x306b5b,null));};exports[_0x7145('0x48')]=function(_0x37b8c9,_0x5e7550){var _0x3e9fc5={'raw':![],'where':{'id':_0x37b8c9[_0x7145('0x49')]['id']}},_0x41b403={};_0x41b403[_0x7145('0x2f')]=_[_0x7145('0x31')](db[_0x7145('0x2d')][_0x7145('0x4a')]);_0x41b403[_0x7145('0x32')]=_['keys'](_0x37b8c9[_0x7145('0x32')]);_0x41b403[_0x7145('0x3d')]=_[_0x7145('0x33')](_0x41b403[_0x7145('0x2f')],_0x41b403[_0x7145('0x32')]);_0x3e9fc5[_0x7145('0x34')]=_[_0x7145('0x33')](_0x41b403['model'],qs[_0x7145('0x35')](_0x37b8c9[_0x7145('0x32')][_0x7145('0x35')]));_0x3e9fc5['attributes']=_0x3e9fc5[_0x7145('0x34')][_0x7145('0x36')]?_0x3e9fc5['attributes']:_0x41b403[_0x7145('0x2f')];if(_0x37b8c9[_0x7145('0x32')][_0x7145('0x43')]){_0x3e9fc5['include']=[{'all':!![]}];}_0x3e9fc5=_[_0x7145('0x40')]({},_0x3e9fc5,_0x37b8c9['options']);return db[_0x7145('0x2d')][_0x7145('0x4b')](_0x3e9fc5)[_0x7145('0x27')](handleEntityNotFound(_0x5e7550,null))[_0x7145('0x27')](respondWithResult(_0x5e7550,null))['catch'](handleError(_0x5e7550,null));};exports[_0x7145('0x4c')]=function(_0x5a6794,_0x4c5c89){return db[_0x7145('0x2d')][_0x7145('0x4c')](_0x5a6794[_0x7145('0x4d')],{})[_0x7145('0x27')](respondWithResult(_0x4c5c89,0xc9))[_0x7145('0x47')](handleError(_0x4c5c89,null));};exports[_0x7145('0x26')]=function(_0x6c7826,_0x43dbb3){if(_0x6c7826['body']['id']){delete _0x6c7826[_0x7145('0x4d')]['id'];}return db[_0x7145('0x2d')][_0x7145('0x4b')]({'where':{'id':_0x6c7826[_0x7145('0x49')]['id']}})[_0x7145('0x27')](handleEntityNotFound(_0x43dbb3,null))['then'](saveUpdates(_0x6c7826[_0x7145('0x4d')],null))['then'](respondWithResult(_0x43dbb3,null))[_0x7145('0x47')](handleError(_0x43dbb3,null));};exports['destroy']=function(_0xf1c04b,_0x7f6533){return db[_0x7145('0x2d')]['find']({'where':{'id':_0xf1c04b['params']['id']}})[_0x7145('0x27')](handleEntityNotFound(_0x7f6533,null))['then'](removeEntity(_0x7f6533,null))['catch'](handleError(_0x7f6533,null));};exports[_0x7145('0x4e')]=function(_0x1661e3,_0x2c6e98,_0x2f6046){var _0x51a763={};var _0x3f11b3={};var _0x14320d;var _0x6b7bb4;return db['SugarcrmConfiguration']['findOne']({'where':{'id':_0x1661e3[_0x7145('0x49')]['id']}})[_0x7145('0x27')](handleEntityNotFound(_0x2c6e98,null))[_0x7145('0x27')](function(_0x51f028){if(_0x51f028){_0x14320d=_0x51f028;_0x3f11b3[_0x7145('0x2f')]=_[_0x7145('0x31')](db['SugarcrmField'][_0x7145('0x4a')]);_0x3f11b3[_0x7145('0x32')]=_[_0x7145('0x31')](_0x1661e3[_0x7145('0x32')]);_0x3f11b3['filters']=_[_0x7145('0x33')](_0x3f11b3[_0x7145('0x2f')],_0x3f11b3[_0x7145('0x32')]);_0x51a763[_0x7145('0x34')]=_[_0x7145('0x33')](_0x3f11b3[_0x7145('0x2f')],qs[_0x7145('0x35')](_0x1661e3[_0x7145('0x32')][_0x7145('0x35')]));_0x51a763[_0x7145('0x34')]=_0x51a763[_0x7145('0x34')]['length']?_0x51a763[_0x7145('0x34')]:_0x3f11b3[_0x7145('0x2f')];_0x51a763['order']=qs[_0x7145('0x3b')](_0x1661e3[_0x7145('0x32')][_0x7145('0x3b')]);_0x51a763[_0x7145('0x3c')]=qs[_0x7145('0x3d')](_[_0x7145('0x3e')](_0x1661e3[_0x7145('0x32')],_0x3f11b3[_0x7145('0x3d')]));if(_0x1661e3[_0x7145('0x32')][_0x7145('0x3f')]){_0x51a763[_0x7145('0x3c')]=_['merge'](_0x51a763['where'],{'$or':_[_0x7145('0x30')](_0x51a763['attributes'],function(_0x3d284e){var _0x5b505d={};_0x5b505d[_0x3d284e]={'$like':'%'+_0x1661e3['query'][_0x7145('0x3f')]+'%'};return _0x5b505d;})});}_0x51a763=_['merge']({},_0x51a763,_0x1661e3[_0x7145('0x4f')]);return _0x14320d['getFields'](_0x51a763);}})[_0x7145('0x27')](function(_0x5796da){if(_0x5796da){_0x6b7bb4=_0x5796da['length'];if(!_0x1661e3[_0x7145('0x32')][_0x7145('0x37')](_0x7145('0x38'))){_0x51a763[_0x7145('0x39')]=qs['limit'](_0x1661e3[_0x7145('0x32')][_0x7145('0x39')]);_0x51a763[_0x7145('0x1f')]=qs['offset'](_0x1661e3['query'][_0x7145('0x1f')]);}return _0x14320d['getFields'](_0x51a763);}})[_0x7145('0x27')](function(_0x2ccf35){if(_0x2ccf35){return _0x2ccf35?{'count':_0x6b7bb4,'rows':_0x2ccf35}:null;}})['then'](respondWithResult(_0x2c6e98,null))['catch'](handleError(_0x2c6e98,null));};exports[_0x7145('0x50')]=function(_0x32a028,_0x9f0752,_0x422f31){var _0xe1a3bc={};var _0x161ebb={};var _0x234ed7;var _0x53069f;return db['SugarcrmConfiguration'][_0x7145('0x51')]({'where':{'id':_0x32a028[_0x7145('0x49')]['id']}})[_0x7145('0x27')](handleEntityNotFound(_0x9f0752,null))[_0x7145('0x27')](function(_0xb4a732){if(_0xb4a732){_0x234ed7=_0xb4a732;_0x161ebb[_0x7145('0x2f')]=_[_0x7145('0x31')](db[_0x7145('0x52')]['rawAttributes']);_0x161ebb[_0x7145('0x32')]=_[_0x7145('0x31')](_0x32a028[_0x7145('0x32')]);_0x161ebb['filters']=_[_0x7145('0x33')](_0x161ebb[_0x7145('0x2f')],_0x161ebb[_0x7145('0x32')]);_0xe1a3bc[_0x7145('0x34')]=_['intersection'](_0x161ebb[_0x7145('0x2f')],qs[_0x7145('0x35')](_0x32a028[_0x7145('0x32')][_0x7145('0x35')]));_0xe1a3bc[_0x7145('0x34')]=_0xe1a3bc[_0x7145('0x34')]['length']?_0xe1a3bc[_0x7145('0x34')]:_0x161ebb[_0x7145('0x2f')];_0xe1a3bc['order']=qs[_0x7145('0x3b')](_0x32a028['query'][_0x7145('0x3b')]);_0xe1a3bc[_0x7145('0x3c')]=qs['filters'](_['pick'](_0x32a028[_0x7145('0x32')],_0x161ebb[_0x7145('0x3d')]));if(_0x32a028[_0x7145('0x32')][_0x7145('0x3f')]){_0xe1a3bc['where']=_[_0x7145('0x40')](_0xe1a3bc[_0x7145('0x3c')],{'$or':_[_0x7145('0x30')](_0xe1a3bc[_0x7145('0x34')],function(_0x22dcf3){var _0x30a78b={};_0x30a78b[_0x22dcf3]={'$like':'%'+_0x32a028[_0x7145('0x32')][_0x7145('0x3f')]+'%'};return _0x30a78b;})});}_0xe1a3bc=_[_0x7145('0x40')]({},_0xe1a3bc,_0x32a028[_0x7145('0x4f')]);return _0x234ed7[_0x7145('0x50')](_0xe1a3bc);}})[_0x7145('0x27')](function(_0x48be32){if(_0x48be32){_0x53069f=_0x48be32[_0x7145('0x36')];if(!_0x32a028[_0x7145('0x32')][_0x7145('0x37')](_0x7145('0x38'))){_0xe1a3bc[_0x7145('0x39')]=qs[_0x7145('0x39')](_0x32a028[_0x7145('0x32')][_0x7145('0x39')]);_0xe1a3bc['offset']=qs[_0x7145('0x1f')](_0x32a028[_0x7145('0x32')]['offset']);}return _0x234ed7[_0x7145('0x50')](_0xe1a3bc);}})[_0x7145('0x27')](function(_0x32fe80){if(_0x32fe80){return _0x32fe80?{'count':_0x53069f,'rows':_0x32fe80}:null;}})[_0x7145('0x27')](respondWithResult(_0x9f0752,null))[_0x7145('0x47')](handleError(_0x9f0752,null));};exports['getDescriptions']=function(_0x5c8f42,_0x2de3b4,_0xc659a8){var _0x4b5148={};var _0x1eba4b={};var _0x5355b7;var _0x1a74cf;return db['SugarcrmConfiguration'][_0x7145('0x51')]({'where':{'id':_0x5c8f42[_0x7145('0x49')]['id']}})['then'](handleEntityNotFound(_0x2de3b4,null))['then'](function(_0x343ce2){if(_0x343ce2){_0x5355b7=_0x343ce2;_0x1eba4b[_0x7145('0x2f')]=_['keys'](db['SugarcrmField'][_0x7145('0x4a')]);_0x1eba4b[_0x7145('0x32')]=_[_0x7145('0x31')](_0x5c8f42[_0x7145('0x32')]);_0x1eba4b[_0x7145('0x3d')]=_['intersection'](_0x1eba4b[_0x7145('0x2f')],_0x1eba4b[_0x7145('0x32')]);_0x4b5148['attributes']=_[_0x7145('0x33')](_0x1eba4b[_0x7145('0x2f')],qs[_0x7145('0x35')](_0x5c8f42[_0x7145('0x32')][_0x7145('0x35')]));_0x4b5148['attributes']=_0x4b5148[_0x7145('0x34')][_0x7145('0x36')]?_0x4b5148['attributes']:_0x1eba4b['model'];_0x4b5148[_0x7145('0x3a')]=qs[_0x7145('0x3b')](_0x5c8f42[_0x7145('0x32')][_0x7145('0x3b')]);_0x4b5148[_0x7145('0x3c')]=qs['filters'](_['pick'](_0x5c8f42[_0x7145('0x32')],_0x1eba4b[_0x7145('0x3d')]));if(_0x5c8f42['query'][_0x7145('0x3f')]){_0x4b5148[_0x7145('0x3c')]=_[_0x7145('0x40')](_0x4b5148[_0x7145('0x3c')],{'$or':_[_0x7145('0x30')](_0x4b5148['attributes'],function(_0x35ee6a){var _0x42584b={};_0x42584b[_0x35ee6a]={'$like':'%'+_0x5c8f42[_0x7145('0x32')]['filter']+'%'};return _0x42584b;})});}_0x4b5148=_[_0x7145('0x40')]({},_0x4b5148,_0x5c8f42[_0x7145('0x4f')]);return _0x5355b7[_0x7145('0x53')](_0x4b5148);}})[_0x7145('0x27')](function(_0x3e5798){if(_0x3e5798){_0x1a74cf=_0x3e5798[_0x7145('0x36')];if(!_0x5c8f42[_0x7145('0x32')][_0x7145('0x37')](_0x7145('0x38'))){_0x4b5148[_0x7145('0x39')]=qs['limit'](_0x5c8f42[_0x7145('0x32')][_0x7145('0x39')]);_0x4b5148[_0x7145('0x1f')]=qs[_0x7145('0x1f')](_0x5c8f42[_0x7145('0x32')][_0x7145('0x1f')]);}return _0x5355b7[_0x7145('0x53')](_0x4b5148);}})[_0x7145('0x27')](function(_0x200728){if(_0x200728){return _0x200728?{'count':_0x1a74cf,'rows':_0x200728}:null;}})['then'](respondWithResult(_0x2de3b4,null))[_0x7145('0x47')](handleError(_0x2de3b4,null));};