Built motion from commit (unavailable).|2.3.4
[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 _0xad6c=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','status','json','offset','set','Content-Range','apply','reject','save','destroy','then','UserProfileResource','sendStatus','error','stack','name','index','Schedule','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','where','filters','pick','filter','merge','map','key','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','params','rawAttributes','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Scheduler','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','html-pdf','rimraf','zip-dir'];(function(_0xdcff8e,_0x900ada){var _0x7a88e8=function(_0x15b20b){while(--_0x15b20b){_0xdcff8e['push'](_0xdcff8e['shift']());}};_0x7a88e8(++_0x900ada);}(_0xad6c,0xf9));var _0xcad6=function(_0x122da3,_0x54b11a){_0x122da3=_0x122da3-0x0;var _0x5bc2f0=_0xad6c[_0x122da3];return _0x5bc2f0;};'use strict';var pdf=require(_0xcad6('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xcad6('0x1'));var zipdir=require(_0xcad6('0x2'));var jsonpatch=require(_0xcad6('0x3'));var rp=require(_0xcad6('0x4'));var moment=require(_0xcad6('0x5'));var BPromise=require(_0xcad6('0x6'));var Mustache=require(_0xcad6('0x7'));var util=require(_0xcad6('0x8'));var path=require(_0xcad6('0x9'));var sox=require('sox');var csv=require(_0xcad6('0xa'));var ejs=require(_0xcad6('0xb'));var fs=require('fs');var _=require(_0xcad6('0xc'));var squel=require(_0xcad6('0xd'));var crypto=require(_0xcad6('0xe'));var jsforce=require(_0xcad6('0xf'));var deskjs=require(_0xcad6('0x10'));var toCsv=require(_0xcad6('0xa'));var querystring=require(_0xcad6('0x11'));var Papa=require(_0xcad6('0x12'));var authService=require(_0xcad6('0x13'));var hardwareService=require(_0xcad6('0x14'));var Redis=require(_0xcad6('0x15'));var qs=require(_0xcad6('0x16'));var logger=require(_0xcad6('0x17'))(_0xcad6('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xcad6('0x19'))['db'];function respondWithStatusCode(_0x337243,_0x4f58d5){_0x4f58d5=_0x4f58d5||0xcc;return function(_0x31a8c4){if(_0x31a8c4){return _0x337243['sendStatus'](_0x4f58d5);}return _0x337243[_0xcad6('0x1a')](_0x4f58d5)['end']();};}function respondWithResult(_0xc1fdeb,_0x4ad017){_0x4ad017=_0x4ad017||0xc8;return function(_0x2223f6){if(_0x2223f6){return _0xc1fdeb[_0xcad6('0x1a')](_0x4ad017)[_0xcad6('0x1b')](_0x2223f6);}};}function respondWithFilteredResult(_0x9572e3,_0x4cad59){return function(_0xc4ba44){if(_0xc4ba44){var _0x2d3749=_0xc4ba44['count'],_0x54aac3=_0x4cad59[_0xcad6('0x1c')],_0x341625=_0x4cad59[_0xcad6('0x1c')]+_0x4cad59['limit'],_0x228ef9;if(_0x341625>=_0x2d3749){_0x341625=_0x2d3749;_0x228ef9=0xc8;}else{_0x228ef9=0xce;}_0x9572e3[_0xcad6('0x1a')](_0x228ef9);return _0x9572e3[_0xcad6('0x1d')](_0xcad6('0x1e'),_0x54aac3+'-'+_0x341625+'/'+_0x2d3749)[_0xcad6('0x1b')](_0xc4ba44);}return null;};}function patchUpdates(_0x3c877d){return function(_0x5e418f){try{jsonpatch[_0xcad6('0x1f')](_0x5e418f,_0x3c877d,!![]);}catch(_0x1bcd2f){return BPromise[_0xcad6('0x20')](_0x1bcd2f);}return _0x5e418f[_0xcad6('0x21')]();};}function saveUpdates(_0x387e64,_0x45435a){return function(_0x5adb28){if(_0x5adb28){return _0x5adb28['update'](_0x387e64)['then'](function(_0xa874f){return _0xa874f;});}return null;};}function removeEntity(_0x4896a7,_0x12fc22){return function(_0x4b96c3){if(_0x4b96c3){return _0x4b96c3[_0xcad6('0x22')]()[_0xcad6('0x23')](function(){var _0x1f2854=_0x4b96c3['get']({'plain':!![]});var _0x484b3b='Scheduler';return db[_0xcad6('0x24')][_0xcad6('0x22')]({'where':{'type':_0x484b3b,'resourceId':_0x1f2854['id']}})[_0xcad6('0x23')](function(){return _0x4b96c3;});})['then'](function(){_0x4896a7[_0xcad6('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x190025,_0xe53aaf){return function(_0x38cf86){if(!_0x38cf86){_0x190025[_0xcad6('0x25')](0x194);}return _0x38cf86;};}function handleError(_0x2b6f3b,_0x1f0f32){_0x1f0f32=_0x1f0f32||0x1f4;return function(_0x3336a3){logger[_0xcad6('0x26')](_0x3336a3[_0xcad6('0x27')]);if(_0x3336a3[_0xcad6('0x28')]){delete _0x3336a3[_0xcad6('0x28')];}_0x2b6f3b[_0xcad6('0x1a')](_0x1f0f32)['send'](_0x3336a3);};}exports[_0xcad6('0x29')]=function(_0x33838d,_0x1df668){var _0x2825a3={},_0x35e238={},_0x1f3e2c={'count':0x0,'rows':[]};var _0x278317=db[_0xcad6('0x2a')]['rawAttributes'];_0x35e238[_0xcad6('0x2b')]=_[_0xcad6('0x2c')](_0x278317);_0x35e238[_0xcad6('0x2d')]=_[_0xcad6('0x2c')](_0x33838d['query']);_0x35e238['filters']=_[_0xcad6('0x2e')](_0x35e238['model'],_0x35e238[_0xcad6('0x2d')]);_0x2825a3[_0xcad6('0x2f')]=_[_0xcad6('0x2e')](_0x35e238[_0xcad6('0x2b')],qs[_0xcad6('0x30')](_0x33838d[_0xcad6('0x2d')][_0xcad6('0x30')]));_0x2825a3[_0xcad6('0x2f')]=_0x2825a3[_0xcad6('0x2f')][_0xcad6('0x31')]?_0x2825a3[_0xcad6('0x2f')]:_0x35e238['model'];if(!_0x33838d[_0xcad6('0x2d')][_0xcad6('0x32')](_0xcad6('0x33'))){_0x2825a3[_0xcad6('0x34')]=qs['limit'](_0x33838d['query'][_0xcad6('0x34')]);_0x2825a3[_0xcad6('0x1c')]=qs['offset'](_0x33838d['query']['offset']);}_0x2825a3['order']=qs['sort'](_0x33838d[_0xcad6('0x2d')]['sort']);_0x2825a3[_0xcad6('0x35')]=qs[_0xcad6('0x36')](_[_0xcad6('0x37')](_0x33838d[_0xcad6('0x2d')],_0x35e238['filters']));if(_0x33838d['query'][_0xcad6('0x38')]){_0x2825a3[_0xcad6('0x35')]=_[_0xcad6('0x39')](_0x2825a3[_0xcad6('0x35')],{'$or':_[_0xcad6('0x3a')](_0x278317,function(_0x15ae4e){if(_0x15ae4e['type'][_0xcad6('0x3b')]!==_0xcad6('0x3c')){var _0x4dab74={};_0x4dab74[_0x15ae4e['field']]={'$like':'%'+_0x33838d[_0xcad6('0x2d')][_0xcad6('0x38')]+'%'};return _0x4dab74;}})});}_0x2825a3=_[_0xcad6('0x39')]({},_0x2825a3,_0x33838d[_0xcad6('0x3d')]);var _0x38ff97={'where':_0x2825a3['where']};return db[_0xcad6('0x2a')][_0xcad6('0x3e')](_0x38ff97)['then'](function(_0x122d87){_0x1f3e2c[_0xcad6('0x3e')]=_0x122d87;if(_0x33838d[_0xcad6('0x2d')][_0xcad6('0x3f')]){_0x2825a3[_0xcad6('0x40')]=[{'all':!![]}];}return db['Schedule'][_0xcad6('0x41')](_0x2825a3);})[_0xcad6('0x23')](function(_0x19ea78){_0x1f3e2c[_0xcad6('0x42')]=_0x19ea78;return _0x1f3e2c;})[_0xcad6('0x23')](respondWithFilteredResult(_0x1df668,_0x2825a3))[_0xcad6('0x43')](handleError(_0x1df668,null));};exports['show']=function(_0x12e210,_0x594cec){var _0x4c22e3={'raw':![],'where':{'id':_0x12e210[_0xcad6('0x44')]['id']}},_0x1c2332={};_0x1c2332[_0xcad6('0x2b')]=_[_0xcad6('0x2c')](db[_0xcad6('0x2a')][_0xcad6('0x45')]);_0x1c2332[_0xcad6('0x2d')]=_[_0xcad6('0x2c')](_0x12e210[_0xcad6('0x2d')]);_0x1c2332[_0xcad6('0x36')]=_['intersection'](_0x1c2332['model'],_0x1c2332[_0xcad6('0x2d')]);_0x4c22e3[_0xcad6('0x2f')]=_[_0xcad6('0x2e')](_0x1c2332[_0xcad6('0x2b')],qs[_0xcad6('0x30')](_0x12e210[_0xcad6('0x2d')][_0xcad6('0x30')]));_0x4c22e3[_0xcad6('0x2f')]=_0x4c22e3[_0xcad6('0x2f')]['length']?_0x4c22e3[_0xcad6('0x2f')]:_0x1c2332['model'];if(_0x12e210[_0xcad6('0x2d')]['includeAll']){_0x4c22e3['include']=[{'all':!![]}];}_0x4c22e3=_[_0xcad6('0x39')]({},_0x4c22e3,_0x12e210[_0xcad6('0x3d')]);return db['Schedule']['find'](_0x4c22e3)[_0xcad6('0x23')](handleEntityNotFound(_0x594cec,null))[_0xcad6('0x23')](respondWithResult(_0x594cec,null))[_0xcad6('0x43')](handleError(_0x594cec,null));};exports[_0xcad6('0x46')]=function(_0x29ee76,_0x57f0bf){return db[_0xcad6('0x2a')][_0xcad6('0x46')](_0x29ee76[_0xcad6('0x47')],{})[_0xcad6('0x23')](function(_0x55a92b){var _0x5e8eaf=_0x29ee76['user'][_0xcad6('0x48')]({'plain':!![]});if(!_0x5e8eaf)throw new Error(_0xcad6('0x49'));if(_0x5e8eaf[_0xcad6('0x4a')]===_0xcad6('0x4b')){var _0x624ef9=_0x55a92b[_0xcad6('0x48')]({'plain':!![]});var _0x37a4d5=_0xcad6('0x4c');return db[_0xcad6('0x4d')][_0xcad6('0x4e')]({'where':{'name':_0x37a4d5,'userProfileId':_0x5e8eaf[_0xcad6('0x4f')]},'raw':!![]})['then'](function(_0x580cc3){if(_0x580cc3&&_0x580cc3[_0xcad6('0x50')]===0x0){return db[_0xcad6('0x24')]['create']({'name':_0x624ef9[_0xcad6('0x28')],'resourceId':_0x624ef9['id'],'type':_0x580cc3[_0xcad6('0x28')],'sectionId':_0x580cc3['id']},{})[_0xcad6('0x23')](function(){return _0x55a92b;});}else{return _0x55a92b;}})[_0xcad6('0x43')](function(_0x9b05f3){logger['error'](_0xcad6('0x51'),_0x9b05f3);throw _0x9b05f3;});}return _0x55a92b;})['then'](respondWithResult(_0x57f0bf,0xc9))[_0xcad6('0x43')](handleError(_0x57f0bf,null));};exports['update']=function(_0x324115,_0x4c3b06){if(_0x324115[_0xcad6('0x47')]['id']){delete _0x324115[_0xcad6('0x47')]['id'];}return db[_0xcad6('0x2a')][_0xcad6('0x4e')]({'where':{'id':_0x324115['params']['id']}})[_0xcad6('0x23')](handleEntityNotFound(_0x4c3b06,null))[_0xcad6('0x23')](saveUpdates(_0x324115[_0xcad6('0x47')],null))[_0xcad6('0x23')](respondWithResult(_0x4c3b06,null))[_0xcad6('0x43')](handleError(_0x4c3b06,null));};exports[_0xcad6('0x22')]=function(_0x40c359,_0x40e6a4){return db[_0xcad6('0x2a')][_0xcad6('0x4e')]({'where':{'id':_0x40c359[_0xcad6('0x44')]['id']}})[_0xcad6('0x23')](handleEntityNotFound(_0x40e6a4,null))[_0xcad6('0x23')](removeEntity(_0x40e6a4,null))[_0xcad6('0x43')](handleError(_0x40e6a4,null));};exports[_0xcad6('0x52')]=function(_0x4e8658,_0x3deacd,_0x2b0e36){var _0xa41862=require(_0xcad6('0x53'));return db[_0xcad6('0x2a')]['find']({'where':{'id':_0x4e8658[_0xcad6('0x44')]['id']},'raw':!![]})[_0xcad6('0x23')](handleEntityNotFound(_0x3deacd,null))[_0xcad6('0x23')](function(){_0xa41862[_0xcad6('0x52')](_0x4e8658[_0xcad6('0x44')]['id']);})[_0xcad6('0x23')](respondWithStatusCode(_0x3deacd,null))[_0xcad6('0x43')](handleError(_0x3deacd,null));};