Built motion from commit (unavailable).|2.5.21
[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 _0x2be7=['rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','count','offset','limit','set','json','apply','save','destroy','then','get','Scheduler','UserProfileResource','error','name','send','index','map','Schedule','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','order','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','run','../../config/schedule','html-pdf'];(function(_0x3d3729,_0x401a16){var _0x2b028f=function(_0x1de089){while(--_0x1de089){_0x3d3729['push'](_0x3d3729['shift']());}};_0x2b028f(++_0x401a16);}(_0x2be7,0xec));var _0x72be=function(_0x587693,_0x27fe90){_0x587693=_0x587693-0x0;var _0x510a1a=_0x2be7[_0x587693];return _0x510a1a;};'use strict';var pdf=require(_0x72be('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x72be('0x1'));var zipdir=require(_0x72be('0x2'));var jsonpatch=require(_0x72be('0x3'));var rp=require('request-promise');var moment=require(_0x72be('0x4'));var BPromise=require(_0x72be('0x5'));var Mustache=require(_0x72be('0x6'));var util=require(_0x72be('0x7'));var path=require(_0x72be('0x8'));var sox=require(_0x72be('0x9'));var csv=require(_0x72be('0xa'));var ejs=require(_0x72be('0xb'));var fs=require('fs');var _=require(_0x72be('0xc'));var squel=require(_0x72be('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x72be('0xe'));var Papa=require(_0x72be('0xf'));var Redis=require(_0x72be('0x10'));var authService=require(_0x72be('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x72be('0x12'));var hardwareService=require(_0x72be('0x13'));var logger=require('../../config/logger')(_0x72be('0x14'));var utils=require(_0x72be('0x15'));var config=require(_0x72be('0x16'));var licenseUtil=require(_0x72be('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1bccbe,_0x12e8c3){_0x12e8c3=_0x12e8c3||0xcc;return function(_0x2899da){if(_0x2899da){return _0x1bccbe[_0x72be('0x18')](_0x12e8c3);}return _0x1bccbe[_0x72be('0x19')](_0x12e8c3)['end']();};}function respondWithResult(_0x7f5471,_0x246746){_0x246746=_0x246746||0xc8;return function(_0x4703c3){if(_0x4703c3){return _0x7f5471['status'](_0x246746)['json'](_0x4703c3);}};}function respondWithFilteredResult(_0x510c03,_0x1417ce){return function(_0x48362f){if(_0x48362f){var _0xd682e9=_0x48362f[_0x72be('0x1a')],_0x18c303=_0x1417ce[_0x72be('0x1b')],_0x1bd8b9=_0x1417ce[_0x72be('0x1b')]+_0x1417ce[_0x72be('0x1c')],_0x147c9e;if(_0x1bd8b9>=_0xd682e9){_0x1bd8b9=_0xd682e9;_0x147c9e=0xc8;}else{_0x147c9e=0xce;}_0x510c03[_0x72be('0x19')](_0x147c9e);return _0x510c03[_0x72be('0x1d')]('Content-Range',_0x18c303+'-'+_0x1bd8b9+'/'+_0xd682e9)[_0x72be('0x1e')](_0x48362f);}return null;};}function patchUpdates(_0x374f1e){return function(_0x4b983c){try{jsonpatch[_0x72be('0x1f')](_0x4b983c,_0x374f1e,!![]);}catch(_0x1bf053){return BPromise['reject'](_0x1bf053);}return _0x4b983c[_0x72be('0x20')]();};}function saveUpdates(_0x33a4cb,_0xab9b76){return function(_0x2a181e){if(_0x2a181e){return _0x2a181e['update'](_0x33a4cb)['then'](function(_0x2a8257){return _0x2a8257;});}return null;};}function removeEntity(_0x367e1b,_0x3ee6c6){return function(_0x17503e){if(_0x17503e){return _0x17503e[_0x72be('0x21')]()[_0x72be('0x22')](function(){var _0x5d5e9c=_0x17503e[_0x72be('0x23')]({'plain':!![]});var _0x5472de=_0x72be('0x24');return db[_0x72be('0x25')][_0x72be('0x21')]({'where':{'type':_0x5472de,'resourceId':_0x5d5e9c['id']}})[_0x72be('0x22')](function(){return _0x17503e;});})[_0x72be('0x22')](function(){_0x367e1b[_0x72be('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5462f1,_0x29f54c){return function(_0x4e345f){if(!_0x4e345f){_0x5462f1[_0x72be('0x18')](0x194);}return _0x4e345f;};}function handleError(_0x1830d7,_0x2432c3){_0x2432c3=_0x2432c3||0x1f4;return function(_0x3ff334){logger[_0x72be('0x26')](_0x3ff334['stack']);if(_0x3ff334[_0x72be('0x27')]){delete _0x3ff334['name'];}_0x1830d7[_0x72be('0x19')](_0x2432c3)[_0x72be('0x28')](_0x3ff334);};}exports[_0x72be('0x29')]=function(_0x1afc6c,_0x1c7715){var _0x3e0bb5={},_0x49c2b8={},_0xd72400={'count':0x0,'rows':[]};var _0x1faf47=_[_0x72be('0x2a')](db[_0x72be('0x2b')][_0x72be('0x2c')],function(_0x19e1bf){return{'name':_0x19e1bf[_0x72be('0x2d')],'type':_0x19e1bf[_0x72be('0x2e')]['key']};});_0x49c2b8[_0x72be('0x2f')]=_['map'](_0x1faf47,_0x72be('0x27'));_0x49c2b8[_0x72be('0x30')]=_[_0x72be('0x31')](_0x1afc6c[_0x72be('0x30')]);_0x49c2b8[_0x72be('0x32')]=_[_0x72be('0x33')](_0x49c2b8[_0x72be('0x2f')],_0x49c2b8[_0x72be('0x30')]);_0x3e0bb5[_0x72be('0x34')]=_[_0x72be('0x33')](_0x49c2b8[_0x72be('0x2f')],qs[_0x72be('0x35')](_0x1afc6c['query'][_0x72be('0x35')]));_0x3e0bb5[_0x72be('0x34')]=_0x3e0bb5[_0x72be('0x34')][_0x72be('0x36')]?_0x3e0bb5[_0x72be('0x34')]:_0x49c2b8[_0x72be('0x2f')];if(!_0x1afc6c[_0x72be('0x30')]['hasOwnProperty']('nolimit')){_0x3e0bb5[_0x72be('0x1c')]=qs['limit'](_0x1afc6c[_0x72be('0x30')][_0x72be('0x1c')]);_0x3e0bb5[_0x72be('0x1b')]=qs[_0x72be('0x1b')](_0x1afc6c['query']['offset']);}_0x3e0bb5[_0x72be('0x37')]=qs['sort'](_0x1afc6c[_0x72be('0x30')]['sort']);_0x3e0bb5[_0x72be('0x38')]=qs[_0x72be('0x32')](_[_0x72be('0x39')](_0x1afc6c['query'],_0x49c2b8[_0x72be('0x32')]),_0x1faf47);if(_0x1afc6c[_0x72be('0x30')][_0x72be('0x3a')]){_0x3e0bb5[_0x72be('0x38')]=_[_0x72be('0x3b')](_0x3e0bb5['where'],{'$or':_[_0x72be('0x2a')](_0x1faf47,function(_0x104797){if(_0x104797[_0x72be('0x2e')]!==_0x72be('0x3c')){var _0x3b775a={};_0x3b775a[_0x104797[_0x72be('0x27')]]={'$like':'%'+_0x1afc6c[_0x72be('0x30')][_0x72be('0x3a')]+'%'};return _0x3b775a;}})});}_0x3e0bb5=_[_0x72be('0x3b')]({},_0x3e0bb5,_0x1afc6c[_0x72be('0x3d')]);var _0x44d8ad={'where':_0x3e0bb5[_0x72be('0x38')]};return db[_0x72be('0x2b')][_0x72be('0x1a')](_0x44d8ad)[_0x72be('0x22')](function(_0x74e83e){_0xd72400[_0x72be('0x1a')]=_0x74e83e;if(_0x1afc6c[_0x72be('0x30')]['includeAll']){_0x3e0bb5[_0x72be('0x3e')]=[{'all':!![]}];}return db[_0x72be('0x2b')][_0x72be('0x3f')](_0x3e0bb5);})[_0x72be('0x22')](function(_0x86d6bf){_0xd72400[_0x72be('0x40')]=_0x86d6bf;return _0xd72400;})[_0x72be('0x22')](respondWithFilteredResult(_0x1c7715,_0x3e0bb5))[_0x72be('0x41')](handleError(_0x1c7715,null));};exports[_0x72be('0x42')]=function(_0x3339ed,_0x3c4163){var _0x35dcab={'raw':![],'where':{'id':_0x3339ed[_0x72be('0x43')]['id']}},_0x3ffb9a={};_0x3ffb9a[_0x72be('0x2f')]=_['keys'](db['Schedule'][_0x72be('0x2c')]);_0x3ffb9a[_0x72be('0x30')]=_[_0x72be('0x31')](_0x3339ed[_0x72be('0x30')]);_0x3ffb9a[_0x72be('0x32')]=_[_0x72be('0x33')](_0x3ffb9a[_0x72be('0x2f')],_0x3ffb9a[_0x72be('0x30')]);_0x35dcab[_0x72be('0x34')]=_['intersection'](_0x3ffb9a[_0x72be('0x2f')],qs['fields'](_0x3339ed[_0x72be('0x30')]['fields']));_0x35dcab[_0x72be('0x34')]=_0x35dcab[_0x72be('0x34')][_0x72be('0x36')]?_0x35dcab[_0x72be('0x34')]:_0x3ffb9a['model'];if(_0x3339ed['query']['includeAll']){_0x35dcab[_0x72be('0x3e')]=[{'all':!![]}];}_0x35dcab=_[_0x72be('0x3b')]({},_0x35dcab,_0x3339ed['options']);return db[_0x72be('0x2b')][_0x72be('0x44')](_0x35dcab)[_0x72be('0x22')](handleEntityNotFound(_0x3c4163,null))[_0x72be('0x22')](respondWithResult(_0x3c4163,null))[_0x72be('0x41')](handleError(_0x3c4163,null));};exports['create']=function(_0x4e5afd,_0x18f3ff){return db[_0x72be('0x2b')][_0x72be('0x45')](_0x4e5afd[_0x72be('0x46')],{})[_0x72be('0x22')](function(_0x136d97){var _0x31c4b9=_0x4e5afd[_0x72be('0x47')]['get']({'plain':!![]});if(!_0x31c4b9)throw new Error(_0x72be('0x48'));if(_0x31c4b9[_0x72be('0x49')]===_0x72be('0x47')){var _0x324ca0=_0x136d97[_0x72be('0x23')]({'plain':!![]});var _0x9b8991='Scheduler';return db['UserProfileSection']['find']({'where':{'name':_0x9b8991,'userProfileId':_0x31c4b9[_0x72be('0x4a')]},'raw':!![]})[_0x72be('0x22')](function(_0x125768){if(_0x125768&&_0x125768['autoAssociation']===0x0){return db['UserProfileResource'][_0x72be('0x45')]({'name':_0x324ca0[_0x72be('0x27')],'resourceId':_0x324ca0['id'],'type':_0x125768[_0x72be('0x27')],'sectionId':_0x125768['id']},{})[_0x72be('0x22')](function(){return _0x136d97;});}else{return _0x136d97;}})[_0x72be('0x41')](function(_0x1f7b8b){logger['error'](_0x72be('0x4b'),_0x1f7b8b);throw _0x1f7b8b;});}return _0x136d97;})[_0x72be('0x22')](respondWithResult(_0x18f3ff,0xc9))['catch'](handleError(_0x18f3ff,null));};exports[_0x72be('0x4c')]=function(_0x953919,_0x25c321){if(_0x953919['body']['id']){delete _0x953919[_0x72be('0x46')]['id'];}return db['Schedule'][_0x72be('0x44')]({'where':{'id':_0x953919['params']['id']}})['then'](handleEntityNotFound(_0x25c321,null))['then'](saveUpdates(_0x953919[_0x72be('0x46')],null))[_0x72be('0x22')](respondWithResult(_0x25c321,null))['catch'](handleError(_0x25c321,null));};exports[_0x72be('0x21')]=function(_0x3133a2,_0x5bea0a){return db[_0x72be('0x2b')][_0x72be('0x44')]({'where':{'id':_0x3133a2[_0x72be('0x43')]['id']}})[_0x72be('0x22')](handleEntityNotFound(_0x5bea0a,null))[_0x72be('0x22')](removeEntity(_0x5bea0a,null))['catch'](handleError(_0x5bea0a,null));};exports[_0x72be('0x4d')]=function(_0xeea06,_0x5034b2,_0x63af76){var _0x23f47c=require(_0x72be('0x4e'));return db[_0x72be('0x2b')][_0x72be('0x44')]({'where':{'id':_0xeea06[_0x72be('0x43')]['id']},'raw':!![]})[_0x72be('0x22')](handleEntityNotFound(_0x5034b2,null))[_0x72be('0x22')](function(){_0x23f47c['run'](_0xeea06[_0x72be('0x43')]['id']);})[_0x72be('0x22')](respondWithStatusCode(_0x5034b2,null))[_0x72be('0x41')](handleError(_0x5034b2,null));};