Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / api / schedule / schedule.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 _0xda19=['reject','save','update','then','destroy','get','UserProfileResource','stack','name','send','map','rawAttributes','fieldName','type','query','keys','intersection','model','attributes','hasOwnProperty','nolimit','sort','where','pick','filters','Schedule','includeAll','include','findAll','show','params','fields','length','merge','options','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Scheduler','UserProfileSection','find','autoAssociation','catch','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','run','../../config/schedule','rimraf','zip-dir','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','offset','limit','undefined','count','set','Content-Range','json','apply'];(function(_0x3d3ddd,_0x59b504){var _0x52a4f9=function(_0x349a69){while(--_0x349a69){_0x3d3ddd['push'](_0x3d3ddd['shift']());}};_0x52a4f9(++_0x59b504);}(_0xda19,0xd5));var _0x9da1=function(_0x45c0ea,_0x1b1be7){_0x45c0ea=_0x45c0ea-0x0;var _0x49cf5b=_0xda19[_0x45c0ea];return _0x49cf5b;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9da1('0x0'));var zipdir=require(_0x9da1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9da1('0x2'));var moment=require('moment');var BPromise=require(_0x9da1('0x3'));var Mustache=require('mustache');var util=require(_0x9da1('0x4'));var path=require(_0x9da1('0x5'));var sox=require(_0x9da1('0x6'));var csv=require(_0x9da1('0x7'));var ejs=require(_0x9da1('0x8'));var fs=require('fs');var fs_extra=require(_0x9da1('0x9'));var _=require(_0x9da1('0xa'));var squel=require(_0x9da1('0xb'));var crypto=require(_0x9da1('0xc'));var jsforce=require(_0x9da1('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x9da1('0xe'));var Redis=require('ioredis');var authService=require(_0x9da1('0xf'));var qs=require(_0x9da1('0x10'));var as=require(_0x9da1('0x11'));var hardwareService=require(_0x9da1('0x12'));var logger=require(_0x9da1('0x13'))(_0x9da1('0x14'));var utils=require(_0x9da1('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9da1('0x16'))['db'];function respondWithStatusCode(_0x596b6b,_0x4735c7){_0x4735c7=_0x4735c7||0xcc;return function(_0x1d93f8){if(_0x1d93f8){return _0x596b6b[_0x9da1('0x17')](_0x4735c7);}return _0x596b6b[_0x9da1('0x18')](_0x4735c7)['end']();};}function respondWithResult(_0x2837e3,_0x535a13){_0x535a13=_0x535a13||0xc8;return function(_0x4d17e1){if(_0x4d17e1){return _0x2837e3[_0x9da1('0x18')](_0x535a13)['json'](_0x4d17e1);}};}function respondWithFilteredResult(_0x433ff4,_0x43c093){return function(_0x37653d){if(_0x37653d){var _0x1a1a6b=typeof _0x43c093[_0x9da1('0x19')]==='undefined'&&typeof _0x43c093[_0x9da1('0x1a')]===_0x9da1('0x1b');var _0xf83bf8=_0x37653d[_0x9da1('0x1c')];var _0xfb278d=_0x1a1a6b?0x0:_0x43c093[_0x9da1('0x19')];var _0x497676=_0x1a1a6b?_0x37653d['count']:_0x43c093[_0x9da1('0x19')]+_0x43c093[_0x9da1('0x1a')];var _0x1b0e7f;if(_0x497676>=_0xf83bf8){_0x497676=_0xf83bf8;_0x1b0e7f=0xc8;}else{_0x1b0e7f=0xce;}_0x433ff4[_0x9da1('0x18')](_0x1b0e7f);return _0x433ff4[_0x9da1('0x1d')](_0x9da1('0x1e'),_0xfb278d+'-'+_0x497676+'/'+_0xf83bf8)[_0x9da1('0x1f')](_0x37653d);}return null;};}function patchUpdates(_0x47e5cf){return function(_0x1a459c){try{jsonpatch[_0x9da1('0x20')](_0x1a459c,_0x47e5cf,!![]);}catch(_0x9c3b37){return BPromise[_0x9da1('0x21')](_0x9c3b37);}return _0x1a459c[_0x9da1('0x22')]();};}function saveUpdates(_0x4e9d7d,_0x5454d3){return function(_0x14793b){if(_0x14793b){return _0x14793b[_0x9da1('0x23')](_0x4e9d7d)[_0x9da1('0x24')](function(_0x330219){return _0x330219;});}return null;};}function removeEntity(_0x32eb55,_0x165b73){return function(_0x4c60aa){if(_0x4c60aa){return _0x4c60aa[_0x9da1('0x25')]()[_0x9da1('0x24')](function(){var _0x4fd25a=_0x4c60aa[_0x9da1('0x26')]({'plain':!![]});var _0x3f5680='Scheduler';return db[_0x9da1('0x27')][_0x9da1('0x25')]({'where':{'type':_0x3f5680,'resourceId':_0x4fd25a['id']}})['then'](function(){return _0x4c60aa;});})[_0x9da1('0x24')](function(){_0x32eb55[_0x9da1('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5c09ed,_0x67dbc8){return function(_0x47055e){if(!_0x47055e){_0x5c09ed['sendStatus'](0x194);}return _0x47055e;};}function handleError(_0x27c6e2,_0x5db5c2){_0x5db5c2=_0x5db5c2||0x1f4;return function(_0x5a6f2d){logger['error'](_0x5a6f2d[_0x9da1('0x28')]);if(_0x5a6f2d[_0x9da1('0x29')]){delete _0x5a6f2d[_0x9da1('0x29')];}_0x27c6e2[_0x9da1('0x18')](_0x5db5c2)[_0x9da1('0x2a')](_0x5a6f2d);};}exports['index']=function(_0x269628,_0x4e6083){var _0x1feae0={},_0x235ced={},_0x5b38b3={'count':0x0,'rows':[]};var _0xc29ba8=_[_0x9da1('0x2b')](db['Schedule'][_0x9da1('0x2c')],function(_0x3fe97a){return{'name':_0x3fe97a[_0x9da1('0x2d')],'type':_0x3fe97a[_0x9da1('0x2e')]['key']};});_0x235ced['model']=_[_0x9da1('0x2b')](_0xc29ba8,_0x9da1('0x29'));_0x235ced[_0x9da1('0x2f')]=_[_0x9da1('0x30')](_0x269628[_0x9da1('0x2f')]);_0x235ced['filters']=_[_0x9da1('0x31')](_0x235ced[_0x9da1('0x32')],_0x235ced[_0x9da1('0x2f')]);_0x1feae0[_0x9da1('0x33')]=_[_0x9da1('0x31')](_0x235ced[_0x9da1('0x32')],qs['fields'](_0x269628[_0x9da1('0x2f')]['fields']));_0x1feae0['attributes']=_0x1feae0[_0x9da1('0x33')]['length']?_0x1feae0[_0x9da1('0x33')]:_0x235ced[_0x9da1('0x32')];if(!_0x269628[_0x9da1('0x2f')][_0x9da1('0x34')](_0x9da1('0x35'))){_0x1feae0[_0x9da1('0x1a')]=qs[_0x9da1('0x1a')](_0x269628[_0x9da1('0x2f')]['limit']);_0x1feae0[_0x9da1('0x19')]=qs['offset'](_0x269628[_0x9da1('0x2f')]['offset']);}_0x1feae0['order']=qs[_0x9da1('0x36')](_0x269628['query'][_0x9da1('0x36')]);_0x1feae0[_0x9da1('0x37')]=qs['filters'](_[_0x9da1('0x38')](_0x269628[_0x9da1('0x2f')],_0x235ced[_0x9da1('0x39')]),_0xc29ba8);if(_0x269628[_0x9da1('0x2f')]['filter']){_0x1feae0[_0x9da1('0x37')]=_['merge'](_0x1feae0[_0x9da1('0x37')],{'$or':_['map'](_0xc29ba8,function(_0x26e8d3){if(_0x26e8d3[_0x9da1('0x2e')]!=='VIRTUAL'){var _0x345edb={};_0x345edb[_0x26e8d3[_0x9da1('0x29')]]={'$like':'%'+_0x269628[_0x9da1('0x2f')]['filter']+'%'};return _0x345edb;}})});}_0x1feae0=_['merge']({},_0x1feae0,_0x269628['options']);var _0x27e78c={'where':_0x1feae0['where']};return db[_0x9da1('0x3a')][_0x9da1('0x1c')](_0x27e78c)[_0x9da1('0x24')](function(_0x43c064){_0x5b38b3['count']=_0x43c064;if(_0x269628[_0x9da1('0x2f')][_0x9da1('0x3b')]){_0x1feae0[_0x9da1('0x3c')]=[{'all':!![]}];}return db[_0x9da1('0x3a')][_0x9da1('0x3d')](_0x1feae0);})[_0x9da1('0x24')](function(_0x28e0b2){_0x5b38b3['rows']=_0x28e0b2;return _0x5b38b3;})[_0x9da1('0x24')](respondWithFilteredResult(_0x4e6083,_0x1feae0))['catch'](handleError(_0x4e6083,null));};exports[_0x9da1('0x3e')]=function(_0x516685,_0x5e8ebe){var _0x40d848={'raw':![],'where':{'id':_0x516685[_0x9da1('0x3f')]['id']}},_0x599211={};_0x599211[_0x9da1('0x32')]=_['keys'](db[_0x9da1('0x3a')]['rawAttributes']);_0x599211[_0x9da1('0x2f')]=_[_0x9da1('0x30')](_0x516685['query']);_0x599211['filters']=_[_0x9da1('0x31')](_0x599211[_0x9da1('0x32')],_0x599211[_0x9da1('0x2f')]);_0x40d848[_0x9da1('0x33')]=_[_0x9da1('0x31')](_0x599211[_0x9da1('0x32')],qs[_0x9da1('0x40')](_0x516685[_0x9da1('0x2f')]['fields']));_0x40d848[_0x9da1('0x33')]=_0x40d848[_0x9da1('0x33')][_0x9da1('0x41')]?_0x40d848['attributes']:_0x599211[_0x9da1('0x32')];if(_0x516685[_0x9da1('0x2f')][_0x9da1('0x3b')]){_0x40d848['include']=[{'all':!![]}];}_0x40d848=_[_0x9da1('0x42')]({},_0x40d848,_0x516685[_0x9da1('0x43')]);return db[_0x9da1('0x3a')]['find'](_0x40d848)[_0x9da1('0x24')](handleEntityNotFound(_0x5e8ebe,null))['then'](respondWithResult(_0x5e8ebe,null))['catch'](handleError(_0x5e8ebe,null));};exports[_0x9da1('0x44')]=function(_0x43c47d,_0x5afbc7){return db[_0x9da1('0x3a')][_0x9da1('0x44')](_0x43c47d['body'],{})[_0x9da1('0x24')](function(_0x36f2e2){var _0x1984f7=_0x43c47d[_0x9da1('0x45')][_0x9da1('0x26')]({'plain':!![]});if(!_0x1984f7)throw new Error(_0x9da1('0x46'));if(_0x1984f7[_0x9da1('0x47')]===_0x9da1('0x45')){var _0x3889f4=_0x36f2e2['get']({'plain':!![]});var _0x147c65=_0x9da1('0x48');return db[_0x9da1('0x49')][_0x9da1('0x4a')]({'where':{'name':_0x147c65,'userProfileId':_0x1984f7['userProfileId']},'raw':!![]})['then'](function(_0xf36078){if(_0xf36078&&_0xf36078[_0x9da1('0x4b')]===0x0){return db[_0x9da1('0x27')][_0x9da1('0x44')]({'name':_0x3889f4[_0x9da1('0x29')],'resourceId':_0x3889f4['id'],'type':_0xf36078[_0x9da1('0x29')],'sectionId':_0xf36078['id']},{})[_0x9da1('0x24')](function(){return _0x36f2e2;});}else{return _0x36f2e2;}})[_0x9da1('0x4c')](function(_0x34327e){logger[_0x9da1('0x4d')](_0x9da1('0x4e'),_0x34327e);throw _0x34327e;});}return _0x36f2e2;})[_0x9da1('0x24')](respondWithResult(_0x5afbc7,0xc9))[_0x9da1('0x4c')](handleError(_0x5afbc7,null));};exports[_0x9da1('0x23')]=function(_0x4c99e8,_0x26ecdb){if(_0x4c99e8[_0x9da1('0x4f')]['id']){delete _0x4c99e8['body']['id'];}return db[_0x9da1('0x3a')]['find']({'where':{'id':_0x4c99e8[_0x9da1('0x3f')]['id']}})['then'](handleEntityNotFound(_0x26ecdb,null))[_0x9da1('0x24')](saveUpdates(_0x4c99e8[_0x9da1('0x4f')],null))[_0x9da1('0x24')](respondWithResult(_0x26ecdb,null))[_0x9da1('0x4c')](handleError(_0x26ecdb,null));};exports[_0x9da1('0x25')]=function(_0x2cb7a4,_0x2787e1){return db[_0x9da1('0x3a')][_0x9da1('0x4a')]({'where':{'id':_0x2cb7a4[_0x9da1('0x3f')]['id']}})['then'](handleEntityNotFound(_0x2787e1,null))[_0x9da1('0x24')](removeEntity(_0x2787e1,null))[_0x9da1('0x4c')](handleError(_0x2787e1,null));};exports[_0x9da1('0x50')]=function(_0xa125d7,_0x2aae1b,_0x4607a9){var _0x2020d0=require(_0x9da1('0x51'));return db[_0x9da1('0x3a')][_0x9da1('0x4a')]({'where':{'id':_0xa125d7['params']['id']},'raw':!![]})[_0x9da1('0x24')](handleEntityNotFound(_0x2aae1b,null))[_0x9da1('0x24')](function(){_0x2020d0['run'](_0xa125d7[_0x9da1('0x3f')]['id']);})[_0x9da1('0x24')](respondWithStatusCode(_0x2aae1b,null))[_0x9da1('0x4c')](handleError(_0x2aae1b,null));};