Built motion from commit c738b9ac.|2.6.25
[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 _0xeee1=['desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','reject','save','update','then','destroy','get','error','stack','name','send','index','Schedule','rawAttributes','key','map','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','type','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','keys','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Scheduler','userProfileId','UserProfileResource','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','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce'];(function(_0x5bb7dd,_0xa302c4){var _0xb35408=function(_0x4f3520){while(--_0x4f3520){_0x5bb7dd['push'](_0x5bb7dd['shift']());}};_0xb35408(++_0xa302c4);}(_0xeee1,0xf3));var _0x1eee=function(_0x637dbe,_0x5c8571){_0x637dbe=_0x637dbe-0x0;var _0x2adc12=_0xeee1[_0x637dbe];return _0x2adc12;};'use strict';var emlformat=require(_0x1eee('0x0'));var rimraf=require(_0x1eee('0x1'));var zipdir=require(_0x1eee('0x2'));var jsonpatch=require(_0x1eee('0x3'));var rp=require(_0x1eee('0x4'));var moment=require(_0x1eee('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1eee('0x6'));var path=require(_0x1eee('0x7'));var sox=require(_0x1eee('0x8'));var csv=require(_0x1eee('0x9'));var ejs=require(_0x1eee('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1eee('0xb'));var squel=require(_0x1eee('0xc'));var crypto=require(_0x1eee('0xd'));var jsforce=require(_0x1eee('0xe'));var deskjs=require(_0x1eee('0xf'));var toCsv=require(_0x1eee('0x9'));var querystring=require(_0x1eee('0x10'));var Papa=require(_0x1eee('0x11'));var Redis=require(_0x1eee('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x1eee('0x13'));var as=require(_0x1eee('0x14'));var hardwareService=require(_0x1eee('0x15'));var logger=require(_0x1eee('0x16'))(_0x1eee('0x17'));var utils=require(_0x1eee('0x18'));var config=require(_0x1eee('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x1eee('0x1a'))['db'];function respondWithStatusCode(_0x540189,_0x306dd7){_0x306dd7=_0x306dd7||0xcc;return function(_0x589e73){if(_0x589e73){return _0x540189[_0x1eee('0x1b')](_0x306dd7);}return _0x540189[_0x1eee('0x1c')](_0x306dd7)[_0x1eee('0x1d')]();};}function respondWithResult(_0x5188ad,_0x26156b){_0x26156b=_0x26156b||0xc8;return function(_0xee5555){if(_0xee5555){return _0x5188ad[_0x1eee('0x1c')](_0x26156b)[_0x1eee('0x1e')](_0xee5555);}};}function respondWithFilteredResult(_0x5b1393,_0x388241){return function(_0x5c91e3){if(_0x5c91e3){var _0x309ab1=typeof _0x388241[_0x1eee('0x1f')]===_0x1eee('0x20')&&typeof _0x388241[_0x1eee('0x21')]===_0x1eee('0x20');var _0x83dcf0=_0x5c91e3['count'];var _0x229f96=_0x309ab1?0x0:_0x388241['offset'];var _0xafaf7d=_0x309ab1?_0x5c91e3['count']:_0x388241['offset']+_0x388241[_0x1eee('0x21')];var _0x460813;if(_0xafaf7d>=_0x83dcf0){_0xafaf7d=_0x83dcf0;_0x460813=0xc8;}else{_0x460813=0xce;}_0x5b1393[_0x1eee('0x1c')](_0x460813);return _0x5b1393['set']('Content-Range',_0x229f96+'-'+_0xafaf7d+'/'+_0x83dcf0)[_0x1eee('0x1e')](_0x5c91e3);}return null;};}function patchUpdates(_0x34c3d1){return function(_0x59b6e1){try{jsonpatch['apply'](_0x59b6e1,_0x34c3d1,!![]);}catch(_0x454f79){return BPromise[_0x1eee('0x22')](_0x454f79);}return _0x59b6e1[_0x1eee('0x23')]();};}function saveUpdates(_0x4b966e,_0x530e83){return function(_0x49d3f7){if(_0x49d3f7){return _0x49d3f7[_0x1eee('0x24')](_0x4b966e)[_0x1eee('0x25')](function(_0x4d5928){return _0x4d5928;});}return null;};}function removeEntity(_0x159727,_0x591e8c){return function(_0x486a53){if(_0x486a53){return _0x486a53[_0x1eee('0x26')]()[_0x1eee('0x25')](function(){var _0x33301f=_0x486a53[_0x1eee('0x27')]({'plain':!![]});var _0x1d61c1='Scheduler';return db['UserProfileResource'][_0x1eee('0x26')]({'where':{'type':_0x1d61c1,'resourceId':_0x33301f['id']}})[_0x1eee('0x25')](function(){return _0x486a53;});})[_0x1eee('0x25')](function(){_0x159727[_0x1eee('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5d2de2,_0x334261){return function(_0x22eb14){if(!_0x22eb14){_0x5d2de2['sendStatus'](0x194);}return _0x22eb14;};}function handleError(_0x51d9d6,_0x2063f0){_0x2063f0=_0x2063f0||0x1f4;return function(_0x4349f7){logger[_0x1eee('0x28')](_0x4349f7[_0x1eee('0x29')]);if(_0x4349f7[_0x1eee('0x2a')]){delete _0x4349f7[_0x1eee('0x2a')];}_0x51d9d6[_0x1eee('0x1c')](_0x2063f0)[_0x1eee('0x2b')](_0x4349f7);};}exports[_0x1eee('0x2c')]=function(_0x331784,_0xe36e4c){var _0x253172={},_0x42e324={},_0xde0254={'count':0x0,'rows':[]};var _0x259497=_['map'](db[_0x1eee('0x2d')][_0x1eee('0x2e')],function(_0xe0100f){return{'name':_0xe0100f['fieldName'],'type':_0xe0100f['type'][_0x1eee('0x2f')]};});_0x42e324['model']=_[_0x1eee('0x30')](_0x259497,_0x1eee('0x2a'));_0x42e324[_0x1eee('0x31')]=_['keys'](_0x331784[_0x1eee('0x31')]);_0x42e324[_0x1eee('0x32')]=_['intersection'](_0x42e324[_0x1eee('0x33')],_0x42e324[_0x1eee('0x31')]);_0x253172[_0x1eee('0x34')]=_[_0x1eee('0x35')](_0x42e324[_0x1eee('0x33')],qs[_0x1eee('0x36')](_0x331784[_0x1eee('0x31')]['fields']));_0x253172[_0x1eee('0x34')]=_0x253172['attributes'][_0x1eee('0x37')]?_0x253172['attributes']:_0x42e324[_0x1eee('0x33')];if(!_0x331784['query'][_0x1eee('0x38')](_0x1eee('0x39'))){_0x253172['limit']=qs[_0x1eee('0x21')](_0x331784[_0x1eee('0x31')][_0x1eee('0x21')]);_0x253172[_0x1eee('0x1f')]=qs['offset'](_0x331784['query']['offset']);}_0x253172[_0x1eee('0x3a')]=qs[_0x1eee('0x3b')](_0x331784[_0x1eee('0x31')][_0x1eee('0x3b')]);_0x253172['where']=qs[_0x1eee('0x32')](_['pick'](_0x331784[_0x1eee('0x31')],_0x42e324[_0x1eee('0x32')]),_0x259497);if(_0x331784['query'][_0x1eee('0x3c')]){_0x253172[_0x1eee('0x3d')]=_[_0x1eee('0x3e')](_0x253172[_0x1eee('0x3d')],{'$or':_[_0x1eee('0x30')](_0x259497,function(_0x21e88a){if(_0x21e88a[_0x1eee('0x3f')]!==_0x1eee('0x40')){var _0x17463b={};_0x17463b[_0x21e88a['name']]={'$like':'%'+_0x331784['query'][_0x1eee('0x3c')]+'%'};return _0x17463b;}})});}_0x253172=_[_0x1eee('0x3e')]({},_0x253172,_0x331784[_0x1eee('0x41')]);var _0x3d566a={'where':_0x253172[_0x1eee('0x3d')]};return db[_0x1eee('0x2d')]['count'](_0x3d566a)['then'](function(_0x418d2a){_0xde0254[_0x1eee('0x42')]=_0x418d2a;if(_0x331784['query'][_0x1eee('0x43')]){_0x253172[_0x1eee('0x44')]=[{'all':!![]}];}return db[_0x1eee('0x2d')][_0x1eee('0x45')](_0x253172);})['then'](function(_0x5659e1){_0xde0254[_0x1eee('0x46')]=_0x5659e1;return _0xde0254;})[_0x1eee('0x25')](respondWithFilteredResult(_0xe36e4c,_0x253172))[_0x1eee('0x47')](handleError(_0xe36e4c,null));};exports[_0x1eee('0x48')]=function(_0x1880e3,_0x3143f3){var _0x229f4e={'raw':![],'where':{'id':_0x1880e3[_0x1eee('0x49')]['id']}},_0x4d6168={};_0x4d6168[_0x1eee('0x33')]=_['keys'](db[_0x1eee('0x2d')][_0x1eee('0x2e')]);_0x4d6168['query']=_[_0x1eee('0x4a')](_0x1880e3[_0x1eee('0x31')]);_0x4d6168['filters']=_[_0x1eee('0x35')](_0x4d6168[_0x1eee('0x33')],_0x4d6168['query']);_0x229f4e[_0x1eee('0x34')]=_['intersection'](_0x4d6168['model'],qs[_0x1eee('0x36')](_0x1880e3[_0x1eee('0x31')][_0x1eee('0x36')]));_0x229f4e[_0x1eee('0x34')]=_0x229f4e[_0x1eee('0x34')]['length']?_0x229f4e[_0x1eee('0x34')]:_0x4d6168[_0x1eee('0x33')];if(_0x1880e3[_0x1eee('0x31')][_0x1eee('0x43')]){_0x229f4e[_0x1eee('0x44')]=[{'all':!![]}];}_0x229f4e=_[_0x1eee('0x3e')]({},_0x229f4e,_0x1880e3[_0x1eee('0x41')]);return db[_0x1eee('0x2d')][_0x1eee('0x4b')](_0x229f4e)[_0x1eee('0x25')](handleEntityNotFound(_0x3143f3,null))[_0x1eee('0x25')](respondWithResult(_0x3143f3,null))[_0x1eee('0x47')](handleError(_0x3143f3,null));};exports[_0x1eee('0x4c')]=function(_0x1a1cf2,_0x568178){return db[_0x1eee('0x2d')][_0x1eee('0x4c')](_0x1a1cf2['body'],{})['then'](function(_0x1c59fd){var _0x2d4592=_0x1a1cf2[_0x1eee('0x4d')][_0x1eee('0x27')]({'plain':!![]});if(!_0x2d4592)throw new Error(_0x1eee('0x4e'));if(_0x2d4592[_0x1eee('0x4f')]===_0x1eee('0x4d')){var _0x5abe8f=_0x1c59fd[_0x1eee('0x27')]({'plain':!![]});var _0x38e188=_0x1eee('0x50');return db['UserProfileSection']['find']({'where':{'name':_0x38e188,'userProfileId':_0x2d4592[_0x1eee('0x51')]},'raw':!![]})[_0x1eee('0x25')](function(_0x3809e2){if(_0x3809e2&&_0x3809e2['autoAssociation']===0x0){return db[_0x1eee('0x52')][_0x1eee('0x4c')]({'name':_0x5abe8f[_0x1eee('0x2a')],'resourceId':_0x5abe8f['id'],'type':_0x3809e2[_0x1eee('0x2a')],'sectionId':_0x3809e2['id']},{})[_0x1eee('0x25')](function(){return _0x1c59fd;});}else{return _0x1c59fd;}})[_0x1eee('0x47')](function(_0x54cfd3){logger[_0x1eee('0x28')](_0x1eee('0x53'),_0x54cfd3);throw _0x54cfd3;});}return _0x1c59fd;})['then'](respondWithResult(_0x568178,0xc9))[_0x1eee('0x47')](handleError(_0x568178,null));};exports[_0x1eee('0x24')]=function(_0x23f4ee,_0x1e0b6e){if(_0x23f4ee['body']['id']){delete _0x23f4ee['body']['id'];}return db['Schedule'][_0x1eee('0x4b')]({'where':{'id':_0x23f4ee[_0x1eee('0x49')]['id']}})['then'](handleEntityNotFound(_0x1e0b6e,null))['then'](saveUpdates(_0x23f4ee['body'],null))[_0x1eee('0x25')](respondWithResult(_0x1e0b6e,null))[_0x1eee('0x47')](handleError(_0x1e0b6e,null));};exports[_0x1eee('0x26')]=function(_0x409c25,_0x58d4b0){return db[_0x1eee('0x2d')]['find']({'where':{'id':_0x409c25[_0x1eee('0x49')]['id']}})['then'](handleEntityNotFound(_0x58d4b0,null))[_0x1eee('0x25')](removeEntity(_0x58d4b0,null))[_0x1eee('0x47')](handleError(_0x58d4b0,null));};exports[_0x1eee('0x54')]=function(_0x494683,_0x4dc150,_0x34b331){var _0x5261fc=require(_0x1eee('0x55'));return db['Schedule']['find']({'where':{'id':_0x494683[_0x1eee('0x49')]['id']},'raw':!![]})[_0x1eee('0x25')](handleEntityNotFound(_0x4dc150,null))[_0x1eee('0x25')](function(){_0x5261fc['run'](_0x494683[_0x1eee('0x49')]['id']);})[_0x1eee('0x25')](respondWithStatusCode(_0x4dc150,null))[_0x1eee('0x47')](handleError(_0x4dc150,null));};