Built motion from commit (unavailable).|2.5.27
[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 _0x3f68=['lodash','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','set','apply','reject','save','update','destroy','then','get','Scheduler','UserProfileResource','sendStatus','error','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','count','include','Schedule','findAll','rows','catch','show','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','run','../../config/schedule','eml-format','rimraf','fast-json-patch','request-promise','mustache','sox','ejs','fs-extra'];(function(_0x3460e3,_0x23d874){var _0x22a450=function(_0x2c1038){while(--_0x2c1038){_0x3460e3['push'](_0x3460e3['shift']());}};_0x22a450(++_0x23d874);}(_0x3f68,0x150));var _0x83f6=function(_0x1e290d,_0x42970d){_0x1e290d=_0x1e290d-0x0;var _0x3f8218=_0x3f68[_0x1e290d];return _0x3f8218;};'use strict';var emlformat=require(_0x83f6('0x0'));var rimraf=require(_0x83f6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x83f6('0x2'));var rp=require(_0x83f6('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x83f6('0x4'));var util=require('util');var path=require('path');var sox=require(_0x83f6('0x5'));var csv=require('to-csv');var ejs=require(_0x83f6('0x6'));var fs=require('fs');var fs_extra=require(_0x83f6('0x7'));var _=require(_0x83f6('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x83f6('0x9'));var deskjs=require(_0x83f6('0xa'));var toCsv=require(_0x83f6('0xb'));var querystring=require(_0x83f6('0xc'));var Papa=require('papaparse');var Redis=require(_0x83f6('0xd'));var authService=require(_0x83f6('0xe'));var qs=require(_0x83f6('0xf'));var as=require(_0x83f6('0x10'));var hardwareService=require(_0x83f6('0x11'));var logger=require(_0x83f6('0x12'))(_0x83f6('0x13'));var utils=require(_0x83f6('0x14'));var config=require(_0x83f6('0x15'));var licenseUtil=require(_0x83f6('0x16'));var db=require(_0x83f6('0x17'))['db'];function respondWithStatusCode(_0x3ab850,_0x124b69){_0x124b69=_0x124b69||0xcc;return function(_0x3a3b52){if(_0x3a3b52){return _0x3ab850['sendStatus'](_0x124b69);}return _0x3ab850[_0x83f6('0x18')](_0x124b69)[_0x83f6('0x19')]();};}function respondWithResult(_0x528edf,_0x313647){_0x313647=_0x313647||0xc8;return function(_0x423e95){if(_0x423e95){return _0x528edf[_0x83f6('0x18')](_0x313647)[_0x83f6('0x1a')](_0x423e95);}};}function respondWithFilteredResult(_0x568570,_0x3e3efe){return function(_0x24d23b){if(_0x24d23b){var _0x4864b2=_0x24d23b['count'],_0x49ebee=_0x3e3efe[_0x83f6('0x1b')],_0x301295=_0x3e3efe[_0x83f6('0x1b')]+_0x3e3efe['limit'],_0x5416f3;if(_0x301295>=_0x4864b2){_0x301295=_0x4864b2;_0x5416f3=0xc8;}else{_0x5416f3=0xce;}_0x568570['status'](_0x5416f3);return _0x568570[_0x83f6('0x1c')]('Content-Range',_0x49ebee+'-'+_0x301295+'/'+_0x4864b2)[_0x83f6('0x1a')](_0x24d23b);}return null;};}function patchUpdates(_0xa005d){return function(_0x20b902){try{jsonpatch[_0x83f6('0x1d')](_0x20b902,_0xa005d,!![]);}catch(_0x4f77a3){return BPromise[_0x83f6('0x1e')](_0x4f77a3);}return _0x20b902[_0x83f6('0x1f')]();};}function saveUpdates(_0x515795,_0x3803f1){return function(_0x1e2183){if(_0x1e2183){return _0x1e2183[_0x83f6('0x20')](_0x515795)['then'](function(_0x4c7de9){return _0x4c7de9;});}return null;};}function removeEntity(_0x24ace8,_0x2934f1){return function(_0x48e945){if(_0x48e945){return _0x48e945[_0x83f6('0x21')]()[_0x83f6('0x22')](function(){var _0x458aaa=_0x48e945[_0x83f6('0x23')]({'plain':!![]});var _0x1a866f=_0x83f6('0x24');return db[_0x83f6('0x25')][_0x83f6('0x21')]({'where':{'type':_0x1a866f,'resourceId':_0x458aaa['id']}})['then'](function(){return _0x48e945;});})[_0x83f6('0x22')](function(){_0x24ace8[_0x83f6('0x18')](0xcc)[_0x83f6('0x19')]();});}};}function handleEntityNotFound(_0x3affe4,_0x409ccf){return function(_0x3b6088){if(!_0x3b6088){_0x3affe4[_0x83f6('0x26')](0x194);}return _0x3b6088;};}function handleError(_0x42ebce,_0x24c965){_0x24c965=_0x24c965||0x1f4;return function(_0x59c518){logger[_0x83f6('0x27')](_0x59c518['stack']);if(_0x59c518[_0x83f6('0x28')]){delete _0x59c518['name'];}_0x42ebce[_0x83f6('0x18')](_0x24c965)[_0x83f6('0x29')](_0x59c518);};}exports[_0x83f6('0x2a')]=function(_0x205720,_0x5a7e86){var _0x15d9eb={},_0x52a9db={},_0x9523b4={'count':0x0,'rows':[]};var _0x161efd=_[_0x83f6('0x2b')](db['Schedule'][_0x83f6('0x2c')],function(_0xbddfff){return{'name':_0xbddfff[_0x83f6('0x2d')],'type':_0xbddfff['type'][_0x83f6('0x2e')]};});_0x52a9db[_0x83f6('0x2f')]=_[_0x83f6('0x2b')](_0x161efd,_0x83f6('0x28'));_0x52a9db[_0x83f6('0x30')]=_[_0x83f6('0x31')](_0x205720[_0x83f6('0x30')]);_0x52a9db[_0x83f6('0x32')]=_[_0x83f6('0x33')](_0x52a9db['model'],_0x52a9db['query']);_0x15d9eb[_0x83f6('0x34')]=_[_0x83f6('0x33')](_0x52a9db[_0x83f6('0x2f')],qs[_0x83f6('0x35')](_0x205720[_0x83f6('0x30')][_0x83f6('0x35')]));_0x15d9eb[_0x83f6('0x34')]=_0x15d9eb[_0x83f6('0x34')]['length']?_0x15d9eb['attributes']:_0x52a9db[_0x83f6('0x2f')];if(!_0x205720[_0x83f6('0x30')][_0x83f6('0x36')](_0x83f6('0x37'))){_0x15d9eb[_0x83f6('0x38')]=qs[_0x83f6('0x38')](_0x205720[_0x83f6('0x30')][_0x83f6('0x38')]);_0x15d9eb[_0x83f6('0x1b')]=qs[_0x83f6('0x1b')](_0x205720['query'][_0x83f6('0x1b')]);}_0x15d9eb[_0x83f6('0x39')]=qs[_0x83f6('0x3a')](_0x205720[_0x83f6('0x30')][_0x83f6('0x3a')]);_0x15d9eb[_0x83f6('0x3b')]=qs[_0x83f6('0x32')](_[_0x83f6('0x3c')](_0x205720[_0x83f6('0x30')],_0x52a9db[_0x83f6('0x32')]),_0x161efd);if(_0x205720[_0x83f6('0x30')][_0x83f6('0x3d')]){_0x15d9eb[_0x83f6('0x3b')]=_[_0x83f6('0x3e')](_0x15d9eb[_0x83f6('0x3b')],{'$or':_['map'](_0x161efd,function(_0x522f9d){if(_0x522f9d[_0x83f6('0x3f')]!==_0x83f6('0x40')){var _0x297a2a={};_0x297a2a[_0x522f9d[_0x83f6('0x28')]]={'$like':'%'+_0x205720[_0x83f6('0x30')][_0x83f6('0x3d')]+'%'};return _0x297a2a;}})});}_0x15d9eb=_[_0x83f6('0x3e')]({},_0x15d9eb,_0x205720[_0x83f6('0x41')]);var _0x3032b1={'where':_0x15d9eb[_0x83f6('0x3b')]};return db['Schedule']['count'](_0x3032b1)[_0x83f6('0x22')](function(_0x5eb3d3){_0x9523b4[_0x83f6('0x42')]=_0x5eb3d3;if(_0x205720['query']['includeAll']){_0x15d9eb[_0x83f6('0x43')]=[{'all':!![]}];}return db[_0x83f6('0x44')][_0x83f6('0x45')](_0x15d9eb);})[_0x83f6('0x22')](function(_0x2772be){_0x9523b4[_0x83f6('0x46')]=_0x2772be;return _0x9523b4;})['then'](respondWithFilteredResult(_0x5a7e86,_0x15d9eb))[_0x83f6('0x47')](handleError(_0x5a7e86,null));};exports[_0x83f6('0x48')]=function(_0x27b54b,_0x52a68b){var _0x5f0603={'raw':![],'where':{'id':_0x27b54b['params']['id']}},_0x1daab3={};_0x1daab3[_0x83f6('0x2f')]=_[_0x83f6('0x31')](db[_0x83f6('0x44')][_0x83f6('0x2c')]);_0x1daab3[_0x83f6('0x30')]=_['keys'](_0x27b54b[_0x83f6('0x30')]);_0x1daab3['filters']=_[_0x83f6('0x33')](_0x1daab3[_0x83f6('0x2f')],_0x1daab3[_0x83f6('0x30')]);_0x5f0603[_0x83f6('0x34')]=_['intersection'](_0x1daab3['model'],qs[_0x83f6('0x35')](_0x27b54b['query'][_0x83f6('0x35')]));_0x5f0603[_0x83f6('0x34')]=_0x5f0603['attributes'][_0x83f6('0x49')]?_0x5f0603[_0x83f6('0x34')]:_0x1daab3[_0x83f6('0x2f')];if(_0x27b54b[_0x83f6('0x30')]['includeAll']){_0x5f0603['include']=[{'all':!![]}];}_0x5f0603=_[_0x83f6('0x3e')]({},_0x5f0603,_0x27b54b[_0x83f6('0x41')]);return db[_0x83f6('0x44')][_0x83f6('0x4a')](_0x5f0603)[_0x83f6('0x22')](handleEntityNotFound(_0x52a68b,null))[_0x83f6('0x22')](respondWithResult(_0x52a68b,null))[_0x83f6('0x47')](handleError(_0x52a68b,null));};exports[_0x83f6('0x4b')]=function(_0x3968e1,_0x2496b2){return db[_0x83f6('0x44')][_0x83f6('0x4b')](_0x3968e1['body'],{})[_0x83f6('0x22')](function(_0x153026){var _0x4e9331=_0x3968e1[_0x83f6('0x4c')][_0x83f6('0x23')]({'plain':!![]});if(!_0x4e9331)throw new Error(_0x83f6('0x4d'));if(_0x4e9331[_0x83f6('0x4e')]===_0x83f6('0x4c')){var _0x5a0328=_0x153026[_0x83f6('0x23')]({'plain':!![]});var _0x48bbe7=_0x83f6('0x24');return db[_0x83f6('0x4f')][_0x83f6('0x4a')]({'where':{'name':_0x48bbe7,'userProfileId':_0x4e9331['userProfileId']},'raw':!![]})[_0x83f6('0x22')](function(_0x5c3098){if(_0x5c3098&&_0x5c3098[_0x83f6('0x50')]===0x0){return db[_0x83f6('0x25')][_0x83f6('0x4b')]({'name':_0x5a0328[_0x83f6('0x28')],'resourceId':_0x5a0328['id'],'type':_0x5c3098[_0x83f6('0x28')],'sectionId':_0x5c3098['id']},{})[_0x83f6('0x22')](function(){return _0x153026;});}else{return _0x153026;}})[_0x83f6('0x47')](function(_0x11c240){logger[_0x83f6('0x27')](_0x83f6('0x51'),_0x11c240);throw _0x11c240;});}return _0x153026;})['then'](respondWithResult(_0x2496b2,0xc9))[_0x83f6('0x47')](handleError(_0x2496b2,null));};exports[_0x83f6('0x20')]=function(_0x280b80,_0x583dd2){if(_0x280b80[_0x83f6('0x52')]['id']){delete _0x280b80[_0x83f6('0x52')]['id'];}return db[_0x83f6('0x44')][_0x83f6('0x4a')]({'where':{'id':_0x280b80[_0x83f6('0x53')]['id']}})[_0x83f6('0x22')](handleEntityNotFound(_0x583dd2,null))[_0x83f6('0x22')](saveUpdates(_0x280b80['body'],null))[_0x83f6('0x22')](respondWithResult(_0x583dd2,null))[_0x83f6('0x47')](handleError(_0x583dd2,null));};exports[_0x83f6('0x21')]=function(_0x46e422,_0x2d5b90){return db[_0x83f6('0x44')][_0x83f6('0x4a')]({'where':{'id':_0x46e422[_0x83f6('0x53')]['id']}})[_0x83f6('0x22')](handleEntityNotFound(_0x2d5b90,null))['then'](removeEntity(_0x2d5b90,null))['catch'](handleError(_0x2d5b90,null));};exports[_0x83f6('0x54')]=function(_0x4d5798,_0x2bbed0,_0x446ee2){var _0x54e8f4=require(_0x83f6('0x55'));return db[_0x83f6('0x44')][_0x83f6('0x4a')]({'where':{'id':_0x4d5798['params']['id']},'raw':!![]})[_0x83f6('0x22')](handleEntityNotFound(_0x2bbed0,null))[_0x83f6('0x22')](function(){_0x54e8f4['run'](_0x4d5798[_0x83f6('0x53')]['id']);})[_0x83f6('0x22')](respondWithStatusCode(_0x2bbed0,null))['catch'](handleError(_0x2bbed0,null));};