ca07dfd75b191b99ef95330ff113cb1eea299bfe
[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 _0x6366=['../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','status','end','error','stack','name','index','SalesforceField','rawAttributes','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','merge','type','VIRTUAL','filter','includeAll','rows','catch','show','params','length','options','create','body','find','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch'];(function(_0x44f280,_0x4a1dad){var _0x4ee19d=function(_0xc02f51){while(--_0xc02f51){_0x44f280['push'](_0x44f280['shift']());}};_0x4ee19d(++_0x4a1dad);}(_0x6366,0x198));var _0x6636=function(_0x1df159,_0x2764cd){_0x1df159=_0x1df159-0x0;var _0x46e001=_0x6366[_0x1df159];return _0x46e001;};'use strict';var emlformat=require(_0x6636('0x0'));var rimraf=require(_0x6636('0x1'));var zipdir=require(_0x6636('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6636('0x3'));var moment=require(_0x6636('0x4'));var BPromise=require(_0x6636('0x5'));var Mustache=require(_0x6636('0x6'));var util=require(_0x6636('0x7'));var path=require('path');var sox=require(_0x6636('0x8'));var csv=require(_0x6636('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6636('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x6636('0xb'));var jsforce=require(_0x6636('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x6636('0x9'));var querystring=require(_0x6636('0xd'));var Papa=require(_0x6636('0xe'));var Redis=require(_0x6636('0xf'));var authService=require(_0x6636('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x6636('0x11'));var hardwareService=require(_0x6636('0x12'));var logger=require('../../config/logger')(_0x6636('0x13'));var utils=require(_0x6636('0x14'));var config=require(_0x6636('0x15'));var licenseUtil=require(_0x6636('0x16'));var db=require(_0x6636('0x17'))['db'];function respondWithStatusCode(_0x4d8a30,_0x387786){_0x387786=_0x387786||0xcc;return function(_0x37d43e){if(_0x37d43e){return _0x4d8a30[_0x6636('0x18')](_0x387786);}return _0x4d8a30['status'](_0x387786)['end']();};}function respondWithResult(_0x4f5f6d,_0x387699){_0x387699=_0x387699||0xc8;return function(_0x5bee5b){if(_0x5bee5b){return _0x4f5f6d['status'](_0x387699)[_0x6636('0x19')](_0x5bee5b);}};}function respondWithFilteredResult(_0x218ca4,_0x32d888){return function(_0x569dc7){if(_0x569dc7){var _0x1fe2ca=typeof _0x32d888[_0x6636('0x1a')]===_0x6636('0x1b')&&typeof _0x32d888[_0x6636('0x1c')]===_0x6636('0x1b');var _0x218a89=_0x569dc7[_0x6636('0x1d')];var _0x5cf730=_0x1fe2ca?0x0:_0x32d888[_0x6636('0x1a')];var _0x27d4bf=_0x1fe2ca?_0x569dc7[_0x6636('0x1d')]:_0x32d888[_0x6636('0x1a')]+_0x32d888[_0x6636('0x1c')];var _0x1a0b74;if(_0x27d4bf>=_0x218a89){_0x27d4bf=_0x218a89;_0x1a0b74=0xc8;}else{_0x1a0b74=0xce;}_0x218ca4['status'](_0x1a0b74);return _0x218ca4[_0x6636('0x1e')]('Content-Range',_0x5cf730+'-'+_0x27d4bf+'/'+_0x218a89)['json'](_0x569dc7);}return null;};}function patchUpdates(_0x33bcd9){return function(_0x192f82){try{jsonpatch[_0x6636('0x1f')](_0x192f82,_0x33bcd9,!![]);}catch(_0x12c0d4){return BPromise[_0x6636('0x20')](_0x12c0d4);}return _0x192f82[_0x6636('0x21')]();};}function saveUpdates(_0x36805a,_0x5a39f5){return function(_0x20e3d2){if(_0x20e3d2){return _0x20e3d2[_0x6636('0x22')](_0x36805a)[_0x6636('0x23')](function(_0x5b345e){return _0x5b345e;});}return null;};}function removeEntity(_0x206a6e,_0x26fff9){return function(_0x760822){if(_0x760822){return _0x760822[_0x6636('0x24')]()[_0x6636('0x23')](function(){_0x206a6e[_0x6636('0x25')](0xcc)[_0x6636('0x26')]();});}};}function handleEntityNotFound(_0x4dc477,_0x231d52){return function(_0x48496b){if(!_0x48496b){_0x4dc477['sendStatus'](0x194);}return _0x48496b;};}function handleError(_0x504097,_0x245208){_0x245208=_0x245208||0x1f4;return function(_0x274dbd){logger[_0x6636('0x27')](_0x274dbd[_0x6636('0x28')]);if(_0x274dbd[_0x6636('0x29')]){delete _0x274dbd[_0x6636('0x29')];}_0x504097['status'](_0x245208)['send'](_0x274dbd);};}exports[_0x6636('0x2a')]=function(_0x49fed8,_0x48cafb){var _0x1b848f={},_0x1ccd40={},_0x425f15={'count':0x0,'rows':[]};var _0x3f6f23=_['map'](db[_0x6636('0x2b')][_0x6636('0x2c')],function(_0x115908){return{'name':_0x115908['fieldName'],'type':_0x115908['type']['key']};});_0x1ccd40[_0x6636('0x2d')]=_['map'](_0x3f6f23,'name');_0x1ccd40[_0x6636('0x2e')]=_[_0x6636('0x2f')](_0x49fed8[_0x6636('0x2e')]);_0x1ccd40[_0x6636('0x30')]=_[_0x6636('0x31')](_0x1ccd40['model'],_0x1ccd40['query']);_0x1b848f['attributes']=_['intersection'](_0x1ccd40['model'],qs[_0x6636('0x32')](_0x49fed8[_0x6636('0x2e')][_0x6636('0x32')]));_0x1b848f[_0x6636('0x33')]=_0x1b848f['attributes']['length']?_0x1b848f[_0x6636('0x33')]:_0x1ccd40[_0x6636('0x2d')];if(!_0x49fed8[_0x6636('0x2e')][_0x6636('0x34')](_0x6636('0x35'))){_0x1b848f[_0x6636('0x1c')]=qs[_0x6636('0x1c')](_0x49fed8[_0x6636('0x2e')][_0x6636('0x1c')]);_0x1b848f[_0x6636('0x1a')]=qs['offset'](_0x49fed8[_0x6636('0x2e')]['offset']);}_0x1b848f['order']=qs[_0x6636('0x36')](_0x49fed8['query'][_0x6636('0x36')]);_0x1b848f[_0x6636('0x37')]=qs[_0x6636('0x30')](_[_0x6636('0x38')](_0x49fed8['query'],_0x1ccd40[_0x6636('0x30')]),_0x3f6f23);if(_0x49fed8[_0x6636('0x2e')]['filter']){_0x1b848f['where']=_[_0x6636('0x39')](_0x1b848f['where'],{'$or':_['map'](_0x3f6f23,function(_0x141989){if(_0x141989[_0x6636('0x3a')]!==_0x6636('0x3b')){var _0x200998={};_0x200998[_0x141989[_0x6636('0x29')]]={'$like':'%'+_0x49fed8[_0x6636('0x2e')][_0x6636('0x3c')]+'%'};return _0x200998;}})});}_0x1b848f=_[_0x6636('0x39')]({},_0x1b848f,_0x49fed8['options']);var _0x47a526={'where':_0x1b848f['where']};return db['SalesforceField'][_0x6636('0x1d')](_0x47a526)[_0x6636('0x23')](function(_0x123dbd){_0x425f15[_0x6636('0x1d')]=_0x123dbd;if(_0x49fed8[_0x6636('0x2e')][_0x6636('0x3d')]){_0x1b848f['include']=[{'all':!![]}];}return db[_0x6636('0x2b')]['findAll'](_0x1b848f);})['then'](function(_0x311313){_0x425f15[_0x6636('0x3e')]=_0x311313;return _0x425f15;})['then'](respondWithFilteredResult(_0x48cafb,_0x1b848f))[_0x6636('0x3f')](handleError(_0x48cafb,null));};exports[_0x6636('0x40')]=function(_0x25b484,_0x1d97a6){var _0x4de12a={'raw':!![],'where':{'id':_0x25b484[_0x6636('0x41')]['id']}},_0x595d9f={};_0x595d9f[_0x6636('0x2d')]=_['keys'](db[_0x6636('0x2b')][_0x6636('0x2c')]);_0x595d9f[_0x6636('0x2e')]=_['keys'](_0x25b484[_0x6636('0x2e')]);_0x595d9f[_0x6636('0x30')]=_['intersection'](_0x595d9f[_0x6636('0x2d')],_0x595d9f['query']);_0x4de12a[_0x6636('0x33')]=_[_0x6636('0x31')](_0x595d9f[_0x6636('0x2d')],qs[_0x6636('0x32')](_0x25b484['query']['fields']));_0x4de12a[_0x6636('0x33')]=_0x4de12a['attributes'][_0x6636('0x42')]?_0x4de12a['attributes']:_0x595d9f[_0x6636('0x2d')];if(_0x25b484[_0x6636('0x2e')][_0x6636('0x3d')]){_0x4de12a['include']=[{'all':!![]}];}_0x4de12a=_[_0x6636('0x39')]({},_0x4de12a,_0x25b484[_0x6636('0x43')]);return db[_0x6636('0x2b')]['find'](_0x4de12a)[_0x6636('0x23')](handleEntityNotFound(_0x1d97a6,null))[_0x6636('0x23')](respondWithResult(_0x1d97a6,null))['catch'](handleError(_0x1d97a6,null));};exports[_0x6636('0x44')]=function(_0x31ce2f,_0x9a4f4){return db[_0x6636('0x2b')][_0x6636('0x44')](_0x31ce2f['body'],{})[_0x6636('0x23')](respondWithResult(_0x9a4f4,0xc9))[_0x6636('0x3f')](handleError(_0x9a4f4,null));};exports[_0x6636('0x22')]=function(_0x1d40f5,_0x48a22e){if(_0x1d40f5[_0x6636('0x45')]['id']){delete _0x1d40f5[_0x6636('0x45')]['id'];}return db[_0x6636('0x2b')][_0x6636('0x46')]({'where':{'id':_0x1d40f5['params']['id']}})[_0x6636('0x23')](handleEntityNotFound(_0x48a22e,null))[_0x6636('0x23')](saveUpdates(_0x1d40f5[_0x6636('0x45')],null))['then'](respondWithResult(_0x48a22e,null))[_0x6636('0x3f')](handleError(_0x48a22e,null));};exports[_0x6636('0x24')]=function(_0xe3a249,_0x3ffe16){return db[_0x6636('0x2b')][_0x6636('0x46')]({'where':{'id':_0xe3a249[_0x6636('0x41')]['id']}})[_0x6636('0x23')](handleEntityNotFound(_0x3ffe16,null))[_0x6636('0x23')](removeEntity(_0x3ffe16,null))['catch'](handleError(_0x3ffe16,null));};