4daaf4aa5ee9140e8b4f4fc954ca3fc82a2fd103
[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 _0xa1f2=['filter','options','includeAll','SalesforceField','findAll','rows','show','params','filters','find','create','catch','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','sendStatus','name','send','index','rawAttributes','type','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','map','VIRTUAL'];(function(_0x357527,_0x3cb384){var _0x5ed166=function(_0x2bbd01){while(--_0x2bbd01){_0x357527['push'](_0x357527['shift']());}};_0x5ed166(++_0x3cb384);}(_0xa1f2,0x184));var _0x2a1f=function(_0x885329,_0x3be70e){_0x885329=_0x885329-0x0;var _0x5e131c=_0xa1f2[_0x885329];return _0x5e131c;};'use strict';var emlformat=require(_0x2a1f('0x0'));var rimraf=require(_0x2a1f('0x1'));var zipdir=require(_0x2a1f('0x2'));var jsonpatch=require(_0x2a1f('0x3'));var rp=require(_0x2a1f('0x4'));var moment=require(_0x2a1f('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2a1f('0x6'));var util=require('util');var path=require(_0x2a1f('0x7'));var sox=require(_0x2a1f('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2a1f('0x9'));var _=require(_0x2a1f('0xa'));var squel=require(_0x2a1f('0xb'));var crypto=require(_0x2a1f('0xc'));var jsforce=require(_0x2a1f('0xd'));var deskjs=require(_0x2a1f('0xe'));var toCsv=require(_0x2a1f('0xf'));var querystring=require(_0x2a1f('0x10'));var Papa=require(_0x2a1f('0x11'));var Redis=require(_0x2a1f('0x12'));var authService=require(_0x2a1f('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x2a1f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2a1f('0x15'))(_0x2a1f('0x16'));var utils=require(_0x2a1f('0x17'));var config=require(_0x2a1f('0x18'));var licenseUtil=require(_0x2a1f('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3e49e5,_0x12cc2b){_0x12cc2b=_0x12cc2b||0xcc;return function(_0x25686a){if(_0x25686a){return _0x3e49e5['sendStatus'](_0x12cc2b);}return _0x3e49e5[_0x2a1f('0x1a')](_0x12cc2b)[_0x2a1f('0x1b')]();};}function respondWithResult(_0x1876c7,_0x211323){_0x211323=_0x211323||0xc8;return function(_0x47769a){if(_0x47769a){return _0x1876c7[_0x2a1f('0x1a')](_0x211323)[_0x2a1f('0x1c')](_0x47769a);}};}function respondWithFilteredResult(_0x2f85fa,_0x36bd5f){return function(_0x53d79e){if(_0x53d79e){var _0x375cd6=typeof _0x36bd5f['offset']==='undefined'&&typeof _0x36bd5f['limit']==='undefined';var _0x263b25=_0x53d79e[_0x2a1f('0x1d')];var _0x5316d2=_0x375cd6?0x0:_0x36bd5f[_0x2a1f('0x1e')];var _0xbded11=_0x375cd6?_0x53d79e[_0x2a1f('0x1d')]:_0x36bd5f['offset']+_0x36bd5f['limit'];var _0x5c378c;if(_0xbded11>=_0x263b25){_0xbded11=_0x263b25;_0x5c378c=0xc8;}else{_0x5c378c=0xce;}_0x2f85fa['status'](_0x5c378c);return _0x2f85fa[_0x2a1f('0x1f')](_0x2a1f('0x20'),_0x5316d2+'-'+_0xbded11+'/'+_0x263b25)[_0x2a1f('0x1c')](_0x53d79e);}return null;};}function patchUpdates(_0x2d1802){return function(_0xc29d9a){try{jsonpatch[_0x2a1f('0x21')](_0xc29d9a,_0x2d1802,!![]);}catch(_0x476fd6){return BPromise[_0x2a1f('0x22')](_0x476fd6);}return _0xc29d9a[_0x2a1f('0x23')]();};}function saveUpdates(_0x933d4c,_0x130c08){return function(_0x50944d){if(_0x50944d){return _0x50944d[_0x2a1f('0x24')](_0x933d4c)['then'](function(_0xfa5553){return _0xfa5553;});}return null;};}function removeEntity(_0x21829e,_0x32aaef){return function(_0x455b45){if(_0x455b45){return _0x455b45[_0x2a1f('0x25')]()[_0x2a1f('0x26')](function(){_0x21829e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ac83f,_0x2521a4){return function(_0x3e923b){if(!_0x3e923b){_0x2ac83f[_0x2a1f('0x27')](0x194);}return _0x3e923b;};}function handleError(_0x16466f,_0xe178fa){_0xe178fa=_0xe178fa||0x1f4;return function(_0x34ba27){logger['error'](_0x34ba27['stack']);if(_0x34ba27[_0x2a1f('0x28')]){delete _0x34ba27[_0x2a1f('0x28')];}_0x16466f['status'](_0xe178fa)[_0x2a1f('0x29')](_0x34ba27);};}exports[_0x2a1f('0x2a')]=function(_0x4b5c72,_0x3866d6){var _0x42bb37={},_0x50eb7d={},_0x53aa7e={'count':0x0,'rows':[]};var _0x3806e0=_['map'](db['SalesforceField'][_0x2a1f('0x2b')],function(_0x4122c9){return{'name':_0x4122c9['fieldName'],'type':_0x4122c9[_0x2a1f('0x2c')][_0x2a1f('0x2d')]};});_0x50eb7d[_0x2a1f('0x2e')]=_['map'](_0x3806e0,_0x2a1f('0x28'));_0x50eb7d['query']=_[_0x2a1f('0x2f')](_0x4b5c72[_0x2a1f('0x30')]);_0x50eb7d['filters']=_[_0x2a1f('0x31')](_0x50eb7d[_0x2a1f('0x2e')],_0x50eb7d['query']);_0x42bb37[_0x2a1f('0x32')]=_[_0x2a1f('0x31')](_0x50eb7d[_0x2a1f('0x2e')],qs[_0x2a1f('0x33')](_0x4b5c72[_0x2a1f('0x30')]['fields']));_0x42bb37[_0x2a1f('0x32')]=_0x42bb37[_0x2a1f('0x32')]['length']?_0x42bb37[_0x2a1f('0x32')]:_0x50eb7d[_0x2a1f('0x2e')];if(!_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x34')](_0x2a1f('0x35'))){_0x42bb37['limit']=qs[_0x2a1f('0x36')](_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x36')]);_0x42bb37[_0x2a1f('0x1e')]=qs[_0x2a1f('0x1e')](_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x1e')]);}_0x42bb37[_0x2a1f('0x37')]=qs[_0x2a1f('0x38')](_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x38')]);_0x42bb37[_0x2a1f('0x39')]=qs['filters'](_[_0x2a1f('0x3a')](_0x4b5c72[_0x2a1f('0x30')],_0x50eb7d['filters']),_0x3806e0);if(_0x4b5c72[_0x2a1f('0x30')]['filter']){_0x42bb37[_0x2a1f('0x39')]=_[_0x2a1f('0x3b')](_0x42bb37['where'],{'$or':_[_0x2a1f('0x3c')](_0x3806e0,function(_0x439707){if(_0x439707['type']!==_0x2a1f('0x3d')){var _0x517999={};_0x517999[_0x439707[_0x2a1f('0x28')]]={'$like':'%'+_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x3e')]+'%'};return _0x517999;}})});}_0x42bb37=_[_0x2a1f('0x3b')]({},_0x42bb37,_0x4b5c72[_0x2a1f('0x3f')]);var _0x24a379={'where':_0x42bb37['where']};return db['SalesforceField'][_0x2a1f('0x1d')](_0x24a379)[_0x2a1f('0x26')](function(_0x5ed163){_0x53aa7e['count']=_0x5ed163;if(_0x4b5c72[_0x2a1f('0x30')][_0x2a1f('0x40')]){_0x42bb37['include']=[{'all':!![]}];}return db[_0x2a1f('0x41')][_0x2a1f('0x42')](_0x42bb37);})[_0x2a1f('0x26')](function(_0x6e6bd){_0x53aa7e[_0x2a1f('0x43')]=_0x6e6bd;return _0x53aa7e;})['then'](respondWithFilteredResult(_0x3866d6,_0x42bb37))['catch'](handleError(_0x3866d6,null));};exports[_0x2a1f('0x44')]=function(_0x50c476,_0x94a3c9){var _0xc726f3={'raw':!![],'where':{'id':_0x50c476[_0x2a1f('0x45')]['id']}},_0xb27f70={};_0xb27f70[_0x2a1f('0x2e')]=_[_0x2a1f('0x2f')](db['SalesforceField'][_0x2a1f('0x2b')]);_0xb27f70[_0x2a1f('0x30')]=_[_0x2a1f('0x2f')](_0x50c476['query']);_0xb27f70[_0x2a1f('0x46')]=_[_0x2a1f('0x31')](_0xb27f70[_0x2a1f('0x2e')],_0xb27f70[_0x2a1f('0x30')]);_0xc726f3[_0x2a1f('0x32')]=_[_0x2a1f('0x31')](_0xb27f70[_0x2a1f('0x2e')],qs[_0x2a1f('0x33')](_0x50c476[_0x2a1f('0x30')][_0x2a1f('0x33')]));_0xc726f3[_0x2a1f('0x32')]=_0xc726f3[_0x2a1f('0x32')]['length']?_0xc726f3[_0x2a1f('0x32')]:_0xb27f70['model'];if(_0x50c476[_0x2a1f('0x30')]['includeAll']){_0xc726f3['include']=[{'all':!![]}];}_0xc726f3=_[_0x2a1f('0x3b')]({},_0xc726f3,_0x50c476[_0x2a1f('0x3f')]);return db[_0x2a1f('0x41')][_0x2a1f('0x47')](_0xc726f3)[_0x2a1f('0x26')](handleEntityNotFound(_0x94a3c9,null))['then'](respondWithResult(_0x94a3c9,null))['catch'](handleError(_0x94a3c9,null));};exports[_0x2a1f('0x48')]=function(_0x41bcc5,_0xa1681c){return db[_0x2a1f('0x41')][_0x2a1f('0x48')](_0x41bcc5['body'],{})[_0x2a1f('0x26')](respondWithResult(_0xa1681c,0xc9))[_0x2a1f('0x49')](handleError(_0xa1681c,null));};exports['update']=function(_0x1c4401,_0x3c9b2b){if(_0x1c4401[_0x2a1f('0x4a')]['id']){delete _0x1c4401[_0x2a1f('0x4a')]['id'];}return db[_0x2a1f('0x41')][_0x2a1f('0x47')]({'where':{'id':_0x1c4401[_0x2a1f('0x45')]['id']}})[_0x2a1f('0x26')](handleEntityNotFound(_0x3c9b2b,null))[_0x2a1f('0x26')](saveUpdates(_0x1c4401[_0x2a1f('0x4a')],null))[_0x2a1f('0x26')](respondWithResult(_0x3c9b2b,null))[_0x2a1f('0x49')](handleError(_0x3c9b2b,null));};exports['destroy']=function(_0x145f78,_0x26db5e){return db[_0x2a1f('0x41')][_0x2a1f('0x47')]({'where':{'id':_0x145f78['params']['id']}})[_0x2a1f('0x26')](handleEntityNotFound(_0x26db5e,null))[_0x2a1f('0x26')](removeEntity(_0x26db5e,null))['catch'](handleError(_0x26db5e,null));};