Built motion from commit (unavailable).|2.5.0
[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 _0x458c=['includeAll','merge','create','body','user','get','role','find','userProfileId','autoAssociation','error','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','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','json','reject','save','update','then','destroy','Scheduler','UserProfileResource','stack','name','index','map','Schedule','rawAttributes','fieldName','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','where','type','VIRTUAL','count','include','findAll','catch','show','params','length'];(function(_0x120214,_0x35b5cd){var _0x205e3c=function(_0x182c77){while(--_0x182c77){_0x120214['push'](_0x120214['shift']());}};_0x205e3c(++_0x35b5cd);}(_0x458c,0xba));var _0xc458=function(_0x3cbe1c,_0x4bcabd){_0x3cbe1c=_0x3cbe1c-0x0;var _0x5ee08b=_0x458c[_0x3cbe1c];return _0x5ee08b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc458('0x0'));var rimraf=require(_0xc458('0x1'));var zipdir=require(_0xc458('0x2'));var jsonpatch=require(_0xc458('0x3'));var rp=require(_0xc458('0x4'));var moment=require(_0xc458('0x5'));var BPromise=require(_0xc458('0x6'));var Mustache=require(_0xc458('0x7'));var util=require('util');var path=require('path');var sox=require(_0xc458('0x8'));var csv=require('to-csv');var ejs=require(_0xc458('0x9'));var fs=require('fs');var _=require(_0xc458('0xa'));var squel=require(_0xc458('0xb'));var crypto=require(_0xc458('0xc'));var jsforce=require(_0xc458('0xd'));var deskjs=require(_0xc458('0xe'));var toCsv=require(_0xc458('0xf'));var querystring=require(_0xc458('0x10'));var Papa=require(_0xc458('0x11'));var Redis=require(_0xc458('0x12'));var authService=require(_0xc458('0x13'));var qs=require(_0xc458('0x14'));var as=require(_0xc458('0x15'));var hardwareService=require(_0xc458('0x16'));var logger=require('../../config/logger')(_0xc458('0x17'));var utils=require(_0xc458('0x18'));var config=require(_0xc458('0x19'));var db=require(_0xc458('0x1a'))['db'];function respondWithStatusCode(_0x3162bf,_0x282b4c){_0x282b4c=_0x282b4c||0xcc;return function(_0x2ad471){if(_0x2ad471){return _0x3162bf[_0xc458('0x1b')](_0x282b4c);}return _0x3162bf[_0xc458('0x1c')](_0x282b4c)[_0xc458('0x1d')]();};}function respondWithResult(_0x338941,_0x20e8b9){_0x20e8b9=_0x20e8b9||0xc8;return function(_0x26a149){if(_0x26a149){return _0x338941[_0xc458('0x1c')](_0x20e8b9)['json'](_0x26a149);}};}function respondWithFilteredResult(_0x205a9d,_0x497028){return function(_0x5e9da8){if(_0x5e9da8){var _0x2d234d=_0x5e9da8['count'],_0x158287=_0x497028[_0xc458('0x1e')],_0xae1e24=_0x497028['offset']+_0x497028[_0xc458('0x1f')],_0x3844f8;if(_0xae1e24>=_0x2d234d){_0xae1e24=_0x2d234d;_0x3844f8=0xc8;}else{_0x3844f8=0xce;}_0x205a9d[_0xc458('0x1c')](_0x3844f8);return _0x205a9d[_0xc458('0x20')](_0xc458('0x21'),_0x158287+'-'+_0xae1e24+'/'+_0x2d234d)[_0xc458('0x22')](_0x5e9da8);}return null;};}function patchUpdates(_0x9853f6){return function(_0x112dc6){try{jsonpatch['apply'](_0x112dc6,_0x9853f6,!![]);}catch(_0x29156d){return BPromise[_0xc458('0x23')](_0x29156d);}return _0x112dc6[_0xc458('0x24')]();};}function saveUpdates(_0x3a748f,_0xda5b89){return function(_0x34ee32){if(_0x34ee32){return _0x34ee32[_0xc458('0x25')](_0x3a748f)[_0xc458('0x26')](function(_0x402ff4){return _0x402ff4;});}return null;};}function removeEntity(_0x218364,_0xc99222){return function(_0x55262c){if(_0x55262c){return _0x55262c[_0xc458('0x27')]()['then'](function(){var _0x5825e7=_0x55262c['get']({'plain':!![]});var _0xe1bd4b=_0xc458('0x28');return db[_0xc458('0x29')][_0xc458('0x27')]({'where':{'type':_0xe1bd4b,'resourceId':_0x5825e7['id']}})[_0xc458('0x26')](function(){return _0x55262c;});})['then'](function(){_0x218364[_0xc458('0x1c')](0xcc)[_0xc458('0x1d')]();});}};}function handleEntityNotFound(_0x201245,_0x23a2a4){return function(_0x3a0ca0){if(!_0x3a0ca0){_0x201245[_0xc458('0x1b')](0x194);}return _0x3a0ca0;};}function handleError(_0x357daa,_0x1604b8){_0x1604b8=_0x1604b8||0x1f4;return function(_0x25c52a){logger['error'](_0x25c52a[_0xc458('0x2a')]);if(_0x25c52a['name']){delete _0x25c52a[_0xc458('0x2b')];}_0x357daa[_0xc458('0x1c')](_0x1604b8)['send'](_0x25c52a);};}exports[_0xc458('0x2c')]=function(_0x46d078,_0x1d767c){var _0xb62a52={},_0x40bf7c={},_0x45037b={'count':0x0,'rows':[]};var _0x152110=_[_0xc458('0x2d')](db[_0xc458('0x2e')][_0xc458('0x2f')],function(_0x457d2a){return{'name':_0x457d2a[_0xc458('0x30')],'type':_0x457d2a['type'][_0xc458('0x31')]};});_0x40bf7c[_0xc458('0x32')]=_[_0xc458('0x2d')](_0x152110,_0xc458('0x2b'));_0x40bf7c['query']=_['keys'](_0x46d078[_0xc458('0x33')]);_0x40bf7c[_0xc458('0x34')]=_[_0xc458('0x35')](_0x40bf7c[_0xc458('0x32')],_0x40bf7c[_0xc458('0x33')]);_0xb62a52['attributes']=_[_0xc458('0x35')](_0x40bf7c[_0xc458('0x32')],qs['fields'](_0x46d078['query'][_0xc458('0x36')]));_0xb62a52[_0xc458('0x37')]=_0xb62a52[_0xc458('0x37')]['length']?_0xb62a52[_0xc458('0x37')]:_0x40bf7c['model'];if(!_0x46d078[_0xc458('0x33')][_0xc458('0x38')](_0xc458('0x39'))){_0xb62a52[_0xc458('0x1f')]=qs[_0xc458('0x1f')](_0x46d078[_0xc458('0x33')][_0xc458('0x1f')]);_0xb62a52['offset']=qs['offset'](_0x46d078[_0xc458('0x33')]['offset']);}_0xb62a52[_0xc458('0x3a')]=qs[_0xc458('0x3b')](_0x46d078['query']['sort']);_0xb62a52['where']=qs[_0xc458('0x34')](_[_0xc458('0x3c')](_0x46d078[_0xc458('0x33')],_0x40bf7c['filters']));if(_0x46d078[_0xc458('0x33')][_0xc458('0x3d')]){_0xb62a52[_0xc458('0x3e')]=_['merge'](_0xb62a52[_0xc458('0x3e')],{'$or':_['map'](_0x152110,function(_0x131441){if(_0x131441[_0xc458('0x3f')]!==_0xc458('0x40')){var _0x19f1c5={};_0x19f1c5[_0x131441[_0xc458('0x2b')]]={'$like':'%'+_0x46d078[_0xc458('0x33')][_0xc458('0x3d')]+'%'};return _0x19f1c5;}})});}_0xb62a52=_['merge']({},_0xb62a52,_0x46d078['options']);var _0x4cd3a7={'where':_0xb62a52[_0xc458('0x3e')]};return db[_0xc458('0x2e')][_0xc458('0x41')](_0x4cd3a7)[_0xc458('0x26')](function(_0x1b55f3){_0x45037b['count']=_0x1b55f3;if(_0x46d078['query']['includeAll']){_0xb62a52[_0xc458('0x42')]=[{'all':!![]}];}return db[_0xc458('0x2e')][_0xc458('0x43')](_0xb62a52);})[_0xc458('0x26')](function(_0xdc5bf0){_0x45037b['rows']=_0xdc5bf0;return _0x45037b;})[_0xc458('0x26')](respondWithFilteredResult(_0x1d767c,_0xb62a52))[_0xc458('0x44')](handleError(_0x1d767c,null));};exports[_0xc458('0x45')]=function(_0x1bab8c,_0x3af0ea){var _0x2d1c27={'raw':![],'where':{'id':_0x1bab8c[_0xc458('0x46')]['id']}},_0x4c91b2={};_0x4c91b2['model']=_['keys'](db[_0xc458('0x2e')][_0xc458('0x2f')]);_0x4c91b2[_0xc458('0x33')]=_['keys'](_0x1bab8c[_0xc458('0x33')]);_0x4c91b2[_0xc458('0x34')]=_['intersection'](_0x4c91b2[_0xc458('0x32')],_0x4c91b2[_0xc458('0x33')]);_0x2d1c27[_0xc458('0x37')]=_[_0xc458('0x35')](_0x4c91b2['model'],qs[_0xc458('0x36')](_0x1bab8c[_0xc458('0x33')]['fields']));_0x2d1c27[_0xc458('0x37')]=_0x2d1c27['attributes'][_0xc458('0x47')]?_0x2d1c27['attributes']:_0x4c91b2['model'];if(_0x1bab8c[_0xc458('0x33')][_0xc458('0x48')]){_0x2d1c27['include']=[{'all':!![]}];}_0x2d1c27=_[_0xc458('0x49')]({},_0x2d1c27,_0x1bab8c['options']);return db['Schedule']['find'](_0x2d1c27)['then'](handleEntityNotFound(_0x3af0ea,null))[_0xc458('0x26')](respondWithResult(_0x3af0ea,null))[_0xc458('0x44')](handleError(_0x3af0ea,null));};exports[_0xc458('0x4a')]=function(_0x49fdcb,_0x546dee){return db[_0xc458('0x2e')][_0xc458('0x4a')](_0x49fdcb[_0xc458('0x4b')],{})[_0xc458('0x26')](function(_0x23558f){var _0x29567b=_0x49fdcb[_0xc458('0x4c')][_0xc458('0x4d')]({'plain':!![]});if(!_0x29567b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x29567b[_0xc458('0x4e')]===_0xc458('0x4c')){var _0x2af875=_0x23558f['get']({'plain':!![]});var _0x5919dd='Scheduler';return db['UserProfileSection'][_0xc458('0x4f')]({'where':{'name':_0x5919dd,'userProfileId':_0x29567b[_0xc458('0x50')]},'raw':!![]})[_0xc458('0x26')](function(_0x26b6f9){if(_0x26b6f9&&_0x26b6f9[_0xc458('0x51')]===0x0){return db['UserProfileResource'][_0xc458('0x4a')]({'name':_0x2af875[_0xc458('0x2b')],'resourceId':_0x2af875['id'],'type':_0x26b6f9[_0xc458('0x2b')],'sectionId':_0x26b6f9['id']},{})['then'](function(){return _0x23558f;});}else{return _0x23558f;}})[_0xc458('0x44')](function(_0x47cbc6){logger[_0xc458('0x52')](_0xc458('0x53'),_0x47cbc6);throw _0x47cbc6;});}return _0x23558f;})[_0xc458('0x26')](respondWithResult(_0x546dee,0xc9))['catch'](handleError(_0x546dee,null));};exports[_0xc458('0x25')]=function(_0x480011,_0x7fd3ef){if(_0x480011[_0xc458('0x4b')]['id']){delete _0x480011['body']['id'];}return db['Schedule'][_0xc458('0x4f')]({'where':{'id':_0x480011['params']['id']}})[_0xc458('0x26')](handleEntityNotFound(_0x7fd3ef,null))[_0xc458('0x26')](saveUpdates(_0x480011[_0xc458('0x4b')],null))[_0xc458('0x26')](respondWithResult(_0x7fd3ef,null))[_0xc458('0x44')](handleError(_0x7fd3ef,null));};exports['destroy']=function(_0x582f9e,_0x796b58){return db[_0xc458('0x2e')]['find']({'where':{'id':_0x582f9e[_0xc458('0x46')]['id']}})['then'](handleEntityNotFound(_0x796b58,null))['then'](removeEntity(_0x796b58,null))[_0xc458('0x44')](handleError(_0x796b58,null));};exports[_0xc458('0x54')]=function(_0x18ad29,_0x59b523,_0x4fce5a){var _0x4a98c5=require(_0xc458('0x55'));return db[_0xc458('0x2e')][_0xc458('0x4f')]({'where':{'id':_0x18ad29['params']['id']},'raw':!![]})[_0xc458('0x26')](handleEntityNotFound(_0x59b523,null))[_0xc458('0x26')](function(){_0x4a98c5['run'](_0x18ad29[_0xc458('0x46')]['id']);})[_0xc458('0x26')](respondWithStatusCode(_0x59b523,null))[_0xc458('0x44')](handleError(_0x59b523,null));};