Built motion from commit da617fac.|2.6.6
[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 _0x82bb=['reject','update','then','destroy','get','stack','name','index','Schedule','rawAttributes','fieldName','type','key','map','query','keys','attributes','intersection','model','fields','length','hasOwnProperty','sort','filters','filter','where','merge','VIRTUAL','includeAll','rows','show','params','include','options','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Scheduler','UserProfileSection','find','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','../../config/schedule','run','eml-format','rimraf','zip-dir','request-promise','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply'];(function(_0x252328,_0x4c22f0){var _0xaa85b7=function(_0x2623d0){while(--_0x2623d0){_0x252328['push'](_0x252328['shift']());}};_0xaa85b7(++_0x4c22f0);}(_0x82bb,0x12f));var _0xb82b=function(_0xc3a71f,_0x54fe71){_0xc3a71f=_0xc3a71f-0x0;var _0x46a474=_0x82bb[_0xc3a71f];return _0x46a474;};'use strict';var emlformat=require(_0xb82b('0x0'));var rimraf=require(_0xb82b('0x1'));var zipdir=require(_0xb82b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb82b('0x3'));var moment=require('moment');var BPromise=require(_0xb82b('0x4'));var Mustache=require('mustache');var util=require(_0xb82b('0x5'));var path=require('path');var sox=require(_0xb82b('0x6'));var csv=require(_0xb82b('0x7'));var ejs=require(_0xb82b('0x8'));var fs=require('fs');var fs_extra=require(_0xb82b('0x9'));var _=require(_0xb82b('0xa'));var squel=require(_0xb82b('0xb'));var crypto=require(_0xb82b('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xb82b('0xd'));var toCsv=require(_0xb82b('0x7'));var querystring=require(_0xb82b('0xe'));var Papa=require(_0xb82b('0xf'));var Redis=require(_0xb82b('0x10'));var authService=require(_0xb82b('0x11'));var qs=require(_0xb82b('0x12'));var as=require(_0xb82b('0x13'));var hardwareService=require(_0xb82b('0x14'));var logger=require(_0xb82b('0x15'))(_0xb82b('0x16'));var utils=require(_0xb82b('0x17'));var config=require(_0xb82b('0x18'));var licenseUtil=require(_0xb82b('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf4e31f,_0x13431e){_0x13431e=_0x13431e||0xcc;return function(_0xa44730){if(_0xa44730){return _0xf4e31f[_0xb82b('0x1a')](_0x13431e);}return _0xf4e31f[_0xb82b('0x1b')](_0x13431e)[_0xb82b('0x1c')]();};}function respondWithResult(_0x36239a,_0x5aedd1){_0x5aedd1=_0x5aedd1||0xc8;return function(_0x1fb82c){if(_0x1fb82c){return _0x36239a[_0xb82b('0x1b')](_0x5aedd1)[_0xb82b('0x1d')](_0x1fb82c);}};}function respondWithFilteredResult(_0x1a4836,_0xeb996e){return function(_0x2390de){if(_0x2390de){var _0x92c810=typeof _0xeb996e[_0xb82b('0x1e')]===_0xb82b('0x1f')&&typeof _0xeb996e[_0xb82b('0x20')]===_0xb82b('0x1f');var _0x4bae4b=_0x2390de[_0xb82b('0x21')];var _0x214d54=_0x92c810?0x0:_0xeb996e[_0xb82b('0x1e')];var _0x52ab87=_0x92c810?_0x2390de[_0xb82b('0x21')]:_0xeb996e[_0xb82b('0x1e')]+_0xeb996e[_0xb82b('0x20')];var _0x5affca;if(_0x52ab87>=_0x4bae4b){_0x52ab87=_0x4bae4b;_0x5affca=0xc8;}else{_0x5affca=0xce;}_0x1a4836[_0xb82b('0x1b')](_0x5affca);return _0x1a4836[_0xb82b('0x22')](_0xb82b('0x23'),_0x214d54+'-'+_0x52ab87+'/'+_0x4bae4b)[_0xb82b('0x1d')](_0x2390de);}return null;};}function patchUpdates(_0x33ae01){return function(_0x116e50){try{jsonpatch[_0xb82b('0x24')](_0x116e50,_0x33ae01,!![]);}catch(_0x5b6acd){return BPromise[_0xb82b('0x25')](_0x5b6acd);}return _0x116e50['save']();};}function saveUpdates(_0x168dc3,_0x3da6df){return function(_0x1fae8c){if(_0x1fae8c){return _0x1fae8c[_0xb82b('0x26')](_0x168dc3)[_0xb82b('0x27')](function(_0x4b3ef9){return _0x4b3ef9;});}return null;};}function removeEntity(_0x43ceb5,_0x492a53){return function(_0x13f51d){if(_0x13f51d){return _0x13f51d[_0xb82b('0x28')]()[_0xb82b('0x27')](function(){var _0x18d047=_0x13f51d[_0xb82b('0x29')]({'plain':!![]});var _0x3120c8='Scheduler';return db['UserProfileResource']['destroy']({'where':{'type':_0x3120c8,'resourceId':_0x18d047['id']}})['then'](function(){return _0x13f51d;});})[_0xb82b('0x27')](function(){_0x43ceb5['status'](0xcc)[_0xb82b('0x1c')]();});}};}function handleEntityNotFound(_0x14f829,_0x425186){return function(_0xcea765){if(!_0xcea765){_0x14f829['sendStatus'](0x194);}return _0xcea765;};}function handleError(_0x441d32,_0x19515b){_0x19515b=_0x19515b||0x1f4;return function(_0x1b3b88){logger['error'](_0x1b3b88[_0xb82b('0x2a')]);if(_0x1b3b88[_0xb82b('0x2b')]){delete _0x1b3b88['name'];}_0x441d32[_0xb82b('0x1b')](_0x19515b)['send'](_0x1b3b88);};}exports[_0xb82b('0x2c')]=function(_0x54e695,_0x8aab0a){var _0xb502d1={},_0x3ad751={},_0x54f1a2={'count':0x0,'rows':[]};var _0x561161=_['map'](db[_0xb82b('0x2d')][_0xb82b('0x2e')],function(_0x2a7bad){return{'name':_0x2a7bad[_0xb82b('0x2f')],'type':_0x2a7bad[_0xb82b('0x30')][_0xb82b('0x31')]};});_0x3ad751['model']=_[_0xb82b('0x32')](_0x561161,_0xb82b('0x2b'));_0x3ad751[_0xb82b('0x33')]=_[_0xb82b('0x34')](_0x54e695[_0xb82b('0x33')]);_0x3ad751['filters']=_['intersection'](_0x3ad751['model'],_0x3ad751[_0xb82b('0x33')]);_0xb502d1[_0xb82b('0x35')]=_[_0xb82b('0x36')](_0x3ad751[_0xb82b('0x37')],qs[_0xb82b('0x38')](_0x54e695[_0xb82b('0x33')][_0xb82b('0x38')]));_0xb502d1[_0xb82b('0x35')]=_0xb502d1[_0xb82b('0x35')][_0xb82b('0x39')]?_0xb502d1[_0xb82b('0x35')]:_0x3ad751['model'];if(!_0x54e695['query'][_0xb82b('0x3a')]('nolimit')){_0xb502d1[_0xb82b('0x20')]=qs[_0xb82b('0x20')](_0x54e695[_0xb82b('0x33')][_0xb82b('0x20')]);_0xb502d1['offset']=qs[_0xb82b('0x1e')](_0x54e695['query'][_0xb82b('0x1e')]);}_0xb502d1['order']=qs[_0xb82b('0x3b')](_0x54e695[_0xb82b('0x33')][_0xb82b('0x3b')]);_0xb502d1['where']=qs[_0xb82b('0x3c')](_['pick'](_0x54e695[_0xb82b('0x33')],_0x3ad751[_0xb82b('0x3c')]),_0x561161);if(_0x54e695[_0xb82b('0x33')][_0xb82b('0x3d')]){_0xb502d1[_0xb82b('0x3e')]=_[_0xb82b('0x3f')](_0xb502d1[_0xb82b('0x3e')],{'$or':_[_0xb82b('0x32')](_0x561161,function(_0x25e398){if(_0x25e398[_0xb82b('0x30')]!==_0xb82b('0x40')){var _0xa57437={};_0xa57437[_0x25e398['name']]={'$like':'%'+_0x54e695[_0xb82b('0x33')][_0xb82b('0x3d')]+'%'};return _0xa57437;}})});}_0xb502d1=_[_0xb82b('0x3f')]({},_0xb502d1,_0x54e695['options']);var _0x3179e6={'where':_0xb502d1[_0xb82b('0x3e')]};return db[_0xb82b('0x2d')][_0xb82b('0x21')](_0x3179e6)['then'](function(_0x18da06){_0x54f1a2['count']=_0x18da06;if(_0x54e695[_0xb82b('0x33')][_0xb82b('0x41')]){_0xb502d1['include']=[{'all':!![]}];}return db['Schedule']['findAll'](_0xb502d1);})[_0xb82b('0x27')](function(_0x5a70e8){_0x54f1a2[_0xb82b('0x42')]=_0x5a70e8;return _0x54f1a2;})[_0xb82b('0x27')](respondWithFilteredResult(_0x8aab0a,_0xb502d1))['catch'](handleError(_0x8aab0a,null));};exports[_0xb82b('0x43')]=function(_0x49d185,_0x3e592a){var _0x1ef417={'raw':![],'where':{'id':_0x49d185[_0xb82b('0x44')]['id']}},_0x2333ed={};_0x2333ed[_0xb82b('0x37')]=_['keys'](db['Schedule'][_0xb82b('0x2e')]);_0x2333ed[_0xb82b('0x33')]=_[_0xb82b('0x34')](_0x49d185[_0xb82b('0x33')]);_0x2333ed['filters']=_[_0xb82b('0x36')](_0x2333ed[_0xb82b('0x37')],_0x2333ed[_0xb82b('0x33')]);_0x1ef417[_0xb82b('0x35')]=_[_0xb82b('0x36')](_0x2333ed[_0xb82b('0x37')],qs['fields'](_0x49d185[_0xb82b('0x33')][_0xb82b('0x38')]));_0x1ef417['attributes']=_0x1ef417[_0xb82b('0x35')][_0xb82b('0x39')]?_0x1ef417[_0xb82b('0x35')]:_0x2333ed['model'];if(_0x49d185[_0xb82b('0x33')][_0xb82b('0x41')]){_0x1ef417[_0xb82b('0x45')]=[{'all':!![]}];}_0x1ef417=_['merge']({},_0x1ef417,_0x49d185[_0xb82b('0x46')]);return db[_0xb82b('0x2d')]['find'](_0x1ef417)[_0xb82b('0x27')](handleEntityNotFound(_0x3e592a,null))[_0xb82b('0x27')](respondWithResult(_0x3e592a,null))[_0xb82b('0x47')](handleError(_0x3e592a,null));};exports[_0xb82b('0x48')]=function(_0x597170,_0x292c0c){return db[_0xb82b('0x2d')][_0xb82b('0x48')](_0x597170[_0xb82b('0x49')],{})[_0xb82b('0x27')](function(_0x579e72){var _0x1d43b6=_0x597170['user'][_0xb82b('0x29')]({'plain':!![]});if(!_0x1d43b6)throw new Error(_0xb82b('0x4a'));if(_0x1d43b6[_0xb82b('0x4b')]==='user'){var _0x3b82d9=_0x579e72['get']({'plain':!![]});var _0x272edf=_0xb82b('0x4c');return db[_0xb82b('0x4d')][_0xb82b('0x4e')]({'where':{'name':_0x272edf,'userProfileId':_0x1d43b6['userProfileId']},'raw':!![]})[_0xb82b('0x27')](function(_0x6c5e48){if(_0x6c5e48&&_0x6c5e48[_0xb82b('0x4f')]===0x0){return db[_0xb82b('0x50')]['create']({'name':_0x3b82d9[_0xb82b('0x2b')],'resourceId':_0x3b82d9['id'],'type':_0x6c5e48[_0xb82b('0x2b')],'sectionId':_0x6c5e48['id']},{})[_0xb82b('0x27')](function(){return _0x579e72;});}else{return _0x579e72;}})[_0xb82b('0x47')](function(_0x28dd80){logger[_0xb82b('0x51')](_0xb82b('0x52'),_0x28dd80);throw _0x28dd80;});}return _0x579e72;})['then'](respondWithResult(_0x292c0c,0xc9))[_0xb82b('0x47')](handleError(_0x292c0c,null));};exports[_0xb82b('0x26')]=function(_0x4d1284,_0x1a3321){if(_0x4d1284['body']['id']){delete _0x4d1284[_0xb82b('0x49')]['id'];}return db[_0xb82b('0x2d')]['find']({'where':{'id':_0x4d1284[_0xb82b('0x44')]['id']}})[_0xb82b('0x27')](handleEntityNotFound(_0x1a3321,null))[_0xb82b('0x27')](saveUpdates(_0x4d1284[_0xb82b('0x49')],null))[_0xb82b('0x27')](respondWithResult(_0x1a3321,null))[_0xb82b('0x47')](handleError(_0x1a3321,null));};exports[_0xb82b('0x28')]=function(_0x34fd97,_0xf9ed09){return db[_0xb82b('0x2d')][_0xb82b('0x4e')]({'where':{'id':_0x34fd97[_0xb82b('0x44')]['id']}})[_0xb82b('0x27')](handleEntityNotFound(_0xf9ed09,null))[_0xb82b('0x27')](removeEntity(_0xf9ed09,null))[_0xb82b('0x47')](handleError(_0xf9ed09,null));};exports['run']=function(_0xd62453,_0x5560ee,_0x3bc6c0){var _0x4048f5=require(_0xb82b('0x53'));return db['Schedule'][_0xb82b('0x4e')]({'where':{'id':_0xd62453[_0xb82b('0x44')]['id']},'raw':!![]})[_0xb82b('0x27')](handleEntityNotFound(_0x5560ee,null))[_0xb82b('0x27')](function(){_0x4048f5[_0xb82b('0x54')](_0xd62453[_0xb82b('0x44')]['id']);})[_0xb82b('0x27')](respondWithStatusCode(_0x5560ee,null))['catch'](handleError(_0x5560ee,null));};