1d2d57bc2b04e145bcdea8fc796246399ce47372
[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 _0x27fd=['sendStatus','error','stack','name','index','map','SalesforceField','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','options','include','findAll','rows','catch','show','params','find','create','body','rimraf','zip-dir','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','then','destroy'];(function(_0x59c83,_0x5a6227){var _0x49aee2=function(_0x5dfcb6){while(--_0x5dfcb6){_0x59c83['push'](_0x59c83['shift']());}};_0x49aee2(++_0x5a6227);}(_0x27fd,0x196));var _0xd27f=function(_0x95411e,_0x38b4c3){_0x95411e=_0x95411e-0x0;var _0x2c8718=_0x27fd[_0x95411e];return _0x2c8718;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd27f('0x0'));var zipdir=require(_0xd27f('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd27f('0x2'));var moment=require(_0xd27f('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd27f('0x4'));var util=require(_0xd27f('0x5'));var path=require(_0xd27f('0x6'));var sox=require('sox');var csv=require(_0xd27f('0x7'));var ejs=require(_0xd27f('0x8'));var fs=require('fs');var fs_extra=require(_0xd27f('0x9'));var _=require(_0xd27f('0xa'));var squel=require(_0xd27f('0xb'));var crypto=require(_0xd27f('0xc'));var jsforce=require(_0xd27f('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xd27f('0x7'));var querystring=require(_0xd27f('0xe'));var Papa=require(_0xd27f('0xf'));var Redis=require(_0xd27f('0x10'));var authService=require(_0xd27f('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xd27f('0x12'));var hardwareService=require(_0xd27f('0x13'));var logger=require(_0xd27f('0x14'))(_0xd27f('0x15'));var utils=require(_0xd27f('0x16'));var config=require(_0xd27f('0x17'));var licenseUtil=require(_0xd27f('0x18'));var db=require(_0xd27f('0x19'))['db'];function respondWithStatusCode(_0x33b66f,_0x30fde9){_0x30fde9=_0x30fde9||0xcc;return function(_0x1b812b){if(_0x1b812b){return _0x33b66f['sendStatus'](_0x30fde9);}return _0x33b66f[_0xd27f('0x1a')](_0x30fde9)[_0xd27f('0x1b')]();};}function respondWithResult(_0x3c8f77,_0x230ced){_0x230ced=_0x230ced||0xc8;return function(_0x377473){if(_0x377473){return _0x3c8f77[_0xd27f('0x1a')](_0x230ced)[_0xd27f('0x1c')](_0x377473);}};}function respondWithFilteredResult(_0xb0bfab,_0x40cc6a){return function(_0x209c9d){if(_0x209c9d){var _0x3a7979=typeof _0x40cc6a['offset']===_0xd27f('0x1d')&&typeof _0x40cc6a[_0xd27f('0x1e')]===_0xd27f('0x1d');var _0x175e79=_0x209c9d[_0xd27f('0x1f')];var _0x409399=_0x3a7979?0x0:_0x40cc6a[_0xd27f('0x20')];var _0x3a2f9c=_0x3a7979?_0x209c9d['count']:_0x40cc6a['offset']+_0x40cc6a['limit'];var _0x5f5132;if(_0x3a2f9c>=_0x175e79){_0x3a2f9c=_0x175e79;_0x5f5132=0xc8;}else{_0x5f5132=0xce;}_0xb0bfab['status'](_0x5f5132);return _0xb0bfab[_0xd27f('0x21')](_0xd27f('0x22'),_0x409399+'-'+_0x3a2f9c+'/'+_0x175e79)[_0xd27f('0x1c')](_0x209c9d);}return null;};}function patchUpdates(_0x593cc2){return function(_0x1ad90b){try{jsonpatch[_0xd27f('0x23')](_0x1ad90b,_0x593cc2,!![]);}catch(_0x860ade){return BPromise['reject'](_0x860ade);}return _0x1ad90b['save']();};}function saveUpdates(_0x47d6ec,_0x3195d5){return function(_0x3dce83){if(_0x3dce83){return _0x3dce83['update'](_0x47d6ec)[_0xd27f('0x24')](function(_0xf50e3c){return _0xf50e3c;});}return null;};}function removeEntity(_0x4ca52c,_0x9fbc49){return function(_0xba0abf){if(_0xba0abf){return _0xba0abf[_0xd27f('0x25')]()[_0xd27f('0x24')](function(){_0x4ca52c[_0xd27f('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5baac1,_0x4f8151){return function(_0x30534e){if(!_0x30534e){_0x5baac1[_0xd27f('0x26')](0x194);}return _0x30534e;};}function handleError(_0x422943,_0x2452ba){_0x2452ba=_0x2452ba||0x1f4;return function(_0x1734c0){logger[_0xd27f('0x27')](_0x1734c0[_0xd27f('0x28')]);if(_0x1734c0[_0xd27f('0x29')]){delete _0x1734c0[_0xd27f('0x29')];}_0x422943['status'](_0x2452ba)['send'](_0x1734c0);};}exports[_0xd27f('0x2a')]=function(_0x525c48,_0x36ad28){var _0x3e95e7={},_0xfc3487={},_0x3f516f={'count':0x0,'rows':[]};var _0x471705=_[_0xd27f('0x2b')](db[_0xd27f('0x2c')][_0xd27f('0x2d')],function(_0x58dbfb){return{'name':_0x58dbfb['fieldName'],'type':_0x58dbfb[_0xd27f('0x2e')][_0xd27f('0x2f')]};});_0xfc3487['model']=_[_0xd27f('0x2b')](_0x471705,_0xd27f('0x29'));_0xfc3487[_0xd27f('0x30')]=_[_0xd27f('0x31')](_0x525c48[_0xd27f('0x30')]);_0xfc3487[_0xd27f('0x32')]=_[_0xd27f('0x33')](_0xfc3487['model'],_0xfc3487[_0xd27f('0x30')]);_0x3e95e7['attributes']=_['intersection'](_0xfc3487[_0xd27f('0x34')],qs['fields'](_0x525c48['query'][_0xd27f('0x35')]));_0x3e95e7[_0xd27f('0x36')]=_0x3e95e7[_0xd27f('0x36')][_0xd27f('0x37')]?_0x3e95e7['attributes']:_0xfc3487[_0xd27f('0x34')];if(!_0x525c48[_0xd27f('0x30')]['hasOwnProperty'](_0xd27f('0x38'))){_0x3e95e7[_0xd27f('0x1e')]=qs[_0xd27f('0x1e')](_0x525c48[_0xd27f('0x30')]['limit']);_0x3e95e7['offset']=qs[_0xd27f('0x20')](_0x525c48[_0xd27f('0x30')][_0xd27f('0x20')]);}_0x3e95e7[_0xd27f('0x39')]=qs[_0xd27f('0x3a')](_0x525c48[_0xd27f('0x30')]['sort']);_0x3e95e7['where']=qs['filters'](_[_0xd27f('0x3b')](_0x525c48[_0xd27f('0x30')],_0xfc3487[_0xd27f('0x32')]),_0x471705);if(_0x525c48['query'][_0xd27f('0x3c')]){_0x3e95e7['where']=_[_0xd27f('0x3d')](_0x3e95e7[_0xd27f('0x3e')],{'$or':_[_0xd27f('0x2b')](_0x471705,function(_0x4df90e){if(_0x4df90e[_0xd27f('0x2e')]!==_0xd27f('0x3f')){var _0x564b31={};_0x564b31[_0x4df90e[_0xd27f('0x29')]]={'$like':'%'+_0x525c48[_0xd27f('0x30')]['filter']+'%'};return _0x564b31;}})});}_0x3e95e7=_[_0xd27f('0x3d')]({},_0x3e95e7,_0x525c48[_0xd27f('0x40')]);var _0x4a4aba={'where':_0x3e95e7[_0xd27f('0x3e')]};return db['SalesforceField']['count'](_0x4a4aba)[_0xd27f('0x24')](function(_0x44a60a){_0x3f516f['count']=_0x44a60a;if(_0x525c48['query']['includeAll']){_0x3e95e7[_0xd27f('0x41')]=[{'all':!![]}];}return db[_0xd27f('0x2c')][_0xd27f('0x42')](_0x3e95e7);})[_0xd27f('0x24')](function(_0x8c713f){_0x3f516f[_0xd27f('0x43')]=_0x8c713f;return _0x3f516f;})[_0xd27f('0x24')](respondWithFilteredResult(_0x36ad28,_0x3e95e7))[_0xd27f('0x44')](handleError(_0x36ad28,null));};exports[_0xd27f('0x45')]=function(_0x25a44b,_0x3d1b7a){var _0x20281e={'raw':!![],'where':{'id':_0x25a44b[_0xd27f('0x46')]['id']}},_0x2bf35b={};_0x2bf35b[_0xd27f('0x34')]=_['keys'](db[_0xd27f('0x2c')][_0xd27f('0x2d')]);_0x2bf35b['query']=_['keys'](_0x25a44b[_0xd27f('0x30')]);_0x2bf35b[_0xd27f('0x32')]=_[_0xd27f('0x33')](_0x2bf35b[_0xd27f('0x34')],_0x2bf35b[_0xd27f('0x30')]);_0x20281e[_0xd27f('0x36')]=_[_0xd27f('0x33')](_0x2bf35b[_0xd27f('0x34')],qs['fields'](_0x25a44b[_0xd27f('0x30')][_0xd27f('0x35')]));_0x20281e['attributes']=_0x20281e[_0xd27f('0x36')][_0xd27f('0x37')]?_0x20281e['attributes']:_0x2bf35b[_0xd27f('0x34')];if(_0x25a44b[_0xd27f('0x30')]['includeAll']){_0x20281e['include']=[{'all':!![]}];}_0x20281e=_[_0xd27f('0x3d')]({},_0x20281e,_0x25a44b[_0xd27f('0x40')]);return db['SalesforceField'][_0xd27f('0x47')](_0x20281e)[_0xd27f('0x24')](handleEntityNotFound(_0x3d1b7a,null))[_0xd27f('0x24')](respondWithResult(_0x3d1b7a,null))[_0xd27f('0x44')](handleError(_0x3d1b7a,null));};exports[_0xd27f('0x48')]=function(_0x1e78e8,_0x5ea2fd){return db[_0xd27f('0x2c')][_0xd27f('0x48')](_0x1e78e8[_0xd27f('0x49')],{})[_0xd27f('0x24')](respondWithResult(_0x5ea2fd,0xc9))[_0xd27f('0x44')](handleError(_0x5ea2fd,null));};exports['update']=function(_0x37ce05,_0xb5b86a){if(_0x37ce05[_0xd27f('0x49')]['id']){delete _0x37ce05['body']['id'];}return db[_0xd27f('0x2c')]['find']({'where':{'id':_0x37ce05[_0xd27f('0x46')]['id']}})[_0xd27f('0x24')](handleEntityNotFound(_0xb5b86a,null))[_0xd27f('0x24')](saveUpdates(_0x37ce05[_0xd27f('0x49')],null))[_0xd27f('0x24')](respondWithResult(_0xb5b86a,null))[_0xd27f('0x44')](handleError(_0xb5b86a,null));};exports[_0xd27f('0x25')]=function(_0x3c4b9d,_0x2a0bf4){return db['SalesforceField'][_0xd27f('0x47')]({'where':{'id':_0x3c4b9d[_0xd27f('0x46')]['id']}})[_0xd27f('0x24')](handleEntityNotFound(_0x2a0bf4,null))[_0xd27f('0x24')](removeEntity(_0x2a0bf4,null))[_0xd27f('0x44')](handleError(_0x2a0bf4,null));};