Built motion from commit (unavailable).|2.5.17
[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 _0x9b74=['path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Scheduler','sendStatus','error','name','send','Schedule','rawAttributes','fieldName','type','key','model','map','filters','attributes','intersection','fields','query','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','findAll','catch','show','params','keys','includeAll','include','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x1439fb,_0x1b69d7){var _0x39151e=function(_0x325150){while(--_0x325150){_0x1439fb['push'](_0x1439fb['shift']());}};_0x39151e(++_0x1b69d7);}(_0x9b74,0x157));var _0x49b7=function(_0x2b9c31,_0x4e156c){_0x2b9c31=_0x2b9c31-0x0;var _0x2429d3=_0x9b74[_0x2b9c31];return _0x2429d3;};'use strict';var pdf=require(_0x49b7('0x0'));var emlformat=require(_0x49b7('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x49b7('0x2'));var jsonpatch=require(_0x49b7('0x3'));var rp=require(_0x49b7('0x4'));var moment=require(_0x49b7('0x5'));var BPromise=require(_0x49b7('0x6'));var Mustache=require(_0x49b7('0x7'));var util=require(_0x49b7('0x8'));var path=require(_0x49b7('0x9'));var sox=require(_0x49b7('0xa'));var csv=require(_0x49b7('0xb'));var ejs=require(_0x49b7('0xc'));var fs=require('fs');var _=require(_0x49b7('0xd'));var squel=require(_0x49b7('0xe'));var crypto=require(_0x49b7('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x49b7('0xb'));var querystring=require(_0x49b7('0x10'));var Papa=require(_0x49b7('0x11'));var Redis=require(_0x49b7('0x12'));var authService=require(_0x49b7('0x13'));var qs=require(_0x49b7('0x14'));var as=require(_0x49b7('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x49b7('0x16'))(_0x49b7('0x17'));var utils=require(_0x49b7('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x49b7('0x19'));var db=require(_0x49b7('0x1a'))['db'];function respondWithStatusCode(_0x4320d7,_0x40d615){_0x40d615=_0x40d615||0xcc;return function(_0x145365){if(_0x145365){return _0x4320d7['sendStatus'](_0x40d615);}return _0x4320d7[_0x49b7('0x1b')](_0x40d615)[_0x49b7('0x1c')]();};}function respondWithResult(_0xbfee0b,_0x1bd80e){_0x1bd80e=_0x1bd80e||0xc8;return function(_0xbd6d42){if(_0xbd6d42){return _0xbfee0b[_0x49b7('0x1b')](_0x1bd80e)[_0x49b7('0x1d')](_0xbd6d42);}};}function respondWithFilteredResult(_0x25723d,_0x20e389){return function(_0x4549c2){if(_0x4549c2){var _0x538621=_0x4549c2[_0x49b7('0x1e')],_0x1f6607=_0x20e389['offset'],_0x298731=_0x20e389[_0x49b7('0x1f')]+_0x20e389[_0x49b7('0x20')],_0x5e55c2;if(_0x298731>=_0x538621){_0x298731=_0x538621;_0x5e55c2=0xc8;}else{_0x5e55c2=0xce;}_0x25723d[_0x49b7('0x1b')](_0x5e55c2);return _0x25723d[_0x49b7('0x21')](_0x49b7('0x22'),_0x1f6607+'-'+_0x298731+'/'+_0x538621)[_0x49b7('0x1d')](_0x4549c2);}return null;};}function patchUpdates(_0x262c39){return function(_0x1d95e1){try{jsonpatch[_0x49b7('0x23')](_0x1d95e1,_0x262c39,!![]);}catch(_0x2c9c68){return BPromise[_0x49b7('0x24')](_0x2c9c68);}return _0x1d95e1[_0x49b7('0x25')]();};}function saveUpdates(_0x498538,_0xba4247){return function(_0x49ffda){if(_0x49ffda){return _0x49ffda[_0x49b7('0x26')](_0x498538)[_0x49b7('0x27')](function(_0x52f412){return _0x52f412;});}return null;};}function removeEntity(_0x2ccf9,_0x26ce56){return function(_0x3bd9b6){if(_0x3bd9b6){return _0x3bd9b6[_0x49b7('0x28')]()[_0x49b7('0x27')](function(){var _0x17bbec=_0x3bd9b6[_0x49b7('0x29')]({'plain':!![]});var _0x3985e9=_0x49b7('0x2a');return db['UserProfileResource'][_0x49b7('0x28')]({'where':{'type':_0x3985e9,'resourceId':_0x17bbec['id']}})[_0x49b7('0x27')](function(){return _0x3bd9b6;});})[_0x49b7('0x27')](function(){_0x2ccf9['status'](0xcc)[_0x49b7('0x1c')]();});}};}function handleEntityNotFound(_0x3f37dd,_0x29f204){return function(_0x266211){if(!_0x266211){_0x3f37dd[_0x49b7('0x2b')](0x194);}return _0x266211;};}function handleError(_0x474e7c,_0x22a524){_0x22a524=_0x22a524||0x1f4;return function(_0x41cca2){logger[_0x49b7('0x2c')](_0x41cca2['stack']);if(_0x41cca2[_0x49b7('0x2d')]){delete _0x41cca2['name'];}_0x474e7c[_0x49b7('0x1b')](_0x22a524)[_0x49b7('0x2e')](_0x41cca2);};}exports['index']=function(_0x21d0e6,_0x1528de){var _0x220dec={},_0x24958={},_0x4b0911={'count':0x0,'rows':[]};var _0xbcba27=_['map'](db[_0x49b7('0x2f')][_0x49b7('0x30')],function(_0x41b784){return{'name':_0x41b784[_0x49b7('0x31')],'type':_0x41b784[_0x49b7('0x32')][_0x49b7('0x33')]};});_0x24958[_0x49b7('0x34')]=_[_0x49b7('0x35')](_0xbcba27,'name');_0x24958['query']=_['keys'](_0x21d0e6['query']);_0x24958[_0x49b7('0x36')]=_['intersection'](_0x24958[_0x49b7('0x34')],_0x24958['query']);_0x220dec[_0x49b7('0x37')]=_[_0x49b7('0x38')](_0x24958[_0x49b7('0x34')],qs[_0x49b7('0x39')](_0x21d0e6[_0x49b7('0x3a')][_0x49b7('0x39')]));_0x220dec[_0x49b7('0x37')]=_0x220dec[_0x49b7('0x37')][_0x49b7('0x3b')]?_0x220dec[_0x49b7('0x37')]:_0x24958['model'];if(!_0x21d0e6[_0x49b7('0x3a')][_0x49b7('0x3c')](_0x49b7('0x3d'))){_0x220dec[_0x49b7('0x20')]=qs[_0x49b7('0x20')](_0x21d0e6[_0x49b7('0x3a')]['limit']);_0x220dec[_0x49b7('0x1f')]=qs[_0x49b7('0x1f')](_0x21d0e6['query'][_0x49b7('0x1f')]);}_0x220dec[_0x49b7('0x3e')]=qs[_0x49b7('0x3f')](_0x21d0e6[_0x49b7('0x3a')][_0x49b7('0x3f')]);_0x220dec[_0x49b7('0x40')]=qs['filters'](_[_0x49b7('0x41')](_0x21d0e6[_0x49b7('0x3a')],_0x24958[_0x49b7('0x36')]),_0xbcba27);if(_0x21d0e6[_0x49b7('0x3a')][_0x49b7('0x42')]){_0x220dec[_0x49b7('0x40')]=_[_0x49b7('0x43')](_0x220dec[_0x49b7('0x40')],{'$or':_[_0x49b7('0x35')](_0xbcba27,function(_0x526e1b){if(_0x526e1b[_0x49b7('0x32')]!==_0x49b7('0x44')){var _0x3c3534={};_0x3c3534[_0x526e1b[_0x49b7('0x2d')]]={'$like':'%'+_0x21d0e6['query'][_0x49b7('0x42')]+'%'};return _0x3c3534;}})});}_0x220dec=_[_0x49b7('0x43')]({},_0x220dec,_0x21d0e6[_0x49b7('0x45')]);var _0xef1092={'where':_0x220dec[_0x49b7('0x40')]};return db[_0x49b7('0x2f')][_0x49b7('0x1e')](_0xef1092)[_0x49b7('0x27')](function(_0x2dab38){_0x4b0911[_0x49b7('0x1e')]=_0x2dab38;if(_0x21d0e6[_0x49b7('0x3a')]['includeAll']){_0x220dec['include']=[{'all':!![]}];}return db['Schedule'][_0x49b7('0x46')](_0x220dec);})['then'](function(_0x503298){_0x4b0911['rows']=_0x503298;return _0x4b0911;})['then'](respondWithFilteredResult(_0x1528de,_0x220dec))[_0x49b7('0x47')](handleError(_0x1528de,null));};exports[_0x49b7('0x48')]=function(_0x14472b,_0x4aedc6){var _0x2dfe2a={'raw':![],'where':{'id':_0x14472b[_0x49b7('0x49')]['id']}},_0x1dd7e5={};_0x1dd7e5[_0x49b7('0x34')]=_['keys'](db['Schedule'][_0x49b7('0x30')]);_0x1dd7e5[_0x49b7('0x3a')]=_[_0x49b7('0x4a')](_0x14472b[_0x49b7('0x3a')]);_0x1dd7e5['filters']=_[_0x49b7('0x38')](_0x1dd7e5[_0x49b7('0x34')],_0x1dd7e5[_0x49b7('0x3a')]);_0x2dfe2a[_0x49b7('0x37')]=_[_0x49b7('0x38')](_0x1dd7e5[_0x49b7('0x34')],qs['fields'](_0x14472b[_0x49b7('0x3a')][_0x49b7('0x39')]));_0x2dfe2a[_0x49b7('0x37')]=_0x2dfe2a[_0x49b7('0x37')][_0x49b7('0x3b')]?_0x2dfe2a[_0x49b7('0x37')]:_0x1dd7e5[_0x49b7('0x34')];if(_0x14472b[_0x49b7('0x3a')][_0x49b7('0x4b')]){_0x2dfe2a[_0x49b7('0x4c')]=[{'all':!![]}];}_0x2dfe2a=_[_0x49b7('0x43')]({},_0x2dfe2a,_0x14472b[_0x49b7('0x45')]);return db['Schedule']['find'](_0x2dfe2a)[_0x49b7('0x27')](handleEntityNotFound(_0x4aedc6,null))[_0x49b7('0x27')](respondWithResult(_0x4aedc6,null))[_0x49b7('0x47')](handleError(_0x4aedc6,null));};exports[_0x49b7('0x4d')]=function(_0x484708,_0xf4d7d5){return db[_0x49b7('0x2f')][_0x49b7('0x4d')](_0x484708[_0x49b7('0x4e')],{})['then'](function(_0x3a3e17){var _0x422de1=_0x484708[_0x49b7('0x4f')][_0x49b7('0x29')]({'plain':!![]});if(!_0x422de1)throw new Error(_0x49b7('0x50'));if(_0x422de1[_0x49b7('0x51')]===_0x49b7('0x4f')){var _0x36e8fc=_0x3a3e17[_0x49b7('0x29')]({'plain':!![]});var _0x328c31=_0x49b7('0x2a');return db[_0x49b7('0x52')][_0x49b7('0x53')]({'where':{'name':_0x328c31,'userProfileId':_0x422de1[_0x49b7('0x54')]},'raw':!![]})[_0x49b7('0x27')](function(_0x3bb53d){if(_0x3bb53d&&_0x3bb53d['autoAssociation']===0x0){return db[_0x49b7('0x55')][_0x49b7('0x4d')]({'name':_0x36e8fc[_0x49b7('0x2d')],'resourceId':_0x36e8fc['id'],'type':_0x3bb53d[_0x49b7('0x2d')],'sectionId':_0x3bb53d['id']},{})['then'](function(){return _0x3a3e17;});}else{return _0x3a3e17;}})[_0x49b7('0x47')](function(_0x2cc2d1){logger[_0x49b7('0x2c')](_0x49b7('0x56'),_0x2cc2d1);throw _0x2cc2d1;});}return _0x3a3e17;})[_0x49b7('0x27')](respondWithResult(_0xf4d7d5,0xc9))[_0x49b7('0x47')](handleError(_0xf4d7d5,null));};exports[_0x49b7('0x26')]=function(_0x1f0463,_0x1a8000){if(_0x1f0463[_0x49b7('0x4e')]['id']){delete _0x1f0463['body']['id'];}return db['Schedule'][_0x49b7('0x53')]({'where':{'id':_0x1f0463[_0x49b7('0x49')]['id']}})['then'](handleEntityNotFound(_0x1a8000,null))[_0x49b7('0x27')](saveUpdates(_0x1f0463['body'],null))[_0x49b7('0x27')](respondWithResult(_0x1a8000,null))[_0x49b7('0x47')](handleError(_0x1a8000,null));};exports[_0x49b7('0x28')]=function(_0x2c16a9,_0x37cfe3){return db[_0x49b7('0x2f')][_0x49b7('0x53')]({'where':{'id':_0x2c16a9[_0x49b7('0x49')]['id']}})[_0x49b7('0x27')](handleEntityNotFound(_0x37cfe3,null))['then'](removeEntity(_0x37cfe3,null))[_0x49b7('0x47')](handleError(_0x37cfe3,null));};exports[_0x49b7('0x57')]=function(_0x5eb65d,_0x33b2a7,_0x123de6){var _0x105b68=require('../../config/schedule');return db[_0x49b7('0x2f')][_0x49b7('0x53')]({'where':{'id':_0x5eb65d[_0x49b7('0x49')]['id']},'raw':!![]})[_0x49b7('0x27')](handleEntityNotFound(_0x33b2a7,null))[_0x49b7('0x27')](function(){_0x105b68[_0x49b7('0x57')](_0x5eb65d['params']['id']);})['then'](respondWithStatusCode(_0x33b2a7,null))[_0x49b7('0x47')](handleError(_0x33b2a7,null));};