Built motion from commit e1760111.|2.6.18
[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 _0xc776=['fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','apply','reject','save','update','then','end','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','length','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','SugarcrmConfiguration','findAll','rows','catch','show','params','keys','fields','find','create','body','findOne','getFields','hasOwnProperty','SugarcrmField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv'];(function(_0xe8717e,_0x3e4490){var _0x35fe19=function(_0x586c18){while(--_0x586c18){_0xe8717e['push'](_0xe8717e['shift']());}};_0x35fe19(++_0x3e4490);}(_0xc776,0x18a));var _0x6c77=function(_0x3fd60a,_0x217502){_0x3fd60a=_0x3fd60a-0x0;var _0x2aa415=_0xc776[_0x3fd60a];return _0x2aa415;};'use strict';var emlformat=require(_0x6c77('0x0'));var rimraf=require(_0x6c77('0x1'));var zipdir=require(_0x6c77('0x2'));var jsonpatch=require(_0x6c77('0x3'));var rp=require(_0x6c77('0x4'));var moment=require(_0x6c77('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x6c77('0x6'));var util=require(_0x6c77('0x7'));var path=require(_0x6c77('0x8'));var sox=require(_0x6c77('0x9'));var csv=require(_0x6c77('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6c77('0xb'));var _=require(_0x6c77('0xc'));var squel=require(_0x6c77('0xd'));var crypto=require(_0x6c77('0xe'));var jsforce=require(_0x6c77('0xf'));var deskjs=require(_0x6c77('0x10'));var toCsv=require(_0x6c77('0xa'));var querystring=require(_0x6c77('0x11'));var Papa=require(_0x6c77('0x12'));var Redis=require(_0x6c77('0x13'));var authService=require(_0x6c77('0x14'));var qs=require(_0x6c77('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x6c77('0x16'))(_0x6c77('0x17'));var utils=require('../../config/utils');var config=require(_0x6c77('0x18'));var licenseUtil=require(_0x6c77('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43bf53,_0x3fc944){_0x3fc944=_0x3fc944||0xcc;return function(_0xc9b555){if(_0xc9b555){return _0x43bf53[_0x6c77('0x1a')](_0x3fc944);}return _0x43bf53[_0x6c77('0x1b')](_0x3fc944)['end']();};}function respondWithResult(_0x45c16c,_0x3a9034){_0x3a9034=_0x3a9034||0xc8;return function(_0x5eee2a){if(_0x5eee2a){return _0x45c16c[_0x6c77('0x1b')](_0x3a9034)[_0x6c77('0x1c')](_0x5eee2a);}};}function respondWithFilteredResult(_0x3952c4,_0x26dd41){return function(_0x737a87){if(_0x737a87){var _0x44ba2b=typeof _0x26dd41[_0x6c77('0x1d')]===_0x6c77('0x1e')&&typeof _0x26dd41[_0x6c77('0x1f')]==='undefined';var _0x4fbaad=_0x737a87[_0x6c77('0x20')];var _0xc64982=_0x44ba2b?0x0:_0x26dd41[_0x6c77('0x1d')];var _0x43f4ec=_0x44ba2b?_0x737a87['count']:_0x26dd41[_0x6c77('0x1d')]+_0x26dd41[_0x6c77('0x1f')];var _0x1df74a;if(_0x43f4ec>=_0x4fbaad){_0x43f4ec=_0x4fbaad;_0x1df74a=0xc8;}else{_0x1df74a=0xce;}_0x3952c4['status'](_0x1df74a);return _0x3952c4['set']('Content-Range',_0xc64982+'-'+_0x43f4ec+'/'+_0x4fbaad)[_0x6c77('0x1c')](_0x737a87);}return null;};}function patchUpdates(_0x530ec6){return function(_0x40efa0){try{jsonpatch[_0x6c77('0x21')](_0x40efa0,_0x530ec6,!![]);}catch(_0x562b58){return BPromise[_0x6c77('0x22')](_0x562b58);}return _0x40efa0[_0x6c77('0x23')]();};}function saveUpdates(_0x358099,_0x1ba542){return function(_0x5d0de0){if(_0x5d0de0){return _0x5d0de0[_0x6c77('0x24')](_0x358099)[_0x6c77('0x25')](function(_0x1846b5){return _0x1846b5;});}return null;};}function removeEntity(_0x4e4ca4,_0x325dc1){return function(_0x33e99c){if(_0x33e99c){return _0x33e99c['destroy']()[_0x6c77('0x25')](function(){_0x4e4ca4['status'](0xcc)[_0x6c77('0x26')]();});}};}function handleEntityNotFound(_0x24566c,_0x4fd58d){return function(_0x1a412f){if(!_0x1a412f){_0x24566c[_0x6c77('0x1a')](0x194);}return _0x1a412f;};}function handleError(_0x55655f,_0x403891){_0x403891=_0x403891||0x1f4;return function(_0x509bb4){logger['error'](_0x509bb4[_0x6c77('0x27')]);if(_0x509bb4[_0x6c77('0x28')]){delete _0x509bb4[_0x6c77('0x28')];}_0x55655f[_0x6c77('0x1b')](_0x403891)[_0x6c77('0x29')](_0x509bb4);};}exports[_0x6c77('0x2a')]=function(_0x2ccb6a,_0x1c6cc6){var _0x17d88a={},_0x3d0567={},_0x166ec6={'count':0x0,'rows':[]};var _0x133a84=_[_0x6c77('0x2b')](db['SugarcrmConfiguration'][_0x6c77('0x2c')],function(_0x1118ae){return{'name':_0x1118ae[_0x6c77('0x2d')],'type':_0x1118ae[_0x6c77('0x2e')][_0x6c77('0x2f')]};});_0x3d0567[_0x6c77('0x30')]=_[_0x6c77('0x2b')](_0x133a84,_0x6c77('0x28'));_0x3d0567[_0x6c77('0x31')]=_['keys'](_0x2ccb6a[_0x6c77('0x31')]);_0x3d0567[_0x6c77('0x32')]=_[_0x6c77('0x33')](_0x3d0567[_0x6c77('0x30')],_0x3d0567[_0x6c77('0x31')]);_0x17d88a[_0x6c77('0x34')]=_[_0x6c77('0x33')](_0x3d0567[_0x6c77('0x30')],qs['fields'](_0x2ccb6a[_0x6c77('0x31')]['fields']));_0x17d88a[_0x6c77('0x34')]=_0x17d88a[_0x6c77('0x34')][_0x6c77('0x35')]?_0x17d88a[_0x6c77('0x34')]:_0x3d0567[_0x6c77('0x30')];if(!_0x2ccb6a['query']['hasOwnProperty'](_0x6c77('0x36'))){_0x17d88a['limit']=qs[_0x6c77('0x1f')](_0x2ccb6a[_0x6c77('0x31')][_0x6c77('0x1f')]);_0x17d88a[_0x6c77('0x1d')]=qs[_0x6c77('0x1d')](_0x2ccb6a[_0x6c77('0x31')][_0x6c77('0x1d')]);}_0x17d88a[_0x6c77('0x37')]=qs[_0x6c77('0x38')](_0x2ccb6a[_0x6c77('0x31')][_0x6c77('0x38')]);_0x17d88a[_0x6c77('0x39')]=qs[_0x6c77('0x32')](_[_0x6c77('0x3a')](_0x2ccb6a[_0x6c77('0x31')],_0x3d0567['filters']),_0x133a84);if(_0x2ccb6a[_0x6c77('0x31')][_0x6c77('0x3b')]){_0x17d88a[_0x6c77('0x39')]=_['merge'](_0x17d88a[_0x6c77('0x39')],{'$or':_['map'](_0x133a84,function(_0x221266){if(_0x221266[_0x6c77('0x2e')]!=='VIRTUAL'){var _0x3c048d={};_0x3c048d[_0x221266[_0x6c77('0x28')]]={'$like':'%'+_0x2ccb6a['query'][_0x6c77('0x3b')]+'%'};return _0x3c048d;}})});}_0x17d88a=_[_0x6c77('0x3c')]({},_0x17d88a,_0x2ccb6a[_0x6c77('0x3d')]);var _0x23af76={'where':_0x17d88a['where']};return db['SugarcrmConfiguration'][_0x6c77('0x20')](_0x23af76)[_0x6c77('0x25')](function(_0x512612){_0x166ec6[_0x6c77('0x20')]=_0x512612;if(_0x2ccb6a['query'][_0x6c77('0x3e')]){_0x17d88a[_0x6c77('0x3f')]=[{'all':!![]}];}return db[_0x6c77('0x40')][_0x6c77('0x41')](_0x17d88a);})['then'](function(_0x439767){_0x166ec6[_0x6c77('0x42')]=_0x439767;return _0x166ec6;})[_0x6c77('0x25')](respondWithFilteredResult(_0x1c6cc6,_0x17d88a))[_0x6c77('0x43')](handleError(_0x1c6cc6,null));};exports[_0x6c77('0x44')]=function(_0x5f39c2,_0x218e00){var _0x29609c={'raw':![],'where':{'id':_0x5f39c2[_0x6c77('0x45')]['id']}},_0x248c48={};_0x248c48[_0x6c77('0x30')]=_['keys'](db[_0x6c77('0x40')][_0x6c77('0x2c')]);_0x248c48[_0x6c77('0x31')]=_[_0x6c77('0x46')](_0x5f39c2[_0x6c77('0x31')]);_0x248c48[_0x6c77('0x32')]=_[_0x6c77('0x33')](_0x248c48[_0x6c77('0x30')],_0x248c48[_0x6c77('0x31')]);_0x29609c['attributes']=_[_0x6c77('0x33')](_0x248c48[_0x6c77('0x30')],qs['fields'](_0x5f39c2[_0x6c77('0x31')][_0x6c77('0x47')]));_0x29609c[_0x6c77('0x34')]=_0x29609c[_0x6c77('0x34')][_0x6c77('0x35')]?_0x29609c[_0x6c77('0x34')]:_0x248c48[_0x6c77('0x30')];if(_0x5f39c2[_0x6c77('0x31')]['includeAll']){_0x29609c[_0x6c77('0x3f')]=[{'all':!![]}];}_0x29609c=_[_0x6c77('0x3c')]({},_0x29609c,_0x5f39c2[_0x6c77('0x3d')]);return db['SugarcrmConfiguration'][_0x6c77('0x48')](_0x29609c)[_0x6c77('0x25')](handleEntityNotFound(_0x218e00,null))[_0x6c77('0x25')](respondWithResult(_0x218e00,null))['catch'](handleError(_0x218e00,null));};exports[_0x6c77('0x49')]=function(_0x717fa4,_0x709dbb){return db[_0x6c77('0x40')][_0x6c77('0x49')](_0x717fa4[_0x6c77('0x4a')],{})[_0x6c77('0x25')](respondWithResult(_0x709dbb,0xc9))[_0x6c77('0x43')](handleError(_0x709dbb,null));};exports[_0x6c77('0x24')]=function(_0x625a9f,_0x49bf05){if(_0x625a9f[_0x6c77('0x4a')]['id']){delete _0x625a9f[_0x6c77('0x4a')]['id'];}return db['SugarcrmConfiguration'][_0x6c77('0x48')]({'where':{'id':_0x625a9f[_0x6c77('0x45')]['id']}})[_0x6c77('0x25')](handleEntityNotFound(_0x49bf05,null))['then'](saveUpdates(_0x625a9f['body'],null))[_0x6c77('0x25')](respondWithResult(_0x49bf05,null))[_0x6c77('0x43')](handleError(_0x49bf05,null));};exports['destroy']=function(_0x4c1f25,_0x570964){return db[_0x6c77('0x40')]['find']({'where':{'id':_0x4c1f25['params']['id']}})[_0x6c77('0x25')](handleEntityNotFound(_0x570964,null))[_0x6c77('0x25')](removeEntity(_0x570964,null))[_0x6c77('0x43')](handleError(_0x570964,null));};exports['getFields']=function(_0x134ff9,_0x5ae7d9,_0x3477b9){var _0x316b5c={};var _0x299bcf={};var _0x4fbd6f;var _0x45116a;return db['SugarcrmConfiguration'][_0x6c77('0x4b')]({'where':{'id':_0x134ff9['params']['id']}})[_0x6c77('0x25')](handleEntityNotFound(_0x5ae7d9,null))['then'](function(_0x189f82){if(_0x189f82){_0x4fbd6f=_0x189f82;_0x299bcf[_0x6c77('0x30')]=_[_0x6c77('0x46')](db['SugarcrmField'][_0x6c77('0x2c')]);_0x299bcf['query']=_['keys'](_0x134ff9[_0x6c77('0x31')]);_0x299bcf[_0x6c77('0x32')]=_[_0x6c77('0x33')](_0x299bcf[_0x6c77('0x30')],_0x299bcf['query']);_0x316b5c[_0x6c77('0x34')]=_[_0x6c77('0x33')](_0x299bcf[_0x6c77('0x30')],qs[_0x6c77('0x47')](_0x134ff9['query'][_0x6c77('0x47')]));_0x316b5c['attributes']=_0x316b5c[_0x6c77('0x34')][_0x6c77('0x35')]?_0x316b5c[_0x6c77('0x34')]:_0x299bcf['model'];_0x316b5c[_0x6c77('0x37')]=qs['sort'](_0x134ff9[_0x6c77('0x31')][_0x6c77('0x38')]);_0x316b5c[_0x6c77('0x39')]=qs['filters'](_[_0x6c77('0x3a')](_0x134ff9['query'],_0x299bcf[_0x6c77('0x32')]));if(_0x134ff9['query']['filter']){_0x316b5c[_0x6c77('0x39')]=_[_0x6c77('0x3c')](_0x316b5c[_0x6c77('0x39')],{'$or':_[_0x6c77('0x2b')](_0x316b5c[_0x6c77('0x34')],function(_0x53105b){var _0x1bf3f3={};_0x1bf3f3[_0x53105b]={'$like':'%'+_0x134ff9[_0x6c77('0x31')][_0x6c77('0x3b')]+'%'};return _0x1bf3f3;})});}_0x316b5c=_['merge']({},_0x316b5c,_0x134ff9['options']);return _0x4fbd6f[_0x6c77('0x4c')](_0x316b5c);}})[_0x6c77('0x25')](function(_0x4f7b3e){if(_0x4f7b3e){_0x45116a=_0x4f7b3e[_0x6c77('0x35')];if(!_0x134ff9[_0x6c77('0x31')][_0x6c77('0x4d')](_0x6c77('0x36'))){_0x316b5c[_0x6c77('0x1f')]=qs[_0x6c77('0x1f')](_0x134ff9['query'][_0x6c77('0x1f')]);_0x316b5c[_0x6c77('0x1d')]=qs[_0x6c77('0x1d')](_0x134ff9['query'][_0x6c77('0x1d')]);}return _0x4fbd6f[_0x6c77('0x4c')](_0x316b5c);}})[_0x6c77('0x25')](function(_0x52ced0){if(_0x52ced0){return _0x52ced0?{'count':_0x45116a,'rows':_0x52ced0}:null;}})[_0x6c77('0x25')](respondWithResult(_0x5ae7d9,null))[_0x6c77('0x43')](handleError(_0x5ae7d9,null));};exports['getSubjects']=function(_0x41cb8a,_0xb2f3ed,_0xd7feb){var _0x45ed05={};var _0x2fe1ff={};var _0xf10ffe;var _0x411e9e;return db[_0x6c77('0x40')]['findOne']({'where':{'id':_0x41cb8a[_0x6c77('0x45')]['id']}})[_0x6c77('0x25')](handleEntityNotFound(_0xb2f3ed,null))[_0x6c77('0x25')](function(_0x13630f){if(_0x13630f){_0xf10ffe=_0x13630f;_0x2fe1ff[_0x6c77('0x30')]=_[_0x6c77('0x46')](db[_0x6c77('0x4e')]['rawAttributes']);_0x2fe1ff[_0x6c77('0x31')]=_[_0x6c77('0x46')](_0x41cb8a[_0x6c77('0x31')]);_0x2fe1ff['filters']=_['intersection'](_0x2fe1ff[_0x6c77('0x30')],_0x2fe1ff[_0x6c77('0x31')]);_0x45ed05['attributes']=_['intersection'](_0x2fe1ff[_0x6c77('0x30')],qs[_0x6c77('0x47')](_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x47')]));_0x45ed05[_0x6c77('0x34')]=_0x45ed05[_0x6c77('0x34')][_0x6c77('0x35')]?_0x45ed05[_0x6c77('0x34')]:_0x2fe1ff[_0x6c77('0x30')];_0x45ed05['order']=qs[_0x6c77('0x38')](_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x38')]);_0x45ed05['where']=qs[_0x6c77('0x32')](_['pick'](_0x41cb8a['query'],_0x2fe1ff[_0x6c77('0x32')]));if(_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x3b')]){_0x45ed05[_0x6c77('0x39')]=_['merge'](_0x45ed05['where'],{'$or':_[_0x6c77('0x2b')](_0x45ed05[_0x6c77('0x34')],function(_0x2c2de4){var _0x42c7a1={};_0x42c7a1[_0x2c2de4]={'$like':'%'+_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x3b')]+'%'};return _0x42c7a1;})});}_0x45ed05=_[_0x6c77('0x3c')]({},_0x45ed05,_0x41cb8a[_0x6c77('0x3d')]);return _0xf10ffe[_0x6c77('0x4f')](_0x45ed05);}})['then'](function(_0x3b8a3b){if(_0x3b8a3b){_0x411e9e=_0x3b8a3b[_0x6c77('0x35')];if(!_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x4d')](_0x6c77('0x36'))){_0x45ed05['limit']=qs[_0x6c77('0x1f')](_0x41cb8a[_0x6c77('0x31')]['limit']);_0x45ed05[_0x6c77('0x1d')]=qs[_0x6c77('0x1d')](_0x41cb8a[_0x6c77('0x31')][_0x6c77('0x1d')]);}return _0xf10ffe[_0x6c77('0x4f')](_0x45ed05);}})[_0x6c77('0x25')](function(_0x20fc0b){if(_0x20fc0b){return _0x20fc0b?{'count':_0x411e9e,'rows':_0x20fc0b}:null;}})[_0x6c77('0x25')](respondWithResult(_0xb2f3ed,null))[_0x6c77('0x43')](handleError(_0xb2f3ed,null));};exports[_0x6c77('0x50')]=function(_0x2970de,_0x2a5f0d,_0x4e7c0d){var _0x2a07df={};var _0x1b0cff={};var _0x438c10;var _0x360577;return db['SugarcrmConfiguration']['findOne']({'where':{'id':_0x2970de[_0x6c77('0x45')]['id']}})[_0x6c77('0x25')](handleEntityNotFound(_0x2a5f0d,null))['then'](function(_0xc6debb){if(_0xc6debb){_0x438c10=_0xc6debb;_0x1b0cff[_0x6c77('0x30')]=_[_0x6c77('0x46')](db['SugarcrmField'][_0x6c77('0x2c')]);_0x1b0cff[_0x6c77('0x31')]=_[_0x6c77('0x46')](_0x2970de[_0x6c77('0x31')]);_0x1b0cff['filters']=_['intersection'](_0x1b0cff['model'],_0x1b0cff[_0x6c77('0x31')]);_0x2a07df[_0x6c77('0x34')]=_[_0x6c77('0x33')](_0x1b0cff[_0x6c77('0x30')],qs[_0x6c77('0x47')](_0x2970de[_0x6c77('0x31')]['fields']));_0x2a07df['attributes']=_0x2a07df[_0x6c77('0x34')][_0x6c77('0x35')]?_0x2a07df[_0x6c77('0x34')]:_0x1b0cff[_0x6c77('0x30')];_0x2a07df['order']=qs[_0x6c77('0x38')](_0x2970de['query'][_0x6c77('0x38')]);_0x2a07df[_0x6c77('0x39')]=qs['filters'](_[_0x6c77('0x3a')](_0x2970de[_0x6c77('0x31')],_0x1b0cff[_0x6c77('0x32')]));if(_0x2970de['query'][_0x6c77('0x3b')]){_0x2a07df['where']=_[_0x6c77('0x3c')](_0x2a07df[_0x6c77('0x39')],{'$or':_['map'](_0x2a07df[_0x6c77('0x34')],function(_0x1f5856){var _0x76c9f={};_0x76c9f[_0x1f5856]={'$like':'%'+_0x2970de[_0x6c77('0x31')][_0x6c77('0x3b')]+'%'};return _0x76c9f;})});}_0x2a07df=_['merge']({},_0x2a07df,_0x2970de[_0x6c77('0x3d')]);return _0x438c10[_0x6c77('0x50')](_0x2a07df);}})[_0x6c77('0x25')](function(_0x57cf1d){if(_0x57cf1d){_0x360577=_0x57cf1d['length'];if(!_0x2970de[_0x6c77('0x31')][_0x6c77('0x4d')](_0x6c77('0x36'))){_0x2a07df[_0x6c77('0x1f')]=qs[_0x6c77('0x1f')](_0x2970de[_0x6c77('0x31')][_0x6c77('0x1f')]);_0x2a07df['offset']=qs[_0x6c77('0x1d')](_0x2970de[_0x6c77('0x31')][_0x6c77('0x1d')]);}return _0x438c10[_0x6c77('0x50')](_0x2a07df);}})['then'](function(_0x58817d){if(_0x58817d){return _0x58817d?{'count':_0x360577,'rows':_0x58817d}:null;}})[_0x6c77('0x25')](respondWithResult(_0x2a5f0d,null))['catch'](handleError(_0x2a5f0d,null));};