Built motion from commit (unavailable).|2.5.8
[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 _0x7c43=['includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','run','../../config/schedule','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','then','Scheduler','UserProfileResource','destroy','error','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','Schedule','include','findAll','show','params','length'];(function(_0x110e14,_0x144110){var _0x4e0293=function(_0x7a9402){while(--_0x7a9402){_0x110e14['push'](_0x110e14['shift']());}};_0x4e0293(++_0x144110);}(_0x7c43,0x168));var _0x37c4=function(_0x133d8c,_0x46a9fa){_0x133d8c=_0x133d8c-0x0;var _0x323095=_0x7c43[_0x133d8c];return _0x323095;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x37c4('0x0'));var zipdir=require(_0x37c4('0x1'));var jsonpatch=require(_0x37c4('0x2'));var rp=require(_0x37c4('0x3'));var moment=require('moment');var BPromise=require(_0x37c4('0x4'));var Mustache=require(_0x37c4('0x5'));var util=require(_0x37c4('0x6'));var path=require('path');var sox=require(_0x37c4('0x7'));var csv=require(_0x37c4('0x8'));var ejs=require(_0x37c4('0x9'));var fs=require('fs');var _=require(_0x37c4('0xa'));var squel=require('squel');var crypto=require(_0x37c4('0xb'));var jsforce=require(_0x37c4('0xc'));var deskjs=require(_0x37c4('0xd'));var toCsv=require(_0x37c4('0x8'));var querystring=require(_0x37c4('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x37c4('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x37c4('0x10'));var hardwareService=require(_0x37c4('0x11'));var logger=require(_0x37c4('0x12'))(_0x37c4('0x13'));var utils=require(_0x37c4('0x14'));var config=require(_0x37c4('0x15'));var licenseUtil=require(_0x37c4('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x364d1d,_0x9fd40c){_0x9fd40c=_0x9fd40c||0xcc;return function(_0x340a9f){if(_0x340a9f){return _0x364d1d[_0x37c4('0x17')](_0x9fd40c);}return _0x364d1d['status'](_0x9fd40c)[_0x37c4('0x18')]();};}function respondWithResult(_0x458542,_0x2e5182){_0x2e5182=_0x2e5182||0xc8;return function(_0x2e34bc){if(_0x2e34bc){return _0x458542[_0x37c4('0x19')](_0x2e5182)[_0x37c4('0x1a')](_0x2e34bc);}};}function respondWithFilteredResult(_0xe2bed5,_0x259e36){return function(_0x5f06fd){if(_0x5f06fd){var _0x5686e5=_0x5f06fd[_0x37c4('0x1b')],_0x372052=_0x259e36['offset'],_0x56cf5f=_0x259e36[_0x37c4('0x1c')]+_0x259e36[_0x37c4('0x1d')],_0x57502b;if(_0x56cf5f>=_0x5686e5){_0x56cf5f=_0x5686e5;_0x57502b=0xc8;}else{_0x57502b=0xce;}_0xe2bed5[_0x37c4('0x19')](_0x57502b);return _0xe2bed5[_0x37c4('0x1e')](_0x37c4('0x1f'),_0x372052+'-'+_0x56cf5f+'/'+_0x5686e5)[_0x37c4('0x1a')](_0x5f06fd);}return null;};}function patchUpdates(_0xb8fcad){return function(_0xd73e78){try{jsonpatch[_0x37c4('0x20')](_0xd73e78,_0xb8fcad,!![]);}catch(_0x52c1a9){return BPromise[_0x37c4('0x21')](_0x52c1a9);}return _0xd73e78['save']();};}function saveUpdates(_0x3a448a,_0x33805d){return function(_0x27fc76){if(_0x27fc76){return _0x27fc76['update'](_0x3a448a)[_0x37c4('0x22')](function(_0xdfa985){return _0xdfa985;});}return null;};}function removeEntity(_0x290dab,_0x16f75e){return function(_0x1394d7){if(_0x1394d7){return _0x1394d7['destroy']()[_0x37c4('0x22')](function(){var _0x14e326=_0x1394d7['get']({'plain':!![]});var _0x8af187=_0x37c4('0x23');return db[_0x37c4('0x24')][_0x37c4('0x25')]({'where':{'type':_0x8af187,'resourceId':_0x14e326['id']}})[_0x37c4('0x22')](function(){return _0x1394d7;});})[_0x37c4('0x22')](function(){_0x290dab['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x461bf7,_0x1b4595){return function(_0x2b38b9){if(!_0x2b38b9){_0x461bf7['sendStatus'](0x194);}return _0x2b38b9;};}function handleError(_0x45b07a,_0x2a3674){_0x2a3674=_0x2a3674||0x1f4;return function(_0x54d6fb){logger[_0x37c4('0x26')](_0x54d6fb['stack']);if(_0x54d6fb[_0x37c4('0x27')]){delete _0x54d6fb[_0x37c4('0x27')];}_0x45b07a[_0x37c4('0x19')](_0x2a3674)[_0x37c4('0x28')](_0x54d6fb);};}exports[_0x37c4('0x29')]=function(_0x3b216f,_0x3c34a3){var _0x1a445c={},_0x407253={},_0x5c803a={'count':0x0,'rows':[]};var _0x48d8d2=_[_0x37c4('0x2a')](db['Schedule'][_0x37c4('0x2b')],function(_0x159160){return{'name':_0x159160[_0x37c4('0x2c')],'type':_0x159160['type'][_0x37c4('0x2d')]};});_0x407253[_0x37c4('0x2e')]=_[_0x37c4('0x2a')](_0x48d8d2,_0x37c4('0x27'));_0x407253[_0x37c4('0x2f')]=_[_0x37c4('0x30')](_0x3b216f[_0x37c4('0x2f')]);_0x407253[_0x37c4('0x31')]=_[_0x37c4('0x32')](_0x407253['model'],_0x407253[_0x37c4('0x2f')]);_0x1a445c[_0x37c4('0x33')]=_['intersection'](_0x407253[_0x37c4('0x2e')],qs[_0x37c4('0x34')](_0x3b216f[_0x37c4('0x2f')]['fields']));_0x1a445c[_0x37c4('0x33')]=_0x1a445c[_0x37c4('0x33')]['length']?_0x1a445c[_0x37c4('0x33')]:_0x407253[_0x37c4('0x2e')];if(!_0x3b216f[_0x37c4('0x2f')][_0x37c4('0x35')](_0x37c4('0x36'))){_0x1a445c[_0x37c4('0x1d')]=qs[_0x37c4('0x1d')](_0x3b216f[_0x37c4('0x2f')][_0x37c4('0x1d')]);_0x1a445c[_0x37c4('0x1c')]=qs[_0x37c4('0x1c')](_0x3b216f[_0x37c4('0x2f')][_0x37c4('0x1c')]);}_0x1a445c[_0x37c4('0x37')]=qs[_0x37c4('0x38')](_0x3b216f[_0x37c4('0x2f')]['sort']);_0x1a445c['where']=qs[_0x37c4('0x31')](_[_0x37c4('0x39')](_0x3b216f['query'],_0x407253[_0x37c4('0x31')]),_0x48d8d2);if(_0x3b216f[_0x37c4('0x2f')][_0x37c4('0x3a')]){_0x1a445c[_0x37c4('0x3b')]=_[_0x37c4('0x3c')](_0x1a445c[_0x37c4('0x3b')],{'$or':_[_0x37c4('0x2a')](_0x48d8d2,function(_0x2f09c2){if(_0x2f09c2[_0x37c4('0x3d')]!==_0x37c4('0x3e')){var _0x1ee14d={};_0x1ee14d[_0x2f09c2[_0x37c4('0x27')]]={'$like':'%'+_0x3b216f[_0x37c4('0x2f')][_0x37c4('0x3a')]+'%'};return _0x1ee14d;}})});}_0x1a445c=_[_0x37c4('0x3c')]({},_0x1a445c,_0x3b216f[_0x37c4('0x3f')]);var _0x51c75c={'where':_0x1a445c[_0x37c4('0x3b')]};return db[_0x37c4('0x40')][_0x37c4('0x1b')](_0x51c75c)[_0x37c4('0x22')](function(_0x5495b0){_0x5c803a[_0x37c4('0x1b')]=_0x5495b0;if(_0x3b216f[_0x37c4('0x2f')]['includeAll']){_0x1a445c[_0x37c4('0x41')]=[{'all':!![]}];}return db[_0x37c4('0x40')][_0x37c4('0x42')](_0x1a445c);})['then'](function(_0x8b03ea){_0x5c803a['rows']=_0x8b03ea;return _0x5c803a;})['then'](respondWithFilteredResult(_0x3c34a3,_0x1a445c))['catch'](handleError(_0x3c34a3,null));};exports[_0x37c4('0x43')]=function(_0xee72c,_0x469710){var _0xc9949={'raw':![],'where':{'id':_0xee72c[_0x37c4('0x44')]['id']}},_0x57c16c={};_0x57c16c[_0x37c4('0x2e')]=_['keys'](db[_0x37c4('0x40')][_0x37c4('0x2b')]);_0x57c16c['query']=_['keys'](_0xee72c[_0x37c4('0x2f')]);_0x57c16c[_0x37c4('0x31')]=_[_0x37c4('0x32')](_0x57c16c[_0x37c4('0x2e')],_0x57c16c[_0x37c4('0x2f')]);_0xc9949[_0x37c4('0x33')]=_[_0x37c4('0x32')](_0x57c16c[_0x37c4('0x2e')],qs['fields'](_0xee72c[_0x37c4('0x2f')][_0x37c4('0x34')]));_0xc9949[_0x37c4('0x33')]=_0xc9949[_0x37c4('0x33')][_0x37c4('0x45')]?_0xc9949['attributes']:_0x57c16c[_0x37c4('0x2e')];if(_0xee72c[_0x37c4('0x2f')][_0x37c4('0x46')]){_0xc9949[_0x37c4('0x41')]=[{'all':!![]}];}_0xc9949=_[_0x37c4('0x3c')]({},_0xc9949,_0xee72c[_0x37c4('0x3f')]);return db['Schedule'][_0x37c4('0x47')](_0xc9949)['then'](handleEntityNotFound(_0x469710,null))['then'](respondWithResult(_0x469710,null))['catch'](handleError(_0x469710,null));};exports[_0x37c4('0x48')]=function(_0x101e6d,_0x28efec){return db[_0x37c4('0x40')]['create'](_0x101e6d[_0x37c4('0x49')],{})[_0x37c4('0x22')](function(_0x187318){var _0x22258f=_0x101e6d[_0x37c4('0x4a')][_0x37c4('0x4b')]({'plain':!![]});if(!_0x22258f)throw new Error(_0x37c4('0x4c'));if(_0x22258f[_0x37c4('0x4d')]===_0x37c4('0x4a')){var _0xe1775e=_0x187318[_0x37c4('0x4b')]({'plain':!![]});var _0x1dd8ff=_0x37c4('0x23');return db[_0x37c4('0x4e')][_0x37c4('0x47')]({'where':{'name':_0x1dd8ff,'userProfileId':_0x22258f[_0x37c4('0x4f')]},'raw':!![]})[_0x37c4('0x22')](function(_0x27a762){if(_0x27a762&&_0x27a762[_0x37c4('0x50')]===0x0){return db[_0x37c4('0x24')][_0x37c4('0x48')]({'name':_0xe1775e[_0x37c4('0x27')],'resourceId':_0xe1775e['id'],'type':_0x27a762[_0x37c4('0x27')],'sectionId':_0x27a762['id']},{})[_0x37c4('0x22')](function(){return _0x187318;});}else{return _0x187318;}})[_0x37c4('0x51')](function(_0x1de314){logger[_0x37c4('0x26')](_0x37c4('0x52'),_0x1de314);throw _0x1de314;});}return _0x187318;})[_0x37c4('0x22')](respondWithResult(_0x28efec,0xc9))['catch'](handleError(_0x28efec,null));};exports[_0x37c4('0x53')]=function(_0x5c9b8f,_0x5d909e){if(_0x5c9b8f[_0x37c4('0x49')]['id']){delete _0x5c9b8f['body']['id'];}return db[_0x37c4('0x40')][_0x37c4('0x47')]({'where':{'id':_0x5c9b8f[_0x37c4('0x44')]['id']}})['then'](handleEntityNotFound(_0x5d909e,null))[_0x37c4('0x22')](saveUpdates(_0x5c9b8f['body'],null))[_0x37c4('0x22')](respondWithResult(_0x5d909e,null))[_0x37c4('0x51')](handleError(_0x5d909e,null));};exports[_0x37c4('0x25')]=function(_0x15d02e,_0x47b913){return db['Schedule']['find']({'where':{'id':_0x15d02e['params']['id']}})['then'](handleEntityNotFound(_0x47b913,null))['then'](removeEntity(_0x47b913,null))[_0x37c4('0x51')](handleError(_0x47b913,null));};exports[_0x37c4('0x54')]=function(_0x5f2f8e,_0x15f857,_0x2c0c66){var _0x5afd41=require(_0x37c4('0x55'));return db['Schedule'][_0x37c4('0x47')]({'where':{'id':_0x5f2f8e[_0x37c4('0x44')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x15f857,null))['then'](function(){_0x5afd41['run'](_0x5f2f8e[_0x37c4('0x44')]['id']);})[_0x37c4('0x22')](respondWithStatusCode(_0x15f857,null))[_0x37c4('0x51')](handleError(_0x15f857,null));};