Built motion from commit 167bccf5.|2.6.7
[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 _0xae98=['desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','save','destroy','then','error','name','send','index','map','SalesforceField','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','fields','catch','create','body','find','params','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xae98,0x8e));var _0x8ae9=function(_0x3aba97,_0x234613){_0x3aba97=_0x3aba97-0x0;var _0x3d3b8e=_0xae98[_0x3aba97];return _0x3d3b8e;};'use strict';var emlformat=require(_0x8ae9('0x0'));var rimraf=require(_0x8ae9('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8ae9('0x2'));var rp=require(_0x8ae9('0x3'));var moment=require(_0x8ae9('0x4'));var BPromise=require(_0x8ae9('0x5'));var Mustache=require(_0x8ae9('0x6'));var util=require(_0x8ae9('0x7'));var path=require('path');var sox=require(_0x8ae9('0x8'));var csv=require(_0x8ae9('0x9'));var ejs=require(_0x8ae9('0xa'));var fs=require('fs');var fs_extra=require(_0x8ae9('0xb'));var _=require(_0x8ae9('0xc'));var squel=require(_0x8ae9('0xd'));var crypto=require(_0x8ae9('0xe'));var jsforce=require(_0x8ae9('0xf'));var deskjs=require(_0x8ae9('0x10'));var toCsv=require(_0x8ae9('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x8ae9('0x11'));var authService=require(_0x8ae9('0x12'));var qs=require(_0x8ae9('0x13'));var as=require(_0x8ae9('0x14'));var hardwareService=require(_0x8ae9('0x15'));var logger=require(_0x8ae9('0x16'))(_0x8ae9('0x17'));var utils=require('../../config/utils');var config=require(_0x8ae9('0x18'));var licenseUtil=require(_0x8ae9('0x19'));var db=require(_0x8ae9('0x1a'))['db'];function respondWithStatusCode(_0xd0a585,_0x5d1172){_0x5d1172=_0x5d1172||0xcc;return function(_0x428d8a){if(_0x428d8a){return _0xd0a585[_0x8ae9('0x1b')](_0x5d1172);}return _0xd0a585[_0x8ae9('0x1c')](_0x5d1172)[_0x8ae9('0x1d')]();};}function respondWithResult(_0x113987,_0xdab9cb){_0xdab9cb=_0xdab9cb||0xc8;return function(_0x2167a3){if(_0x2167a3){return _0x113987[_0x8ae9('0x1c')](_0xdab9cb)[_0x8ae9('0x1e')](_0x2167a3);}};}function respondWithFilteredResult(_0x461cf5,_0x231313){return function(_0x3e3523){if(_0x3e3523){var _0x43b63e=typeof _0x231313['offset']===_0x8ae9('0x1f')&&typeof _0x231313[_0x8ae9('0x20')]==='undefined';var _0x240a24=_0x3e3523[_0x8ae9('0x21')];var _0x553559=_0x43b63e?0x0:_0x231313[_0x8ae9('0x22')];var _0x1d6416=_0x43b63e?_0x3e3523[_0x8ae9('0x21')]:_0x231313['offset']+_0x231313[_0x8ae9('0x20')];var _0x263078;if(_0x1d6416>=_0x240a24){_0x1d6416=_0x240a24;_0x263078=0xc8;}else{_0x263078=0xce;}_0x461cf5[_0x8ae9('0x1c')](_0x263078);return _0x461cf5[_0x8ae9('0x23')](_0x8ae9('0x24'),_0x553559+'-'+_0x1d6416+'/'+_0x240a24)[_0x8ae9('0x1e')](_0x3e3523);}return null;};}function patchUpdates(_0x4a8bf4){return function(_0x191188){try{jsonpatch['apply'](_0x191188,_0x4a8bf4,!![]);}catch(_0x5d93da){return BPromise[_0x8ae9('0x25')](_0x5d93da);}return _0x191188[_0x8ae9('0x26')]();};}function saveUpdates(_0x3e87e0,_0x532353){return function(_0x19875e){if(_0x19875e){return _0x19875e['update'](_0x3e87e0)['then'](function(_0x314dea){return _0x314dea;});}return null;};}function removeEntity(_0x55ee23,_0x344db2){return function(_0x1a814c){if(_0x1a814c){return _0x1a814c[_0x8ae9('0x27')]()[_0x8ae9('0x28')](function(){_0x55ee23[_0x8ae9('0x1c')](0xcc)[_0x8ae9('0x1d')]();});}};}function handleEntityNotFound(_0x2d8ff6,_0x4ee1f){return function(_0xef5381){if(!_0xef5381){_0x2d8ff6['sendStatus'](0x194);}return _0xef5381;};}function handleError(_0xb3c75e,_0x13c0f7){_0x13c0f7=_0x13c0f7||0x1f4;return function(_0x254071){logger[_0x8ae9('0x29')](_0x254071['stack']);if(_0x254071[_0x8ae9('0x2a')]){delete _0x254071['name'];}_0xb3c75e[_0x8ae9('0x1c')](_0x13c0f7)[_0x8ae9('0x2b')](_0x254071);};}exports[_0x8ae9('0x2c')]=function(_0x216757,_0x38071e){var _0x3d4a0b={},_0x40f9c8={},_0x2db2d3={'count':0x0,'rows':[]};var _0x54cb05=_[_0x8ae9('0x2d')](db[_0x8ae9('0x2e')][_0x8ae9('0x2f')],function(_0x37a84a){return{'name':_0x37a84a[_0x8ae9('0x30')],'type':_0x37a84a[_0x8ae9('0x31')][_0x8ae9('0x32')]};});_0x40f9c8[_0x8ae9('0x33')]=_['map'](_0x54cb05,_0x8ae9('0x2a'));_0x40f9c8['query']=_[_0x8ae9('0x34')](_0x216757[_0x8ae9('0x35')]);_0x40f9c8['filters']=_[_0x8ae9('0x36')](_0x40f9c8['model'],_0x40f9c8[_0x8ae9('0x35')]);_0x3d4a0b[_0x8ae9('0x37')]=_[_0x8ae9('0x36')](_0x40f9c8[_0x8ae9('0x33')],qs['fields'](_0x216757[_0x8ae9('0x35')]['fields']));_0x3d4a0b[_0x8ae9('0x37')]=_0x3d4a0b[_0x8ae9('0x37')][_0x8ae9('0x38')]?_0x3d4a0b['attributes']:_0x40f9c8[_0x8ae9('0x33')];if(!_0x216757[_0x8ae9('0x35')][_0x8ae9('0x39')](_0x8ae9('0x3a'))){_0x3d4a0b[_0x8ae9('0x20')]=qs[_0x8ae9('0x20')](_0x216757[_0x8ae9('0x35')][_0x8ae9('0x20')]);_0x3d4a0b[_0x8ae9('0x22')]=qs[_0x8ae9('0x22')](_0x216757['query']['offset']);}_0x3d4a0b[_0x8ae9('0x3b')]=qs[_0x8ae9('0x3c')](_0x216757[_0x8ae9('0x35')][_0x8ae9('0x3c')]);_0x3d4a0b[_0x8ae9('0x3d')]=qs[_0x8ae9('0x3e')](_[_0x8ae9('0x3f')](_0x216757['query'],_0x40f9c8[_0x8ae9('0x3e')]),_0x54cb05);if(_0x216757[_0x8ae9('0x35')]['filter']){_0x3d4a0b[_0x8ae9('0x3d')]=_[_0x8ae9('0x40')](_0x3d4a0b[_0x8ae9('0x3d')],{'$or':_[_0x8ae9('0x2d')](_0x54cb05,function(_0x28b6fe){if(_0x28b6fe[_0x8ae9('0x31')]!==_0x8ae9('0x41')){var _0xf63737={};_0xf63737[_0x28b6fe[_0x8ae9('0x2a')]]={'$like':'%'+_0x216757[_0x8ae9('0x35')][_0x8ae9('0x42')]+'%'};return _0xf63737;}})});}_0x3d4a0b=_[_0x8ae9('0x40')]({},_0x3d4a0b,_0x216757[_0x8ae9('0x43')]);var _0x597381={'where':_0x3d4a0b[_0x8ae9('0x3d')]};return db[_0x8ae9('0x2e')][_0x8ae9('0x21')](_0x597381)['then'](function(_0xaae65b){_0x2db2d3['count']=_0xaae65b;if(_0x216757['query'][_0x8ae9('0x44')]){_0x3d4a0b[_0x8ae9('0x45')]=[{'all':!![]}];}return db[_0x8ae9('0x2e')][_0x8ae9('0x46')](_0x3d4a0b);})['then'](function(_0x53ecfa){_0x2db2d3[_0x8ae9('0x47')]=_0x53ecfa;return _0x2db2d3;})['then'](respondWithFilteredResult(_0x38071e,_0x3d4a0b))['catch'](handleError(_0x38071e,null));};exports[_0x8ae9('0x48')]=function(_0x14ede7,_0x172aab){var _0x1707f6={'raw':!![],'where':{'id':_0x14ede7['params']['id']}},_0x5d0df9={};_0x5d0df9[_0x8ae9('0x33')]=_['keys'](db[_0x8ae9('0x2e')][_0x8ae9('0x2f')]);_0x5d0df9[_0x8ae9('0x35')]=_[_0x8ae9('0x34')](_0x14ede7[_0x8ae9('0x35')]);_0x5d0df9['filters']=_[_0x8ae9('0x36')](_0x5d0df9[_0x8ae9('0x33')],_0x5d0df9[_0x8ae9('0x35')]);_0x1707f6[_0x8ae9('0x37')]=_[_0x8ae9('0x36')](_0x5d0df9['model'],qs['fields'](_0x14ede7[_0x8ae9('0x35')][_0x8ae9('0x49')]));_0x1707f6[_0x8ae9('0x37')]=_0x1707f6[_0x8ae9('0x37')][_0x8ae9('0x38')]?_0x1707f6[_0x8ae9('0x37')]:_0x5d0df9[_0x8ae9('0x33')];if(_0x14ede7[_0x8ae9('0x35')]['includeAll']){_0x1707f6[_0x8ae9('0x45')]=[{'all':!![]}];}_0x1707f6=_[_0x8ae9('0x40')]({},_0x1707f6,_0x14ede7[_0x8ae9('0x43')]);return db['SalesforceField']['find'](_0x1707f6)[_0x8ae9('0x28')](handleEntityNotFound(_0x172aab,null))['then'](respondWithResult(_0x172aab,null))[_0x8ae9('0x4a')](handleError(_0x172aab,null));};exports[_0x8ae9('0x4b')]=function(_0x51e4ca,_0x26f367){return db[_0x8ae9('0x2e')][_0x8ae9('0x4b')](_0x51e4ca[_0x8ae9('0x4c')],{})[_0x8ae9('0x28')](respondWithResult(_0x26f367,0xc9))['catch'](handleError(_0x26f367,null));};exports['update']=function(_0x22cbab,_0x2f5771){if(_0x22cbab[_0x8ae9('0x4c')]['id']){delete _0x22cbab[_0x8ae9('0x4c')]['id'];}return db[_0x8ae9('0x2e')][_0x8ae9('0x4d')]({'where':{'id':_0x22cbab[_0x8ae9('0x4e')]['id']}})[_0x8ae9('0x28')](handleEntityNotFound(_0x2f5771,null))[_0x8ae9('0x28')](saveUpdates(_0x22cbab[_0x8ae9('0x4c')],null))[_0x8ae9('0x28')](respondWithResult(_0x2f5771,null))[_0x8ae9('0x4a')](handleError(_0x2f5771,null));};exports[_0x8ae9('0x27')]=function(_0x3f63af,_0x25a8ba){return db['SalesforceField'][_0x8ae9('0x4d')]({'where':{'id':_0x3f63af[_0x8ae9('0x4e')]['id']}})[_0x8ae9('0x28')](handleEntityNotFound(_0x25a8ba,null))[_0x8ae9('0x28')](removeEntity(_0x25a8ba,null))[_0x8ae9('0x4a')](handleError(_0x25a8ba,null));};