Built motion from commit (unavailable).|2.5.3
[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 _0x0415=['filter','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','get','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','end','json','count','offset','limit','status','set','Content-Range','apply','reject','save','update','destroy','Scheduler','UserProfileResource','then','sendStatus','error','stack','name','send','Schedule','fieldName','type','model','map','query','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick'];(function(_0x279607,_0x3c79f6){var _0x963497=function(_0x23bd32){while(--_0x23bd32){_0x279607['push'](_0x279607['shift']());}};_0x963497(++_0x3c79f6);}(_0x0415,0x10f));var _0x5041=function(_0x2d74a7,_0x27443c){_0x2d74a7=_0x2d74a7-0x0;var _0x2577e1=_0x0415[_0x2d74a7];return _0x2577e1;};'use strict';var pdf=require(_0x5041('0x0'));var emlformat=require(_0x5041('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x5041('0x2'));var jsonpatch=require(_0x5041('0x3'));var rp=require(_0x5041('0x4'));var moment=require(_0x5041('0x5'));var BPromise=require(_0x5041('0x6'));var Mustache=require(_0x5041('0x7'));var util=require('util');var path=require(_0x5041('0x8'));var sox=require('sox');var csv=require(_0x5041('0x9'));var ejs=require(_0x5041('0xa'));var fs=require('fs');var _=require(_0x5041('0xb'));var squel=require(_0x5041('0xc'));var crypto=require(_0x5041('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x5041('0xe'));var toCsv=require(_0x5041('0x9'));var querystring=require(_0x5041('0xf'));var Papa=require(_0x5041('0x10'));var Redis=require(_0x5041('0x11'));var authService=require(_0x5041('0x12'));var qs=require(_0x5041('0x13'));var as=require(_0x5041('0x14'));var hardwareService=require(_0x5041('0x15'));var logger=require(_0x5041('0x16'))(_0x5041('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x5041('0x18'))['db'];function respondWithStatusCode(_0x353138,_0x54dc44){_0x54dc44=_0x54dc44||0xcc;return function(_0x17900c){if(_0x17900c){return _0x353138['sendStatus'](_0x54dc44);}return _0x353138['status'](_0x54dc44)[_0x5041('0x19')]();};}function respondWithResult(_0x497cb8,_0xabd333){_0xabd333=_0xabd333||0xc8;return function(_0xe40cb4){if(_0xe40cb4){return _0x497cb8['status'](_0xabd333)[_0x5041('0x1a')](_0xe40cb4);}};}function respondWithFilteredResult(_0x46450d,_0x2212c6){return function(_0x34f64c){if(_0x34f64c){var _0x4da8a9=_0x34f64c[_0x5041('0x1b')],_0x5bd04f=_0x2212c6[_0x5041('0x1c')],_0x5e8984=_0x2212c6[_0x5041('0x1c')]+_0x2212c6[_0x5041('0x1d')],_0x5b115e;if(_0x5e8984>=_0x4da8a9){_0x5e8984=_0x4da8a9;_0x5b115e=0xc8;}else{_0x5b115e=0xce;}_0x46450d[_0x5041('0x1e')](_0x5b115e);return _0x46450d[_0x5041('0x1f')](_0x5041('0x20'),_0x5bd04f+'-'+_0x5e8984+'/'+_0x4da8a9)[_0x5041('0x1a')](_0x34f64c);}return null;};}function patchUpdates(_0x1c761f){return function(_0x100570){try{jsonpatch[_0x5041('0x21')](_0x100570,_0x1c761f,!![]);}catch(_0x2595cc){return BPromise[_0x5041('0x22')](_0x2595cc);}return _0x100570[_0x5041('0x23')]();};}function saveUpdates(_0x3e4f27,_0x96a8f6){return function(_0x53e065){if(_0x53e065){return _0x53e065[_0x5041('0x24')](_0x3e4f27)['then'](function(_0x2cd2a0){return _0x2cd2a0;});}return null;};}function removeEntity(_0x1047a9,_0x3c7de9){return function(_0x22c61c){if(_0x22c61c){return _0x22c61c[_0x5041('0x25')]()['then'](function(){var _0xa39da7=_0x22c61c['get']({'plain':!![]});var _0x477c9c=_0x5041('0x26');return db[_0x5041('0x27')][_0x5041('0x25')]({'where':{'type':_0x477c9c,'resourceId':_0xa39da7['id']}})[_0x5041('0x28')](function(){return _0x22c61c;});})[_0x5041('0x28')](function(){_0x1047a9['status'](0xcc)[_0x5041('0x19')]();});}};}function handleEntityNotFound(_0x4d1456,_0x111fa6){return function(_0x4a0072){if(!_0x4a0072){_0x4d1456[_0x5041('0x29')](0x194);}return _0x4a0072;};}function handleError(_0x2075a5,_0x1c6739){_0x1c6739=_0x1c6739||0x1f4;return function(_0xa9ea64){logger[_0x5041('0x2a')](_0xa9ea64[_0x5041('0x2b')]);if(_0xa9ea64[_0x5041('0x2c')]){delete _0xa9ea64[_0x5041('0x2c')];}_0x2075a5['status'](_0x1c6739)[_0x5041('0x2d')](_0xa9ea64);};}exports['index']=function(_0x112bcb,_0x21c141){var _0x2bc0c6={},_0x366502={},_0x1cfe3c={'count':0x0,'rows':[]};var _0x3cb0d6=_['map'](db[_0x5041('0x2e')]['rawAttributes'],function(_0x4d2fd2){return{'name':_0x4d2fd2[_0x5041('0x2f')],'type':_0x4d2fd2[_0x5041('0x30')]['key']};});_0x366502[_0x5041('0x31')]=_[_0x5041('0x32')](_0x3cb0d6,_0x5041('0x2c'));_0x366502[_0x5041('0x33')]=_['keys'](_0x112bcb[_0x5041('0x33')]);_0x366502[_0x5041('0x34')]=_[_0x5041('0x35')](_0x366502[_0x5041('0x31')],_0x366502[_0x5041('0x33')]);_0x2bc0c6[_0x5041('0x36')]=_[_0x5041('0x35')](_0x366502[_0x5041('0x31')],qs[_0x5041('0x37')](_0x112bcb[_0x5041('0x33')][_0x5041('0x37')]));_0x2bc0c6['attributes']=_0x2bc0c6['attributes']['length']?_0x2bc0c6[_0x5041('0x36')]:_0x366502[_0x5041('0x31')];if(!_0x112bcb[_0x5041('0x33')][_0x5041('0x38')]('nolimit')){_0x2bc0c6[_0x5041('0x1d')]=qs['limit'](_0x112bcb[_0x5041('0x33')][_0x5041('0x1d')]);_0x2bc0c6[_0x5041('0x1c')]=qs['offset'](_0x112bcb[_0x5041('0x33')][_0x5041('0x1c')]);}_0x2bc0c6[_0x5041('0x39')]=qs['sort'](_0x112bcb[_0x5041('0x33')][_0x5041('0x3a')]);_0x2bc0c6[_0x5041('0x3b')]=qs[_0x5041('0x34')](_[_0x5041('0x3c')](_0x112bcb[_0x5041('0x33')],_0x366502[_0x5041('0x34')]),_0x3cb0d6);if(_0x112bcb[_0x5041('0x33')][_0x5041('0x3d')]){_0x2bc0c6[_0x5041('0x3b')]=_[_0x5041('0x3e')](_0x2bc0c6[_0x5041('0x3b')],{'$or':_[_0x5041('0x32')](_0x3cb0d6,function(_0x650b09){if(_0x650b09[_0x5041('0x30')]!=='VIRTUAL'){var _0x129e99={};_0x129e99[_0x650b09[_0x5041('0x2c')]]={'$like':'%'+_0x112bcb[_0x5041('0x33')][_0x5041('0x3d')]+'%'};return _0x129e99;}})});}_0x2bc0c6=_[_0x5041('0x3e')]({},_0x2bc0c6,_0x112bcb[_0x5041('0x3f')]);var _0x2b547f={'where':_0x2bc0c6[_0x5041('0x3b')]};return db[_0x5041('0x2e')][_0x5041('0x1b')](_0x2b547f)['then'](function(_0x202cab){_0x1cfe3c[_0x5041('0x1b')]=_0x202cab;if(_0x112bcb['query'][_0x5041('0x40')]){_0x2bc0c6[_0x5041('0x41')]=[{'all':!![]}];}return db[_0x5041('0x2e')][_0x5041('0x42')](_0x2bc0c6);})[_0x5041('0x28')](function(_0x403417){_0x1cfe3c[_0x5041('0x43')]=_0x403417;return _0x1cfe3c;})[_0x5041('0x28')](respondWithFilteredResult(_0x21c141,_0x2bc0c6))[_0x5041('0x44')](handleError(_0x21c141,null));};exports[_0x5041('0x45')]=function(_0x26a830,_0x138236){var _0x3c8d5d={'raw':![],'where':{'id':_0x26a830[_0x5041('0x46')]['id']}},_0x22f9d4={};_0x22f9d4[_0x5041('0x31')]=_[_0x5041('0x47')](db['Schedule'][_0x5041('0x48')]);_0x22f9d4['query']=_[_0x5041('0x47')](_0x26a830['query']);_0x22f9d4['filters']=_[_0x5041('0x35')](_0x22f9d4[_0x5041('0x31')],_0x22f9d4['query']);_0x3c8d5d[_0x5041('0x36')]=_[_0x5041('0x35')](_0x22f9d4[_0x5041('0x31')],qs[_0x5041('0x37')](_0x26a830['query'][_0x5041('0x37')]));_0x3c8d5d['attributes']=_0x3c8d5d[_0x5041('0x36')][_0x5041('0x49')]?_0x3c8d5d[_0x5041('0x36')]:_0x22f9d4['model'];if(_0x26a830[_0x5041('0x33')][_0x5041('0x40')]){_0x3c8d5d[_0x5041('0x41')]=[{'all':!![]}];}_0x3c8d5d=_['merge']({},_0x3c8d5d,_0x26a830[_0x5041('0x3f')]);return db[_0x5041('0x2e')][_0x5041('0x4a')](_0x3c8d5d)[_0x5041('0x28')](handleEntityNotFound(_0x138236,null))[_0x5041('0x28')](respondWithResult(_0x138236,null))['catch'](handleError(_0x138236,null));};exports[_0x5041('0x4b')]=function(_0x3d7a87,_0x197371){return db[_0x5041('0x2e')][_0x5041('0x4b')](_0x3d7a87[_0x5041('0x4c')],{})[_0x5041('0x28')](function(_0x4c7788){var _0x8cdae8=_0x3d7a87['user']['get']({'plain':!![]});if(!_0x8cdae8)throw new Error(_0x5041('0x4d'));if(_0x8cdae8['role']===_0x5041('0x4e')){var _0x786e98=_0x4c7788[_0x5041('0x4f')]({'plain':!![]});var _0x40a044='Scheduler';return db[_0x5041('0x50')]['find']({'where':{'name':_0x40a044,'userProfileId':_0x8cdae8['userProfileId']},'raw':!![]})[_0x5041('0x28')](function(_0x5e32d5){if(_0x5e32d5&&_0x5e32d5['autoAssociation']===0x0){return db[_0x5041('0x27')][_0x5041('0x4b')]({'name':_0x786e98[_0x5041('0x2c')],'resourceId':_0x786e98['id'],'type':_0x5e32d5[_0x5041('0x2c')],'sectionId':_0x5e32d5['id']},{})[_0x5041('0x28')](function(){return _0x4c7788;});}else{return _0x4c7788;}})[_0x5041('0x44')](function(_0xda1aa6){logger['error'](_0x5041('0x51'),_0xda1aa6);throw _0xda1aa6;});}return _0x4c7788;})[_0x5041('0x28')](respondWithResult(_0x197371,0xc9))[_0x5041('0x44')](handleError(_0x197371,null));};exports[_0x5041('0x24')]=function(_0xe425df,_0x32deac){if(_0xe425df[_0x5041('0x4c')]['id']){delete _0xe425df[_0x5041('0x4c')]['id'];}return db[_0x5041('0x2e')][_0x5041('0x4a')]({'where':{'id':_0xe425df['params']['id']}})[_0x5041('0x28')](handleEntityNotFound(_0x32deac,null))[_0x5041('0x28')](saveUpdates(_0xe425df[_0x5041('0x4c')],null))[_0x5041('0x28')](respondWithResult(_0x32deac,null))[_0x5041('0x44')](handleError(_0x32deac,null));};exports[_0x5041('0x25')]=function(_0x4a76c7,_0x30a6ad){return db[_0x5041('0x2e')][_0x5041('0x4a')]({'where':{'id':_0x4a76c7[_0x5041('0x46')]['id']}})['then'](handleEntityNotFound(_0x30a6ad,null))['then'](removeEntity(_0x30a6ad,null))[_0x5041('0x44')](handleError(_0x30a6ad,null));};exports[_0x5041('0x52')]=function(_0x331b53,_0x13fe07,_0x48e6cf){var _0x1f12ef=require('../../config/schedule');return db[_0x5041('0x2e')][_0x5041('0x4a')]({'where':{'id':_0x331b53[_0x5041('0x46')]['id']},'raw':!![]})[_0x5041('0x28')](handleEntityNotFound(_0x13fe07,null))[_0x5041('0x28')](function(){_0x1f12ef[_0x5041('0x52')](_0x331b53[_0x5041('0x46')]['id']);})[_0x5041('0x28')](respondWithStatusCode(_0x13fe07,null))[_0x5041('0x44')](handleError(_0x13fe07,null));};