Built motion from commit 3c2ce842.|2.6.31
[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 _0x1b68=['index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','filter','where','merge','VIRTUAL','name','options','SugarcrmConfiguration','count','includeAll','include','findAll','rows','catch','params','keys','length','find','create','body','update','getFields','findOne','SugarcrmField','pick','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','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','sendStatus','status','end','json','undefined','limit','offset','set','Content-Range','apply','reject','save','then','destroy','stack','send'];(function(_0x389663,_0x120107){var _0x2acf45=function(_0xd888d2){while(--_0xd888d2){_0x389663['push'](_0x389663['shift']());}};_0x2acf45(++_0x120107);}(_0x1b68,0x7e));var _0x81b6=function(_0xf6866a,_0x19fd23){_0xf6866a=_0xf6866a-0x0;var _0x4cdd19=_0x1b68[_0xf6866a];return _0x4cdd19;};'use strict';var emlformat=require(_0x81b6('0x0'));var rimraf=require(_0x81b6('0x1'));var zipdir=require(_0x81b6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x81b6('0x3'));var moment=require('moment');var BPromise=require(_0x81b6('0x4'));var Mustache=require(_0x81b6('0x5'));var util=require('util');var path=require(_0x81b6('0x6'));var sox=require(_0x81b6('0x7'));var csv=require(_0x81b6('0x8'));var ejs=require(_0x81b6('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x81b6('0xa'));var crypto=require(_0x81b6('0xb'));var jsforce=require(_0x81b6('0xc'));var deskjs=require(_0x81b6('0xd'));var toCsv=require(_0x81b6('0x8'));var querystring=require(_0x81b6('0xe'));var Papa=require('papaparse');var Redis=require(_0x81b6('0xf'));var authService=require(_0x81b6('0x10'));var qs=require(_0x81b6('0x11'));var as=require(_0x81b6('0x12'));var hardwareService=require(_0x81b6('0x13'));var logger=require(_0x81b6('0x14'))(_0x81b6('0x15'));var utils=require(_0x81b6('0x16'));var config=require(_0x81b6('0x17'));var licenseUtil=require(_0x81b6('0x18'));var db=require(_0x81b6('0x19'))['db'];function respondWithStatusCode(_0x5eeea6,_0x4dbcc4){_0x4dbcc4=_0x4dbcc4||0xcc;return function(_0x46f5dc){if(_0x46f5dc){return _0x5eeea6[_0x81b6('0x1a')](_0x4dbcc4);}return _0x5eeea6[_0x81b6('0x1b')](_0x4dbcc4)[_0x81b6('0x1c')]();};}function respondWithResult(_0x238ac5,_0x2d1266){_0x2d1266=_0x2d1266||0xc8;return function(_0x54b1f4){if(_0x54b1f4){return _0x238ac5[_0x81b6('0x1b')](_0x2d1266)[_0x81b6('0x1d')](_0x54b1f4);}};}function respondWithFilteredResult(_0x4e4d0c,_0x2c8e48){return function(_0x3b3203){if(_0x3b3203){var _0x3934c3=typeof _0x2c8e48['offset']===_0x81b6('0x1e')&&typeof _0x2c8e48[_0x81b6('0x1f')]===_0x81b6('0x1e');var _0x2944d1=_0x3b3203['count'];var _0x243349=_0x3934c3?0x0:_0x2c8e48[_0x81b6('0x20')];var _0x172bc2=_0x3934c3?_0x3b3203['count']:_0x2c8e48[_0x81b6('0x20')]+_0x2c8e48[_0x81b6('0x1f')];var _0xca53fe;if(_0x172bc2>=_0x2944d1){_0x172bc2=_0x2944d1;_0xca53fe=0xc8;}else{_0xca53fe=0xce;}_0x4e4d0c[_0x81b6('0x1b')](_0xca53fe);return _0x4e4d0c[_0x81b6('0x21')](_0x81b6('0x22'),_0x243349+'-'+_0x172bc2+'/'+_0x2944d1)['json'](_0x3b3203);}return null;};}function patchUpdates(_0x2905ac){return function(_0xf0ab35){try{jsonpatch[_0x81b6('0x23')](_0xf0ab35,_0x2905ac,!![]);}catch(_0x3d09ea){return BPromise[_0x81b6('0x24')](_0x3d09ea);}return _0xf0ab35[_0x81b6('0x25')]();};}function saveUpdates(_0x538d32,_0x38ce88){return function(_0x467bf1){if(_0x467bf1){return _0x467bf1['update'](_0x538d32)[_0x81b6('0x26')](function(_0x2bf93f){return _0x2bf93f;});}return null;};}function removeEntity(_0x5ef80d,_0x23355e){return function(_0x34a971){if(_0x34a971){return _0x34a971[_0x81b6('0x27')]()['then'](function(){_0x5ef80d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20fc44,_0x1a6ad4){return function(_0xacc098){if(!_0xacc098){_0x20fc44[_0x81b6('0x1a')](0x194);}return _0xacc098;};}function handleError(_0x329602,_0x462ef9){_0x462ef9=_0x462ef9||0x1f4;return function(_0x2f9b71){logger['error'](_0x2f9b71[_0x81b6('0x28')]);if(_0x2f9b71['name']){delete _0x2f9b71['name'];}_0x329602['status'](_0x462ef9)[_0x81b6('0x29')](_0x2f9b71);};}exports[_0x81b6('0x2a')]=function(_0x58c04d,_0x4b1aed){var _0x5c8679={},_0x1c5ea5={},_0x316bc8={'count':0x0,'rows':[]};var _0x1d0775=_[_0x81b6('0x2b')](db['SugarcrmConfiguration'][_0x81b6('0x2c')],function(_0x5e2fc4){return{'name':_0x5e2fc4[_0x81b6('0x2d')],'type':_0x5e2fc4[_0x81b6('0x2e')][_0x81b6('0x2f')]};});_0x1c5ea5[_0x81b6('0x30')]=_[_0x81b6('0x2b')](_0x1d0775,'name');_0x1c5ea5[_0x81b6('0x31')]=_['keys'](_0x58c04d[_0x81b6('0x31')]);_0x1c5ea5[_0x81b6('0x32')]=_[_0x81b6('0x33')](_0x1c5ea5[_0x81b6('0x30')],_0x1c5ea5[_0x81b6('0x31')]);_0x5c8679[_0x81b6('0x34')]=_[_0x81b6('0x33')](_0x1c5ea5['model'],qs[_0x81b6('0x35')](_0x58c04d['query'][_0x81b6('0x35')]));_0x5c8679[_0x81b6('0x34')]=_0x5c8679[_0x81b6('0x34')]['length']?_0x5c8679[_0x81b6('0x34')]:_0x1c5ea5[_0x81b6('0x30')];if(!_0x58c04d[_0x81b6('0x31')][_0x81b6('0x36')]('nolimit')){_0x5c8679[_0x81b6('0x1f')]=qs[_0x81b6('0x1f')](_0x58c04d[_0x81b6('0x31')][_0x81b6('0x1f')]);_0x5c8679['offset']=qs[_0x81b6('0x20')](_0x58c04d[_0x81b6('0x31')]['offset']);}_0x5c8679[_0x81b6('0x37')]=qs[_0x81b6('0x38')](_0x58c04d[_0x81b6('0x31')][_0x81b6('0x38')]);_0x5c8679['where']=qs[_0x81b6('0x32')](_['pick'](_0x58c04d[_0x81b6('0x31')],_0x1c5ea5['filters']),_0x1d0775);if(_0x58c04d[_0x81b6('0x31')][_0x81b6('0x39')]){_0x5c8679[_0x81b6('0x3a')]=_[_0x81b6('0x3b')](_0x5c8679[_0x81b6('0x3a')],{'$or':_[_0x81b6('0x2b')](_0x1d0775,function(_0x407f3f){if(_0x407f3f[_0x81b6('0x2e')]!==_0x81b6('0x3c')){var _0x21e589={};_0x21e589[_0x407f3f[_0x81b6('0x3d')]]={'$like':'%'+_0x58c04d[_0x81b6('0x31')][_0x81b6('0x39')]+'%'};return _0x21e589;}})});}_0x5c8679=_[_0x81b6('0x3b')]({},_0x5c8679,_0x58c04d[_0x81b6('0x3e')]);var _0x576984={'where':_0x5c8679[_0x81b6('0x3a')]};return db[_0x81b6('0x3f')][_0x81b6('0x40')](_0x576984)[_0x81b6('0x26')](function(_0x42c75b){_0x316bc8[_0x81b6('0x40')]=_0x42c75b;if(_0x58c04d[_0x81b6('0x31')][_0x81b6('0x41')]){_0x5c8679[_0x81b6('0x42')]=[{'all':!![]}];}return db[_0x81b6('0x3f')][_0x81b6('0x43')](_0x5c8679);})[_0x81b6('0x26')](function(_0x234b2b){_0x316bc8[_0x81b6('0x44')]=_0x234b2b;return _0x316bc8;})[_0x81b6('0x26')](respondWithFilteredResult(_0x4b1aed,_0x5c8679))[_0x81b6('0x45')](handleError(_0x4b1aed,null));};exports['show']=function(_0x3502ea,_0x10bbd9){var _0x1ede45={'raw':![],'where':{'id':_0x3502ea[_0x81b6('0x46')]['id']}},_0x59f1ff={};_0x59f1ff[_0x81b6('0x30')]=_[_0x81b6('0x47')](db['SugarcrmConfiguration'][_0x81b6('0x2c')]);_0x59f1ff['query']=_[_0x81b6('0x47')](_0x3502ea['query']);_0x59f1ff[_0x81b6('0x32')]=_[_0x81b6('0x33')](_0x59f1ff[_0x81b6('0x30')],_0x59f1ff['query']);_0x1ede45[_0x81b6('0x34')]=_['intersection'](_0x59f1ff[_0x81b6('0x30')],qs[_0x81b6('0x35')](_0x3502ea[_0x81b6('0x31')][_0x81b6('0x35')]));_0x1ede45['attributes']=_0x1ede45['attributes'][_0x81b6('0x48')]?_0x1ede45[_0x81b6('0x34')]:_0x59f1ff[_0x81b6('0x30')];if(_0x3502ea[_0x81b6('0x31')][_0x81b6('0x41')]){_0x1ede45[_0x81b6('0x42')]=[{'all':!![]}];}_0x1ede45=_[_0x81b6('0x3b')]({},_0x1ede45,_0x3502ea[_0x81b6('0x3e')]);return db[_0x81b6('0x3f')][_0x81b6('0x49')](_0x1ede45)[_0x81b6('0x26')](handleEntityNotFound(_0x10bbd9,null))[_0x81b6('0x26')](respondWithResult(_0x10bbd9,null))[_0x81b6('0x45')](handleError(_0x10bbd9,null));};exports[_0x81b6('0x4a')]=function(_0x5c1a52,_0x3358df){return db[_0x81b6('0x3f')][_0x81b6('0x4a')](_0x5c1a52[_0x81b6('0x4b')],{})['then'](respondWithResult(_0x3358df,0xc9))[_0x81b6('0x45')](handleError(_0x3358df,null));};exports[_0x81b6('0x4c')]=function(_0xacbb56,_0x43b8b7){if(_0xacbb56[_0x81b6('0x4b')]['id']){delete _0xacbb56[_0x81b6('0x4b')]['id'];}return db[_0x81b6('0x3f')][_0x81b6('0x49')]({'where':{'id':_0xacbb56[_0x81b6('0x46')]['id']}})[_0x81b6('0x26')](handleEntityNotFound(_0x43b8b7,null))[_0x81b6('0x26')](saveUpdates(_0xacbb56[_0x81b6('0x4b')],null))['then'](respondWithResult(_0x43b8b7,null))[_0x81b6('0x45')](handleError(_0x43b8b7,null));};exports[_0x81b6('0x27')]=function(_0x3b14de,_0x809eb5){return db['SugarcrmConfiguration']['find']({'where':{'id':_0x3b14de[_0x81b6('0x46')]['id']}})[_0x81b6('0x26')](handleEntityNotFound(_0x809eb5,null))[_0x81b6('0x26')](removeEntity(_0x809eb5,null))['catch'](handleError(_0x809eb5,null));};exports[_0x81b6('0x4d')]=function(_0x534b6c,_0x53bc15,_0x58161a){var _0x1ea08b={};var _0x35308c={};var _0x4cd730;var _0x31b03d;return db[_0x81b6('0x3f')][_0x81b6('0x4e')]({'where':{'id':_0x534b6c['params']['id']}})[_0x81b6('0x26')](handleEntityNotFound(_0x53bc15,null))['then'](function(_0x37afd1){if(_0x37afd1){_0x4cd730=_0x37afd1;_0x35308c[_0x81b6('0x30')]=_[_0x81b6('0x47')](db[_0x81b6('0x4f')]['rawAttributes']);_0x35308c[_0x81b6('0x31')]=_[_0x81b6('0x47')](_0x534b6c['query']);_0x35308c['filters']=_[_0x81b6('0x33')](_0x35308c[_0x81b6('0x30')],_0x35308c[_0x81b6('0x31')]);_0x1ea08b[_0x81b6('0x34')]=_[_0x81b6('0x33')](_0x35308c[_0x81b6('0x30')],qs[_0x81b6('0x35')](_0x534b6c[_0x81b6('0x31')][_0x81b6('0x35')]));_0x1ea08b[_0x81b6('0x34')]=_0x1ea08b[_0x81b6('0x34')][_0x81b6('0x48')]?_0x1ea08b['attributes']:_0x35308c['model'];_0x1ea08b[_0x81b6('0x37')]=qs[_0x81b6('0x38')](_0x534b6c[_0x81b6('0x31')]['sort']);_0x1ea08b[_0x81b6('0x3a')]=qs[_0x81b6('0x32')](_[_0x81b6('0x50')](_0x534b6c[_0x81b6('0x31')],_0x35308c[_0x81b6('0x32')]));if(_0x534b6c['query'][_0x81b6('0x39')]){_0x1ea08b[_0x81b6('0x3a')]=_[_0x81b6('0x3b')](_0x1ea08b[_0x81b6('0x3a')],{'$or':_[_0x81b6('0x2b')](_0x1ea08b[_0x81b6('0x34')],function(_0xd87daf){var _0x298c3f={};_0x298c3f[_0xd87daf]={'$like':'%'+_0x534b6c[_0x81b6('0x31')][_0x81b6('0x39')]+'%'};return _0x298c3f;})});}_0x1ea08b=_[_0x81b6('0x3b')]({},_0x1ea08b,_0x534b6c[_0x81b6('0x3e')]);return _0x4cd730[_0x81b6('0x4d')](_0x1ea08b);}})[_0x81b6('0x26')](function(_0x110630){if(_0x110630){_0x31b03d=_0x110630[_0x81b6('0x48')];if(!_0x534b6c[_0x81b6('0x31')][_0x81b6('0x36')](_0x81b6('0x51'))){_0x1ea08b[_0x81b6('0x1f')]=qs[_0x81b6('0x1f')](_0x534b6c['query']['limit']);_0x1ea08b[_0x81b6('0x20')]=qs[_0x81b6('0x20')](_0x534b6c[_0x81b6('0x31')][_0x81b6('0x20')]);}return _0x4cd730[_0x81b6('0x4d')](_0x1ea08b);}})[_0x81b6('0x26')](function(_0x338181){if(_0x338181){return _0x338181?{'count':_0x31b03d,'rows':_0x338181}:null;}})['then'](respondWithResult(_0x53bc15,null))[_0x81b6('0x45')](handleError(_0x53bc15,null));};exports[_0x81b6('0x52')]=function(_0x3b52e9,_0x20eaef,_0xa6e5d0){var _0x26b967={};var _0x491bbc={};var _0x48813e;var _0x37ccb7;return db[_0x81b6('0x3f')]['findOne']({'where':{'id':_0x3b52e9[_0x81b6('0x46')]['id']}})['then'](handleEntityNotFound(_0x20eaef,null))['then'](function(_0x162033){if(_0x162033){_0x48813e=_0x162033;_0x491bbc[_0x81b6('0x30')]=_[_0x81b6('0x47')](db[_0x81b6('0x4f')][_0x81b6('0x2c')]);_0x491bbc[_0x81b6('0x31')]=_[_0x81b6('0x47')](_0x3b52e9[_0x81b6('0x31')]);_0x491bbc[_0x81b6('0x32')]=_['intersection'](_0x491bbc[_0x81b6('0x30')],_0x491bbc[_0x81b6('0x31')]);_0x26b967[_0x81b6('0x34')]=_['intersection'](_0x491bbc['model'],qs[_0x81b6('0x35')](_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x35')]));_0x26b967[_0x81b6('0x34')]=_0x26b967[_0x81b6('0x34')]['length']?_0x26b967[_0x81b6('0x34')]:_0x491bbc[_0x81b6('0x30')];_0x26b967[_0x81b6('0x37')]=qs['sort'](_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x38')]);_0x26b967['where']=qs[_0x81b6('0x32')](_[_0x81b6('0x50')](_0x3b52e9['query'],_0x491bbc[_0x81b6('0x32')]));if(_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x39')]){_0x26b967[_0x81b6('0x3a')]=_[_0x81b6('0x3b')](_0x26b967[_0x81b6('0x3a')],{'$or':_['map'](_0x26b967[_0x81b6('0x34')],function(_0x56bc39){var _0x411c39={};_0x411c39[_0x56bc39]={'$like':'%'+_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x39')]+'%'};return _0x411c39;})});}_0x26b967=_['merge']({},_0x26b967,_0x3b52e9['options']);return _0x48813e[_0x81b6('0x52')](_0x26b967);}})[_0x81b6('0x26')](function(_0x552104){if(_0x552104){_0x37ccb7=_0x552104[_0x81b6('0x48')];if(!_0x3b52e9[_0x81b6('0x31')]['hasOwnProperty'](_0x81b6('0x51'))){_0x26b967[_0x81b6('0x1f')]=qs[_0x81b6('0x1f')](_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x1f')]);_0x26b967[_0x81b6('0x20')]=qs[_0x81b6('0x20')](_0x3b52e9[_0x81b6('0x31')][_0x81b6('0x20')]);}return _0x48813e['getSubjects'](_0x26b967);}})[_0x81b6('0x26')](function(_0x135f76){if(_0x135f76){return _0x135f76?{'count':_0x37ccb7,'rows':_0x135f76}:null;}})['then'](respondWithResult(_0x20eaef,null))[_0x81b6('0x45')](handleError(_0x20eaef,null));};exports[_0x81b6('0x53')]=function(_0x321b64,_0x2d8a2c,_0x353fe5){var _0x4bf2ff={};var _0x2f54e6={};var _0x465922;var _0x8f32af;return db[_0x81b6('0x3f')][_0x81b6('0x4e')]({'where':{'id':_0x321b64[_0x81b6('0x46')]['id']}})['then'](handleEntityNotFound(_0x2d8a2c,null))['then'](function(_0x11cacd){if(_0x11cacd){_0x465922=_0x11cacd;_0x2f54e6[_0x81b6('0x30')]=_[_0x81b6('0x47')](db[_0x81b6('0x4f')]['rawAttributes']);_0x2f54e6[_0x81b6('0x31')]=_[_0x81b6('0x47')](_0x321b64['query']);_0x2f54e6[_0x81b6('0x32')]=_[_0x81b6('0x33')](_0x2f54e6[_0x81b6('0x30')],_0x2f54e6[_0x81b6('0x31')]);_0x4bf2ff[_0x81b6('0x34')]=_[_0x81b6('0x33')](_0x2f54e6[_0x81b6('0x30')],qs[_0x81b6('0x35')](_0x321b64['query'][_0x81b6('0x35')]));_0x4bf2ff[_0x81b6('0x34')]=_0x4bf2ff[_0x81b6('0x34')][_0x81b6('0x48')]?_0x4bf2ff[_0x81b6('0x34')]:_0x2f54e6['model'];_0x4bf2ff[_0x81b6('0x37')]=qs[_0x81b6('0x38')](_0x321b64[_0x81b6('0x31')][_0x81b6('0x38')]);_0x4bf2ff[_0x81b6('0x3a')]=qs[_0x81b6('0x32')](_['pick'](_0x321b64[_0x81b6('0x31')],_0x2f54e6[_0x81b6('0x32')]));if(_0x321b64['query'][_0x81b6('0x39')]){_0x4bf2ff['where']=_[_0x81b6('0x3b')](_0x4bf2ff['where'],{'$or':_['map'](_0x4bf2ff[_0x81b6('0x34')],function(_0x17cb95){var _0xc59e43={};_0xc59e43[_0x17cb95]={'$like':'%'+_0x321b64[_0x81b6('0x31')][_0x81b6('0x39')]+'%'};return _0xc59e43;})});}_0x4bf2ff=_[_0x81b6('0x3b')]({},_0x4bf2ff,_0x321b64[_0x81b6('0x3e')]);return _0x465922['getDescriptions'](_0x4bf2ff);}})[_0x81b6('0x26')](function(_0x38566d){if(_0x38566d){_0x8f32af=_0x38566d[_0x81b6('0x48')];if(!_0x321b64[_0x81b6('0x31')][_0x81b6('0x36')](_0x81b6('0x51'))){_0x4bf2ff['limit']=qs['limit'](_0x321b64[_0x81b6('0x31')][_0x81b6('0x1f')]);_0x4bf2ff['offset']=qs[_0x81b6('0x20')](_0x321b64[_0x81b6('0x31')]['offset']);}return _0x465922['getDescriptions'](_0x4bf2ff);}})[_0x81b6('0x26')](function(_0x3d6914){if(_0x3d6914){return _0x3d6914?{'count':_0x8f32af,'rows':_0x3d6914}:null;}})[_0x81b6('0x26')](respondWithResult(_0x2d8a2c,null))['catch'](handleError(_0x2d8a2c,null));};