Built motion from commit f7863d46.|2.5.41
[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 _0xd722=['desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','count','set','reject','save','update','then','destroy','get','Scheduler','UserProfileResource','sendStatus','error','stack','name','map','Schedule','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','fields','attributes','hasOwnProperty','order','sort','where','merge','filter','includeAll','include','findAll','show','params','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce'];(function(_0x4e033b,_0x3a172a){var _0x4fe46e=function(_0x533500){while(--_0x533500){_0x4e033b['push'](_0x4e033b['shift']());}};_0x4fe46e(++_0x3a172a);}(_0xd722,0x19c));var _0x2d72=function(_0x2b5fec,_0x96fce){_0x2b5fec=_0x2b5fec-0x0;var _0x4cee6a=_0xd722[_0x2b5fec];return _0x4cee6a;};'use strict';var emlformat=require(_0x2d72('0x0'));var rimraf=require(_0x2d72('0x1'));var zipdir=require(_0x2d72('0x2'));var jsonpatch=require(_0x2d72('0x3'));var rp=require(_0x2d72('0x4'));var moment=require(_0x2d72('0x5'));var BPromise=require(_0x2d72('0x6'));var Mustache=require(_0x2d72('0x7'));var util=require(_0x2d72('0x8'));var path=require(_0x2d72('0x9'));var sox=require(_0x2d72('0xa'));var csv=require(_0x2d72('0xb'));var ejs=require(_0x2d72('0xc'));var fs=require('fs');var fs_extra=require(_0x2d72('0xd'));var _=require(_0x2d72('0xe'));var squel=require(_0x2d72('0xf'));var crypto=require(_0x2d72('0x10'));var jsforce=require(_0x2d72('0x11'));var deskjs=require(_0x2d72('0x12'));var toCsv=require(_0x2d72('0xb'));var querystring=require(_0x2d72('0x13'));var Papa=require(_0x2d72('0x14'));var Redis=require(_0x2d72('0x15'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2d72('0x16'));var hardwareService=require(_0x2d72('0x17'));var logger=require(_0x2d72('0x18'))(_0x2d72('0x19'));var utils=require('../../config/utils');var config=require(_0x2d72('0x1a'));var licenseUtil=require(_0x2d72('0x1b'));var db=require(_0x2d72('0x1c'))['db'];function respondWithStatusCode(_0x44f223,_0x5e3189){_0x5e3189=_0x5e3189||0xcc;return function(_0x1cb179){if(_0x1cb179){return _0x44f223['sendStatus'](_0x5e3189);}return _0x44f223[_0x2d72('0x1d')](_0x5e3189)[_0x2d72('0x1e')]();};}function respondWithResult(_0x42291b,_0x52695b){_0x52695b=_0x52695b||0xc8;return function(_0x2dc1b0){if(_0x2dc1b0){return _0x42291b['status'](_0x52695b)[_0x2d72('0x1f')](_0x2dc1b0);}};}function respondWithFilteredResult(_0x3ff6ca,_0x8fdd19){return function(_0x3515ff){if(_0x3515ff){var _0x175251=typeof _0x8fdd19[_0x2d72('0x20')]==='undefined'&&typeof _0x8fdd19[_0x2d72('0x21')]==='undefined';var _0x4ff0bf=_0x3515ff[_0x2d72('0x22')];var _0x32f1a9=_0x175251?0x0:_0x8fdd19[_0x2d72('0x20')];var _0x2ad206=_0x175251?_0x3515ff[_0x2d72('0x22')]:_0x8fdd19['offset']+_0x8fdd19['limit'];var _0x4f498e;if(_0x2ad206>=_0x4ff0bf){_0x2ad206=_0x4ff0bf;_0x4f498e=0xc8;}else{_0x4f498e=0xce;}_0x3ff6ca[_0x2d72('0x1d')](_0x4f498e);return _0x3ff6ca[_0x2d72('0x23')]('Content-Range',_0x32f1a9+'-'+_0x2ad206+'/'+_0x4ff0bf)[_0x2d72('0x1f')](_0x3515ff);}return null;};}function patchUpdates(_0x4dda3e){return function(_0x392f4a){try{jsonpatch['apply'](_0x392f4a,_0x4dda3e,!![]);}catch(_0x1afda9){return BPromise[_0x2d72('0x24')](_0x1afda9);}return _0x392f4a[_0x2d72('0x25')]();};}function saveUpdates(_0x42ca4b,_0x51431d){return function(_0x17332d){if(_0x17332d){return _0x17332d[_0x2d72('0x26')](_0x42ca4b)[_0x2d72('0x27')](function(_0x305346){return _0x305346;});}return null;};}function removeEntity(_0x48a3e5,_0x973d22){return function(_0x5254cf){if(_0x5254cf){return _0x5254cf[_0x2d72('0x28')]()[_0x2d72('0x27')](function(){var _0x101184=_0x5254cf[_0x2d72('0x29')]({'plain':!![]});var _0x34715c=_0x2d72('0x2a');return db[_0x2d72('0x2b')]['destroy']({'where':{'type':_0x34715c,'resourceId':_0x101184['id']}})[_0x2d72('0x27')](function(){return _0x5254cf;});})[_0x2d72('0x27')](function(){_0x48a3e5[_0x2d72('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x254b10,_0x168b43){return function(_0x3b3bab){if(!_0x3b3bab){_0x254b10[_0x2d72('0x2c')](0x194);}return _0x3b3bab;};}function handleError(_0x857b0d,_0x323742){_0x323742=_0x323742||0x1f4;return function(_0x40b1ff){logger[_0x2d72('0x2d')](_0x40b1ff[_0x2d72('0x2e')]);if(_0x40b1ff[_0x2d72('0x2f')]){delete _0x40b1ff[_0x2d72('0x2f')];}_0x857b0d[_0x2d72('0x1d')](_0x323742)['send'](_0x40b1ff);};}exports['index']=function(_0xfc1748,_0x22e149){var _0x58af3d={},_0x5dc799={},_0xcb23c0={'count':0x0,'rows':[]};var _0x21062b=_[_0x2d72('0x30')](db[_0x2d72('0x31')][_0x2d72('0x32')],function(_0x374b83){return{'name':_0x374b83[_0x2d72('0x33')],'type':_0x374b83[_0x2d72('0x34')][_0x2d72('0x35')]};});_0x5dc799[_0x2d72('0x36')]=_[_0x2d72('0x30')](_0x21062b,_0x2d72('0x2f'));_0x5dc799['query']=_[_0x2d72('0x37')](_0xfc1748['query']);_0x5dc799[_0x2d72('0x38')]=_[_0x2d72('0x39')](_0x5dc799[_0x2d72('0x36')],_0x5dc799[_0x2d72('0x3a')]);_0x58af3d['attributes']=_['intersection'](_0x5dc799[_0x2d72('0x36')],qs[_0x2d72('0x3b')](_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x3b')]));_0x58af3d[_0x2d72('0x3c')]=_0x58af3d[_0x2d72('0x3c')]['length']?_0x58af3d[_0x2d72('0x3c')]:_0x5dc799['model'];if(!_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x3d')]('nolimit')){_0x58af3d[_0x2d72('0x21')]=qs[_0x2d72('0x21')](_0xfc1748[_0x2d72('0x3a')]['limit']);_0x58af3d[_0x2d72('0x20')]=qs[_0x2d72('0x20')](_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x20')]);}_0x58af3d[_0x2d72('0x3e')]=qs[_0x2d72('0x3f')](_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x3f')]);_0x58af3d['where']=qs['filters'](_['pick'](_0xfc1748[_0x2d72('0x3a')],_0x5dc799['filters']),_0x21062b);if(_0xfc1748[_0x2d72('0x3a')]['filter']){_0x58af3d[_0x2d72('0x40')]=_[_0x2d72('0x41')](_0x58af3d[_0x2d72('0x40')],{'$or':_[_0x2d72('0x30')](_0x21062b,function(_0x2685f4){if(_0x2685f4[_0x2d72('0x34')]!=='VIRTUAL'){var _0x55789d={};_0x55789d[_0x2685f4['name']]={'$like':'%'+_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x42')]+'%'};return _0x55789d;}})});}_0x58af3d=_[_0x2d72('0x41')]({},_0x58af3d,_0xfc1748['options']);var _0x4d5065={'where':_0x58af3d[_0x2d72('0x40')]};return db['Schedule']['count'](_0x4d5065)[_0x2d72('0x27')](function(_0x3a2064){_0xcb23c0[_0x2d72('0x22')]=_0x3a2064;if(_0xfc1748[_0x2d72('0x3a')][_0x2d72('0x43')]){_0x58af3d[_0x2d72('0x44')]=[{'all':!![]}];}return db['Schedule'][_0x2d72('0x45')](_0x58af3d);})[_0x2d72('0x27')](function(_0x9373be){_0xcb23c0['rows']=_0x9373be;return _0xcb23c0;})[_0x2d72('0x27')](respondWithFilteredResult(_0x22e149,_0x58af3d))['catch'](handleError(_0x22e149,null));};exports[_0x2d72('0x46')]=function(_0x50f37,_0x3a8af7){var _0x4290f2={'raw':![],'where':{'id':_0x50f37[_0x2d72('0x47')]['id']}},_0x5e65d0={};_0x5e65d0[_0x2d72('0x36')]=_[_0x2d72('0x37')](db[_0x2d72('0x31')][_0x2d72('0x32')]);_0x5e65d0[_0x2d72('0x3a')]=_[_0x2d72('0x37')](_0x50f37[_0x2d72('0x3a')]);_0x5e65d0[_0x2d72('0x38')]=_[_0x2d72('0x39')](_0x5e65d0[_0x2d72('0x36')],_0x5e65d0[_0x2d72('0x3a')]);_0x4290f2[_0x2d72('0x3c')]=_[_0x2d72('0x39')](_0x5e65d0[_0x2d72('0x36')],qs['fields'](_0x50f37['query'][_0x2d72('0x3b')]));_0x4290f2[_0x2d72('0x3c')]=_0x4290f2[_0x2d72('0x3c')]['length']?_0x4290f2[_0x2d72('0x3c')]:_0x5e65d0[_0x2d72('0x36')];if(_0x50f37[_0x2d72('0x3a')][_0x2d72('0x43')]){_0x4290f2['include']=[{'all':!![]}];}_0x4290f2=_[_0x2d72('0x41')]({},_0x4290f2,_0x50f37[_0x2d72('0x48')]);return db[_0x2d72('0x31')][_0x2d72('0x49')](_0x4290f2)['then'](handleEntityNotFound(_0x3a8af7,null))[_0x2d72('0x27')](respondWithResult(_0x3a8af7,null))[_0x2d72('0x4a')](handleError(_0x3a8af7,null));};exports[_0x2d72('0x4b')]=function(_0x5319b8,_0x38f325){return db[_0x2d72('0x31')][_0x2d72('0x4b')](_0x5319b8[_0x2d72('0x4c')],{})[_0x2d72('0x27')](function(_0x5830ab){var _0x29c626=_0x5319b8[_0x2d72('0x4d')][_0x2d72('0x29')]({'plain':!![]});if(!_0x29c626)throw new Error(_0x2d72('0x4e'));if(_0x29c626[_0x2d72('0x4f')]===_0x2d72('0x4d')){var _0x4ba9e2=_0x5830ab[_0x2d72('0x29')]({'plain':!![]});var _0x5a79a0='Scheduler';return db[_0x2d72('0x50')][_0x2d72('0x49')]({'where':{'name':_0x5a79a0,'userProfileId':_0x29c626[_0x2d72('0x51')]},'raw':!![]})['then'](function(_0x5d571a){if(_0x5d571a&&_0x5d571a[_0x2d72('0x52')]===0x0){return db[_0x2d72('0x2b')][_0x2d72('0x4b')]({'name':_0x4ba9e2[_0x2d72('0x2f')],'resourceId':_0x4ba9e2['id'],'type':_0x5d571a['name'],'sectionId':_0x5d571a['id']},{})[_0x2d72('0x27')](function(){return _0x5830ab;});}else{return _0x5830ab;}})[_0x2d72('0x4a')](function(_0x3dd6c4){logger[_0x2d72('0x2d')](_0x2d72('0x53'),_0x3dd6c4);throw _0x3dd6c4;});}return _0x5830ab;})[_0x2d72('0x27')](respondWithResult(_0x38f325,0xc9))[_0x2d72('0x4a')](handleError(_0x38f325,null));};exports[_0x2d72('0x26')]=function(_0x3bd20b,_0x15126f){if(_0x3bd20b[_0x2d72('0x4c')]['id']){delete _0x3bd20b[_0x2d72('0x4c')]['id'];}return db[_0x2d72('0x31')][_0x2d72('0x49')]({'where':{'id':_0x3bd20b[_0x2d72('0x47')]['id']}})[_0x2d72('0x27')](handleEntityNotFound(_0x15126f,null))[_0x2d72('0x27')](saveUpdates(_0x3bd20b[_0x2d72('0x4c')],null))[_0x2d72('0x27')](respondWithResult(_0x15126f,null))[_0x2d72('0x4a')](handleError(_0x15126f,null));};exports[_0x2d72('0x28')]=function(_0x3fad73,_0x18ad8f){return db[_0x2d72('0x31')][_0x2d72('0x49')]({'where':{'id':_0x3fad73[_0x2d72('0x47')]['id']}})[_0x2d72('0x27')](handleEntityNotFound(_0x18ad8f,null))[_0x2d72('0x27')](removeEntity(_0x18ad8f,null))[_0x2d72('0x4a')](handleError(_0x18ad8f,null));};exports[_0x2d72('0x54')]=function(_0x38c882,_0x47cb45,_0x179035){var _0x120180=require(_0x2d72('0x55'));return db['Schedule'][_0x2d72('0x49')]({'where':{'id':_0x38c882[_0x2d72('0x47')]['id']},'raw':!![]})[_0x2d72('0x27')](handleEntityNotFound(_0x47cb45,null))[_0x2d72('0x27')](function(){_0x120180[_0x2d72('0x54')](_0x38c882[_0x2d72('0x47')]['id']);})[_0x2d72('0x27')](respondWithStatusCode(_0x47cb45,null))[_0x2d72('0x4a')](handleError(_0x47cb45,null));};