Built motion from commit (unavailable).|2.5.0
[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 _0x74ba=['catch','show','params','keys','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','status','count','offset','limit','json','apply','update','then','get','Scheduler','UserProfileResource','destroy','sendStatus','error','stack','name','index','Schedule','rawAttributes','fieldName','type','model','map','filters','query','attributes','intersection','fields','length','order','sort','where','merge','VIRTUAL','filter','options','include'];(function(_0x1321ef,_0x1510eb){var _0x24a973=function(_0x262c57){while(--_0x262c57){_0x1321ef['push'](_0x1321ef['shift']());}};_0x24a973(++_0x1510eb);}(_0x74ba,0x100));var _0xa74b=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x74ba[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0xa74b('0x0'));var emlformat=require(_0xa74b('0x1'));var rimraf=require(_0xa74b('0x2'));var zipdir=require(_0xa74b('0x3'));var jsonpatch=require(_0xa74b('0x4'));var rp=require('request-promise');var moment=require(_0xa74b('0x5'));var BPromise=require(_0xa74b('0x6'));var Mustache=require(_0xa74b('0x7'));var util=require(_0xa74b('0x8'));var path=require(_0xa74b('0x9'));var sox=require(_0xa74b('0xa'));var csv=require(_0xa74b('0xb'));var ejs=require(_0xa74b('0xc'));var fs=require('fs');var _=require(_0xa74b('0xd'));var squel=require(_0xa74b('0xe'));var crypto=require(_0xa74b('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xa74b('0x10'));var toCsv=require(_0xa74b('0xb'));var querystring=require(_0xa74b('0x11'));var Papa=require(_0xa74b('0x12'));var Redis=require('ioredis');var authService=require(_0xa74b('0x13'));var qs=require(_0xa74b('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa74b('0x15'));var logger=require(_0xa74b('0x16'))('api');var utils=require(_0xa74b('0x17'));var config=require(_0xa74b('0x18'));var db=require(_0xa74b('0x19'))['db'];function respondWithStatusCode(_0x56d2f2,_0x50ce27){_0x50ce27=_0x50ce27||0xcc;return function(_0x27f4c9){if(_0x27f4c9){return _0x56d2f2['sendStatus'](_0x50ce27);}return _0x56d2f2['status'](_0x50ce27)[_0xa74b('0x1a')]();};}function respondWithResult(_0x5e8acb,_0x435d35){_0x435d35=_0x435d35||0xc8;return function(_0xd6f842){if(_0xd6f842){return _0x5e8acb[_0xa74b('0x1b')](_0x435d35)['json'](_0xd6f842);}};}function respondWithFilteredResult(_0x34513d,_0x1f7b52){return function(_0x4fccb5){if(_0x4fccb5){var _0x1abb9c=_0x4fccb5[_0xa74b('0x1c')],_0x1bdfd6=_0x1f7b52[_0xa74b('0x1d')],_0x417c9f=_0x1f7b52[_0xa74b('0x1d')]+_0x1f7b52[_0xa74b('0x1e')],_0x1090af;if(_0x417c9f>=_0x1abb9c){_0x417c9f=_0x1abb9c;_0x1090af=0xc8;}else{_0x1090af=0xce;}_0x34513d[_0xa74b('0x1b')](_0x1090af);return _0x34513d['set']('Content-Range',_0x1bdfd6+'-'+_0x417c9f+'/'+_0x1abb9c)[_0xa74b('0x1f')](_0x4fccb5);}return null;};}function patchUpdates(_0x216f7a){return function(_0x2df0e3){try{jsonpatch[_0xa74b('0x20')](_0x2df0e3,_0x216f7a,!![]);}catch(_0x2c5a09){return BPromise['reject'](_0x2c5a09);}return _0x2df0e3['save']();};}function saveUpdates(_0x3d99c4,_0x396811){return function(_0x122c2b){if(_0x122c2b){return _0x122c2b[_0xa74b('0x21')](_0x3d99c4)[_0xa74b('0x22')](function(_0xe1b20c){return _0xe1b20c;});}return null;};}function removeEntity(_0x473f2f,_0x113103){return function(_0x2a12cc){if(_0x2a12cc){return _0x2a12cc['destroy']()[_0xa74b('0x22')](function(){var _0x6625a6=_0x2a12cc[_0xa74b('0x23')]({'plain':!![]});var _0x4c5d5e=_0xa74b('0x24');return db[_0xa74b('0x25')][_0xa74b('0x26')]({'where':{'type':_0x4c5d5e,'resourceId':_0x6625a6['id']}})[_0xa74b('0x22')](function(){return _0x2a12cc;});})[_0xa74b('0x22')](function(){_0x473f2f[_0xa74b('0x1b')](0xcc)[_0xa74b('0x1a')]();});}};}function handleEntityNotFound(_0x2eb7a2,_0x58aee0){return function(_0xa0f4a3){if(!_0xa0f4a3){_0x2eb7a2[_0xa74b('0x27')](0x194);}return _0xa0f4a3;};}function handleError(_0x432cc5,_0x326497){_0x326497=_0x326497||0x1f4;return function(_0x2e3822){logger[_0xa74b('0x28')](_0x2e3822[_0xa74b('0x29')]);if(_0x2e3822[_0xa74b('0x2a')]){delete _0x2e3822['name'];}_0x432cc5[_0xa74b('0x1b')](_0x326497)['send'](_0x2e3822);};}exports[_0xa74b('0x2b')]=function(_0xad1980,_0x3f99b9){var _0xfa14f3={},_0x144767={},_0x162258={'count':0x0,'rows':[]};var _0x13eaa1=_['map'](db[_0xa74b('0x2c')][_0xa74b('0x2d')],function(_0x541c9b){return{'name':_0x541c9b[_0xa74b('0x2e')],'type':_0x541c9b[_0xa74b('0x2f')]['key']};});_0x144767[_0xa74b('0x30')]=_[_0xa74b('0x31')](_0x13eaa1,_0xa74b('0x2a'));_0x144767['query']=_['keys'](_0xad1980['query']);_0x144767[_0xa74b('0x32')]=_['intersection'](_0x144767[_0xa74b('0x30')],_0x144767[_0xa74b('0x33')]);_0xfa14f3[_0xa74b('0x34')]=_[_0xa74b('0x35')](_0x144767[_0xa74b('0x30')],qs[_0xa74b('0x36')](_0xad1980['query'][_0xa74b('0x36')]));_0xfa14f3[_0xa74b('0x34')]=_0xfa14f3[_0xa74b('0x34')][_0xa74b('0x37')]?_0xfa14f3[_0xa74b('0x34')]:_0x144767[_0xa74b('0x30')];if(!_0xad1980['query']['hasOwnProperty']('nolimit')){_0xfa14f3[_0xa74b('0x1e')]=qs[_0xa74b('0x1e')](_0xad1980[_0xa74b('0x33')]['limit']);_0xfa14f3[_0xa74b('0x1d')]=qs[_0xa74b('0x1d')](_0xad1980[_0xa74b('0x33')][_0xa74b('0x1d')]);}_0xfa14f3[_0xa74b('0x38')]=qs[_0xa74b('0x39')](_0xad1980[_0xa74b('0x33')][_0xa74b('0x39')]);_0xfa14f3[_0xa74b('0x3a')]=qs[_0xa74b('0x32')](_['pick'](_0xad1980[_0xa74b('0x33')],_0x144767['filters']));if(_0xad1980[_0xa74b('0x33')]['filter']){_0xfa14f3[_0xa74b('0x3a')]=_[_0xa74b('0x3b')](_0xfa14f3[_0xa74b('0x3a')],{'$or':_['map'](_0x13eaa1,function(_0x14289f){if(_0x14289f['type']!==_0xa74b('0x3c')){var _0x410aeb={};_0x410aeb[_0x14289f[_0xa74b('0x2a')]]={'$like':'%'+_0xad1980[_0xa74b('0x33')][_0xa74b('0x3d')]+'%'};return _0x410aeb;}})});}_0xfa14f3=_[_0xa74b('0x3b')]({},_0xfa14f3,_0xad1980[_0xa74b('0x3e')]);var _0x945a73={'where':_0xfa14f3[_0xa74b('0x3a')]};return db[_0xa74b('0x2c')]['count'](_0x945a73)['then'](function(_0x405257){_0x162258['count']=_0x405257;if(_0xad1980['query']['includeAll']){_0xfa14f3[_0xa74b('0x3f')]=[{'all':!![]}];}return db[_0xa74b('0x2c')]['findAll'](_0xfa14f3);})[_0xa74b('0x22')](function(_0x3ba302){_0x162258['rows']=_0x3ba302;return _0x162258;})[_0xa74b('0x22')](respondWithFilteredResult(_0x3f99b9,_0xfa14f3))[_0xa74b('0x40')](handleError(_0x3f99b9,null));};exports[_0xa74b('0x41')]=function(_0x469b85,_0x434d6b){var _0x540c85={'raw':![],'where':{'id':_0x469b85[_0xa74b('0x42')]['id']}},_0x2e3ba6={};_0x2e3ba6[_0xa74b('0x30')]=_[_0xa74b('0x43')](db[_0xa74b('0x2c')][_0xa74b('0x2d')]);_0x2e3ba6[_0xa74b('0x33')]=_['keys'](_0x469b85[_0xa74b('0x33')]);_0x2e3ba6[_0xa74b('0x32')]=_[_0xa74b('0x35')](_0x2e3ba6[_0xa74b('0x30')],_0x2e3ba6[_0xa74b('0x33')]);_0x540c85[_0xa74b('0x34')]=_[_0xa74b('0x35')](_0x2e3ba6[_0xa74b('0x30')],qs[_0xa74b('0x36')](_0x469b85[_0xa74b('0x33')][_0xa74b('0x36')]));_0x540c85[_0xa74b('0x34')]=_0x540c85[_0xa74b('0x34')]['length']?_0x540c85[_0xa74b('0x34')]:_0x2e3ba6[_0xa74b('0x30')];if(_0x469b85['query'][_0xa74b('0x44')]){_0x540c85[_0xa74b('0x3f')]=[{'all':!![]}];}_0x540c85=_[_0xa74b('0x3b')]({},_0x540c85,_0x469b85['options']);return db[_0xa74b('0x2c')][_0xa74b('0x45')](_0x540c85)[_0xa74b('0x22')](handleEntityNotFound(_0x434d6b,null))['then'](respondWithResult(_0x434d6b,null))[_0xa74b('0x40')](handleError(_0x434d6b,null));};exports[_0xa74b('0x46')]=function(_0x22bd9c,_0x418e5a){return db['Schedule'][_0xa74b('0x46')](_0x22bd9c[_0xa74b('0x47')],{})[_0xa74b('0x22')](function(_0x1f955c){var _0x2c7835=_0x22bd9c[_0xa74b('0x48')][_0xa74b('0x23')]({'plain':!![]});if(!_0x2c7835)throw new Error(_0xa74b('0x49'));if(_0x2c7835[_0xa74b('0x4a')]===_0xa74b('0x48')){var _0x5dce9b=_0x1f955c[_0xa74b('0x23')]({'plain':!![]});var _0x3901be=_0xa74b('0x24');return db['UserProfileSection'][_0xa74b('0x45')]({'where':{'name':_0x3901be,'userProfileId':_0x2c7835[_0xa74b('0x4b')]},'raw':!![]})[_0xa74b('0x22')](function(_0x4de803){if(_0x4de803&&_0x4de803[_0xa74b('0x4c')]===0x0){return db['UserProfileResource'][_0xa74b('0x46')]({'name':_0x5dce9b[_0xa74b('0x2a')],'resourceId':_0x5dce9b['id'],'type':_0x4de803[_0xa74b('0x2a')],'sectionId':_0x4de803['id']},{})[_0xa74b('0x22')](function(){return _0x1f955c;});}else{return _0x1f955c;}})[_0xa74b('0x40')](function(_0x3da7a4){logger['error'](_0xa74b('0x4d'),_0x3da7a4);throw _0x3da7a4;});}return _0x1f955c;})[_0xa74b('0x22')](respondWithResult(_0x418e5a,0xc9))[_0xa74b('0x40')](handleError(_0x418e5a,null));};exports[_0xa74b('0x21')]=function(_0x4bddc8,_0x3ed8dd){if(_0x4bddc8[_0xa74b('0x47')]['id']){delete _0x4bddc8[_0xa74b('0x47')]['id'];}return db['Schedule'][_0xa74b('0x45')]({'where':{'id':_0x4bddc8[_0xa74b('0x42')]['id']}})['then'](handleEntityNotFound(_0x3ed8dd,null))[_0xa74b('0x22')](saveUpdates(_0x4bddc8[_0xa74b('0x47')],null))[_0xa74b('0x22')](respondWithResult(_0x3ed8dd,null))[_0xa74b('0x40')](handleError(_0x3ed8dd,null));};exports[_0xa74b('0x26')]=function(_0x32c2b1,_0x297e86){return db['Schedule'][_0xa74b('0x45')]({'where':{'id':_0x32c2b1[_0xa74b('0x42')]['id']}})[_0xa74b('0x22')](handleEntityNotFound(_0x297e86,null))[_0xa74b('0x22')](removeEntity(_0x297e86,null))[_0xa74b('0x40')](handleError(_0x297e86,null));};exports[_0xa74b('0x4e')]=function(_0x5ebcf8,_0x3258ab,_0x196a5a){var _0x463f94=require(_0xa74b('0x4f'));return db['Schedule'][_0xa74b('0x45')]({'where':{'id':_0x5ebcf8[_0xa74b('0x42')]['id']},'raw':!![]})[_0xa74b('0x22')](handleEntityNotFound(_0x3258ab,null))[_0xa74b('0x22')](function(){_0x463f94[_0xa74b('0x4e')](_0x5ebcf8[_0xa74b('0x42')]['id']);})[_0xa74b('0x22')](respondWithStatusCode(_0x3258ab,null))[_0xa74b('0x40')](handleError(_0x3258ab,null));};