0aee6641eb76a7b5d60810b0aa8d31b0dfa32539
[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 _0x4cc9=['keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','find','catch','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','update','then','destroy','error','stack','name','send','SalesforceField','rawAttributes','type','key','model','map','query'];(function(_0x5a923a,_0x20ea59){var _0x37b381=function(_0xa20f22){while(--_0xa20f22){_0x5a923a['push'](_0x5a923a['shift']());}};_0x37b381(++_0x20ea59);}(_0x4cc9,0xa6));var _0x94cc=function(_0x307548,_0x50a3a0){_0x307548=_0x307548-0x0;var _0x15b5a5=_0x4cc9[_0x307548];return _0x15b5a5;};'use strict';var emlformat=require(_0x94cc('0x0'));var rimraf=require(_0x94cc('0x1'));var zipdir=require(_0x94cc('0x2'));var jsonpatch=require(_0x94cc('0x3'));var rp=require('request-promise');var moment=require(_0x94cc('0x4'));var BPromise=require(_0x94cc('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x94cc('0x6'));var sox=require(_0x94cc('0x7'));var csv=require('to-csv');var ejs=require(_0x94cc('0x8'));var fs=require('fs');var fs_extra=require(_0x94cc('0x9'));var _=require(_0x94cc('0xa'));var squel=require(_0x94cc('0xb'));var crypto=require('crypto');var jsforce=require(_0x94cc('0xc'));var deskjs=require(_0x94cc('0xd'));var toCsv=require(_0x94cc('0xe'));var querystring=require(_0x94cc('0xf'));var Papa=require(_0x94cc('0x10'));var Redis=require(_0x94cc('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x94cc('0x12'));var as=require(_0x94cc('0x13'));var hardwareService=require(_0x94cc('0x14'));var logger=require(_0x94cc('0x15'))(_0x94cc('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x94cc('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x152091,_0x17f0ce){_0x17f0ce=_0x17f0ce||0xcc;return function(_0x5c5047){if(_0x5c5047){return _0x152091[_0x94cc('0x18')](_0x17f0ce);}return _0x152091[_0x94cc('0x19')](_0x17f0ce)[_0x94cc('0x1a')]();};}function respondWithResult(_0x258621,_0x1f4332){_0x1f4332=_0x1f4332||0xc8;return function(_0x40bc08){if(_0x40bc08){return _0x258621[_0x94cc('0x19')](_0x1f4332)[_0x94cc('0x1b')](_0x40bc08);}};}function respondWithFilteredResult(_0x53f1a3,_0x4427cf){return function(_0x4c0d33){if(_0x4c0d33){var _0x3dbae3=typeof _0x4427cf[_0x94cc('0x1c')]==='undefined'&&typeof _0x4427cf[_0x94cc('0x1d')]===_0x94cc('0x1e');var _0x4da762=_0x4c0d33[_0x94cc('0x1f')];var _0x15e8b4=_0x3dbae3?0x0:_0x4427cf[_0x94cc('0x1c')];var _0x41ac19=_0x3dbae3?_0x4c0d33[_0x94cc('0x1f')]:_0x4427cf[_0x94cc('0x1c')]+_0x4427cf[_0x94cc('0x1d')];var _0x37f08c;if(_0x41ac19>=_0x4da762){_0x41ac19=_0x4da762;_0x37f08c=0xc8;}else{_0x37f08c=0xce;}_0x53f1a3[_0x94cc('0x19')](_0x37f08c);return _0x53f1a3['set'](_0x94cc('0x20'),_0x15e8b4+'-'+_0x41ac19+'/'+_0x4da762)[_0x94cc('0x1b')](_0x4c0d33);}return null;};}function patchUpdates(_0x31226d){return function(_0x4a10ec){try{jsonpatch['apply'](_0x4a10ec,_0x31226d,!![]);}catch(_0x31455e){return BPromise['reject'](_0x31455e);}return _0x4a10ec['save']();};}function saveUpdates(_0x6533f0,_0x32db97){return function(_0x8ad433){if(_0x8ad433){return _0x8ad433[_0x94cc('0x21')](_0x6533f0)[_0x94cc('0x22')](function(_0x20cf58){return _0x20cf58;});}return null;};}function removeEntity(_0x3bfaf6,_0x10fc6d){return function(_0x4e37ff){if(_0x4e37ff){return _0x4e37ff[_0x94cc('0x23')]()[_0x94cc('0x22')](function(){_0x3bfaf6[_0x94cc('0x19')](0xcc)[_0x94cc('0x1a')]();});}};}function handleEntityNotFound(_0x216823,_0x45fe39){return function(_0x16b0b6){if(!_0x16b0b6){_0x216823['sendStatus'](0x194);}return _0x16b0b6;};}function handleError(_0x1ad291,_0x2b7078){_0x2b7078=_0x2b7078||0x1f4;return function(_0x46a6bd){logger[_0x94cc('0x24')](_0x46a6bd[_0x94cc('0x25')]);if(_0x46a6bd['name']){delete _0x46a6bd[_0x94cc('0x26')];}_0x1ad291['status'](_0x2b7078)[_0x94cc('0x27')](_0x46a6bd);};}exports['index']=function(_0x5298ba,_0x3c2c56){var _0x12ae89={},_0xe4a4fc={},_0x130bac={'count':0x0,'rows':[]};var _0x63b199=_['map'](db[_0x94cc('0x28')][_0x94cc('0x29')],function(_0x54b462){return{'name':_0x54b462['fieldName'],'type':_0x54b462[_0x94cc('0x2a')][_0x94cc('0x2b')]};});_0xe4a4fc[_0x94cc('0x2c')]=_[_0x94cc('0x2d')](_0x63b199,_0x94cc('0x26'));_0xe4a4fc[_0x94cc('0x2e')]=_[_0x94cc('0x2f')](_0x5298ba['query']);_0xe4a4fc[_0x94cc('0x30')]=_[_0x94cc('0x31')](_0xe4a4fc[_0x94cc('0x2c')],_0xe4a4fc[_0x94cc('0x2e')]);_0x12ae89[_0x94cc('0x32')]=_[_0x94cc('0x31')](_0xe4a4fc[_0x94cc('0x2c')],qs['fields'](_0x5298ba[_0x94cc('0x2e')][_0x94cc('0x33')]));_0x12ae89['attributes']=_0x12ae89['attributes'][_0x94cc('0x34')]?_0x12ae89[_0x94cc('0x32')]:_0xe4a4fc['model'];if(!_0x5298ba[_0x94cc('0x2e')][_0x94cc('0x35')]('nolimit')){_0x12ae89[_0x94cc('0x1d')]=qs['limit'](_0x5298ba['query']['limit']);_0x12ae89['offset']=qs[_0x94cc('0x1c')](_0x5298ba[_0x94cc('0x2e')][_0x94cc('0x1c')]);}_0x12ae89[_0x94cc('0x36')]=qs[_0x94cc('0x37')](_0x5298ba['query']['sort']);_0x12ae89[_0x94cc('0x38')]=qs[_0x94cc('0x30')](_[_0x94cc('0x39')](_0x5298ba[_0x94cc('0x2e')],_0xe4a4fc['filters']),_0x63b199);if(_0x5298ba[_0x94cc('0x2e')][_0x94cc('0x3a')]){_0x12ae89['where']=_[_0x94cc('0x3b')](_0x12ae89[_0x94cc('0x38')],{'$or':_['map'](_0x63b199,function(_0x2c19b6){if(_0x2c19b6[_0x94cc('0x2a')]!==_0x94cc('0x3c')){var _0xdcf9ae={};_0xdcf9ae[_0x2c19b6[_0x94cc('0x26')]]={'$like':'%'+_0x5298ba['query'][_0x94cc('0x3a')]+'%'};return _0xdcf9ae;}})});}_0x12ae89=_[_0x94cc('0x3b')]({},_0x12ae89,_0x5298ba[_0x94cc('0x3d')]);var _0x1646a0={'where':_0x12ae89['where']};return db[_0x94cc('0x28')][_0x94cc('0x1f')](_0x1646a0)[_0x94cc('0x22')](function(_0x5aa78a){_0x130bac[_0x94cc('0x1f')]=_0x5aa78a;if(_0x5298ba[_0x94cc('0x2e')][_0x94cc('0x3e')]){_0x12ae89[_0x94cc('0x3f')]=[{'all':!![]}];}return db['SalesforceField'][_0x94cc('0x40')](_0x12ae89);})[_0x94cc('0x22')](function(_0x103cfe){_0x130bac['rows']=_0x103cfe;return _0x130bac;})[_0x94cc('0x22')](respondWithFilteredResult(_0x3c2c56,_0x12ae89))['catch'](handleError(_0x3c2c56,null));};exports[_0x94cc('0x41')]=function(_0x1870e1,_0x5cd8dd){var _0x1ebb67={'raw':!![],'where':{'id':_0x1870e1['params']['id']}},_0xeeb5b3={};_0xeeb5b3[_0x94cc('0x2c')]=_['keys'](db['SalesforceField']['rawAttributes']);_0xeeb5b3['query']=_['keys'](_0x1870e1[_0x94cc('0x2e')]);_0xeeb5b3[_0x94cc('0x30')]=_[_0x94cc('0x31')](_0xeeb5b3[_0x94cc('0x2c')],_0xeeb5b3[_0x94cc('0x2e')]);_0x1ebb67[_0x94cc('0x32')]=_[_0x94cc('0x31')](_0xeeb5b3['model'],qs[_0x94cc('0x33')](_0x1870e1[_0x94cc('0x2e')][_0x94cc('0x33')]));_0x1ebb67[_0x94cc('0x32')]=_0x1ebb67[_0x94cc('0x32')][_0x94cc('0x34')]?_0x1ebb67[_0x94cc('0x32')]:_0xeeb5b3[_0x94cc('0x2c')];if(_0x1870e1[_0x94cc('0x2e')][_0x94cc('0x3e')]){_0x1ebb67[_0x94cc('0x3f')]=[{'all':!![]}];}_0x1ebb67=_[_0x94cc('0x3b')]({},_0x1ebb67,_0x1870e1[_0x94cc('0x3d')]);return db['SalesforceField'][_0x94cc('0x42')](_0x1ebb67)['then'](handleEntityNotFound(_0x5cd8dd,null))[_0x94cc('0x22')](respondWithResult(_0x5cd8dd,null))[_0x94cc('0x43')](handleError(_0x5cd8dd,null));};exports[_0x94cc('0x44')]=function(_0x5d6511,_0x3dbb6f){return db[_0x94cc('0x28')]['create'](_0x5d6511['body'],{})[_0x94cc('0x22')](respondWithResult(_0x3dbb6f,0xc9))[_0x94cc('0x43')](handleError(_0x3dbb6f,null));};exports['update']=function(_0x31d3c5,_0x5e3ebb){if(_0x31d3c5[_0x94cc('0x45')]['id']){delete _0x31d3c5['body']['id'];}return db['SalesforceField'][_0x94cc('0x42')]({'where':{'id':_0x31d3c5[_0x94cc('0x46')]['id']}})['then'](handleEntityNotFound(_0x5e3ebb,null))[_0x94cc('0x22')](saveUpdates(_0x31d3c5[_0x94cc('0x45')],null))[_0x94cc('0x22')](respondWithResult(_0x5e3ebb,null))[_0x94cc('0x43')](handleError(_0x5e3ebb,null));};exports[_0x94cc('0x23')]=function(_0x4151bd,_0x4c3ee1){return db[_0x94cc('0x28')][_0x94cc('0x42')]({'where':{'id':_0x4151bd[_0x94cc('0x46')]['id']}})['then'](handleEntityNotFound(_0x4c3ee1,null))[_0x94cc('0x22')](removeEntity(_0x4c3ee1,null))[_0x94cc('0x43')](handleError(_0x4c3ee1,null));};