1bcd9d6d468bccf9f084dae1e0454dfb513179df
[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 _0xcc7a=['pick','filter','merge','type','includeAll','include','findAll','rows','catch','show','params','find','body','destroy','getFields','findOne','SugarcrmField','options','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','update','then','error','stack','name','send','index','SugarcrmConfiguration','rawAttributes','fieldName','key','map','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where'];(function(_0x119ef2,_0x46d595){var _0x90a833=function(_0x8ca83){while(--_0x8ca83){_0x119ef2['push'](_0x119ef2['shift']());}};_0x90a833(++_0x46d595);}(_0xcc7a,0x67));var _0xacc7=function(_0x35885a,_0x42fed7){_0x35885a=_0x35885a-0x0;var _0xe86249=_0xcc7a[_0x35885a];return _0xe86249;};'use strict';var emlformat=require(_0xacc7('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xacc7('0x1'));var jsonpatch=require(_0xacc7('0x2'));var rp=require(_0xacc7('0x3'));var moment=require(_0xacc7('0x4'));var BPromise=require(_0xacc7('0x5'));var Mustache=require(_0xacc7('0x6'));var util=require(_0xacc7('0x7'));var path=require(_0xacc7('0x8'));var sox=require(_0xacc7('0x9'));var csv=require(_0xacc7('0xa'));var ejs=require(_0xacc7('0xb'));var fs=require('fs');var fs_extra=require(_0xacc7('0xc'));var _=require(_0xacc7('0xd'));var squel=require(_0xacc7('0xe'));var crypto=require(_0xacc7('0xf'));var jsforce=require(_0xacc7('0x10'));var deskjs=require(_0xacc7('0x11'));var toCsv=require('to-csv');var querystring=require(_0xacc7('0x12'));var Papa=require(_0xacc7('0x13'));var Redis=require(_0xacc7('0x14'));var authService=require(_0xacc7('0x15'));var qs=require(_0xacc7('0x16'));var as=require(_0xacc7('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xacc7('0x18'));var utils=require('../../config/utils');var config=require(_0xacc7('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1ef527,_0x1b8fb2){_0x1b8fb2=_0x1b8fb2||0xcc;return function(_0x158bc8){if(_0x158bc8){return _0x1ef527[_0xacc7('0x1a')](_0x1b8fb2);}return _0x1ef527[_0xacc7('0x1b')](_0x1b8fb2)[_0xacc7('0x1c')]();};}function respondWithResult(_0x5f4baa,_0x3351ad){_0x3351ad=_0x3351ad||0xc8;return function(_0x55f9a0){if(_0x55f9a0){return _0x5f4baa[_0xacc7('0x1b')](_0x3351ad)['json'](_0x55f9a0);}};}function respondWithFilteredResult(_0x521cf2,_0x3b2461){return function(_0x4c0ebd){if(_0x4c0ebd){var _0x1afbb2=typeof _0x3b2461[_0xacc7('0x1d')]===_0xacc7('0x1e')&&typeof _0x3b2461[_0xacc7('0x1f')]==='undefined';var _0x1e8434=_0x4c0ebd[_0xacc7('0x20')];var _0x371677=_0x1afbb2?0x0:_0x3b2461[_0xacc7('0x1d')];var _0x573428=_0x1afbb2?_0x4c0ebd['count']:_0x3b2461['offset']+_0x3b2461[_0xacc7('0x1f')];var _0x24cb11;if(_0x573428>=_0x1e8434){_0x573428=_0x1e8434;_0x24cb11=0xc8;}else{_0x24cb11=0xce;}_0x521cf2[_0xacc7('0x1b')](_0x24cb11);return _0x521cf2[_0xacc7('0x21')](_0xacc7('0x22'),_0x371677+'-'+_0x573428+'/'+_0x1e8434)[_0xacc7('0x23')](_0x4c0ebd);}return null;};}function patchUpdates(_0x46e7fc){return function(_0x1379ba){try{jsonpatch['apply'](_0x1379ba,_0x46e7fc,!![]);}catch(_0x44bdc4){return BPromise[_0xacc7('0x24')](_0x44bdc4);}return _0x1379ba[_0xacc7('0x25')]();};}function saveUpdates(_0x39f1de,_0x2b3276){return function(_0x9d3867){if(_0x9d3867){return _0x9d3867[_0xacc7('0x26')](_0x39f1de)[_0xacc7('0x27')](function(_0x1b82a0){return _0x1b82a0;});}return null;};}function removeEntity(_0x3723c0,_0x20ee48){return function(_0x51425d){if(_0x51425d){return _0x51425d['destroy']()[_0xacc7('0x27')](function(){_0x3723c0[_0xacc7('0x1b')](0xcc)[_0xacc7('0x1c')]();});}};}function handleEntityNotFound(_0xea0218,_0x54627a){return function(_0x31e47d){if(!_0x31e47d){_0xea0218[_0xacc7('0x1a')](0x194);}return _0x31e47d;};}function handleError(_0x403327,_0x247f2c){_0x247f2c=_0x247f2c||0x1f4;return function(_0x406c21){logger[_0xacc7('0x28')](_0x406c21[_0xacc7('0x29')]);if(_0x406c21[_0xacc7('0x2a')]){delete _0x406c21[_0xacc7('0x2a')];}_0x403327[_0xacc7('0x1b')](_0x247f2c)[_0xacc7('0x2b')](_0x406c21);};}exports[_0xacc7('0x2c')]=function(_0x3e5a22,_0x21fc6b){var _0x1f8fdc={},_0xe2072b={},_0x3d6eeb={'count':0x0,'rows':[]};var _0x2aa9cd=_['map'](db[_0xacc7('0x2d')][_0xacc7('0x2e')],function(_0x1213c5){return{'name':_0x1213c5[_0xacc7('0x2f')],'type':_0x1213c5['type'][_0xacc7('0x30')]};});_0xe2072b['model']=_[_0xacc7('0x31')](_0x2aa9cd,'name');_0xe2072b[_0xacc7('0x32')]=_[_0xacc7('0x33')](_0x3e5a22[_0xacc7('0x32')]);_0xe2072b[_0xacc7('0x34')]=_['intersection'](_0xe2072b[_0xacc7('0x35')],_0xe2072b[_0xacc7('0x32')]);_0x1f8fdc[_0xacc7('0x36')]=_[_0xacc7('0x37')](_0xe2072b[_0xacc7('0x35')],qs[_0xacc7('0x38')](_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x38')]));_0x1f8fdc[_0xacc7('0x36')]=_0x1f8fdc[_0xacc7('0x36')][_0xacc7('0x39')]?_0x1f8fdc[_0xacc7('0x36')]:_0xe2072b[_0xacc7('0x35')];if(!_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x3a')](_0xacc7('0x3b'))){_0x1f8fdc[_0xacc7('0x1f')]=qs[_0xacc7('0x1f')](_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x1f')]);_0x1f8fdc[_0xacc7('0x1d')]=qs[_0xacc7('0x1d')](_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x1d')]);}_0x1f8fdc[_0xacc7('0x3c')]=qs[_0xacc7('0x3d')](_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x3d')]);_0x1f8fdc[_0xacc7('0x3e')]=qs['filters'](_[_0xacc7('0x3f')](_0x3e5a22[_0xacc7('0x32')],_0xe2072b[_0xacc7('0x34')]),_0x2aa9cd);if(_0x3e5a22['query'][_0xacc7('0x40')]){_0x1f8fdc[_0xacc7('0x3e')]=_[_0xacc7('0x41')](_0x1f8fdc[_0xacc7('0x3e')],{'$or':_['map'](_0x2aa9cd,function(_0x1b0f4){if(_0x1b0f4[_0xacc7('0x42')]!=='VIRTUAL'){var _0xccd48d={};_0xccd48d[_0x1b0f4[_0xacc7('0x2a')]]={'$like':'%'+_0x3e5a22['query'][_0xacc7('0x40')]+'%'};return _0xccd48d;}})});}_0x1f8fdc=_[_0xacc7('0x41')]({},_0x1f8fdc,_0x3e5a22['options']);var _0x92408b={'where':_0x1f8fdc[_0xacc7('0x3e')]};return db[_0xacc7('0x2d')][_0xacc7('0x20')](_0x92408b)['then'](function(_0x3b6b9f){_0x3d6eeb[_0xacc7('0x20')]=_0x3b6b9f;if(_0x3e5a22[_0xacc7('0x32')][_0xacc7('0x43')]){_0x1f8fdc[_0xacc7('0x44')]=[{'all':!![]}];}return db[_0xacc7('0x2d')][_0xacc7('0x45')](_0x1f8fdc);})[_0xacc7('0x27')](function(_0x503fd5){_0x3d6eeb[_0xacc7('0x46')]=_0x503fd5;return _0x3d6eeb;})[_0xacc7('0x27')](respondWithFilteredResult(_0x21fc6b,_0x1f8fdc))[_0xacc7('0x47')](handleError(_0x21fc6b,null));};exports[_0xacc7('0x48')]=function(_0x3af478,_0x1a3e0f){var _0x4479dd={'raw':![],'where':{'id':_0x3af478[_0xacc7('0x49')]['id']}},_0x130231={};_0x130231[_0xacc7('0x35')]=_['keys'](db['SugarcrmConfiguration']['rawAttributes']);_0x130231[_0xacc7('0x32')]=_['keys'](_0x3af478['query']);_0x130231[_0xacc7('0x34')]=_[_0xacc7('0x37')](_0x130231['model'],_0x130231[_0xacc7('0x32')]);_0x4479dd[_0xacc7('0x36')]=_[_0xacc7('0x37')](_0x130231[_0xacc7('0x35')],qs[_0xacc7('0x38')](_0x3af478[_0xacc7('0x32')][_0xacc7('0x38')]));_0x4479dd[_0xacc7('0x36')]=_0x4479dd['attributes'][_0xacc7('0x39')]?_0x4479dd[_0xacc7('0x36')]:_0x130231[_0xacc7('0x35')];if(_0x3af478[_0xacc7('0x32')][_0xacc7('0x43')]){_0x4479dd[_0xacc7('0x44')]=[{'all':!![]}];}_0x4479dd=_['merge']({},_0x4479dd,_0x3af478['options']);return db[_0xacc7('0x2d')][_0xacc7('0x4a')](_0x4479dd)['then'](handleEntityNotFound(_0x1a3e0f,null))[_0xacc7('0x27')](respondWithResult(_0x1a3e0f,null))[_0xacc7('0x47')](handleError(_0x1a3e0f,null));};exports['create']=function(_0x50d672,_0x34fcac){return db[_0xacc7('0x2d')]['create'](_0x50d672[_0xacc7('0x4b')],{})['then'](respondWithResult(_0x34fcac,0xc9))[_0xacc7('0x47')](handleError(_0x34fcac,null));};exports[_0xacc7('0x26')]=function(_0x899b26,_0x25795a){if(_0x899b26[_0xacc7('0x4b')]['id']){delete _0x899b26[_0xacc7('0x4b')]['id'];}return db[_0xacc7('0x2d')][_0xacc7('0x4a')]({'where':{'id':_0x899b26[_0xacc7('0x49')]['id']}})[_0xacc7('0x27')](handleEntityNotFound(_0x25795a,null))[_0xacc7('0x27')](saveUpdates(_0x899b26[_0xacc7('0x4b')],null))['then'](respondWithResult(_0x25795a,null))[_0xacc7('0x47')](handleError(_0x25795a,null));};exports[_0xacc7('0x4c')]=function(_0x443675,_0x5bc079){return db[_0xacc7('0x2d')][_0xacc7('0x4a')]({'where':{'id':_0x443675[_0xacc7('0x49')]['id']}})[_0xacc7('0x27')](handleEntityNotFound(_0x5bc079,null))['then'](removeEntity(_0x5bc079,null))[_0xacc7('0x47')](handleError(_0x5bc079,null));};exports[_0xacc7('0x4d')]=function(_0xb2dff9,_0xc3b6f7,_0x29c913){var _0x57ddad={};var _0x3c1be0={};var _0x359799;var _0x556022;return db[_0xacc7('0x2d')][_0xacc7('0x4e')]({'where':{'id':_0xb2dff9[_0xacc7('0x49')]['id']}})[_0xacc7('0x27')](handleEntityNotFound(_0xc3b6f7,null))[_0xacc7('0x27')](function(_0x4219e1){if(_0x4219e1){_0x359799=_0x4219e1;_0x3c1be0[_0xacc7('0x35')]=_[_0xacc7('0x33')](db[_0xacc7('0x4f')][_0xacc7('0x2e')]);_0x3c1be0[_0xacc7('0x32')]=_[_0xacc7('0x33')](_0xb2dff9[_0xacc7('0x32')]);_0x3c1be0[_0xacc7('0x34')]=_[_0xacc7('0x37')](_0x3c1be0[_0xacc7('0x35')],_0x3c1be0[_0xacc7('0x32')]);_0x57ddad[_0xacc7('0x36')]=_[_0xacc7('0x37')](_0x3c1be0['model'],qs['fields'](_0xb2dff9[_0xacc7('0x32')][_0xacc7('0x38')]));_0x57ddad[_0xacc7('0x36')]=_0x57ddad[_0xacc7('0x36')][_0xacc7('0x39')]?_0x57ddad[_0xacc7('0x36')]:_0x3c1be0[_0xacc7('0x35')];_0x57ddad[_0xacc7('0x3c')]=qs['sort'](_0xb2dff9['query'][_0xacc7('0x3d')]);_0x57ddad[_0xacc7('0x3e')]=qs[_0xacc7('0x34')](_[_0xacc7('0x3f')](_0xb2dff9[_0xacc7('0x32')],_0x3c1be0['filters']));if(_0xb2dff9['query'][_0xacc7('0x40')]){_0x57ddad[_0xacc7('0x3e')]=_[_0xacc7('0x41')](_0x57ddad['where'],{'$or':_[_0xacc7('0x31')](_0x57ddad['attributes'],function(_0x48ac9d){var _0x289626={};_0x289626[_0x48ac9d]={'$like':'%'+_0xb2dff9['query'][_0xacc7('0x40')]+'%'};return _0x289626;})});}_0x57ddad=_[_0xacc7('0x41')]({},_0x57ddad,_0xb2dff9[_0xacc7('0x50')]);return _0x359799['getFields'](_0x57ddad);}})[_0xacc7('0x27')](function(_0xb83c6f){if(_0xb83c6f){_0x556022=_0xb83c6f[_0xacc7('0x39')];if(!_0xb2dff9['query'][_0xacc7('0x3a')](_0xacc7('0x3b'))){_0x57ddad[_0xacc7('0x1f')]=qs[_0xacc7('0x1f')](_0xb2dff9[_0xacc7('0x32')][_0xacc7('0x1f')]);_0x57ddad[_0xacc7('0x1d')]=qs[_0xacc7('0x1d')](_0xb2dff9[_0xacc7('0x32')][_0xacc7('0x1d')]);}return _0x359799[_0xacc7('0x4d')](_0x57ddad);}})[_0xacc7('0x27')](function(_0x3fe0f5){if(_0x3fe0f5){return _0x3fe0f5?{'count':_0x556022,'rows':_0x3fe0f5}:null;}})['then'](respondWithResult(_0xc3b6f7,null))[_0xacc7('0x47')](handleError(_0xc3b6f7,null));};exports['getSubjects']=function(_0x33bcf8,_0xb68854,_0x689fae){var _0x1952e3={};var _0x58dfb4={};var _0x5edcca;var _0x5694ba;return db[_0xacc7('0x2d')][_0xacc7('0x4e')]({'where':{'id':_0x33bcf8[_0xacc7('0x49')]['id']}})[_0xacc7('0x27')](handleEntityNotFound(_0xb68854,null))[_0xacc7('0x27')](function(_0x23ce40){if(_0x23ce40){_0x5edcca=_0x23ce40;_0x58dfb4[_0xacc7('0x35')]=_[_0xacc7('0x33')](db['SugarcrmField'][_0xacc7('0x2e')]);_0x58dfb4[_0xacc7('0x32')]=_[_0xacc7('0x33')](_0x33bcf8['query']);_0x58dfb4[_0xacc7('0x34')]=_[_0xacc7('0x37')](_0x58dfb4[_0xacc7('0x35')],_0x58dfb4[_0xacc7('0x32')]);_0x1952e3['attributes']=_[_0xacc7('0x37')](_0x58dfb4[_0xacc7('0x35')],qs[_0xacc7('0x38')](_0x33bcf8['query']['fields']));_0x1952e3[_0xacc7('0x36')]=_0x1952e3[_0xacc7('0x36')]['length']?_0x1952e3['attributes']:_0x58dfb4['model'];_0x1952e3[_0xacc7('0x3c')]=qs[_0xacc7('0x3d')](_0x33bcf8['query'][_0xacc7('0x3d')]);_0x1952e3[_0xacc7('0x3e')]=qs['filters'](_[_0xacc7('0x3f')](_0x33bcf8[_0xacc7('0x32')],_0x58dfb4[_0xacc7('0x34')]));if(_0x33bcf8[_0xacc7('0x32')]['filter']){_0x1952e3[_0xacc7('0x3e')]=_[_0xacc7('0x41')](_0x1952e3['where'],{'$or':_[_0xacc7('0x31')](_0x1952e3['attributes'],function(_0x44af6c){var _0x5a13bb={};_0x5a13bb[_0x44af6c]={'$like':'%'+_0x33bcf8[_0xacc7('0x32')]['filter']+'%'};return _0x5a13bb;})});}_0x1952e3=_[_0xacc7('0x41')]({},_0x1952e3,_0x33bcf8[_0xacc7('0x50')]);return _0x5edcca['getSubjects'](_0x1952e3);}})[_0xacc7('0x27')](function(_0x3faa14){if(_0x3faa14){_0x5694ba=_0x3faa14[_0xacc7('0x39')];if(!_0x33bcf8[_0xacc7('0x32')][_0xacc7('0x3a')]('nolimit')){_0x1952e3['limit']=qs['limit'](_0x33bcf8['query']['limit']);_0x1952e3[_0xacc7('0x1d')]=qs['offset'](_0x33bcf8[_0xacc7('0x32')][_0xacc7('0x1d')]);}return _0x5edcca[_0xacc7('0x51')](_0x1952e3);}})['then'](function(_0x4420a1){if(_0x4420a1){return _0x4420a1?{'count':_0x5694ba,'rows':_0x4420a1}:null;}})['then'](respondWithResult(_0xb68854,null))[_0xacc7('0x47')](handleError(_0xb68854,null));};exports[_0xacc7('0x52')]=function(_0x28d4da,_0x4a74df,_0x444057){var _0x28db30={};var _0x2edd43={};var _0x5ab30e;var _0x581bea;return db['SugarcrmConfiguration'][_0xacc7('0x4e')]({'where':{'id':_0x28d4da[_0xacc7('0x49')]['id']}})[_0xacc7('0x27')](handleEntityNotFound(_0x4a74df,null))[_0xacc7('0x27')](function(_0x36f983){if(_0x36f983){_0x5ab30e=_0x36f983;_0x2edd43[_0xacc7('0x35')]=_[_0xacc7('0x33')](db[_0xacc7('0x4f')][_0xacc7('0x2e')]);_0x2edd43[_0xacc7('0x32')]=_[_0xacc7('0x33')](_0x28d4da[_0xacc7('0x32')]);_0x2edd43[_0xacc7('0x34')]=_['intersection'](_0x2edd43[_0xacc7('0x35')],_0x2edd43[_0xacc7('0x32')]);_0x28db30[_0xacc7('0x36')]=_[_0xacc7('0x37')](_0x2edd43[_0xacc7('0x35')],qs[_0xacc7('0x38')](_0x28d4da[_0xacc7('0x32')][_0xacc7('0x38')]));_0x28db30[_0xacc7('0x36')]=_0x28db30[_0xacc7('0x36')][_0xacc7('0x39')]?_0x28db30[_0xacc7('0x36')]:_0x2edd43['model'];_0x28db30[_0xacc7('0x3c')]=qs['sort'](_0x28d4da[_0xacc7('0x32')][_0xacc7('0x3d')]);_0x28db30['where']=qs[_0xacc7('0x34')](_[_0xacc7('0x3f')](_0x28d4da[_0xacc7('0x32')],_0x2edd43['filters']));if(_0x28d4da[_0xacc7('0x32')][_0xacc7('0x40')]){_0x28db30[_0xacc7('0x3e')]=_['merge'](_0x28db30[_0xacc7('0x3e')],{'$or':_[_0xacc7('0x31')](_0x28db30['attributes'],function(_0x2f6358){var _0x57dcaf={};_0x57dcaf[_0x2f6358]={'$like':'%'+_0x28d4da[_0xacc7('0x32')][_0xacc7('0x40')]+'%'};return _0x57dcaf;})});}_0x28db30=_['merge']({},_0x28db30,_0x28d4da['options']);return _0x5ab30e[_0xacc7('0x52')](_0x28db30);}})[_0xacc7('0x27')](function(_0x4b4191){if(_0x4b4191){_0x581bea=_0x4b4191[_0xacc7('0x39')];if(!_0x28d4da[_0xacc7('0x32')]['hasOwnProperty'](_0xacc7('0x3b'))){_0x28db30[_0xacc7('0x1f')]=qs['limit'](_0x28d4da[_0xacc7('0x32')]['limit']);_0x28db30[_0xacc7('0x1d')]=qs[_0xacc7('0x1d')](_0x28d4da['query'][_0xacc7('0x1d')]);}return _0x5ab30e[_0xacc7('0x52')](_0x28db30);}})[_0xacc7('0x27')](function(_0x26dc73){if(_0x26dc73){return _0x26dc73?{'count':_0x581bea,'rows':_0x26dc73}:null;}})[_0xacc7('0x27')](respondWithResult(_0x4a74df,null))['catch'](handleError(_0x4a74df,null));};