Built motion from commit (unavailable).|2.5.28
[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 _0x1beb=['attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','VIRTUAL','options','includeAll','findAll','rows','catch','params','rawAttributes','include','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Scheduler','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','apply','save','update','then','destroy','error','stack','name','send','index','map','Schedule','fieldName','type','key','query','keys','intersection','model'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1beb,0x165));var _0xb1be=function(_0x2ce8ce,_0x13c1a9){_0x2ce8ce=_0x2ce8ce-0x0;var _0x4d2cb9=_0x1beb[_0x2ce8ce];return _0x4d2cb9;};'use strict';var emlformat=require(_0xb1be('0x0'));var rimraf=require(_0xb1be('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb1be('0x2'));var rp=require(_0xb1be('0x3'));var moment=require(_0xb1be('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb1be('0x5'));var util=require(_0xb1be('0x6'));var path=require('path');var sox=require(_0xb1be('0x7'));var csv=require(_0xb1be('0x8'));var ejs=require(_0xb1be('0x9'));var fs=require('fs');var fs_extra=require(_0xb1be('0xa'));var _=require(_0xb1be('0xb'));var squel=require(_0xb1be('0xc'));var crypto=require(_0xb1be('0xd'));var jsforce=require(_0xb1be('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xb1be('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb1be('0xf'));var authService=require(_0xb1be('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb1be('0x11'));var logger=require(_0xb1be('0x12'))('api');var utils=require(_0xb1be('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xb1be('0x14'));var db=require(_0xb1be('0x15'))['db'];function respondWithStatusCode(_0x5eb9a7,_0x276ef4){_0x276ef4=_0x276ef4||0xcc;return function(_0x33fd7e){if(_0x33fd7e){return _0x5eb9a7[_0xb1be('0x16')](_0x276ef4);}return _0x5eb9a7[_0xb1be('0x17')](_0x276ef4)[_0xb1be('0x18')]();};}function respondWithResult(_0x1b28d6,_0xe9afab){_0xe9afab=_0xe9afab||0xc8;return function(_0x3772d3){if(_0x3772d3){return _0x1b28d6['status'](_0xe9afab)[_0xb1be('0x19')](_0x3772d3);}};}function respondWithFilteredResult(_0x5399b0,_0x361954){return function(_0x386c28){if(_0x386c28){var _0x172e74=_0x386c28['count'],_0x45a8e4=_0x361954[_0xb1be('0x1a')],_0x373a1b=_0x361954[_0xb1be('0x1a')]+_0x361954[_0xb1be('0x1b')],_0x4a0176;if(_0x373a1b>=_0x172e74){_0x373a1b=_0x172e74;_0x4a0176=0xc8;}else{_0x4a0176=0xce;}_0x5399b0['status'](_0x4a0176);return _0x5399b0[_0xb1be('0x1c')]('Content-Range',_0x45a8e4+'-'+_0x373a1b+'/'+_0x172e74)[_0xb1be('0x19')](_0x386c28);}return null;};}function patchUpdates(_0x43dda9){return function(_0x58ceff){try{jsonpatch[_0xb1be('0x1d')](_0x58ceff,_0x43dda9,!![]);}catch(_0xac6f4d){return BPromise['reject'](_0xac6f4d);}return _0x58ceff[_0xb1be('0x1e')]();};}function saveUpdates(_0x453530,_0x9fa059){return function(_0x539077){if(_0x539077){return _0x539077[_0xb1be('0x1f')](_0x453530)[_0xb1be('0x20')](function(_0x4c7f29){return _0x4c7f29;});}return null;};}function removeEntity(_0x362768,_0x35c456){return function(_0x57cf28){if(_0x57cf28){return _0x57cf28[_0xb1be('0x21')]()[_0xb1be('0x20')](function(){var _0x36f72d=_0x57cf28['get']({'plain':!![]});var _0x372a6c='Scheduler';return db['UserProfileResource'][_0xb1be('0x21')]({'where':{'type':_0x372a6c,'resourceId':_0x36f72d['id']}})[_0xb1be('0x20')](function(){return _0x57cf28;});})[_0xb1be('0x20')](function(){_0x362768[_0xb1be('0x17')](0xcc)[_0xb1be('0x18')]();});}};}function handleEntityNotFound(_0x2ad79b,_0x2a1f00){return function(_0x5018d8){if(!_0x5018d8){_0x2ad79b[_0xb1be('0x16')](0x194);}return _0x5018d8;};}function handleError(_0x110640,_0x3cd66b){_0x3cd66b=_0x3cd66b||0x1f4;return function(_0x53da29){logger[_0xb1be('0x22')](_0x53da29[_0xb1be('0x23')]);if(_0x53da29[_0xb1be('0x24')]){delete _0x53da29['name'];}_0x110640['status'](_0x3cd66b)[_0xb1be('0x25')](_0x53da29);};}exports[_0xb1be('0x26')]=function(_0x325bd9,_0xdfa40d){var _0x49f2e3={},_0x30ae94={},_0x328b60={'count':0x0,'rows':[]};var _0x386f9f=_[_0xb1be('0x27')](db[_0xb1be('0x28')]['rawAttributes'],function(_0x12d4f2){return{'name':_0x12d4f2[_0xb1be('0x29')],'type':_0x12d4f2[_0xb1be('0x2a')][_0xb1be('0x2b')]};});_0x30ae94['model']=_[_0xb1be('0x27')](_0x386f9f,'name');_0x30ae94[_0xb1be('0x2c')]=_[_0xb1be('0x2d')](_0x325bd9[_0xb1be('0x2c')]);_0x30ae94['filters']=_[_0xb1be('0x2e')](_0x30ae94[_0xb1be('0x2f')],_0x30ae94['query']);_0x49f2e3[_0xb1be('0x30')]=_[_0xb1be('0x2e')](_0x30ae94['model'],qs[_0xb1be('0x31')](_0x325bd9[_0xb1be('0x2c')]['fields']));_0x49f2e3['attributes']=_0x49f2e3['attributes'][_0xb1be('0x32')]?_0x49f2e3[_0xb1be('0x30')]:_0x30ae94[_0xb1be('0x2f')];if(!_0x325bd9[_0xb1be('0x2c')][_0xb1be('0x33')](_0xb1be('0x34'))){_0x49f2e3[_0xb1be('0x1b')]=qs[_0xb1be('0x1b')](_0x325bd9[_0xb1be('0x2c')]['limit']);_0x49f2e3[_0xb1be('0x1a')]=qs[_0xb1be('0x1a')](_0x325bd9[_0xb1be('0x2c')][_0xb1be('0x1a')]);}_0x49f2e3[_0xb1be('0x35')]=qs[_0xb1be('0x36')](_0x325bd9[_0xb1be('0x2c')]['sort']);_0x49f2e3[_0xb1be('0x37')]=qs[_0xb1be('0x38')](_['pick'](_0x325bd9[_0xb1be('0x2c')],_0x30ae94[_0xb1be('0x38')]),_0x386f9f);if(_0x325bd9[_0xb1be('0x2c')][_0xb1be('0x39')]){_0x49f2e3[_0xb1be('0x37')]=_['merge'](_0x49f2e3['where'],{'$or':_['map'](_0x386f9f,function(_0x21c351){if(_0x21c351[_0xb1be('0x2a')]!==_0xb1be('0x3a')){var _0x53d165={};_0x53d165[_0x21c351[_0xb1be('0x24')]]={'$like':'%'+_0x325bd9[_0xb1be('0x2c')][_0xb1be('0x39')]+'%'};return _0x53d165;}})});}_0x49f2e3=_['merge']({},_0x49f2e3,_0x325bd9[_0xb1be('0x3b')]);var _0x3fe2cf={'where':_0x49f2e3[_0xb1be('0x37')]};return db['Schedule']['count'](_0x3fe2cf)['then'](function(_0xbc27fc){_0x328b60['count']=_0xbc27fc;if(_0x325bd9[_0xb1be('0x2c')][_0xb1be('0x3c')]){_0x49f2e3['include']=[{'all':!![]}];}return db[_0xb1be('0x28')][_0xb1be('0x3d')](_0x49f2e3);})[_0xb1be('0x20')](function(_0x3ed420){_0x328b60[_0xb1be('0x3e')]=_0x3ed420;return _0x328b60;})[_0xb1be('0x20')](respondWithFilteredResult(_0xdfa40d,_0x49f2e3))[_0xb1be('0x3f')](handleError(_0xdfa40d,null));};exports['show']=function(_0x33bc61,_0x125ee7){var _0x43b8d2={'raw':![],'where':{'id':_0x33bc61[_0xb1be('0x40')]['id']}},_0x156f82={};_0x156f82['model']=_[_0xb1be('0x2d')](db[_0xb1be('0x28')][_0xb1be('0x41')]);_0x156f82[_0xb1be('0x2c')]=_['keys'](_0x33bc61[_0xb1be('0x2c')]);_0x156f82['filters']=_[_0xb1be('0x2e')](_0x156f82[_0xb1be('0x2f')],_0x156f82[_0xb1be('0x2c')]);_0x43b8d2[_0xb1be('0x30')]=_[_0xb1be('0x2e')](_0x156f82['model'],qs[_0xb1be('0x31')](_0x33bc61['query'][_0xb1be('0x31')]));_0x43b8d2[_0xb1be('0x30')]=_0x43b8d2[_0xb1be('0x30')][_0xb1be('0x32')]?_0x43b8d2['attributes']:_0x156f82[_0xb1be('0x2f')];if(_0x33bc61[_0xb1be('0x2c')][_0xb1be('0x3c')]){_0x43b8d2[_0xb1be('0x42')]=[{'all':!![]}];}_0x43b8d2=_['merge']({},_0x43b8d2,_0x33bc61['options']);return db[_0xb1be('0x28')]['find'](_0x43b8d2)['then'](handleEntityNotFound(_0x125ee7,null))[_0xb1be('0x20')](respondWithResult(_0x125ee7,null))[_0xb1be('0x3f')](handleError(_0x125ee7,null));};exports[_0xb1be('0x43')]=function(_0x3f4c15,_0xaa862){return db[_0xb1be('0x28')]['create'](_0x3f4c15[_0xb1be('0x44')],{})[_0xb1be('0x20')](function(_0x23f03f){var _0x425257=_0x3f4c15['user']['get']({'plain':!![]});if(!_0x425257)throw new Error(_0xb1be('0x45'));if(_0x425257[_0xb1be('0x46')]==='user'){var _0x1db7ed=_0x23f03f[_0xb1be('0x47')]({'plain':!![]});var _0x4c6400=_0xb1be('0x48');return db[_0xb1be('0x49')][_0xb1be('0x4a')]({'where':{'name':_0x4c6400,'userProfileId':_0x425257[_0xb1be('0x4b')]},'raw':!![]})['then'](function(_0x298cf3){if(_0x298cf3&&_0x298cf3[_0xb1be('0x4c')]===0x0){return db[_0xb1be('0x4d')][_0xb1be('0x43')]({'name':_0x1db7ed[_0xb1be('0x24')],'resourceId':_0x1db7ed['id'],'type':_0x298cf3['name'],'sectionId':_0x298cf3['id']},{})['then'](function(){return _0x23f03f;});}else{return _0x23f03f;}})[_0xb1be('0x3f')](function(_0x4c6ef4){logger[_0xb1be('0x22')](_0xb1be('0x4e'),_0x4c6ef4);throw _0x4c6ef4;});}return _0x23f03f;})[_0xb1be('0x20')](respondWithResult(_0xaa862,0xc9))[_0xb1be('0x3f')](handleError(_0xaa862,null));};exports[_0xb1be('0x1f')]=function(_0x44a47a,_0x352106){if(_0x44a47a[_0xb1be('0x44')]['id']){delete _0x44a47a[_0xb1be('0x44')]['id'];}return db[_0xb1be('0x28')]['find']({'where':{'id':_0x44a47a[_0xb1be('0x40')]['id']}})[_0xb1be('0x20')](handleEntityNotFound(_0x352106,null))['then'](saveUpdates(_0x44a47a[_0xb1be('0x44')],null))[_0xb1be('0x20')](respondWithResult(_0x352106,null))[_0xb1be('0x3f')](handleError(_0x352106,null));};exports[_0xb1be('0x21')]=function(_0x1e592a,_0x11a9b0){return db[_0xb1be('0x28')][_0xb1be('0x4a')]({'where':{'id':_0x1e592a[_0xb1be('0x40')]['id']}})[_0xb1be('0x20')](handleEntityNotFound(_0x11a9b0,null))[_0xb1be('0x20')](removeEntity(_0x11a9b0,null))['catch'](handleError(_0x11a9b0,null));};exports[_0xb1be('0x4f')]=function(_0x4cee14,_0x46d446,_0x17c93a){var _0x164235=require(_0xb1be('0x50'));return db[_0xb1be('0x28')][_0xb1be('0x4a')]({'where':{'id':_0x4cee14[_0xb1be('0x40')]['id']},'raw':!![]})[_0xb1be('0x20')](handleEntityNotFound(_0x46d446,null))[_0xb1be('0x20')](function(){_0x164235[_0xb1be('0x4f')](_0x4cee14[_0xb1be('0x40')]['id']);})['then'](respondWithStatusCode(_0x46d446,null))['catch'](handleError(_0x46d446,null));};