9880dfa8923217f5ff9828e48bfa80fe30cdde21
[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 _0x0294=['querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','Content-Range','apply','reject','update','end','sendStatus','error','stack','name','index','rawAttributes','fieldName','type','key','query','keys','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','VIRTUAL','options','SalesforceField','then','include','findAll','show','params','intersection','includeAll','catch','create','body','find','eml-format','zip-dir','request-promise','moment','bluebird','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js'];(function(_0x4c9c5d,_0x272763){var _0x336854=function(_0x4daac6){while(--_0x4daac6){_0x4c9c5d['push'](_0x4c9c5d['shift']());}};_0x336854(++_0x272763);}(_0x0294,0x160));var _0x4029=function(_0x3086c8,_0x5d1940){_0x3086c8=_0x3086c8-0x0;var _0x26ff3c=_0x0294[_0x3086c8];return _0x26ff3c;};'use strict';var emlformat=require(_0x4029('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4029('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4029('0x2'));var moment=require(_0x4029('0x3'));var BPromise=require(_0x4029('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x4029('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x4029('0x6'));var fs=require('fs');var fs_extra=require(_0x4029('0x7'));var _=require(_0x4029('0x8'));var squel=require(_0x4029('0x9'));var crypto=require(_0x4029('0xa'));var jsforce=require(_0x4029('0xb'));var deskjs=require(_0x4029('0xc'));var toCsv=require('to-csv');var querystring=require(_0x4029('0xd'));var Papa=require('papaparse');var Redis=require(_0x4029('0xe'));var authService=require(_0x4029('0xf'));var qs=require(_0x4029('0x10'));var as=require(_0x4029('0x11'));var hardwareService=require(_0x4029('0x12'));var logger=require('../../config/logger')(_0x4029('0x13'));var utils=require(_0x4029('0x14'));var config=require(_0x4029('0x15'));var licenseUtil=require(_0x4029('0x16'));var db=require(_0x4029('0x17'))['db'];function respondWithStatusCode(_0x125f2c,_0x3bc50b){_0x3bc50b=_0x3bc50b||0xcc;return function(_0x5e8d40){if(_0x5e8d40){return _0x125f2c['sendStatus'](_0x3bc50b);}return _0x125f2c['status'](_0x3bc50b)['end']();};}function respondWithResult(_0xb2ee9d,_0x2e614f){_0x2e614f=_0x2e614f||0xc8;return function(_0x474798){if(_0x474798){return _0xb2ee9d[_0x4029('0x18')](_0x2e614f)[_0x4029('0x19')](_0x474798);}};}function respondWithFilteredResult(_0x16efe1,_0x3d6698){return function(_0x1bfe72){if(_0x1bfe72){var _0x309923=typeof _0x3d6698[_0x4029('0x1a')]===_0x4029('0x1b')&&typeof _0x3d6698[_0x4029('0x1c')]==='undefined';var _0x4e2bed=_0x1bfe72[_0x4029('0x1d')];var _0xe73f64=_0x309923?0x0:_0x3d6698[_0x4029('0x1a')];var _0x161a38=_0x309923?_0x1bfe72['count']:_0x3d6698['offset']+_0x3d6698[_0x4029('0x1c')];var _0x2a1b05;if(_0x161a38>=_0x4e2bed){_0x161a38=_0x4e2bed;_0x2a1b05=0xc8;}else{_0x2a1b05=0xce;}_0x16efe1[_0x4029('0x18')](_0x2a1b05);return _0x16efe1['set'](_0x4029('0x1e'),_0xe73f64+'-'+_0x161a38+'/'+_0x4e2bed)[_0x4029('0x19')](_0x1bfe72);}return null;};}function patchUpdates(_0x4a12d0){return function(_0x44b3df){try{jsonpatch[_0x4029('0x1f')](_0x44b3df,_0x4a12d0,!![]);}catch(_0x3d5889){return BPromise[_0x4029('0x20')](_0x3d5889);}return _0x44b3df['save']();};}function saveUpdates(_0x18be9a,_0x22026b){return function(_0x2ef064){if(_0x2ef064){return _0x2ef064[_0x4029('0x21')](_0x18be9a)['then'](function(_0xb2d1c6){return _0xb2d1c6;});}return null;};}function removeEntity(_0x3010da,_0x1e85da){return function(_0x4552a2){if(_0x4552a2){return _0x4552a2['destroy']()['then'](function(){_0x3010da[_0x4029('0x18')](0xcc)[_0x4029('0x22')]();});}};}function handleEntityNotFound(_0xb30565,_0x22603b){return function(_0x3ddef2){if(!_0x3ddef2){_0xb30565[_0x4029('0x23')](0x194);}return _0x3ddef2;};}function handleError(_0x2db0c0,_0x2c45d6){_0x2c45d6=_0x2c45d6||0x1f4;return function(_0x501969){logger[_0x4029('0x24')](_0x501969[_0x4029('0x25')]);if(_0x501969[_0x4029('0x26')]){delete _0x501969[_0x4029('0x26')];}_0x2db0c0['status'](_0x2c45d6)['send'](_0x501969);};}exports[_0x4029('0x27')]=function(_0x3407a9,_0x9ef382){var _0x3c27eb={},_0x1fb28f={},_0x24a142={'count':0x0,'rows':[]};var _0x3d2693=_['map'](db['SalesforceField'][_0x4029('0x28')],function(_0x33a924){return{'name':_0x33a924[_0x4029('0x29')],'type':_0x33a924[_0x4029('0x2a')][_0x4029('0x2b')]};});_0x1fb28f['model']=_['map'](_0x3d2693,'name');_0x1fb28f[_0x4029('0x2c')]=_[_0x4029('0x2d')](_0x3407a9['query']);_0x1fb28f['filters']=_['intersection'](_0x1fb28f[_0x4029('0x2e')],_0x1fb28f[_0x4029('0x2c')]);_0x3c27eb[_0x4029('0x2f')]=_['intersection'](_0x1fb28f[_0x4029('0x2e')],qs[_0x4029('0x30')](_0x3407a9[_0x4029('0x2c')][_0x4029('0x30')]));_0x3c27eb[_0x4029('0x2f')]=_0x3c27eb[_0x4029('0x2f')][_0x4029('0x31')]?_0x3c27eb[_0x4029('0x2f')]:_0x1fb28f['model'];if(!_0x3407a9[_0x4029('0x2c')][_0x4029('0x32')](_0x4029('0x33'))){_0x3c27eb[_0x4029('0x1c')]=qs[_0x4029('0x1c')](_0x3407a9[_0x4029('0x2c')]['limit']);_0x3c27eb['offset']=qs[_0x4029('0x1a')](_0x3407a9['query']['offset']);}_0x3c27eb[_0x4029('0x34')]=qs[_0x4029('0x35')](_0x3407a9[_0x4029('0x2c')]['sort']);_0x3c27eb[_0x4029('0x36')]=qs['filters'](_[_0x4029('0x37')](_0x3407a9[_0x4029('0x2c')],_0x1fb28f[_0x4029('0x38')]),_0x3d2693);if(_0x3407a9[_0x4029('0x2c')][_0x4029('0x39')]){_0x3c27eb['where']=_[_0x4029('0x3a')](_0x3c27eb[_0x4029('0x36')],{'$or':_['map'](_0x3d2693,function(_0x263e90){if(_0x263e90['type']!==_0x4029('0x3b')){var _0x552c11={};_0x552c11[_0x263e90[_0x4029('0x26')]]={'$like':'%'+_0x3407a9[_0x4029('0x2c')][_0x4029('0x39')]+'%'};return _0x552c11;}})});}_0x3c27eb=_['merge']({},_0x3c27eb,_0x3407a9[_0x4029('0x3c')]);var _0xdc0b1e={'where':_0x3c27eb[_0x4029('0x36')]};return db[_0x4029('0x3d')]['count'](_0xdc0b1e)[_0x4029('0x3e')](function(_0xf01b8){_0x24a142[_0x4029('0x1d')]=_0xf01b8;if(_0x3407a9[_0x4029('0x2c')]['includeAll']){_0x3c27eb[_0x4029('0x3f')]=[{'all':!![]}];}return db[_0x4029('0x3d')][_0x4029('0x40')](_0x3c27eb);})[_0x4029('0x3e')](function(_0xf86a7a){_0x24a142['rows']=_0xf86a7a;return _0x24a142;})[_0x4029('0x3e')](respondWithFilteredResult(_0x9ef382,_0x3c27eb))['catch'](handleError(_0x9ef382,null));};exports[_0x4029('0x41')]=function(_0x33e03f,_0x415f3c){var _0xaf4afc={'raw':!![],'where':{'id':_0x33e03f[_0x4029('0x42')]['id']}},_0x3bd7b3={};_0x3bd7b3['model']=_[_0x4029('0x2d')](db[_0x4029('0x3d')][_0x4029('0x28')]);_0x3bd7b3['query']=_[_0x4029('0x2d')](_0x33e03f[_0x4029('0x2c')]);_0x3bd7b3['filters']=_['intersection'](_0x3bd7b3[_0x4029('0x2e')],_0x3bd7b3[_0x4029('0x2c')]);_0xaf4afc[_0x4029('0x2f')]=_[_0x4029('0x43')](_0x3bd7b3[_0x4029('0x2e')],qs['fields'](_0x33e03f[_0x4029('0x2c')][_0x4029('0x30')]));_0xaf4afc[_0x4029('0x2f')]=_0xaf4afc[_0x4029('0x2f')][_0x4029('0x31')]?_0xaf4afc['attributes']:_0x3bd7b3[_0x4029('0x2e')];if(_0x33e03f[_0x4029('0x2c')][_0x4029('0x44')]){_0xaf4afc[_0x4029('0x3f')]=[{'all':!![]}];}_0xaf4afc=_[_0x4029('0x3a')]({},_0xaf4afc,_0x33e03f[_0x4029('0x3c')]);return db[_0x4029('0x3d')]['find'](_0xaf4afc)[_0x4029('0x3e')](handleEntityNotFound(_0x415f3c,null))[_0x4029('0x3e')](respondWithResult(_0x415f3c,null))[_0x4029('0x45')](handleError(_0x415f3c,null));};exports[_0x4029('0x46')]=function(_0x499564,_0x4b5aeb){return db['SalesforceField']['create'](_0x499564['body'],{})['then'](respondWithResult(_0x4b5aeb,0xc9))[_0x4029('0x45')](handleError(_0x4b5aeb,null));};exports[_0x4029('0x21')]=function(_0x1789f4,_0x5d8e70){if(_0x1789f4[_0x4029('0x47')]['id']){delete _0x1789f4[_0x4029('0x47')]['id'];}return db[_0x4029('0x3d')]['find']({'where':{'id':_0x1789f4[_0x4029('0x42')]['id']}})[_0x4029('0x3e')](handleEntityNotFound(_0x5d8e70,null))[_0x4029('0x3e')](saveUpdates(_0x1789f4['body'],null))[_0x4029('0x3e')](respondWithResult(_0x5d8e70,null))['catch'](handleError(_0x5d8e70,null));};exports['destroy']=function(_0x4df9bf,_0x430291){return db['SalesforceField'][_0x4029('0x48')]({'where':{'id':_0x4df9bf[_0x4029('0x42')]['id']}})[_0x4029('0x3e')](handleEntityNotFound(_0x430291,null))[_0x4029('0x3e')](removeEntity(_0x430291,null))[_0x4029('0x45')](handleError(_0x430291,null));};