Built motion from commit 43538d75.|2.5.35
[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 _0x7f3b=['to-csv','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','destroy','stack','name','index','map','SalesforceField','fieldName','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','keys','create','body','find','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x7f3b,0x1ae));var _0xb7f3=function(_0x35e50d,_0x224188){_0x35e50d=_0x35e50d-0x0;var _0x40e702=_0x7f3b[_0x35e50d];return _0x40e702;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb7f3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb7f3('0x1'));var rp=require(_0xb7f3('0x2'));var moment=require(_0xb7f3('0x3'));var BPromise=require(_0xb7f3('0x4'));var Mustache=require('mustache');var util=require(_0xb7f3('0x5'));var path=require(_0xb7f3('0x6'));var sox=require(_0xb7f3('0x7'));var csv=require(_0xb7f3('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb7f3('0x9'));var _=require(_0xb7f3('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb7f3('0xb'));var deskjs=require(_0xb7f3('0xc'));var toCsv=require(_0xb7f3('0x8'));var querystring=require(_0xb7f3('0xd'));var Papa=require('papaparse');var Redis=require(_0xb7f3('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb7f3('0xf'));var hardwareService=require(_0xb7f3('0x10'));var logger=require(_0xb7f3('0x11'))(_0xb7f3('0x12'));var utils=require(_0xb7f3('0x13'));var config=require(_0xb7f3('0x14'));var licenseUtil=require(_0xb7f3('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d18e8,_0x4c60d8){_0x4c60d8=_0x4c60d8||0xcc;return function(_0x37a9cb){if(_0x37a9cb){return _0x5d18e8[_0xb7f3('0x16')](_0x4c60d8);}return _0x5d18e8[_0xb7f3('0x17')](_0x4c60d8)[_0xb7f3('0x18')]();};}function respondWithResult(_0x161213,_0x3eeac8){_0x3eeac8=_0x3eeac8||0xc8;return function(_0x4af130){if(_0x4af130){return _0x161213[_0xb7f3('0x17')](_0x3eeac8)[_0xb7f3('0x19')](_0x4af130);}};}function respondWithFilteredResult(_0x4c9b48,_0x45acc0){return function(_0x2f0d6f){if(_0x2f0d6f){var _0xc7ff9a=typeof _0x45acc0[_0xb7f3('0x1a')]===_0xb7f3('0x1b')&&typeof _0x45acc0['limit']===_0xb7f3('0x1b');var _0x19d152=_0x2f0d6f['count'];var _0x43ba4b=_0xc7ff9a?0x0:_0x45acc0[_0xb7f3('0x1a')];var _0x4f0b96=_0xc7ff9a?_0x2f0d6f[_0xb7f3('0x1c')]:_0x45acc0[_0xb7f3('0x1a')]+_0x45acc0[_0xb7f3('0x1d')];var _0x3babb8;if(_0x4f0b96>=_0x19d152){_0x4f0b96=_0x19d152;_0x3babb8=0xc8;}else{_0x3babb8=0xce;}_0x4c9b48[_0xb7f3('0x17')](_0x3babb8);return _0x4c9b48[_0xb7f3('0x1e')]('Content-Range',_0x43ba4b+'-'+_0x4f0b96+'/'+_0x19d152)[_0xb7f3('0x19')](_0x2f0d6f);}return null;};}function patchUpdates(_0x3a94ea){return function(_0x515a53){try{jsonpatch[_0xb7f3('0x1f')](_0x515a53,_0x3a94ea,!![]);}catch(_0x522876){return BPromise[_0xb7f3('0x20')](_0x522876);}return _0x515a53[_0xb7f3('0x21')]();};}function saveUpdates(_0x227d86,_0x4cacb5){return function(_0x2c220d){if(_0x2c220d){return _0x2c220d[_0xb7f3('0x22')](_0x227d86)[_0xb7f3('0x23')](function(_0x5e157f){return _0x5e157f;});}return null;};}function removeEntity(_0x36edd8,_0x3e4184){return function(_0x483897){if(_0x483897){return _0x483897[_0xb7f3('0x24')]()[_0xb7f3('0x23')](function(){_0x36edd8[_0xb7f3('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d9287,_0x40f636){return function(_0x231cba){if(!_0x231cba){_0x1d9287['sendStatus'](0x194);}return _0x231cba;};}function handleError(_0x5a499f,_0x294bd6){_0x294bd6=_0x294bd6||0x1f4;return function(_0x595aeb){logger['error'](_0x595aeb[_0xb7f3('0x25')]);if(_0x595aeb['name']){delete _0x595aeb[_0xb7f3('0x26')];}_0x5a499f[_0xb7f3('0x17')](_0x294bd6)['send'](_0x595aeb);};}exports[_0xb7f3('0x27')]=function(_0x410e13,_0x4cb69d){var _0x2e14d3={},_0x58e97b={},_0x26b53a={'count':0x0,'rows':[]};var _0x2e0921=_[_0xb7f3('0x28')](db[_0xb7f3('0x29')]['rawAttributes'],function(_0x552d41){return{'name':_0x552d41[_0xb7f3('0x2a')],'type':_0x552d41['type'][_0xb7f3('0x2b')]};});_0x58e97b[_0xb7f3('0x2c')]=_[_0xb7f3('0x28')](_0x2e0921,_0xb7f3('0x26'));_0x58e97b[_0xb7f3('0x2d')]=_['keys'](_0x410e13[_0xb7f3('0x2d')]);_0x58e97b[_0xb7f3('0x2e')]=_['intersection'](_0x58e97b[_0xb7f3('0x2c')],_0x58e97b[_0xb7f3('0x2d')]);_0x2e14d3[_0xb7f3('0x2f')]=_[_0xb7f3('0x30')](_0x58e97b[_0xb7f3('0x2c')],qs[_0xb7f3('0x31')](_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x31')]));_0x2e14d3[_0xb7f3('0x2f')]=_0x2e14d3[_0xb7f3('0x2f')][_0xb7f3('0x32')]?_0x2e14d3[_0xb7f3('0x2f')]:_0x58e97b['model'];if(!_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x33')]('nolimit')){_0x2e14d3['limit']=qs['limit'](_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x1d')]);_0x2e14d3[_0xb7f3('0x1a')]=qs[_0xb7f3('0x1a')](_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x1a')]);}_0x2e14d3[_0xb7f3('0x34')]=qs[_0xb7f3('0x35')](_0x410e13['query'][_0xb7f3('0x35')]);_0x2e14d3[_0xb7f3('0x36')]=qs[_0xb7f3('0x2e')](_[_0xb7f3('0x37')](_0x410e13[_0xb7f3('0x2d')],_0x58e97b[_0xb7f3('0x2e')]),_0x2e0921);if(_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x38')]){_0x2e14d3[_0xb7f3('0x36')]=_['merge'](_0x2e14d3[_0xb7f3('0x36')],{'$or':_[_0xb7f3('0x28')](_0x2e0921,function(_0x15a5de){if(_0x15a5de[_0xb7f3('0x39')]!==_0xb7f3('0x3a')){var _0x31f585={};_0x31f585[_0x15a5de[_0xb7f3('0x26')]]={'$like':'%'+_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x38')]+'%'};return _0x31f585;}})});}_0x2e14d3=_[_0xb7f3('0x3b')]({},_0x2e14d3,_0x410e13[_0xb7f3('0x3c')]);var _0x110e84={'where':_0x2e14d3[_0xb7f3('0x36')]};return db['SalesforceField']['count'](_0x110e84)['then'](function(_0x542849){_0x26b53a[_0xb7f3('0x1c')]=_0x542849;if(_0x410e13[_0xb7f3('0x2d')][_0xb7f3('0x3d')]){_0x2e14d3[_0xb7f3('0x3e')]=[{'all':!![]}];}return db[_0xb7f3('0x29')][_0xb7f3('0x3f')](_0x2e14d3);})[_0xb7f3('0x23')](function(_0x4daea2){_0x26b53a[_0xb7f3('0x40')]=_0x4daea2;return _0x26b53a;})[_0xb7f3('0x23')](respondWithFilteredResult(_0x4cb69d,_0x2e14d3))[_0xb7f3('0x41')](handleError(_0x4cb69d,null));};exports[_0xb7f3('0x42')]=function(_0x12c716,_0x59cf95){var _0x2cc37b={'raw':!![],'where':{'id':_0x12c716[_0xb7f3('0x43')]['id']}},_0x3b46e1={};_0x3b46e1[_0xb7f3('0x2c')]=_['keys'](db[_0xb7f3('0x29')][_0xb7f3('0x44')]);_0x3b46e1[_0xb7f3('0x2d')]=_[_0xb7f3('0x45')](_0x12c716[_0xb7f3('0x2d')]);_0x3b46e1[_0xb7f3('0x2e')]=_['intersection'](_0x3b46e1[_0xb7f3('0x2c')],_0x3b46e1[_0xb7f3('0x2d')]);_0x2cc37b[_0xb7f3('0x2f')]=_[_0xb7f3('0x30')](_0x3b46e1['model'],qs[_0xb7f3('0x31')](_0x12c716[_0xb7f3('0x2d')][_0xb7f3('0x31')]));_0x2cc37b[_0xb7f3('0x2f')]=_0x2cc37b[_0xb7f3('0x2f')][_0xb7f3('0x32')]?_0x2cc37b[_0xb7f3('0x2f')]:_0x3b46e1[_0xb7f3('0x2c')];if(_0x12c716['query']['includeAll']){_0x2cc37b[_0xb7f3('0x3e')]=[{'all':!![]}];}_0x2cc37b=_[_0xb7f3('0x3b')]({},_0x2cc37b,_0x12c716['options']);return db['SalesforceField']['find'](_0x2cc37b)[_0xb7f3('0x23')](handleEntityNotFound(_0x59cf95,null))[_0xb7f3('0x23')](respondWithResult(_0x59cf95,null))[_0xb7f3('0x41')](handleError(_0x59cf95,null));};exports[_0xb7f3('0x46')]=function(_0x348ea3,_0x31aea0){return db[_0xb7f3('0x29')][_0xb7f3('0x46')](_0x348ea3[_0xb7f3('0x47')],{})[_0xb7f3('0x23')](respondWithResult(_0x31aea0,0xc9))[_0xb7f3('0x41')](handleError(_0x31aea0,null));};exports[_0xb7f3('0x22')]=function(_0x4c3422,_0x2fcfec){if(_0x4c3422[_0xb7f3('0x47')]['id']){delete _0x4c3422[_0xb7f3('0x47')]['id'];}return db[_0xb7f3('0x29')][_0xb7f3('0x48')]({'where':{'id':_0x4c3422['params']['id']}})[_0xb7f3('0x23')](handleEntityNotFound(_0x2fcfec,null))[_0xb7f3('0x23')](saveUpdates(_0x4c3422[_0xb7f3('0x47')],null))['then'](respondWithResult(_0x2fcfec,null))[_0xb7f3('0x41')](handleError(_0x2fcfec,null));};exports[_0xb7f3('0x24')]=function(_0x4d405f,_0x5d3725){return db[_0xb7f3('0x29')]['find']({'where':{'id':_0x4d405f[_0xb7f3('0x43')]['id']}})['then'](handleEntityNotFound(_0x5d3725,null))[_0xb7f3('0x23')](removeEntity(_0x5d3725,null))[_0xb7f3('0x41')](handleError(_0x5d3725,null));};