Built motion from commit 85328c08.|2.5.50
[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 _0xb85d=['type','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','filter','VIRTUAL','merge','options','SugarcrmConfiguration','include','rows','catch','params','rawAttributes','includeAll','find','create','body','getFields','findOne','SugarcrmField','pick','getSubjects','hasOwnProperty','getDescriptions','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','json','apply','reject','save','update','then','destroy','sendStatus','name','send','index','map','fieldName'];(function(_0x13b8f3,_0x442821){var _0x1a6d06=function(_0x5126f2){while(--_0x5126f2){_0x13b8f3['push'](_0x13b8f3['shift']());}};_0x1a6d06(++_0x442821);}(_0xb85d,0x19e));var _0xdb85=function(_0x5071dc,_0x1f2cee){_0x5071dc=_0x5071dc-0x0;var _0x12d1d7=_0xb85d[_0x5071dc];return _0x12d1d7;};'use strict';var emlformat=require(_0xdb85('0x0'));var rimraf=require(_0xdb85('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdb85('0x2'));var rp=require('request-promise');var moment=require(_0xdb85('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xdb85('0x4'));var util=require(_0xdb85('0x5'));var path=require(_0xdb85('0x6'));var sox=require(_0xdb85('0x7'));var csv=require('to-csv');var ejs=require(_0xdb85('0x8'));var fs=require('fs');var fs_extra=require(_0xdb85('0x9'));var _=require(_0xdb85('0xa'));var squel=require(_0xdb85('0xb'));var crypto=require('crypto');var jsforce=require(_0xdb85('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xdb85('0xd'));var Papa=require('papaparse');var Redis=require(_0xdb85('0xe'));var authService=require(_0xdb85('0xf'));var qs=require(_0xdb85('0x10'));var as=require(_0xdb85('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdb85('0x12'))(_0xdb85('0x13'));var utils=require('../../config/utils');var config=require(_0xdb85('0x14'));var licenseUtil=require(_0xdb85('0x15'));var db=require(_0xdb85('0x16'))['db'];function respondWithStatusCode(_0x2f18a0,_0x18aa9b){_0x18aa9b=_0x18aa9b||0xcc;return function(_0x3e6c47){if(_0x3e6c47){return _0x2f18a0['sendStatus'](_0x18aa9b);}return _0x2f18a0[_0xdb85('0x17')](_0x18aa9b)[_0xdb85('0x18')]();};}function respondWithResult(_0x3f506d,_0x51b5fe){_0x51b5fe=_0x51b5fe||0xc8;return function(_0x35e5ba){if(_0x35e5ba){return _0x3f506d['status'](_0x51b5fe)['json'](_0x35e5ba);}};}function respondWithFilteredResult(_0x10f4ff,_0x1669aa){return function(_0x2bc238){if(_0x2bc238){var _0x4bdeb4=typeof _0x1669aa[_0xdb85('0x19')]===_0xdb85('0x1a')&&typeof _0x1669aa[_0xdb85('0x1b')]===_0xdb85('0x1a');var _0x188b4b=_0x2bc238[_0xdb85('0x1c')];var _0x3e7501=_0x4bdeb4?0x0:_0x1669aa[_0xdb85('0x19')];var _0x38002c=_0x4bdeb4?_0x2bc238[_0xdb85('0x1c')]:_0x1669aa['offset']+_0x1669aa['limit'];var _0x32cdeb;if(_0x38002c>=_0x188b4b){_0x38002c=_0x188b4b;_0x32cdeb=0xc8;}else{_0x32cdeb=0xce;}_0x10f4ff[_0xdb85('0x17')](_0x32cdeb);return _0x10f4ff['set']('Content-Range',_0x3e7501+'-'+_0x38002c+'/'+_0x188b4b)[_0xdb85('0x1d')](_0x2bc238);}return null;};}function patchUpdates(_0xfcbe46){return function(_0x25f50b){try{jsonpatch[_0xdb85('0x1e')](_0x25f50b,_0xfcbe46,!![]);}catch(_0x5aba63){return BPromise[_0xdb85('0x1f')](_0x5aba63);}return _0x25f50b[_0xdb85('0x20')]();};}function saveUpdates(_0x24995c,_0x583eba){return function(_0x298f29){if(_0x298f29){return _0x298f29[_0xdb85('0x21')](_0x24995c)[_0xdb85('0x22')](function(_0x3d4722){return _0x3d4722;});}return null;};}function removeEntity(_0x1b15ca,_0xb87f03){return function(_0x4079b5){if(_0x4079b5){return _0x4079b5[_0xdb85('0x23')]()['then'](function(){_0x1b15ca[_0xdb85('0x17')](0xcc)[_0xdb85('0x18')]();});}};}function handleEntityNotFound(_0x31d9b7,_0x49ebef){return function(_0x490a75){if(!_0x490a75){_0x31d9b7[_0xdb85('0x24')](0x194);}return _0x490a75;};}function handleError(_0x34d609,_0x3aaf79){_0x3aaf79=_0x3aaf79||0x1f4;return function(_0x54da7a){logger['error'](_0x54da7a['stack']);if(_0x54da7a[_0xdb85('0x25')]){delete _0x54da7a[_0xdb85('0x25')];}_0x34d609['status'](_0x3aaf79)[_0xdb85('0x26')](_0x54da7a);};}exports[_0xdb85('0x27')]=function(_0x121e93,_0x596070){var _0xa70a63={},_0x4959cd={},_0x147cfb={'count':0x0,'rows':[]};var _0xcece5d=_[_0xdb85('0x28')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x21f86f){return{'name':_0x21f86f[_0xdb85('0x29')],'type':_0x21f86f[_0xdb85('0x2a')]['key']};});_0x4959cd[_0xdb85('0x2b')]=_[_0xdb85('0x28')](_0xcece5d,_0xdb85('0x25'));_0x4959cd[_0xdb85('0x2c')]=_[_0xdb85('0x2d')](_0x121e93['query']);_0x4959cd[_0xdb85('0x2e')]=_['intersection'](_0x4959cd['model'],_0x4959cd[_0xdb85('0x2c')]);_0xa70a63[_0xdb85('0x2f')]=_[_0xdb85('0x30')](_0x4959cd[_0xdb85('0x2b')],qs[_0xdb85('0x31')](_0x121e93['query'][_0xdb85('0x31')]));_0xa70a63[_0xdb85('0x2f')]=_0xa70a63[_0xdb85('0x2f')][_0xdb85('0x32')]?_0xa70a63[_0xdb85('0x2f')]:_0x4959cd[_0xdb85('0x2b')];if(!_0x121e93[_0xdb85('0x2c')]['hasOwnProperty'](_0xdb85('0x33'))){_0xa70a63[_0xdb85('0x1b')]=qs['limit'](_0x121e93[_0xdb85('0x2c')]['limit']);_0xa70a63[_0xdb85('0x19')]=qs[_0xdb85('0x19')](_0x121e93[_0xdb85('0x2c')][_0xdb85('0x19')]);}_0xa70a63[_0xdb85('0x34')]=qs[_0xdb85('0x35')](_0x121e93[_0xdb85('0x2c')]['sort']);_0xa70a63[_0xdb85('0x36')]=qs[_0xdb85('0x2e')](_['pick'](_0x121e93['query'],_0x4959cd[_0xdb85('0x2e')]),_0xcece5d);if(_0x121e93['query'][_0xdb85('0x37')]){_0xa70a63['where']=_['merge'](_0xa70a63[_0xdb85('0x36')],{'$or':_[_0xdb85('0x28')](_0xcece5d,function(_0x9acf6e){if(_0x9acf6e[_0xdb85('0x2a')]!==_0xdb85('0x38')){var _0x17a7b9={};_0x17a7b9[_0x9acf6e['name']]={'$like':'%'+_0x121e93[_0xdb85('0x2c')][_0xdb85('0x37')]+'%'};return _0x17a7b9;}})});}_0xa70a63=_[_0xdb85('0x39')]({},_0xa70a63,_0x121e93[_0xdb85('0x3a')]);var _0x2a3c27={'where':_0xa70a63['where']};return db[_0xdb85('0x3b')][_0xdb85('0x1c')](_0x2a3c27)[_0xdb85('0x22')](function(_0x30589a){_0x147cfb['count']=_0x30589a;if(_0x121e93['query']['includeAll']){_0xa70a63[_0xdb85('0x3c')]=[{'all':!![]}];}return db[_0xdb85('0x3b')]['findAll'](_0xa70a63);})[_0xdb85('0x22')](function(_0x1418d2){_0x147cfb[_0xdb85('0x3d')]=_0x1418d2;return _0x147cfb;})[_0xdb85('0x22')](respondWithFilteredResult(_0x596070,_0xa70a63))[_0xdb85('0x3e')](handleError(_0x596070,null));};exports['show']=function(_0x329bea,_0xa59771){var _0x43ac10={'raw':![],'where':{'id':_0x329bea[_0xdb85('0x3f')]['id']}},_0x38c5f9={};_0x38c5f9[_0xdb85('0x2b')]=_[_0xdb85('0x2d')](db['SugarcrmConfiguration'][_0xdb85('0x40')]);_0x38c5f9['query']=_[_0xdb85('0x2d')](_0x329bea[_0xdb85('0x2c')]);_0x38c5f9[_0xdb85('0x2e')]=_[_0xdb85('0x30')](_0x38c5f9[_0xdb85('0x2b')],_0x38c5f9[_0xdb85('0x2c')]);_0x43ac10['attributes']=_[_0xdb85('0x30')](_0x38c5f9[_0xdb85('0x2b')],qs[_0xdb85('0x31')](_0x329bea[_0xdb85('0x2c')][_0xdb85('0x31')]));_0x43ac10[_0xdb85('0x2f')]=_0x43ac10['attributes'][_0xdb85('0x32')]?_0x43ac10[_0xdb85('0x2f')]:_0x38c5f9['model'];if(_0x329bea[_0xdb85('0x2c')][_0xdb85('0x41')]){_0x43ac10[_0xdb85('0x3c')]=[{'all':!![]}];}_0x43ac10=_[_0xdb85('0x39')]({},_0x43ac10,_0x329bea[_0xdb85('0x3a')]);return db[_0xdb85('0x3b')][_0xdb85('0x42')](_0x43ac10)[_0xdb85('0x22')](handleEntityNotFound(_0xa59771,null))[_0xdb85('0x22')](respondWithResult(_0xa59771,null))[_0xdb85('0x3e')](handleError(_0xa59771,null));};exports['create']=function(_0x2f5532,_0x148f50){return db[_0xdb85('0x3b')][_0xdb85('0x43')](_0x2f5532[_0xdb85('0x44')],{})[_0xdb85('0x22')](respondWithResult(_0x148f50,0xc9))[_0xdb85('0x3e')](handleError(_0x148f50,null));};exports[_0xdb85('0x21')]=function(_0x24e568,_0xef2017){if(_0x24e568['body']['id']){delete _0x24e568[_0xdb85('0x44')]['id'];}return db[_0xdb85('0x3b')][_0xdb85('0x42')]({'where':{'id':_0x24e568[_0xdb85('0x3f')]['id']}})[_0xdb85('0x22')](handleEntityNotFound(_0xef2017,null))[_0xdb85('0x22')](saveUpdates(_0x24e568[_0xdb85('0x44')],null))[_0xdb85('0x22')](respondWithResult(_0xef2017,null))[_0xdb85('0x3e')](handleError(_0xef2017,null));};exports[_0xdb85('0x23')]=function(_0xf8962d,_0x57a77c){return db[_0xdb85('0x3b')][_0xdb85('0x42')]({'where':{'id':_0xf8962d[_0xdb85('0x3f')]['id']}})[_0xdb85('0x22')](handleEntityNotFound(_0x57a77c,null))[_0xdb85('0x22')](removeEntity(_0x57a77c,null))[_0xdb85('0x3e')](handleError(_0x57a77c,null));};exports[_0xdb85('0x45')]=function(_0x187c4c,_0x5e1dc0,_0x503a18){var _0x42d053={};var _0x309eb8={};var _0x24fc54;var _0xf06e5d;return db['SugarcrmConfiguration'][_0xdb85('0x46')]({'where':{'id':_0x187c4c[_0xdb85('0x3f')]['id']}})['then'](handleEntityNotFound(_0x5e1dc0,null))[_0xdb85('0x22')](function(_0x5353bd){if(_0x5353bd){_0x24fc54=_0x5353bd;_0x309eb8[_0xdb85('0x2b')]=_['keys'](db[_0xdb85('0x47')][_0xdb85('0x40')]);_0x309eb8[_0xdb85('0x2c')]=_[_0xdb85('0x2d')](_0x187c4c[_0xdb85('0x2c')]);_0x309eb8[_0xdb85('0x2e')]=_[_0xdb85('0x30')](_0x309eb8['model'],_0x309eb8[_0xdb85('0x2c')]);_0x42d053[_0xdb85('0x2f')]=_[_0xdb85('0x30')](_0x309eb8[_0xdb85('0x2b')],qs[_0xdb85('0x31')](_0x187c4c[_0xdb85('0x2c')][_0xdb85('0x31')]));_0x42d053[_0xdb85('0x2f')]=_0x42d053['attributes']['length']?_0x42d053[_0xdb85('0x2f')]:_0x309eb8[_0xdb85('0x2b')];_0x42d053['order']=qs['sort'](_0x187c4c[_0xdb85('0x2c')][_0xdb85('0x35')]);_0x42d053[_0xdb85('0x36')]=qs['filters'](_[_0xdb85('0x48')](_0x187c4c[_0xdb85('0x2c')],_0x309eb8['filters']));if(_0x187c4c[_0xdb85('0x2c')]['filter']){_0x42d053['where']=_[_0xdb85('0x39')](_0x42d053[_0xdb85('0x36')],{'$or':_['map'](_0x42d053['attributes'],function(_0x59bc2c){var _0x2540ca={};_0x2540ca[_0x59bc2c]={'$like':'%'+_0x187c4c[_0xdb85('0x2c')][_0xdb85('0x37')]+'%'};return _0x2540ca;})});}_0x42d053=_[_0xdb85('0x39')]({},_0x42d053,_0x187c4c['options']);return _0x24fc54[_0xdb85('0x45')](_0x42d053);}})['then'](function(_0x110fba){if(_0x110fba){_0xf06e5d=_0x110fba[_0xdb85('0x32')];if(!_0x187c4c[_0xdb85('0x2c')]['hasOwnProperty'](_0xdb85('0x33'))){_0x42d053[_0xdb85('0x1b')]=qs[_0xdb85('0x1b')](_0x187c4c[_0xdb85('0x2c')][_0xdb85('0x1b')]);_0x42d053[_0xdb85('0x19')]=qs[_0xdb85('0x19')](_0x187c4c[_0xdb85('0x2c')][_0xdb85('0x19')]);}return _0x24fc54[_0xdb85('0x45')](_0x42d053);}})[_0xdb85('0x22')](function(_0x197fd2){if(_0x197fd2){return _0x197fd2?{'count':_0xf06e5d,'rows':_0x197fd2}:null;}})[_0xdb85('0x22')](respondWithResult(_0x5e1dc0,null))['catch'](handleError(_0x5e1dc0,null));};exports['getSubjects']=function(_0x23fb80,_0x3112e4,_0xa02d0a){var _0x1341cd={};var _0xe77516={};var _0x5ec64e;var _0x4f21c8;return db[_0xdb85('0x3b')][_0xdb85('0x46')]({'where':{'id':_0x23fb80[_0xdb85('0x3f')]['id']}})[_0xdb85('0x22')](handleEntityNotFound(_0x3112e4,null))[_0xdb85('0x22')](function(_0x1df534){if(_0x1df534){_0x5ec64e=_0x1df534;_0xe77516[_0xdb85('0x2b')]=_[_0xdb85('0x2d')](db['SugarcrmField'][_0xdb85('0x40')]);_0xe77516[_0xdb85('0x2c')]=_[_0xdb85('0x2d')](_0x23fb80[_0xdb85('0x2c')]);_0xe77516[_0xdb85('0x2e')]=_[_0xdb85('0x30')](_0xe77516[_0xdb85('0x2b')],_0xe77516[_0xdb85('0x2c')]);_0x1341cd['attributes']=_[_0xdb85('0x30')](_0xe77516[_0xdb85('0x2b')],qs['fields'](_0x23fb80['query'][_0xdb85('0x31')]));_0x1341cd['attributes']=_0x1341cd[_0xdb85('0x2f')]['length']?_0x1341cd[_0xdb85('0x2f')]:_0xe77516[_0xdb85('0x2b')];_0x1341cd[_0xdb85('0x34')]=qs[_0xdb85('0x35')](_0x23fb80['query'][_0xdb85('0x35')]);_0x1341cd['where']=qs['filters'](_[_0xdb85('0x48')](_0x23fb80[_0xdb85('0x2c')],_0xe77516[_0xdb85('0x2e')]));if(_0x23fb80[_0xdb85('0x2c')][_0xdb85('0x37')]){_0x1341cd['where']=_['merge'](_0x1341cd[_0xdb85('0x36')],{'$or':_[_0xdb85('0x28')](_0x1341cd[_0xdb85('0x2f')],function(_0x5b8514){var _0x1f619d={};_0x1f619d[_0x5b8514]={'$like':'%'+_0x23fb80[_0xdb85('0x2c')][_0xdb85('0x37')]+'%'};return _0x1f619d;})});}_0x1341cd=_['merge']({},_0x1341cd,_0x23fb80['options']);return _0x5ec64e[_0xdb85('0x49')](_0x1341cd);}})['then'](function(_0x4b75dd){if(_0x4b75dd){_0x4f21c8=_0x4b75dd[_0xdb85('0x32')];if(!_0x23fb80[_0xdb85('0x2c')][_0xdb85('0x4a')](_0xdb85('0x33'))){_0x1341cd[_0xdb85('0x1b')]=qs[_0xdb85('0x1b')](_0x23fb80['query'][_0xdb85('0x1b')]);_0x1341cd[_0xdb85('0x19')]=qs[_0xdb85('0x19')](_0x23fb80['query'][_0xdb85('0x19')]);}return _0x5ec64e[_0xdb85('0x49')](_0x1341cd);}})[_0xdb85('0x22')](function(_0x4446d5){if(_0x4446d5){return _0x4446d5?{'count':_0x4f21c8,'rows':_0x4446d5}:null;}})[_0xdb85('0x22')](respondWithResult(_0x3112e4,null))['catch'](handleError(_0x3112e4,null));};exports[_0xdb85('0x4b')]=function(_0x28a0ff,_0x75c16f,_0x5ef73f){var _0x2f827d={};var _0x2ab1e2={};var _0x1171ae;var _0x3ec255;return db[_0xdb85('0x3b')][_0xdb85('0x46')]({'where':{'id':_0x28a0ff[_0xdb85('0x3f')]['id']}})['then'](handleEntityNotFound(_0x75c16f,null))[_0xdb85('0x22')](function(_0x2c53dd){if(_0x2c53dd){_0x1171ae=_0x2c53dd;_0x2ab1e2[_0xdb85('0x2b')]=_[_0xdb85('0x2d')](db[_0xdb85('0x47')]['rawAttributes']);_0x2ab1e2[_0xdb85('0x2c')]=_[_0xdb85('0x2d')](_0x28a0ff[_0xdb85('0x2c')]);_0x2ab1e2[_0xdb85('0x2e')]=_[_0xdb85('0x30')](_0x2ab1e2[_0xdb85('0x2b')],_0x2ab1e2[_0xdb85('0x2c')]);_0x2f827d[_0xdb85('0x2f')]=_[_0xdb85('0x30')](_0x2ab1e2['model'],qs[_0xdb85('0x31')](_0x28a0ff['query'][_0xdb85('0x31')]));_0x2f827d[_0xdb85('0x2f')]=_0x2f827d['attributes']['length']?_0x2f827d[_0xdb85('0x2f')]:_0x2ab1e2[_0xdb85('0x2b')];_0x2f827d['order']=qs[_0xdb85('0x35')](_0x28a0ff['query'][_0xdb85('0x35')]);_0x2f827d[_0xdb85('0x36')]=qs[_0xdb85('0x2e')](_[_0xdb85('0x48')](_0x28a0ff[_0xdb85('0x2c')],_0x2ab1e2[_0xdb85('0x2e')]));if(_0x28a0ff[_0xdb85('0x2c')][_0xdb85('0x37')]){_0x2f827d[_0xdb85('0x36')]=_[_0xdb85('0x39')](_0x2f827d['where'],{'$or':_[_0xdb85('0x28')](_0x2f827d[_0xdb85('0x2f')],function(_0x2b7946){var _0x38399d={};_0x38399d[_0x2b7946]={'$like':'%'+_0x28a0ff[_0xdb85('0x2c')][_0xdb85('0x37')]+'%'};return _0x38399d;})});}_0x2f827d=_[_0xdb85('0x39')]({},_0x2f827d,_0x28a0ff[_0xdb85('0x3a')]);return _0x1171ae[_0xdb85('0x4b')](_0x2f827d);}})[_0xdb85('0x22')](function(_0xf2e962){if(_0xf2e962){_0x3ec255=_0xf2e962['length'];if(!_0x28a0ff[_0xdb85('0x2c')][_0xdb85('0x4a')](_0xdb85('0x33'))){_0x2f827d[_0xdb85('0x1b')]=qs['limit'](_0x28a0ff[_0xdb85('0x2c')][_0xdb85('0x1b')]);_0x2f827d[_0xdb85('0x19')]=qs[_0xdb85('0x19')](_0x28a0ff['query']['offset']);}return _0x1171ae[_0xdb85('0x4b')](_0x2f827d);}})['then'](function(_0x21b2ca){if(_0x21b2ca){return _0x21b2ca?{'count':_0x3ec255,'rows':_0x21b2ca}:null;}})[_0xdb85('0x22')](respondWithResult(_0x75c16f,null))[_0xdb85('0x3e')](handleError(_0x75c16f,null));};