Built motion from commit 1fa89557.|2.6.10
[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 _0x6ac6=['set','Content-Range','apply','reject','save','update','destroy','stack','name','map','SugarcrmConfiguration','rawAttributes','fieldName','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','include','rows','catch','show','params','intersection','find','create','body','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','sendStatus','status','end','json','undefined','limit','count','offset'];(function(_0x88a0a,_0x30c5fe){var _0x1317bc=function(_0x2ece6e){while(--_0x2ece6e){_0x88a0a['push'](_0x88a0a['shift']());}};_0x1317bc(++_0x30c5fe);}(_0x6ac6,0x163));var _0x66ac=function(_0x4dfca6,_0x275196){_0x4dfca6=_0x4dfca6-0x0;var _0x19aa8d=_0x6ac6[_0x4dfca6];return _0x19aa8d;};'use strict';var emlformat=require(_0x66ac('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x66ac('0x1'));var jsonpatch=require(_0x66ac('0x2'));var rp=require(_0x66ac('0x3'));var moment=require(_0x66ac('0x4'));var BPromise=require(_0x66ac('0x5'));var Mustache=require(_0x66ac('0x6'));var util=require('util');var path=require('path');var sox=require(_0x66ac('0x7'));var csv=require('to-csv');var ejs=require(_0x66ac('0x8'));var fs=require('fs');var fs_extra=require(_0x66ac('0x9'));var _=require('lodash');var squel=require(_0x66ac('0xa'));var crypto=require(_0x66ac('0xb'));var jsforce=require(_0x66ac('0xc'));var deskjs=require(_0x66ac('0xd'));var toCsv=require(_0x66ac('0xe'));var querystring=require(_0x66ac('0xf'));var Papa=require(_0x66ac('0x10'));var Redis=require('ioredis');var authService=require(_0x66ac('0x11'));var qs=require(_0x66ac('0x12'));var as=require(_0x66ac('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x66ac('0x14'));var licenseUtil=require(_0x66ac('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5f166d,_0x17e18a){_0x17e18a=_0x17e18a||0xcc;return function(_0x638a73){if(_0x638a73){return _0x5f166d[_0x66ac('0x16')](_0x17e18a);}return _0x5f166d[_0x66ac('0x17')](_0x17e18a)[_0x66ac('0x18')]();};}function respondWithResult(_0x3077c4,_0x15f80d){_0x15f80d=_0x15f80d||0xc8;return function(_0x2c87d1){if(_0x2c87d1){return _0x3077c4[_0x66ac('0x17')](_0x15f80d)[_0x66ac('0x19')](_0x2c87d1);}};}function respondWithFilteredResult(_0x23c51,_0xa63762){return function(_0x10f4a9){if(_0x10f4a9){var _0x1e1951=typeof _0xa63762['offset']===_0x66ac('0x1a')&&typeof _0xa63762[_0x66ac('0x1b')]===_0x66ac('0x1a');var _0xaed01=_0x10f4a9[_0x66ac('0x1c')];var _0x3d1e4b=_0x1e1951?0x0:_0xa63762[_0x66ac('0x1d')];var _0x5817a7=_0x1e1951?_0x10f4a9[_0x66ac('0x1c')]:_0xa63762[_0x66ac('0x1d')]+_0xa63762[_0x66ac('0x1b')];var _0x14b383;if(_0x5817a7>=_0xaed01){_0x5817a7=_0xaed01;_0x14b383=0xc8;}else{_0x14b383=0xce;}_0x23c51['status'](_0x14b383);return _0x23c51[_0x66ac('0x1e')](_0x66ac('0x1f'),_0x3d1e4b+'-'+_0x5817a7+'/'+_0xaed01)['json'](_0x10f4a9);}return null;};}function patchUpdates(_0x452a37){return function(_0x4c2137){try{jsonpatch[_0x66ac('0x20')](_0x4c2137,_0x452a37,!![]);}catch(_0x5e41e7){return BPromise[_0x66ac('0x21')](_0x5e41e7);}return _0x4c2137[_0x66ac('0x22')]();};}function saveUpdates(_0x29ec5d,_0x11d7ff){return function(_0x4c6409){if(_0x4c6409){return _0x4c6409[_0x66ac('0x23')](_0x29ec5d)['then'](function(_0x51af11){return _0x51af11;});}return null;};}function removeEntity(_0x155acd,_0x43401f){return function(_0x5f1c85){if(_0x5f1c85){return _0x5f1c85[_0x66ac('0x24')]()['then'](function(){_0x155acd['status'](0xcc)[_0x66ac('0x18')]();});}};}function handleEntityNotFound(_0x41a5c4,_0xf4361e){return function(_0x38e713){if(!_0x38e713){_0x41a5c4[_0x66ac('0x16')](0x194);}return _0x38e713;};}function handleError(_0x56328b,_0x534750){_0x534750=_0x534750||0x1f4;return function(_0x37ce60){logger['error'](_0x37ce60[_0x66ac('0x25')]);if(_0x37ce60[_0x66ac('0x26')]){delete _0x37ce60[_0x66ac('0x26')];}_0x56328b['status'](_0x534750)['send'](_0x37ce60);};}exports['index']=function(_0x80d42e,_0x21942d){var _0x2424a0={},_0x363313={},_0x454376={'count':0x0,'rows':[]};var _0x214392=_[_0x66ac('0x27')](db[_0x66ac('0x28')][_0x66ac('0x29')],function(_0x29c318){return{'name':_0x29c318[_0x66ac('0x2a')],'type':_0x29c318['type'][_0x66ac('0x2b')]};});_0x363313[_0x66ac('0x2c')]=_[_0x66ac('0x27')](_0x214392,_0x66ac('0x26'));_0x363313['query']=_[_0x66ac('0x2d')](_0x80d42e[_0x66ac('0x2e')]);_0x363313[_0x66ac('0x2f')]=_['intersection'](_0x363313['model'],_0x363313['query']);_0x2424a0[_0x66ac('0x30')]=_['intersection'](_0x363313[_0x66ac('0x2c')],qs[_0x66ac('0x31')](_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x31')]));_0x2424a0[_0x66ac('0x30')]=_0x2424a0[_0x66ac('0x30')][_0x66ac('0x32')]?_0x2424a0[_0x66ac('0x30')]:_0x363313[_0x66ac('0x2c')];if(!_0x80d42e['query'][_0x66ac('0x33')](_0x66ac('0x34'))){_0x2424a0['limit']=qs[_0x66ac('0x1b')](_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x1b')]);_0x2424a0[_0x66ac('0x1d')]=qs[_0x66ac('0x1d')](_0x80d42e['query']['offset']);}_0x2424a0[_0x66ac('0x35')]=qs[_0x66ac('0x36')](_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x36')]);_0x2424a0[_0x66ac('0x37')]=qs[_0x66ac('0x2f')](_[_0x66ac('0x38')](_0x80d42e['query'],_0x363313['filters']),_0x214392);if(_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x39')]){_0x2424a0[_0x66ac('0x37')]=_[_0x66ac('0x3a')](_0x2424a0[_0x66ac('0x37')],{'$or':_['map'](_0x214392,function(_0x1fb99e){if(_0x1fb99e['type']!==_0x66ac('0x3b')){var _0x27d99c={};_0x27d99c[_0x1fb99e['name']]={'$like':'%'+_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x39')]+'%'};return _0x27d99c;}})});}_0x2424a0=_[_0x66ac('0x3a')]({},_0x2424a0,_0x80d42e[_0x66ac('0x3c')]);var _0x9481b4={'where':_0x2424a0[_0x66ac('0x37')]};return db[_0x66ac('0x28')]['count'](_0x9481b4)[_0x66ac('0x3d')](function(_0x385d6a){_0x454376['count']=_0x385d6a;if(_0x80d42e[_0x66ac('0x2e')][_0x66ac('0x3e')]){_0x2424a0[_0x66ac('0x3f')]=[{'all':!![]}];}return db[_0x66ac('0x28')]['findAll'](_0x2424a0);})[_0x66ac('0x3d')](function(_0x31823e){_0x454376[_0x66ac('0x40')]=_0x31823e;return _0x454376;})['then'](respondWithFilteredResult(_0x21942d,_0x2424a0))[_0x66ac('0x41')](handleError(_0x21942d,null));};exports[_0x66ac('0x42')]=function(_0x58e40f,_0x11fe50){var _0x45a3b6={'raw':![],'where':{'id':_0x58e40f[_0x66ac('0x43')]['id']}},_0x3013f8={};_0x3013f8[_0x66ac('0x2c')]=_['keys'](db[_0x66ac('0x28')][_0x66ac('0x29')]);_0x3013f8['query']=_[_0x66ac('0x2d')](_0x58e40f[_0x66ac('0x2e')]);_0x3013f8[_0x66ac('0x2f')]=_[_0x66ac('0x44')](_0x3013f8[_0x66ac('0x2c')],_0x3013f8['query']);_0x45a3b6['attributes']=_['intersection'](_0x3013f8[_0x66ac('0x2c')],qs[_0x66ac('0x31')](_0x58e40f[_0x66ac('0x2e')][_0x66ac('0x31')]));_0x45a3b6[_0x66ac('0x30')]=_0x45a3b6[_0x66ac('0x30')][_0x66ac('0x32')]?_0x45a3b6['attributes']:_0x3013f8['model'];if(_0x58e40f[_0x66ac('0x2e')][_0x66ac('0x3e')]){_0x45a3b6[_0x66ac('0x3f')]=[{'all':!![]}];}_0x45a3b6=_[_0x66ac('0x3a')]({},_0x45a3b6,_0x58e40f[_0x66ac('0x3c')]);return db['SugarcrmConfiguration'][_0x66ac('0x45')](_0x45a3b6)[_0x66ac('0x3d')](handleEntityNotFound(_0x11fe50,null))['then'](respondWithResult(_0x11fe50,null))[_0x66ac('0x41')](handleError(_0x11fe50,null));};exports[_0x66ac('0x46')]=function(_0x1422d4,_0x539aa6){return db[_0x66ac('0x28')][_0x66ac('0x46')](_0x1422d4[_0x66ac('0x47')],{})[_0x66ac('0x3d')](respondWithResult(_0x539aa6,0xc9))[_0x66ac('0x41')](handleError(_0x539aa6,null));};exports['update']=function(_0x15b5e2,_0x4e849a){if(_0x15b5e2[_0x66ac('0x47')]['id']){delete _0x15b5e2[_0x66ac('0x47')]['id'];}return db[_0x66ac('0x28')][_0x66ac('0x45')]({'where':{'id':_0x15b5e2['params']['id']}})[_0x66ac('0x3d')](handleEntityNotFound(_0x4e849a,null))[_0x66ac('0x3d')](saveUpdates(_0x15b5e2[_0x66ac('0x47')],null))[_0x66ac('0x3d')](respondWithResult(_0x4e849a,null))['catch'](handleError(_0x4e849a,null));};exports[_0x66ac('0x24')]=function(_0x425949,_0x136fac){return db['SugarcrmConfiguration'][_0x66ac('0x45')]({'where':{'id':_0x425949[_0x66ac('0x43')]['id']}})[_0x66ac('0x3d')](handleEntityNotFound(_0x136fac,null))[_0x66ac('0x3d')](removeEntity(_0x136fac,null))[_0x66ac('0x41')](handleError(_0x136fac,null));};exports[_0x66ac('0x48')]=function(_0x417c4d,_0x3ec531,_0x538b2e){var _0x722f9={};var _0x394ff2={};var _0x5bdaf4;var _0x7e7476;return db[_0x66ac('0x28')][_0x66ac('0x49')]({'where':{'id':_0x417c4d[_0x66ac('0x43')]['id']}})[_0x66ac('0x3d')](handleEntityNotFound(_0x3ec531,null))[_0x66ac('0x3d')](function(_0x5d23d6){if(_0x5d23d6){_0x5bdaf4=_0x5d23d6;_0x394ff2['model']=_[_0x66ac('0x2d')](db[_0x66ac('0x4a')][_0x66ac('0x29')]);_0x394ff2[_0x66ac('0x2e')]=_['keys'](_0x417c4d[_0x66ac('0x2e')]);_0x394ff2[_0x66ac('0x2f')]=_[_0x66ac('0x44')](_0x394ff2[_0x66ac('0x2c')],_0x394ff2['query']);_0x722f9['attributes']=_[_0x66ac('0x44')](_0x394ff2[_0x66ac('0x2c')],qs[_0x66ac('0x31')](_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x31')]));_0x722f9['attributes']=_0x722f9[_0x66ac('0x30')][_0x66ac('0x32')]?_0x722f9[_0x66ac('0x30')]:_0x394ff2[_0x66ac('0x2c')];_0x722f9[_0x66ac('0x35')]=qs[_0x66ac('0x36')](_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x36')]);_0x722f9[_0x66ac('0x37')]=qs['filters'](_[_0x66ac('0x38')](_0x417c4d[_0x66ac('0x2e')],_0x394ff2[_0x66ac('0x2f')]));if(_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x39')]){_0x722f9['where']=_[_0x66ac('0x3a')](_0x722f9[_0x66ac('0x37')],{'$or':_[_0x66ac('0x27')](_0x722f9[_0x66ac('0x30')],function(_0x74f5c0){var _0xe2b3f6={};_0xe2b3f6[_0x74f5c0]={'$like':'%'+_0x417c4d[_0x66ac('0x2e')]['filter']+'%'};return _0xe2b3f6;})});}_0x722f9=_[_0x66ac('0x3a')]({},_0x722f9,_0x417c4d[_0x66ac('0x3c')]);return _0x5bdaf4[_0x66ac('0x48')](_0x722f9);}})[_0x66ac('0x3d')](function(_0x4693ff){if(_0x4693ff){_0x7e7476=_0x4693ff[_0x66ac('0x32')];if(!_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x33')](_0x66ac('0x34'))){_0x722f9[_0x66ac('0x1b')]=qs[_0x66ac('0x1b')](_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x1b')]);_0x722f9[_0x66ac('0x1d')]=qs[_0x66ac('0x1d')](_0x417c4d[_0x66ac('0x2e')][_0x66ac('0x1d')]);}return _0x5bdaf4[_0x66ac('0x48')](_0x722f9);}})[_0x66ac('0x3d')](function(_0x360cff){if(_0x360cff){return _0x360cff?{'count':_0x7e7476,'rows':_0x360cff}:null;}})['then'](respondWithResult(_0x3ec531,null))['catch'](handleError(_0x3ec531,null));};exports[_0x66ac('0x4b')]=function(_0xe12f7,_0x17cb5d,_0x55ef8e){var _0x2ae9a7={};var _0x47bb05={};var _0x36e922;var _0x4df497;return db['SugarcrmConfiguration'][_0x66ac('0x49')]({'where':{'id':_0xe12f7[_0x66ac('0x43')]['id']}})['then'](handleEntityNotFound(_0x17cb5d,null))[_0x66ac('0x3d')](function(_0x21592d){if(_0x21592d){_0x36e922=_0x21592d;_0x47bb05[_0x66ac('0x2c')]=_[_0x66ac('0x2d')](db[_0x66ac('0x4a')][_0x66ac('0x29')]);_0x47bb05[_0x66ac('0x2e')]=_['keys'](_0xe12f7[_0x66ac('0x2e')]);_0x47bb05['filters']=_['intersection'](_0x47bb05[_0x66ac('0x2c')],_0x47bb05[_0x66ac('0x2e')]);_0x2ae9a7['attributes']=_['intersection'](_0x47bb05[_0x66ac('0x2c')],qs['fields'](_0xe12f7['query'][_0x66ac('0x31')]));_0x2ae9a7[_0x66ac('0x30')]=_0x2ae9a7[_0x66ac('0x30')][_0x66ac('0x32')]?_0x2ae9a7[_0x66ac('0x30')]:_0x47bb05[_0x66ac('0x2c')];_0x2ae9a7[_0x66ac('0x35')]=qs['sort'](_0xe12f7[_0x66ac('0x2e')][_0x66ac('0x36')]);_0x2ae9a7[_0x66ac('0x37')]=qs[_0x66ac('0x2f')](_[_0x66ac('0x38')](_0xe12f7[_0x66ac('0x2e')],_0x47bb05[_0x66ac('0x2f')]));if(_0xe12f7[_0x66ac('0x2e')][_0x66ac('0x39')]){_0x2ae9a7[_0x66ac('0x37')]=_[_0x66ac('0x3a')](_0x2ae9a7[_0x66ac('0x37')],{'$or':_[_0x66ac('0x27')](_0x2ae9a7['attributes'],function(_0x3721ad){var _0x5704f5={};_0x5704f5[_0x3721ad]={'$like':'%'+_0xe12f7[_0x66ac('0x2e')][_0x66ac('0x39')]+'%'};return _0x5704f5;})});}_0x2ae9a7=_[_0x66ac('0x3a')]({},_0x2ae9a7,_0xe12f7[_0x66ac('0x3c')]);return _0x36e922[_0x66ac('0x4b')](_0x2ae9a7);}})[_0x66ac('0x3d')](function(_0x4f3e99){if(_0x4f3e99){_0x4df497=_0x4f3e99[_0x66ac('0x32')];if(!_0xe12f7['query'][_0x66ac('0x33')](_0x66ac('0x34'))){_0x2ae9a7[_0x66ac('0x1b')]=qs[_0x66ac('0x1b')](_0xe12f7[_0x66ac('0x2e')]['limit']);_0x2ae9a7[_0x66ac('0x1d')]=qs[_0x66ac('0x1d')](_0xe12f7[_0x66ac('0x2e')]['offset']);}return _0x36e922[_0x66ac('0x4b')](_0x2ae9a7);}})['then'](function(_0x3ac903){if(_0x3ac903){return _0x3ac903?{'count':_0x4df497,'rows':_0x3ac903}:null;}})[_0x66ac('0x3d')](respondWithResult(_0x17cb5d,null))[_0x66ac('0x41')](handleError(_0x17cb5d,null));};exports[_0x66ac('0x4c')]=function(_0x4056b0,_0x40331b,_0x420054){var _0x5c2e0b={};var _0x53b56d={};var _0x56aaac;var _0x4aae1f;return db[_0x66ac('0x28')][_0x66ac('0x49')]({'where':{'id':_0x4056b0['params']['id']}})[_0x66ac('0x3d')](handleEntityNotFound(_0x40331b,null))[_0x66ac('0x3d')](function(_0x1a207f){if(_0x1a207f){_0x56aaac=_0x1a207f;_0x53b56d[_0x66ac('0x2c')]=_[_0x66ac('0x2d')](db[_0x66ac('0x4a')]['rawAttributes']);_0x53b56d[_0x66ac('0x2e')]=_[_0x66ac('0x2d')](_0x4056b0[_0x66ac('0x2e')]);_0x53b56d[_0x66ac('0x2f')]=_[_0x66ac('0x44')](_0x53b56d[_0x66ac('0x2c')],_0x53b56d[_0x66ac('0x2e')]);_0x5c2e0b[_0x66ac('0x30')]=_[_0x66ac('0x44')](_0x53b56d[_0x66ac('0x2c')],qs['fields'](_0x4056b0[_0x66ac('0x2e')][_0x66ac('0x31')]));_0x5c2e0b[_0x66ac('0x30')]=_0x5c2e0b[_0x66ac('0x30')]['length']?_0x5c2e0b[_0x66ac('0x30')]:_0x53b56d['model'];_0x5c2e0b[_0x66ac('0x35')]=qs[_0x66ac('0x36')](_0x4056b0[_0x66ac('0x2e')][_0x66ac('0x36')]);_0x5c2e0b['where']=qs['filters'](_[_0x66ac('0x38')](_0x4056b0[_0x66ac('0x2e')],_0x53b56d[_0x66ac('0x2f')]));if(_0x4056b0[_0x66ac('0x2e')][_0x66ac('0x39')]){_0x5c2e0b['where']=_['merge'](_0x5c2e0b[_0x66ac('0x37')],{'$or':_[_0x66ac('0x27')](_0x5c2e0b[_0x66ac('0x30')],function(_0x4fb921){var _0x5be2dd={};_0x5be2dd[_0x4fb921]={'$like':'%'+_0x4056b0[_0x66ac('0x2e')][_0x66ac('0x39')]+'%'};return _0x5be2dd;})});}_0x5c2e0b=_[_0x66ac('0x3a')]({},_0x5c2e0b,_0x4056b0[_0x66ac('0x3c')]);return _0x56aaac[_0x66ac('0x4c')](_0x5c2e0b);}})[_0x66ac('0x3d')](function(_0x34afe0){if(_0x34afe0){_0x4aae1f=_0x34afe0['length'];if(!_0x4056b0[_0x66ac('0x2e')][_0x66ac('0x33')]('nolimit')){_0x5c2e0b[_0x66ac('0x1b')]=qs[_0x66ac('0x1b')](_0x4056b0['query'][_0x66ac('0x1b')]);_0x5c2e0b[_0x66ac('0x1d')]=qs['offset'](_0x4056b0[_0x66ac('0x2e')]['offset']);}return _0x56aaac['getDescriptions'](_0x5c2e0b);}})[_0x66ac('0x3d')](function(_0x4cd626){if(_0x4cd626){return _0x4cd626?{'count':_0x4aae1f,'rows':_0x4cd626}:null;}})['then'](respondWithResult(_0x40331b,null))[_0x66ac('0x41')](handleError(_0x40331b,null));};