2ceddba55b69a510462c3441fae3c3dfafaf2877
[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 _0x102e=['findAll','rows','catch','show','create','body','find','params','rimraf','fast-json-patch','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','send','index','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','merge','where','options','SalesforceField','includeAll','include'];(function(_0x30d8ac,_0x40313f){var _0x2670bb=function(_0x2294b0){while(--_0x2294b0){_0x30d8ac['push'](_0x30d8ac['shift']());}};_0x2670bb(++_0x40313f);}(_0x102e,0xe3));var _0xe102=function(_0x4518a4,_0x10cb9d){_0x4518a4=_0x4518a4-0x0;var _0x297d23=_0x102e[_0x4518a4];return _0x297d23;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe102('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe102('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe102('0x2'));var util=require(_0xe102('0x3'));var path=require(_0xe102('0x4'));var sox=require(_0xe102('0x5'));var csv=require('to-csv');var ejs=require(_0xe102('0x6'));var fs=require('fs');var fs_extra=require(_0xe102('0x7'));var _=require(_0xe102('0x8'));var squel=require(_0xe102('0x9'));var crypto=require(_0xe102('0xa'));var jsforce=require(_0xe102('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xe102('0xc'));var querystring=require(_0xe102('0xd'));var Papa=require(_0xe102('0xe'));var Redis=require(_0xe102('0xf'));var authService=require(_0xe102('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xe102('0x11'));var hardwareService=require(_0xe102('0x12'));var logger=require('../../config/logger')(_0xe102('0x13'));var utils=require(_0xe102('0x14'));var config=require(_0xe102('0x15'));var licenseUtil=require(_0xe102('0x16'));var db=require(_0xe102('0x17'))['db'];function respondWithStatusCode(_0x5c0933,_0x7f8465){_0x7f8465=_0x7f8465||0xcc;return function(_0x2a172c){if(_0x2a172c){return _0x5c0933['sendStatus'](_0x7f8465);}return _0x5c0933[_0xe102('0x18')](_0x7f8465)[_0xe102('0x19')]();};}function respondWithResult(_0x517999,_0xc54661){_0xc54661=_0xc54661||0xc8;return function(_0x13ad6b){if(_0x13ad6b){return _0x517999[_0xe102('0x18')](_0xc54661)[_0xe102('0x1a')](_0x13ad6b);}};}function respondWithFilteredResult(_0x44cafd,_0xdfb43b){return function(_0x508ee5){if(_0x508ee5){var _0x1bb54e=typeof _0xdfb43b[_0xe102('0x1b')]===_0xe102('0x1c')&&typeof _0xdfb43b[_0xe102('0x1d')]===_0xe102('0x1c');var _0x5b5444=_0x508ee5[_0xe102('0x1e')];var _0x21f297=_0x1bb54e?0x0:_0xdfb43b['offset'];var _0x1d27dc=_0x1bb54e?_0x508ee5[_0xe102('0x1e')]:_0xdfb43b[_0xe102('0x1b')]+_0xdfb43b[_0xe102('0x1d')];var _0x160410;if(_0x1d27dc>=_0x5b5444){_0x1d27dc=_0x5b5444;_0x160410=0xc8;}else{_0x160410=0xce;}_0x44cafd['status'](_0x160410);return _0x44cafd['set'](_0xe102('0x1f'),_0x21f297+'-'+_0x1d27dc+'/'+_0x5b5444)['json'](_0x508ee5);}return null;};}function patchUpdates(_0x27b556){return function(_0x1e233f){try{jsonpatch[_0xe102('0x20')](_0x1e233f,_0x27b556,!![]);}catch(_0x34a9b0){return BPromise[_0xe102('0x21')](_0x34a9b0);}return _0x1e233f[_0xe102('0x22')]();};}function saveUpdates(_0x576488,_0x13cbda){return function(_0x52b526){if(_0x52b526){return _0x52b526[_0xe102('0x23')](_0x576488)[_0xe102('0x24')](function(_0x334d9b){return _0x334d9b;});}return null;};}function removeEntity(_0x4d6ef1,_0x51b443){return function(_0x23b7f9){if(_0x23b7f9){return _0x23b7f9[_0xe102('0x25')]()[_0xe102('0x24')](function(){_0x4d6ef1[_0xe102('0x18')](0xcc)[_0xe102('0x19')]();});}};}function handleEntityNotFound(_0x1c6ac6,_0x345b46){return function(_0x50fb39){if(!_0x50fb39){_0x1c6ac6[_0xe102('0x26')](0x194);}return _0x50fb39;};}function handleError(_0x442424,_0x4179bc){_0x4179bc=_0x4179bc||0x1f4;return function(_0x561c76){logger[_0xe102('0x27')](_0x561c76['stack']);if(_0x561c76[_0xe102('0x28')]){delete _0x561c76['name'];}_0x442424[_0xe102('0x18')](_0x4179bc)[_0xe102('0x29')](_0x561c76);};}exports[_0xe102('0x2a')]=function(_0x2844f5,_0x5769e1){var _0x4ad4b6={},_0x33f4f8={},_0x3f6a62={'count':0x0,'rows':[]};var _0x4ddfde=_['map'](db['SalesforceField'][_0xe102('0x2b')],function(_0x40b655){return{'name':_0x40b655[_0xe102('0x2c')],'type':_0x40b655[_0xe102('0x2d')][_0xe102('0x2e')]};});_0x33f4f8[_0xe102('0x2f')]=_['map'](_0x4ddfde,'name');_0x33f4f8[_0xe102('0x30')]=_[_0xe102('0x31')](_0x2844f5[_0xe102('0x30')]);_0x33f4f8[_0xe102('0x32')]=_[_0xe102('0x33')](_0x33f4f8[_0xe102('0x2f')],_0x33f4f8[_0xe102('0x30')]);_0x4ad4b6[_0xe102('0x34')]=_[_0xe102('0x33')](_0x33f4f8[_0xe102('0x2f')],qs[_0xe102('0x35')](_0x2844f5[_0xe102('0x30')][_0xe102('0x35')]));_0x4ad4b6[_0xe102('0x34')]=_0x4ad4b6[_0xe102('0x34')][_0xe102('0x36')]?_0x4ad4b6[_0xe102('0x34')]:_0x33f4f8['model'];if(!_0x2844f5[_0xe102('0x30')][_0xe102('0x37')]('nolimit')){_0x4ad4b6[_0xe102('0x1d')]=qs[_0xe102('0x1d')](_0x2844f5['query'][_0xe102('0x1d')]);_0x4ad4b6[_0xe102('0x1b')]=qs[_0xe102('0x1b')](_0x2844f5[_0xe102('0x30')][_0xe102('0x1b')]);}_0x4ad4b6[_0xe102('0x38')]=qs[_0xe102('0x39')](_0x2844f5[_0xe102('0x30')][_0xe102('0x39')]);_0x4ad4b6['where']=qs[_0xe102('0x32')](_[_0xe102('0x3a')](_0x2844f5['query'],_0x33f4f8['filters']),_0x4ddfde);if(_0x2844f5['query']['filter']){_0x4ad4b6['where']=_[_0xe102('0x3b')](_0x4ad4b6[_0xe102('0x3c')],{'$or':_['map'](_0x4ddfde,function(_0x3b2676){if(_0x3b2676[_0xe102('0x2d')]!=='VIRTUAL'){var _0x4e1516={};_0x4e1516[_0x3b2676[_0xe102('0x28')]]={'$like':'%'+_0x2844f5['query']['filter']+'%'};return _0x4e1516;}})});}_0x4ad4b6=_[_0xe102('0x3b')]({},_0x4ad4b6,_0x2844f5[_0xe102('0x3d')]);var _0x191293={'where':_0x4ad4b6[_0xe102('0x3c')]};return db[_0xe102('0x3e')][_0xe102('0x1e')](_0x191293)[_0xe102('0x24')](function(_0x269bd7){_0x3f6a62[_0xe102('0x1e')]=_0x269bd7;if(_0x2844f5[_0xe102('0x30')][_0xe102('0x3f')]){_0x4ad4b6[_0xe102('0x40')]=[{'all':!![]}];}return db[_0xe102('0x3e')][_0xe102('0x41')](_0x4ad4b6);})[_0xe102('0x24')](function(_0x354588){_0x3f6a62[_0xe102('0x42')]=_0x354588;return _0x3f6a62;})[_0xe102('0x24')](respondWithFilteredResult(_0x5769e1,_0x4ad4b6))[_0xe102('0x43')](handleError(_0x5769e1,null));};exports[_0xe102('0x44')]=function(_0x1471ed,_0x42d6de){var _0xa02302={'raw':!![],'where':{'id':_0x1471ed['params']['id']}},_0x3a3cc4={};_0x3a3cc4[_0xe102('0x2f')]=_[_0xe102('0x31')](db['SalesforceField'][_0xe102('0x2b')]);_0x3a3cc4[_0xe102('0x30')]=_[_0xe102('0x31')](_0x1471ed[_0xe102('0x30')]);_0x3a3cc4['filters']=_[_0xe102('0x33')](_0x3a3cc4[_0xe102('0x2f')],_0x3a3cc4[_0xe102('0x30')]);_0xa02302[_0xe102('0x34')]=_[_0xe102('0x33')](_0x3a3cc4[_0xe102('0x2f')],qs[_0xe102('0x35')](_0x1471ed[_0xe102('0x30')][_0xe102('0x35')]));_0xa02302[_0xe102('0x34')]=_0xa02302[_0xe102('0x34')][_0xe102('0x36')]?_0xa02302[_0xe102('0x34')]:_0x3a3cc4[_0xe102('0x2f')];if(_0x1471ed[_0xe102('0x30')][_0xe102('0x3f')]){_0xa02302['include']=[{'all':!![]}];}_0xa02302=_['merge']({},_0xa02302,_0x1471ed[_0xe102('0x3d')]);return db['SalesforceField']['find'](_0xa02302)[_0xe102('0x24')](handleEntityNotFound(_0x42d6de,null))[_0xe102('0x24')](respondWithResult(_0x42d6de,null))['catch'](handleError(_0x42d6de,null));};exports[_0xe102('0x45')]=function(_0x4a6a48,_0x5ba5cf){return db[_0xe102('0x3e')][_0xe102('0x45')](_0x4a6a48['body'],{})[_0xe102('0x24')](respondWithResult(_0x5ba5cf,0xc9))['catch'](handleError(_0x5ba5cf,null));};exports[_0xe102('0x23')]=function(_0x1d2e03,_0x4fdf55){if(_0x1d2e03[_0xe102('0x46')]['id']){delete _0x1d2e03[_0xe102('0x46')]['id'];}return db['SalesforceField'][_0xe102('0x47')]({'where':{'id':_0x1d2e03[_0xe102('0x48')]['id']}})[_0xe102('0x24')](handleEntityNotFound(_0x4fdf55,null))['then'](saveUpdates(_0x1d2e03[_0xe102('0x46')],null))['then'](respondWithResult(_0x4fdf55,null))[_0xe102('0x43')](handleError(_0x4fdf55,null));};exports[_0xe102('0x25')]=function(_0x53d1eb,_0x15da00){return db[_0xe102('0x3e')][_0xe102('0x47')]({'where':{'id':_0x53d1eb['params']['id']}})[_0xe102('0x24')](handleEntityNotFound(_0x15da00,null))[_0xe102('0x24')](removeEntity(_0x15da00,null))[_0xe102('0x43')](handleError(_0x15da00,null));};