ed2a42a6144fa15f6570a71c44bb25a0e8da06ce
[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 _0x1040=['../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','then','destroy','sendStatus','error','name','send','map','fieldName','key','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','merge','filter','options','SalesforceField','includeAll','include','findAll','rows','catch','show','params','length','create','update','body','find','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util'];(function(_0xedf7b0,_0x1a6c84){var _0x14e8d7=function(_0x2f852d){while(--_0x2f852d){_0xedf7b0['push'](_0xedf7b0['shift']());}};_0x14e8d7(++_0x1a6c84);}(_0x1040,0x7c));var _0x0104=function(_0x4bc65f,_0x39ec43){_0x4bc65f=_0x4bc65f-0x0;var _0x44f85f=_0x1040[_0x4bc65f];return _0x44f85f;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x0104('0x0'));var jsonpatch=require(_0x0104('0x1'));var rp=require(_0x0104('0x2'));var moment=require(_0x0104('0x3'));var BPromise=require(_0x0104('0x4'));var Mustache=require(_0x0104('0x5'));var util=require(_0x0104('0x6'));var path=require(_0x0104('0x7'));var sox=require(_0x0104('0x8'));var csv=require('to-csv');var ejs=require(_0x0104('0x9'));var fs=require('fs');var fs_extra=require(_0x0104('0xa'));var _=require(_0x0104('0xb'));var squel=require(_0x0104('0xc'));var crypto=require(_0x0104('0xd'));var jsforce=require(_0x0104('0xe'));var deskjs=require(_0x0104('0xf'));var toCsv=require(_0x0104('0x10'));var querystring=require(_0x0104('0x11'));var Papa=require(_0x0104('0x12'));var Redis=require(_0x0104('0x13'));var authService=require(_0x0104('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x0104('0x15'));var hardwareService=require(_0x0104('0x16'));var logger=require('../../config/logger')(_0x0104('0x17'));var utils=require('../../config/utils');var config=require(_0x0104('0x18'));var licenseUtil=require(_0x0104('0x19'));var db=require(_0x0104('0x1a'))['db'];function respondWithStatusCode(_0x1c9b92,_0x5bedd8){_0x5bedd8=_0x5bedd8||0xcc;return function(_0x5911ab){if(_0x5911ab){return _0x1c9b92['sendStatus'](_0x5bedd8);}return _0x1c9b92[_0x0104('0x1b')](_0x5bedd8)[_0x0104('0x1c')]();};}function respondWithResult(_0x4f8452,_0x3df308){_0x3df308=_0x3df308||0xc8;return function(_0x4b33ba){if(_0x4b33ba){return _0x4f8452[_0x0104('0x1b')](_0x3df308)[_0x0104('0x1d')](_0x4b33ba);}};}function respondWithFilteredResult(_0x58966b,_0x3179d1){return function(_0x25463a){if(_0x25463a){var _0x59beb2=typeof _0x3179d1['offset']===_0x0104('0x1e')&&typeof _0x3179d1[_0x0104('0x1f')]===_0x0104('0x1e');var _0x21f689=_0x25463a[_0x0104('0x20')];var _0x13d401=_0x59beb2?0x0:_0x3179d1[_0x0104('0x21')];var _0x2d16a2=_0x59beb2?_0x25463a[_0x0104('0x20')]:_0x3179d1[_0x0104('0x21')]+_0x3179d1[_0x0104('0x1f')];var _0x47f614;if(_0x2d16a2>=_0x21f689){_0x2d16a2=_0x21f689;_0x47f614=0xc8;}else{_0x47f614=0xce;}_0x58966b['status'](_0x47f614);return _0x58966b[_0x0104('0x22')](_0x0104('0x23'),_0x13d401+'-'+_0x2d16a2+'/'+_0x21f689)[_0x0104('0x1d')](_0x25463a);}return null;};}function patchUpdates(_0x59a470){return function(_0x2d8ab6){try{jsonpatch[_0x0104('0x24')](_0x2d8ab6,_0x59a470,!![]);}catch(_0x2cd582){return BPromise[_0x0104('0x25')](_0x2cd582);}return _0x2d8ab6['save']();};}function saveUpdates(_0x1a7643,_0x8e8362){return function(_0x19f0a2){if(_0x19f0a2){return _0x19f0a2['update'](_0x1a7643)[_0x0104('0x26')](function(_0x578369){return _0x578369;});}return null;};}function removeEntity(_0x3adb67,_0xa08ec9){return function(_0x1c13f6){if(_0x1c13f6){return _0x1c13f6[_0x0104('0x27')]()['then'](function(){_0x3adb67[_0x0104('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x28c163,_0x511b8c){return function(_0x4b3b66){if(!_0x4b3b66){_0x28c163[_0x0104('0x28')](0x194);}return _0x4b3b66;};}function handleError(_0x24ec50,_0x2178ee){_0x2178ee=_0x2178ee||0x1f4;return function(_0x2e51a5){logger[_0x0104('0x29')](_0x2e51a5['stack']);if(_0x2e51a5[_0x0104('0x2a')]){delete _0x2e51a5[_0x0104('0x2a')];}_0x24ec50[_0x0104('0x1b')](_0x2178ee)[_0x0104('0x2b')](_0x2e51a5);};}exports['index']=function(_0x21358b,_0x4505a9){var _0x453025={},_0x4b2dee={},_0x4452cd={'count':0x0,'rows':[]};var _0x320696=_[_0x0104('0x2c')](db['SalesforceField']['rawAttributes'],function(_0x161896){return{'name':_0x161896[_0x0104('0x2d')],'type':_0x161896['type'][_0x0104('0x2e')]};});_0x4b2dee[_0x0104('0x2f')]=_[_0x0104('0x2c')](_0x320696,'name');_0x4b2dee['query']=_[_0x0104('0x30')](_0x21358b[_0x0104('0x31')]);_0x4b2dee[_0x0104('0x32')]=_[_0x0104('0x33')](_0x4b2dee[_0x0104('0x2f')],_0x4b2dee['query']);_0x453025['attributes']=_[_0x0104('0x33')](_0x4b2dee[_0x0104('0x2f')],qs['fields'](_0x21358b[_0x0104('0x31')][_0x0104('0x34')]));_0x453025[_0x0104('0x35')]=_0x453025[_0x0104('0x35')]['length']?_0x453025[_0x0104('0x35')]:_0x4b2dee[_0x0104('0x2f')];if(!_0x21358b[_0x0104('0x31')][_0x0104('0x36')](_0x0104('0x37'))){_0x453025['limit']=qs['limit'](_0x21358b[_0x0104('0x31')][_0x0104('0x1f')]);_0x453025['offset']=qs[_0x0104('0x21')](_0x21358b['query'][_0x0104('0x21')]);}_0x453025['order']=qs[_0x0104('0x38')](_0x21358b[_0x0104('0x31')][_0x0104('0x38')]);_0x453025[_0x0104('0x39')]=qs[_0x0104('0x32')](_[_0x0104('0x3a')](_0x21358b['query'],_0x4b2dee[_0x0104('0x32')]),_0x320696);if(_0x21358b[_0x0104('0x31')]['filter']){_0x453025['where']=_[_0x0104('0x3b')](_0x453025[_0x0104('0x39')],{'$or':_['map'](_0x320696,function(_0x38eff7){if(_0x38eff7['type']!=='VIRTUAL'){var _0x53f2ad={};_0x53f2ad[_0x38eff7['name']]={'$like':'%'+_0x21358b[_0x0104('0x31')][_0x0104('0x3c')]+'%'};return _0x53f2ad;}})});}_0x453025=_[_0x0104('0x3b')]({},_0x453025,_0x21358b[_0x0104('0x3d')]);var _0xa9ccb9={'where':_0x453025[_0x0104('0x39')]};return db[_0x0104('0x3e')][_0x0104('0x20')](_0xa9ccb9)[_0x0104('0x26')](function(_0x1d15f3){_0x4452cd['count']=_0x1d15f3;if(_0x21358b[_0x0104('0x31')][_0x0104('0x3f')]){_0x453025[_0x0104('0x40')]=[{'all':!![]}];}return db['SalesforceField'][_0x0104('0x41')](_0x453025);})[_0x0104('0x26')](function(_0x1c4417){_0x4452cd[_0x0104('0x42')]=_0x1c4417;return _0x4452cd;})[_0x0104('0x26')](respondWithFilteredResult(_0x4505a9,_0x453025))[_0x0104('0x43')](handleError(_0x4505a9,null));};exports[_0x0104('0x44')]=function(_0x105ed8,_0x1e1f14){var _0x39d616={'raw':!![],'where':{'id':_0x105ed8[_0x0104('0x45')]['id']}},_0x185b59={};_0x185b59[_0x0104('0x2f')]=_[_0x0104('0x30')](db['SalesforceField']['rawAttributes']);_0x185b59[_0x0104('0x31')]=_['keys'](_0x105ed8['query']);_0x185b59[_0x0104('0x32')]=_[_0x0104('0x33')](_0x185b59['model'],_0x185b59['query']);_0x39d616['attributes']=_[_0x0104('0x33')](_0x185b59[_0x0104('0x2f')],qs[_0x0104('0x34')](_0x105ed8[_0x0104('0x31')][_0x0104('0x34')]));_0x39d616['attributes']=_0x39d616['attributes'][_0x0104('0x46')]?_0x39d616[_0x0104('0x35')]:_0x185b59[_0x0104('0x2f')];if(_0x105ed8[_0x0104('0x31')]['includeAll']){_0x39d616['include']=[{'all':!![]}];}_0x39d616=_[_0x0104('0x3b')]({},_0x39d616,_0x105ed8[_0x0104('0x3d')]);return db[_0x0104('0x3e')]['find'](_0x39d616)[_0x0104('0x26')](handleEntityNotFound(_0x1e1f14,null))['then'](respondWithResult(_0x1e1f14,null))[_0x0104('0x43')](handleError(_0x1e1f14,null));};exports[_0x0104('0x47')]=function(_0x3dbdd9,_0x26228d){return db['SalesforceField']['create'](_0x3dbdd9['body'],{})[_0x0104('0x26')](respondWithResult(_0x26228d,0xc9))[_0x0104('0x43')](handleError(_0x26228d,null));};exports[_0x0104('0x48')]=function(_0x14b358,_0x1ed6f9){if(_0x14b358[_0x0104('0x49')]['id']){delete _0x14b358[_0x0104('0x49')]['id'];}return db['SalesforceField']['find']({'where':{'id':_0x14b358['params']['id']}})[_0x0104('0x26')](handleEntityNotFound(_0x1ed6f9,null))['then'](saveUpdates(_0x14b358['body'],null))[_0x0104('0x26')](respondWithResult(_0x1ed6f9,null))['catch'](handleError(_0x1ed6f9,null));};exports[_0x0104('0x27')]=function(_0x11989e,_0x2e9db1){return db[_0x0104('0x3e')][_0x0104('0x4a')]({'where':{'id':_0x11989e[_0x0104('0x45')]['id']}})[_0x0104('0x26')](handleEntityNotFound(_0x2e9db1,null))['then'](removeEntity(_0x2e9db1,null))[_0x0104('0x43')](handleError(_0x2e9db1,null));};