Built motion from commit 25580385.|2.6.2
[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 _0x5aa8=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','get','UserProfileResource','error','stack','name','send','Schedule','rawAttributes','fieldName','key','query','keys','filters','model','attributes','intersection','fields','length','nolimit','limit','sort','pick','filter','where','merge','map','type','VIRTUAL','include','findAll','rows','catch','includeAll','options','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Scheduler','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','destroy','run','../../config/schedule','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service'];(function(_0x1a34c6,_0x2ac559){var _0x2b6574=function(_0x21eda4){while(--_0x21eda4){_0x1a34c6['push'](_0x1a34c6['shift']());}};_0x2b6574(++_0x2ac559);}(_0x5aa8,0x1b3));var _0x85aa=function(_0x331580,_0x269301){_0x331580=_0x331580-0x0;var _0x201b6a=_0x5aa8[_0x331580];return _0x201b6a;};'use strict';var emlformat=require(_0x85aa('0x0'));var rimraf=require(_0x85aa('0x1'));var zipdir=require(_0x85aa('0x2'));var jsonpatch=require(_0x85aa('0x3'));var rp=require(_0x85aa('0x4'));var moment=require(_0x85aa('0x5'));var BPromise=require(_0x85aa('0x6'));var Mustache=require('mustache');var util=require(_0x85aa('0x7'));var path=require(_0x85aa('0x8'));var sox=require(_0x85aa('0x9'));var csv=require(_0x85aa('0xa'));var ejs=require(_0x85aa('0xb'));var fs=require('fs');var fs_extra=require(_0x85aa('0xc'));var _=require('lodash');var squel=require(_0x85aa('0xd'));var crypto=require(_0x85aa('0xe'));var jsforce=require(_0x85aa('0xf'));var deskjs=require(_0x85aa('0x10'));var toCsv=require(_0x85aa('0xa'));var querystring=require(_0x85aa('0x11'));var Papa=require(_0x85aa('0x12'));var Redis=require('ioredis');var authService=require(_0x85aa('0x13'));var qs=require(_0x85aa('0x14'));var as=require(_0x85aa('0x15'));var hardwareService=require(_0x85aa('0x16'));var logger=require(_0x85aa('0x17'))(_0x85aa('0x18'));var utils=require(_0x85aa('0x19'));var config=require(_0x85aa('0x1a'));var licenseUtil=require(_0x85aa('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5ce3cf,_0x947ad5){_0x947ad5=_0x947ad5||0xcc;return function(_0x5e062a){if(_0x5e062a){return _0x5ce3cf[_0x85aa('0x1c')](_0x947ad5);}return _0x5ce3cf[_0x85aa('0x1d')](_0x947ad5)[_0x85aa('0x1e')]();};}function respondWithResult(_0x4c4b7e,_0x136b30){_0x136b30=_0x136b30||0xc8;return function(_0x49c1ef){if(_0x49c1ef){return _0x4c4b7e[_0x85aa('0x1d')](_0x136b30)[_0x85aa('0x1f')](_0x49c1ef);}};}function respondWithFilteredResult(_0x1e092e,_0x4a3c0e){return function(_0x3bd75d){if(_0x3bd75d){var _0x16c973=typeof _0x4a3c0e[_0x85aa('0x20')]===_0x85aa('0x21')&&typeof _0x4a3c0e['limit']==='undefined';var _0x27aa2d=_0x3bd75d[_0x85aa('0x22')];var _0x3269be=_0x16c973?0x0:_0x4a3c0e['offset'];var _0x36ec18=_0x16c973?_0x3bd75d[_0x85aa('0x22')]:_0x4a3c0e[_0x85aa('0x20')]+_0x4a3c0e['limit'];var _0x5f84ca;if(_0x36ec18>=_0x27aa2d){_0x36ec18=_0x27aa2d;_0x5f84ca=0xc8;}else{_0x5f84ca=0xce;}_0x1e092e[_0x85aa('0x1d')](_0x5f84ca);return _0x1e092e[_0x85aa('0x23')](_0x85aa('0x24'),_0x3269be+'-'+_0x36ec18+'/'+_0x27aa2d)[_0x85aa('0x1f')](_0x3bd75d);}return null;};}function patchUpdates(_0x533b0f){return function(_0x4b23f6){try{jsonpatch[_0x85aa('0x25')](_0x4b23f6,_0x533b0f,!![]);}catch(_0x16604a){return BPromise[_0x85aa('0x26')](_0x16604a);}return _0x4b23f6[_0x85aa('0x27')]();};}function saveUpdates(_0x2601b5,_0x2eb08b){return function(_0x5b32ac){if(_0x5b32ac){return _0x5b32ac[_0x85aa('0x28')](_0x2601b5)[_0x85aa('0x29')](function(_0x2fe49f){return _0x2fe49f;});}return null;};}function removeEntity(_0x5cafc0,_0xd5824){return function(_0x24f5d2){if(_0x24f5d2){return _0x24f5d2['destroy']()[_0x85aa('0x29')](function(){var _0x3eaeb=_0x24f5d2[_0x85aa('0x2a')]({'plain':!![]});var _0x4ce539='Scheduler';return db[_0x85aa('0x2b')]['destroy']({'where':{'type':_0x4ce539,'resourceId':_0x3eaeb['id']}})['then'](function(){return _0x24f5d2;});})[_0x85aa('0x29')](function(){_0x5cafc0['status'](0xcc)[_0x85aa('0x1e')]();});}};}function handleEntityNotFound(_0xf08624,_0x4e4ece){return function(_0xc98d0){if(!_0xc98d0){_0xf08624['sendStatus'](0x194);}return _0xc98d0;};}function handleError(_0x32dbe0,_0x21e95b){_0x21e95b=_0x21e95b||0x1f4;return function(_0x5ceaf0){logger[_0x85aa('0x2c')](_0x5ceaf0[_0x85aa('0x2d')]);if(_0x5ceaf0[_0x85aa('0x2e')]){delete _0x5ceaf0[_0x85aa('0x2e')];}_0x32dbe0[_0x85aa('0x1d')](_0x21e95b)[_0x85aa('0x2f')](_0x5ceaf0);};}exports['index']=function(_0x44bb9a,_0x5f13f0){var _0x32a413={},_0x2a3963={},_0x1412f3={'count':0x0,'rows':[]};var _0xf60b62=_['map'](db[_0x85aa('0x30')][_0x85aa('0x31')],function(_0x45d586){return{'name':_0x45d586[_0x85aa('0x32')],'type':_0x45d586['type'][_0x85aa('0x33')]};});_0x2a3963['model']=_['map'](_0xf60b62,'name');_0x2a3963[_0x85aa('0x34')]=_[_0x85aa('0x35')](_0x44bb9a[_0x85aa('0x34')]);_0x2a3963[_0x85aa('0x36')]=_['intersection'](_0x2a3963[_0x85aa('0x37')],_0x2a3963[_0x85aa('0x34')]);_0x32a413[_0x85aa('0x38')]=_[_0x85aa('0x39')](_0x2a3963['model'],qs[_0x85aa('0x3a')](_0x44bb9a[_0x85aa('0x34')][_0x85aa('0x3a')]));_0x32a413[_0x85aa('0x38')]=_0x32a413[_0x85aa('0x38')][_0x85aa('0x3b')]?_0x32a413['attributes']:_0x2a3963[_0x85aa('0x37')];if(!_0x44bb9a[_0x85aa('0x34')]['hasOwnProperty'](_0x85aa('0x3c'))){_0x32a413[_0x85aa('0x3d')]=qs[_0x85aa('0x3d')](_0x44bb9a['query'][_0x85aa('0x3d')]);_0x32a413[_0x85aa('0x20')]=qs[_0x85aa('0x20')](_0x44bb9a[_0x85aa('0x34')][_0x85aa('0x20')]);}_0x32a413['order']=qs[_0x85aa('0x3e')](_0x44bb9a[_0x85aa('0x34')][_0x85aa('0x3e')]);_0x32a413['where']=qs['filters'](_[_0x85aa('0x3f')](_0x44bb9a['query'],_0x2a3963[_0x85aa('0x36')]),_0xf60b62);if(_0x44bb9a['query'][_0x85aa('0x40')]){_0x32a413[_0x85aa('0x41')]=_[_0x85aa('0x42')](_0x32a413[_0x85aa('0x41')],{'$or':_[_0x85aa('0x43')](_0xf60b62,function(_0x4596ea){if(_0x4596ea[_0x85aa('0x44')]!==_0x85aa('0x45')){var _0x3f582e={};_0x3f582e[_0x4596ea[_0x85aa('0x2e')]]={'$like':'%'+_0x44bb9a[_0x85aa('0x34')][_0x85aa('0x40')]+'%'};return _0x3f582e;}})});}_0x32a413=_[_0x85aa('0x42')]({},_0x32a413,_0x44bb9a['options']);var _0x2ff5a1={'where':_0x32a413[_0x85aa('0x41')]};return db['Schedule'][_0x85aa('0x22')](_0x2ff5a1)[_0x85aa('0x29')](function(_0x59fdd4){_0x1412f3[_0x85aa('0x22')]=_0x59fdd4;if(_0x44bb9a['query']['includeAll']){_0x32a413[_0x85aa('0x46')]=[{'all':!![]}];}return db[_0x85aa('0x30')][_0x85aa('0x47')](_0x32a413);})[_0x85aa('0x29')](function(_0x2ed274){_0x1412f3[_0x85aa('0x48')]=_0x2ed274;return _0x1412f3;})[_0x85aa('0x29')](respondWithFilteredResult(_0x5f13f0,_0x32a413))[_0x85aa('0x49')](handleError(_0x5f13f0,null));};exports['show']=function(_0x16e1ce,_0x1e68b9){var _0x5775d8={'raw':![],'where':{'id':_0x16e1ce['params']['id']}},_0x203cde={};_0x203cde[_0x85aa('0x37')]=_[_0x85aa('0x35')](db[_0x85aa('0x30')][_0x85aa('0x31')]);_0x203cde[_0x85aa('0x34')]=_[_0x85aa('0x35')](_0x16e1ce[_0x85aa('0x34')]);_0x203cde[_0x85aa('0x36')]=_['intersection'](_0x203cde['model'],_0x203cde['query']);_0x5775d8[_0x85aa('0x38')]=_['intersection'](_0x203cde['model'],qs[_0x85aa('0x3a')](_0x16e1ce[_0x85aa('0x34')][_0x85aa('0x3a')]));_0x5775d8[_0x85aa('0x38')]=_0x5775d8[_0x85aa('0x38')]['length']?_0x5775d8[_0x85aa('0x38')]:_0x203cde[_0x85aa('0x37')];if(_0x16e1ce[_0x85aa('0x34')][_0x85aa('0x4a')]){_0x5775d8[_0x85aa('0x46')]=[{'all':!![]}];}_0x5775d8=_['merge']({},_0x5775d8,_0x16e1ce[_0x85aa('0x4b')]);return db[_0x85aa('0x30')]['find'](_0x5775d8)['then'](handleEntityNotFound(_0x1e68b9,null))['then'](respondWithResult(_0x1e68b9,null))['catch'](handleError(_0x1e68b9,null));};exports['create']=function(_0xeaa9f8,_0x4870cf){return db[_0x85aa('0x30')][_0x85aa('0x4c')](_0xeaa9f8['body'],{})[_0x85aa('0x29')](function(_0x9f5f3e){var _0x443464=_0xeaa9f8[_0x85aa('0x4d')][_0x85aa('0x2a')]({'plain':!![]});if(!_0x443464)throw new Error(_0x85aa('0x4e'));if(_0x443464[_0x85aa('0x4f')]===_0x85aa('0x4d')){var _0x271ab0=_0x9f5f3e[_0x85aa('0x2a')]({'plain':!![]});var _0x2c9836=_0x85aa('0x50');return db[_0x85aa('0x51')][_0x85aa('0x52')]({'where':{'name':_0x2c9836,'userProfileId':_0x443464[_0x85aa('0x53')]},'raw':!![]})[_0x85aa('0x29')](function(_0xf2f7fe){if(_0xf2f7fe&&_0xf2f7fe[_0x85aa('0x54')]===0x0){return db[_0x85aa('0x2b')]['create']({'name':_0x271ab0[_0x85aa('0x2e')],'resourceId':_0x271ab0['id'],'type':_0xf2f7fe[_0x85aa('0x2e')],'sectionId':_0xf2f7fe['id']},{})[_0x85aa('0x29')](function(){return _0x9f5f3e;});}else{return _0x9f5f3e;}})[_0x85aa('0x49')](function(_0x603ffa){logger[_0x85aa('0x2c')](_0x85aa('0x55'),_0x603ffa);throw _0x603ffa;});}return _0x9f5f3e;})[_0x85aa('0x29')](respondWithResult(_0x4870cf,0xc9))[_0x85aa('0x49')](handleError(_0x4870cf,null));};exports['update']=function(_0x2aafa6,_0x545875){if(_0x2aafa6[_0x85aa('0x56')]['id']){delete _0x2aafa6['body']['id'];}return db[_0x85aa('0x30')][_0x85aa('0x52')]({'where':{'id':_0x2aafa6[_0x85aa('0x57')]['id']}})[_0x85aa('0x29')](handleEntityNotFound(_0x545875,null))[_0x85aa('0x29')](saveUpdates(_0x2aafa6[_0x85aa('0x56')],null))[_0x85aa('0x29')](respondWithResult(_0x545875,null))['catch'](handleError(_0x545875,null));};exports[_0x85aa('0x58')]=function(_0x4b0e4b,_0x471311){return db['Schedule']['find']({'where':{'id':_0x4b0e4b[_0x85aa('0x57')]['id']}})[_0x85aa('0x29')](handleEntityNotFound(_0x471311,null))['then'](removeEntity(_0x471311,null))['catch'](handleError(_0x471311,null));};exports[_0x85aa('0x59')]=function(_0x1dee3c,_0x458d10,_0x2f9ca0){var _0x1115fa=require(_0x85aa('0x5a'));return db['Schedule'][_0x85aa('0x52')]({'where':{'id':_0x1dee3c[_0x85aa('0x57')]['id']},'raw':!![]})[_0x85aa('0x29')](handleEntityNotFound(_0x458d10,null))[_0x85aa('0x29')](function(){_0x1115fa['run'](_0x1dee3c[_0x85aa('0x57')]['id']);})[_0x85aa('0x29')](respondWithStatusCode(_0x458d10,null))['catch'](handleError(_0x458d10,null));};