edeced2593d530fee27d935235a67ab7bc6e2093
[motion2.git] / server / api / intSalesforceField / intSalesforceField.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 _0xe7c5=['body','params','eml-format','rimraf','bluebird','mustache','util','sox','to-csv','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','json','reject','save','then','destroy','error','name','map','SalesforceField','rawAttributes','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','includeAll','include','catch','show','keys','find','create','update'];(function(_0x3511d3,_0x4107ae){var _0x5d6321=function(_0x1a23da){while(--_0x1a23da){_0x3511d3['push'](_0x3511d3['shift']());}};_0x5d6321(++_0x4107ae);}(_0xe7c5,0xbf));var _0x5e7c=function(_0x457321,_0x1c6ba6){_0x457321=_0x457321-0x0;var _0x22c317=_0xe7c5[_0x457321];return _0x22c317;};'use strict';var emlformat=require(_0x5e7c('0x0'));var rimraf=require(_0x5e7c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x5e7c('0x2'));var Mustache=require(_0x5e7c('0x3'));var util=require(_0x5e7c('0x4'));var path=require('path');var sox=require(_0x5e7c('0x5'));var csv=require(_0x5e7c('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5e7c('0x7'));var _=require('lodash');var squel=require(_0x5e7c('0x8'));var crypto=require(_0x5e7c('0x9'));var jsforce=require(_0x5e7c('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x5e7c('0x6'));var querystring=require('querystring');var Papa=require(_0x5e7c('0xb'));var Redis=require(_0x5e7c('0xc'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x5e7c('0xd'));var hardwareService=require(_0x5e7c('0xe'));var logger=require(_0x5e7c('0xf'))('api');var utils=require(_0x5e7c('0x10'));var config=require(_0x5e7c('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x5e7c('0x12'))['db'];function respondWithStatusCode(_0xf78e9c,_0x4e718a){_0x4e718a=_0x4e718a||0xcc;return function(_0x51ab4d){if(_0x51ab4d){return _0xf78e9c['sendStatus'](_0x4e718a);}return _0xf78e9c[_0x5e7c('0x13')](_0x4e718a)[_0x5e7c('0x14')]();};}function respondWithResult(_0x37292b,_0x49385c){_0x49385c=_0x49385c||0xc8;return function(_0x317b72){if(_0x317b72){return _0x37292b[_0x5e7c('0x13')](_0x49385c)['json'](_0x317b72);}};}function respondWithFilteredResult(_0x3eada8,_0x1d8a0e){return function(_0x3a04c5){if(_0x3a04c5){var _0x85c928=typeof _0x1d8a0e['offset']===_0x5e7c('0x15')&&typeof _0x1d8a0e[_0x5e7c('0x16')]===_0x5e7c('0x15');var _0x16d8c0=_0x3a04c5[_0x5e7c('0x17')];var _0x3b8f43=_0x85c928?0x0:_0x1d8a0e[_0x5e7c('0x18')];var _0xfb809=_0x85c928?_0x3a04c5['count']:_0x1d8a0e[_0x5e7c('0x18')]+_0x1d8a0e['limit'];var _0xe327e;if(_0xfb809>=_0x16d8c0){_0xfb809=_0x16d8c0;_0xe327e=0xc8;}else{_0xe327e=0xce;}_0x3eada8[_0x5e7c('0x13')](_0xe327e);return _0x3eada8[_0x5e7c('0x19')](_0x5e7c('0x1a'),_0x3b8f43+'-'+_0xfb809+'/'+_0x16d8c0)[_0x5e7c('0x1b')](_0x3a04c5);}return null;};}function patchUpdates(_0x2d429e){return function(_0x1749f0){try{jsonpatch['apply'](_0x1749f0,_0x2d429e,!![]);}catch(_0x4d220e){return BPromise[_0x5e7c('0x1c')](_0x4d220e);}return _0x1749f0[_0x5e7c('0x1d')]();};}function saveUpdates(_0x2a3de3,_0x5833e0){return function(_0x36e1a3){if(_0x36e1a3){return _0x36e1a3['update'](_0x2a3de3)[_0x5e7c('0x1e')](function(_0x5d986c){return _0x5d986c;});}return null;};}function removeEntity(_0xb4dda0,_0x449d80){return function(_0x1cb108){if(_0x1cb108){return _0x1cb108[_0x5e7c('0x1f')]()[_0x5e7c('0x1e')](function(){_0xb4dda0[_0x5e7c('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x353494,_0x27ce12){return function(_0x4b46d5){if(!_0x4b46d5){_0x353494['sendStatus'](0x194);}return _0x4b46d5;};}function handleError(_0x3ddf1c,_0xd1eff){_0xd1eff=_0xd1eff||0x1f4;return function(_0x8b2b92){logger[_0x5e7c('0x20')](_0x8b2b92['stack']);if(_0x8b2b92[_0x5e7c('0x21')]){delete _0x8b2b92[_0x5e7c('0x21')];}_0x3ddf1c[_0x5e7c('0x13')](_0xd1eff)['send'](_0x8b2b92);};}exports['index']=function(_0x265b7b,_0x151cbd){var _0x3173b7={},_0x134b0f={},_0xf409d0={'count':0x0,'rows':[]};var _0x5c1c8c=_[_0x5e7c('0x22')](db[_0x5e7c('0x23')][_0x5e7c('0x24')],function(_0x3a0550){return{'name':_0x3a0550['fieldName'],'type':_0x3a0550[_0x5e7c('0x25')][_0x5e7c('0x26')]};});_0x134b0f['model']=_[_0x5e7c('0x22')](_0x5c1c8c,_0x5e7c('0x21'));_0x134b0f[_0x5e7c('0x27')]=_['keys'](_0x265b7b[_0x5e7c('0x27')]);_0x134b0f[_0x5e7c('0x28')]=_[_0x5e7c('0x29')](_0x134b0f[_0x5e7c('0x2a')],_0x134b0f[_0x5e7c('0x27')]);_0x3173b7[_0x5e7c('0x2b')]=_['intersection'](_0x134b0f[_0x5e7c('0x2a')],qs[_0x5e7c('0x2c')](_0x265b7b[_0x5e7c('0x27')][_0x5e7c('0x2c')]));_0x3173b7[_0x5e7c('0x2b')]=_0x3173b7[_0x5e7c('0x2b')][_0x5e7c('0x2d')]?_0x3173b7[_0x5e7c('0x2b')]:_0x134b0f[_0x5e7c('0x2a')];if(!_0x265b7b[_0x5e7c('0x27')][_0x5e7c('0x2e')]('nolimit')){_0x3173b7['limit']=qs[_0x5e7c('0x16')](_0x265b7b[_0x5e7c('0x27')][_0x5e7c('0x16')]);_0x3173b7[_0x5e7c('0x18')]=qs[_0x5e7c('0x18')](_0x265b7b['query']['offset']);}_0x3173b7['order']=qs[_0x5e7c('0x2f')](_0x265b7b[_0x5e7c('0x27')][_0x5e7c('0x2f')]);_0x3173b7[_0x5e7c('0x30')]=qs[_0x5e7c('0x28')](_[_0x5e7c('0x31')](_0x265b7b['query'],_0x134b0f[_0x5e7c('0x28')]),_0x5c1c8c);if(_0x265b7b['query'][_0x5e7c('0x32')]){_0x3173b7[_0x5e7c('0x30')]=_['merge'](_0x3173b7['where'],{'$or':_[_0x5e7c('0x22')](_0x5c1c8c,function(_0x275816){if(_0x275816[_0x5e7c('0x25')]!=='VIRTUAL'){var _0x1eecf9={};_0x1eecf9[_0x275816[_0x5e7c('0x21')]]={'$like':'%'+_0x265b7b['query'][_0x5e7c('0x32')]+'%'};return _0x1eecf9;}})});}_0x3173b7=_[_0x5e7c('0x33')]({},_0x3173b7,_0x265b7b[_0x5e7c('0x34')]);var _0x47d4ab={'where':_0x3173b7[_0x5e7c('0x30')]};return db['SalesforceField']['count'](_0x47d4ab)[_0x5e7c('0x1e')](function(_0x5df8fb){_0xf409d0[_0x5e7c('0x17')]=_0x5df8fb;if(_0x265b7b[_0x5e7c('0x27')][_0x5e7c('0x35')]){_0x3173b7[_0x5e7c('0x36')]=[{'all':!![]}];}return db['SalesforceField']['findAll'](_0x3173b7);})[_0x5e7c('0x1e')](function(_0x21d14c){_0xf409d0['rows']=_0x21d14c;return _0xf409d0;})[_0x5e7c('0x1e')](respondWithFilteredResult(_0x151cbd,_0x3173b7))[_0x5e7c('0x37')](handleError(_0x151cbd,null));};exports[_0x5e7c('0x38')]=function(_0x39a4a0,_0x463a55){var _0x22fe7b={'raw':!![],'where':{'id':_0x39a4a0['params']['id']}},_0x3b851e={};_0x3b851e['model']=_[_0x5e7c('0x39')](db[_0x5e7c('0x23')]['rawAttributes']);_0x3b851e[_0x5e7c('0x27')]=_[_0x5e7c('0x39')](_0x39a4a0['query']);_0x3b851e['filters']=_[_0x5e7c('0x29')](_0x3b851e['model'],_0x3b851e[_0x5e7c('0x27')]);_0x22fe7b[_0x5e7c('0x2b')]=_[_0x5e7c('0x29')](_0x3b851e[_0x5e7c('0x2a')],qs[_0x5e7c('0x2c')](_0x39a4a0[_0x5e7c('0x27')][_0x5e7c('0x2c')]));_0x22fe7b['attributes']=_0x22fe7b[_0x5e7c('0x2b')][_0x5e7c('0x2d')]?_0x22fe7b[_0x5e7c('0x2b')]:_0x3b851e[_0x5e7c('0x2a')];if(_0x39a4a0[_0x5e7c('0x27')][_0x5e7c('0x35')]){_0x22fe7b['include']=[{'all':!![]}];}_0x22fe7b=_[_0x5e7c('0x33')]({},_0x22fe7b,_0x39a4a0[_0x5e7c('0x34')]);return db[_0x5e7c('0x23')][_0x5e7c('0x3a')](_0x22fe7b)[_0x5e7c('0x1e')](handleEntityNotFound(_0x463a55,null))[_0x5e7c('0x1e')](respondWithResult(_0x463a55,null))[_0x5e7c('0x37')](handleError(_0x463a55,null));};exports[_0x5e7c('0x3b')]=function(_0x268340,_0xd2770d){return db[_0x5e7c('0x23')][_0x5e7c('0x3b')](_0x268340['body'],{})[_0x5e7c('0x1e')](respondWithResult(_0xd2770d,0xc9))[_0x5e7c('0x37')](handleError(_0xd2770d,null));};exports[_0x5e7c('0x3c')]=function(_0x4bfed5,_0x5ba10b){if(_0x4bfed5[_0x5e7c('0x3d')]['id']){delete _0x4bfed5[_0x5e7c('0x3d')]['id'];}return db[_0x5e7c('0x23')]['find']({'where':{'id':_0x4bfed5[_0x5e7c('0x3e')]['id']}})[_0x5e7c('0x1e')](handleEntityNotFound(_0x5ba10b,null))[_0x5e7c('0x1e')](saveUpdates(_0x4bfed5[_0x5e7c('0x3d')],null))['then'](respondWithResult(_0x5ba10b,null))[_0x5e7c('0x37')](handleError(_0x5ba10b,null));};exports[_0x5e7c('0x1f')]=function(_0x3a3a66,_0x3892a5){return db['SalesforceField'][_0x5e7c('0x3a')]({'where':{'id':_0x3a3a66[_0x5e7c('0x3e')]['id']}})[_0x5e7c('0x1e')](handleEntityNotFound(_0x3892a5,null))[_0x5e7c('0x1e')](removeEntity(_0x3892a5,null))[_0x5e7c('0x37')](handleError(_0x3892a5,null));};