Built motion from commit (unavailable).|2.5.1
[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 _0x2fa1=['mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Scheduler','error','name','Schedule','rawAttributes','fieldName','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','show','params','options','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','catch','body','find','run','../../config/schedule','html-pdf','eml-format','fast-json-patch','request-promise','moment'];(function(_0x26f9cd,_0x3905b5){var _0x1e6c14=function(_0x3ae83c){while(--_0x3ae83c){_0x26f9cd['push'](_0x26f9cd['shift']());}};_0x1e6c14(++_0x3905b5);}(_0x2fa1,0xf1));var _0x12fa=function(_0x6f9d49,_0x548a36){_0x6f9d49=_0x6f9d49-0x0;var _0x36dc14=_0x2fa1[_0x6f9d49];return _0x36dc14;};'use strict';var pdf=require(_0x12fa('0x0'));var emlformat=require(_0x12fa('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x12fa('0x2'));var rp=require(_0x12fa('0x3'));var moment=require(_0x12fa('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x12fa('0x5'));var util=require(_0x12fa('0x6'));var path=require(_0x12fa('0x7'));var sox=require(_0x12fa('0x8'));var csv=require(_0x12fa('0x9'));var ejs=require(_0x12fa('0xa'));var fs=require('fs');var _=require(_0x12fa('0xb'));var squel=require(_0x12fa('0xc'));var crypto=require(_0x12fa('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x12fa('0xe'));var toCsv=require(_0x12fa('0x9'));var querystring=require(_0x12fa('0xf'));var Papa=require(_0x12fa('0x10'));var Redis=require(_0x12fa('0x11'));var authService=require(_0x12fa('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x12fa('0x13'));var hardwareService=require(_0x12fa('0x14'));var logger=require(_0x12fa('0x15'))(_0x12fa('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x36c36e,_0x26241c){_0x26241c=_0x26241c||0xcc;return function(_0x101243){if(_0x101243){return _0x36c36e[_0x12fa('0x17')](_0x26241c);}return _0x36c36e[_0x12fa('0x18')](_0x26241c)[_0x12fa('0x19')]();};}function respondWithResult(_0x41b771,_0x25d054){_0x25d054=_0x25d054||0xc8;return function(_0x43383d){if(_0x43383d){return _0x41b771[_0x12fa('0x18')](_0x25d054)[_0x12fa('0x1a')](_0x43383d);}};}function respondWithFilteredResult(_0x3c9e8f,_0x4f2289){return function(_0x17a12f){if(_0x17a12f){var _0x575ea9=_0x17a12f[_0x12fa('0x1b')],_0x9a966e=_0x4f2289[_0x12fa('0x1c')],_0x358fae=_0x4f2289[_0x12fa('0x1c')]+_0x4f2289[_0x12fa('0x1d')],_0x277b54;if(_0x358fae>=_0x575ea9){_0x358fae=_0x575ea9;_0x277b54=0xc8;}else{_0x277b54=0xce;}_0x3c9e8f[_0x12fa('0x18')](_0x277b54);return _0x3c9e8f[_0x12fa('0x1e')](_0x12fa('0x1f'),_0x9a966e+'-'+_0x358fae+'/'+_0x575ea9)[_0x12fa('0x1a')](_0x17a12f);}return null;};}function patchUpdates(_0x33084){return function(_0x7a6e5c){try{jsonpatch[_0x12fa('0x20')](_0x7a6e5c,_0x33084,!![]);}catch(_0x23a01c){return BPromise[_0x12fa('0x21')](_0x23a01c);}return _0x7a6e5c[_0x12fa('0x22')]();};}function saveUpdates(_0x4bd3c7,_0x424a96){return function(_0x540d13){if(_0x540d13){return _0x540d13[_0x12fa('0x23')](_0x4bd3c7)[_0x12fa('0x24')](function(_0x2692ba){return _0x2692ba;});}return null;};}function removeEntity(_0x449b95,_0x5ae8c4){return function(_0x264ad6){if(_0x264ad6){return _0x264ad6[_0x12fa('0x25')]()[_0x12fa('0x24')](function(){var _0xbc2891=_0x264ad6[_0x12fa('0x26')]({'plain':!![]});var _0x33417f=_0x12fa('0x27');return db['UserProfileResource'][_0x12fa('0x25')]({'where':{'type':_0x33417f,'resourceId':_0xbc2891['id']}})[_0x12fa('0x24')](function(){return _0x264ad6;});})[_0x12fa('0x24')](function(){_0x449b95[_0x12fa('0x18')](0xcc)[_0x12fa('0x19')]();});}};}function handleEntityNotFound(_0x4f1a9c,_0xf65eae){return function(_0x3b6fee){if(!_0x3b6fee){_0x4f1a9c['sendStatus'](0x194);}return _0x3b6fee;};}function handleError(_0x3d519e,_0x46a9a2){_0x46a9a2=_0x46a9a2||0x1f4;return function(_0xafaff6){logger[_0x12fa('0x28')](_0xafaff6['stack']);if(_0xafaff6[_0x12fa('0x29')]){delete _0xafaff6['name'];}_0x3d519e[_0x12fa('0x18')](_0x46a9a2)['send'](_0xafaff6);};}exports['index']=function(_0x4ab90d,_0x312d58){var _0x2addc4={},_0x17527b={},_0x1911a5={'count':0x0,'rows':[]};var _0x170fe0=_['map'](db[_0x12fa('0x2a')][_0x12fa('0x2b')],function(_0x5578db){return{'name':_0x5578db[_0x12fa('0x2c')],'type':_0x5578db['type']['key']};});_0x17527b['model']=_[_0x12fa('0x2d')](_0x170fe0,'name');_0x17527b[_0x12fa('0x2e')]=_[_0x12fa('0x2f')](_0x4ab90d[_0x12fa('0x2e')]);_0x17527b[_0x12fa('0x30')]=_[_0x12fa('0x31')](_0x17527b[_0x12fa('0x32')],_0x17527b[_0x12fa('0x2e')]);_0x2addc4[_0x12fa('0x33')]=_['intersection'](_0x17527b[_0x12fa('0x32')],qs[_0x12fa('0x34')](_0x4ab90d['query'][_0x12fa('0x34')]));_0x2addc4[_0x12fa('0x33')]=_0x2addc4[_0x12fa('0x33')][_0x12fa('0x35')]?_0x2addc4[_0x12fa('0x33')]:_0x17527b[_0x12fa('0x32')];if(!_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x36')](_0x12fa('0x37'))){_0x2addc4[_0x12fa('0x1d')]=qs[_0x12fa('0x1d')](_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x1d')]);_0x2addc4['offset']=qs[_0x12fa('0x1c')](_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x1c')]);}_0x2addc4[_0x12fa('0x38')]=qs[_0x12fa('0x39')](_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x39')]);_0x2addc4[_0x12fa('0x3a')]=qs[_0x12fa('0x30')](_[_0x12fa('0x3b')](_0x4ab90d['query'],_0x17527b['filters']),_0x170fe0);if(_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x3c')]){_0x2addc4[_0x12fa('0x3a')]=_[_0x12fa('0x3d')](_0x2addc4[_0x12fa('0x3a')],{'$or':_[_0x12fa('0x2d')](_0x170fe0,function(_0x4af429){if(_0x4af429['type']!=='VIRTUAL'){var _0xd63e93={};_0xd63e93[_0x4af429[_0x12fa('0x29')]]={'$like':'%'+_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x3c')]+'%'};return _0xd63e93;}})});}_0x2addc4=_[_0x12fa('0x3d')]({},_0x2addc4,_0x4ab90d['options']);var _0x4df425={'where':_0x2addc4['where']};return db[_0x12fa('0x2a')][_0x12fa('0x1b')](_0x4df425)[_0x12fa('0x24')](function(_0x510e75){_0x1911a5[_0x12fa('0x1b')]=_0x510e75;if(_0x4ab90d[_0x12fa('0x2e')][_0x12fa('0x3e')]){_0x2addc4[_0x12fa('0x3f')]=[{'all':!![]}];}return db['Schedule'][_0x12fa('0x40')](_0x2addc4);})[_0x12fa('0x24')](function(_0x458190){_0x1911a5[_0x12fa('0x41')]=_0x458190;return _0x1911a5;})[_0x12fa('0x24')](respondWithFilteredResult(_0x312d58,_0x2addc4))['catch'](handleError(_0x312d58,null));};exports[_0x12fa('0x42')]=function(_0x26d67f,_0x4a649e){var _0x4dc97a={'raw':![],'where':{'id':_0x26d67f[_0x12fa('0x43')]['id']}},_0x34ac9f={};_0x34ac9f[_0x12fa('0x32')]=_['keys'](db[_0x12fa('0x2a')]['rawAttributes']);_0x34ac9f[_0x12fa('0x2e')]=_['keys'](_0x26d67f[_0x12fa('0x2e')]);_0x34ac9f[_0x12fa('0x30')]=_[_0x12fa('0x31')](_0x34ac9f['model'],_0x34ac9f['query']);_0x4dc97a[_0x12fa('0x33')]=_['intersection'](_0x34ac9f['model'],qs[_0x12fa('0x34')](_0x26d67f[_0x12fa('0x2e')]['fields']));_0x4dc97a[_0x12fa('0x33')]=_0x4dc97a['attributes'][_0x12fa('0x35')]?_0x4dc97a[_0x12fa('0x33')]:_0x34ac9f[_0x12fa('0x32')];if(_0x26d67f[_0x12fa('0x2e')][_0x12fa('0x3e')]){_0x4dc97a[_0x12fa('0x3f')]=[{'all':!![]}];}_0x4dc97a=_[_0x12fa('0x3d')]({},_0x4dc97a,_0x26d67f[_0x12fa('0x44')]);return db[_0x12fa('0x2a')]['find'](_0x4dc97a)[_0x12fa('0x24')](handleEntityNotFound(_0x4a649e,null))['then'](respondWithResult(_0x4a649e,null))['catch'](handleError(_0x4a649e,null));};exports['create']=function(_0xbb2789,_0x32e0eb){return db[_0x12fa('0x2a')][_0x12fa('0x45')](_0xbb2789['body'],{})[_0x12fa('0x24')](function(_0x50856f){var _0x5f04d2=_0xbb2789[_0x12fa('0x46')][_0x12fa('0x26')]({'plain':!![]});if(!_0x5f04d2)throw new Error(_0x12fa('0x47'));if(_0x5f04d2[_0x12fa('0x48')]==='user'){var _0x5449f5=_0x50856f[_0x12fa('0x26')]({'plain':!![]});var _0x47bf54='Scheduler';return db[_0x12fa('0x49')]['find']({'where':{'name':_0x47bf54,'userProfileId':_0x5f04d2['userProfileId']},'raw':!![]})[_0x12fa('0x24')](function(_0x18ac21){if(_0x18ac21&&_0x18ac21[_0x12fa('0x4a')]===0x0){return db[_0x12fa('0x4b')][_0x12fa('0x45')]({'name':_0x5449f5[_0x12fa('0x29')],'resourceId':_0x5449f5['id'],'type':_0x18ac21[_0x12fa('0x29')],'sectionId':_0x18ac21['id']},{})['then'](function(){return _0x50856f;});}else{return _0x50856f;}})['catch'](function(_0x319b4c){logger[_0x12fa('0x28')](_0x12fa('0x4c'),_0x319b4c);throw _0x319b4c;});}return _0x50856f;})[_0x12fa('0x24')](respondWithResult(_0x32e0eb,0xc9))[_0x12fa('0x4d')](handleError(_0x32e0eb,null));};exports[_0x12fa('0x23')]=function(_0x169459,_0x884a8d){if(_0x169459[_0x12fa('0x4e')]['id']){delete _0x169459['body']['id'];}return db[_0x12fa('0x2a')][_0x12fa('0x4f')]({'where':{'id':_0x169459[_0x12fa('0x43')]['id']}})[_0x12fa('0x24')](handleEntityNotFound(_0x884a8d,null))[_0x12fa('0x24')](saveUpdates(_0x169459[_0x12fa('0x4e')],null))[_0x12fa('0x24')](respondWithResult(_0x884a8d,null))[_0x12fa('0x4d')](handleError(_0x884a8d,null));};exports[_0x12fa('0x25')]=function(_0x5289e6,_0x256ba0){return db[_0x12fa('0x2a')][_0x12fa('0x4f')]({'where':{'id':_0x5289e6['params']['id']}})[_0x12fa('0x24')](handleEntityNotFound(_0x256ba0,null))['then'](removeEntity(_0x256ba0,null))['catch'](handleError(_0x256ba0,null));};exports[_0x12fa('0x50')]=function(_0x5cd416,_0x4bd0b2,_0x58810a){var _0x5295a9=require(_0x12fa('0x51'));return db[_0x12fa('0x2a')][_0x12fa('0x4f')]({'where':{'id':_0x5cd416[_0x12fa('0x43')]['id']},'raw':!![]})[_0x12fa('0x24')](handleEntityNotFound(_0x4bd0b2,null))[_0x12fa('0x24')](function(){_0x5295a9[_0x12fa('0x50')](_0x5cd416[_0x12fa('0x43')]['id']);})[_0x12fa('0x24')](respondWithStatusCode(_0x4bd0b2,null))['catch'](handleError(_0x4bd0b2,null));};