Built motion from commit (unavailable).|2.5.11
[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 _0xfa42=['Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','run','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','json','apply','save','update','then','Scheduler','UserProfileResource','destroy','error','stack','name','send','index','Schedule','fieldName','key','model','map','keys','filters','attributes','intersection','fields','query','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','merge','includeAll','include','findAll','rows','show','params','rawAttributes','options','find','catch','create','user','get'];(function(_0x31fc42,_0x4a8071){var _0x44d4e8=function(_0xe3dd90){while(--_0xe3dd90){_0x31fc42['push'](_0x31fc42['shift']());}};_0x44d4e8(++_0x4a8071);}(_0xfa42,0xb7));var _0x2fa4=function(_0x1bd36b,_0x235f84){_0x1bd36b=_0x1bd36b-0x0;var _0x4e536b=_0xfa42[_0x1bd36b];return _0x4e536b;};'use strict';var pdf=require(_0x2fa4('0x0'));var emlformat=require(_0x2fa4('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x2fa4('0x2'));var jsonpatch=require(_0x2fa4('0x3'));var rp=require(_0x2fa4('0x4'));var moment=require(_0x2fa4('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2fa4('0x6'));var util=require(_0x2fa4('0x7'));var path=require(_0x2fa4('0x8'));var sox=require(_0x2fa4('0x9'));var csv=require(_0x2fa4('0xa'));var ejs=require(_0x2fa4('0xb'));var fs=require('fs');var _=require(_0x2fa4('0xc'));var squel=require(_0x2fa4('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x2fa4('0xe'));var toCsv=require('to-csv');var querystring=require(_0x2fa4('0xf'));var Papa=require(_0x2fa4('0x10'));var Redis=require(_0x2fa4('0x11'));var authService=require(_0x2fa4('0x12'));var qs=require(_0x2fa4('0x13'));var as=require(_0x2fa4('0x14'));var hardwareService=require(_0x2fa4('0x15'));var logger=require(_0x2fa4('0x16'))(_0x2fa4('0x17'));var utils=require(_0x2fa4('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x2fa4('0x19'));var db=require(_0x2fa4('0x1a'))['db'];function respondWithStatusCode(_0x4c163f,_0x131e51){_0x131e51=_0x131e51||0xcc;return function(_0x597bdf){if(_0x597bdf){return _0x4c163f[_0x2fa4('0x1b')](_0x131e51);}return _0x4c163f[_0x2fa4('0x1c')](_0x131e51)[_0x2fa4('0x1d')]();};}function respondWithResult(_0x11784e,_0x377442){_0x377442=_0x377442||0xc8;return function(_0x58008c){if(_0x58008c){return _0x11784e[_0x2fa4('0x1c')](_0x377442)['json'](_0x58008c);}};}function respondWithFilteredResult(_0x384338,_0x2d415e){return function(_0xdfb132){if(_0xdfb132){var _0x158a36=_0xdfb132[_0x2fa4('0x1e')],_0x48007d=_0x2d415e[_0x2fa4('0x1f')],_0x2bc36a=_0x2d415e['offset']+_0x2d415e[_0x2fa4('0x20')],_0x48a8e1;if(_0x2bc36a>=_0x158a36){_0x2bc36a=_0x158a36;_0x48a8e1=0xc8;}else{_0x48a8e1=0xce;}_0x384338[_0x2fa4('0x1c')](_0x48a8e1);return _0x384338[_0x2fa4('0x21')]('Content-Range',_0x48007d+'-'+_0x2bc36a+'/'+_0x158a36)[_0x2fa4('0x22')](_0xdfb132);}return null;};}function patchUpdates(_0x455a53){return function(_0x184f66){try{jsonpatch[_0x2fa4('0x23')](_0x184f66,_0x455a53,!![]);}catch(_0x200a10){return BPromise['reject'](_0x200a10);}return _0x184f66[_0x2fa4('0x24')]();};}function saveUpdates(_0x27ede5,_0x24f08e){return function(_0x3c7cb4){if(_0x3c7cb4){return _0x3c7cb4[_0x2fa4('0x25')](_0x27ede5)[_0x2fa4('0x26')](function(_0x49cdd6){return _0x49cdd6;});}return null;};}function removeEntity(_0x3fc910,_0x228513){return function(_0x182380){if(_0x182380){return _0x182380['destroy']()['then'](function(){var _0x4c5bfa=_0x182380['get']({'plain':!![]});var _0x3a8526=_0x2fa4('0x27');return db[_0x2fa4('0x28')][_0x2fa4('0x29')]({'where':{'type':_0x3a8526,'resourceId':_0x4c5bfa['id']}})[_0x2fa4('0x26')](function(){return _0x182380;});})[_0x2fa4('0x26')](function(){_0x3fc910[_0x2fa4('0x1c')](0xcc)[_0x2fa4('0x1d')]();});}};}function handleEntityNotFound(_0x5c1b8c,_0x5b49ca){return function(_0x53a092){if(!_0x53a092){_0x5c1b8c[_0x2fa4('0x1b')](0x194);}return _0x53a092;};}function handleError(_0x58cbc5,_0x3a2bc2){_0x3a2bc2=_0x3a2bc2||0x1f4;return function(_0x2c2862){logger[_0x2fa4('0x2a')](_0x2c2862[_0x2fa4('0x2b')]);if(_0x2c2862['name']){delete _0x2c2862[_0x2fa4('0x2c')];}_0x58cbc5['status'](_0x3a2bc2)[_0x2fa4('0x2d')](_0x2c2862);};}exports[_0x2fa4('0x2e')]=function(_0x9470bd,_0x341a09){var _0x3271ac={},_0x276094={},_0x517c0c={'count':0x0,'rows':[]};var _0x4867d2=_['map'](db[_0x2fa4('0x2f')]['rawAttributes'],function(_0x457789){return{'name':_0x457789[_0x2fa4('0x30')],'type':_0x457789['type'][_0x2fa4('0x31')]};});_0x276094[_0x2fa4('0x32')]=_[_0x2fa4('0x33')](_0x4867d2,_0x2fa4('0x2c'));_0x276094['query']=_[_0x2fa4('0x34')](_0x9470bd['query']);_0x276094[_0x2fa4('0x35')]=_['intersection'](_0x276094[_0x2fa4('0x32')],_0x276094['query']);_0x3271ac[_0x2fa4('0x36')]=_[_0x2fa4('0x37')](_0x276094[_0x2fa4('0x32')],qs[_0x2fa4('0x38')](_0x9470bd[_0x2fa4('0x39')]['fields']));_0x3271ac[_0x2fa4('0x36')]=_0x3271ac[_0x2fa4('0x36')][_0x2fa4('0x3a')]?_0x3271ac[_0x2fa4('0x36')]:_0x276094[_0x2fa4('0x32')];if(!_0x9470bd[_0x2fa4('0x39')][_0x2fa4('0x3b')](_0x2fa4('0x3c'))){_0x3271ac[_0x2fa4('0x20')]=qs[_0x2fa4('0x20')](_0x9470bd['query'][_0x2fa4('0x20')]);_0x3271ac[_0x2fa4('0x1f')]=qs[_0x2fa4('0x1f')](_0x9470bd[_0x2fa4('0x39')][_0x2fa4('0x1f')]);}_0x3271ac[_0x2fa4('0x3d')]=qs[_0x2fa4('0x3e')](_0x9470bd['query'][_0x2fa4('0x3e')]);_0x3271ac[_0x2fa4('0x3f')]=qs[_0x2fa4('0x35')](_[_0x2fa4('0x40')](_0x9470bd[_0x2fa4('0x39')],_0x276094[_0x2fa4('0x35')]),_0x4867d2);if(_0x9470bd['query'][_0x2fa4('0x41')]){_0x3271ac['where']=_['merge'](_0x3271ac[_0x2fa4('0x3f')],{'$or':_[_0x2fa4('0x33')](_0x4867d2,function(_0x31ea52){if(_0x31ea52[_0x2fa4('0x42')]!=='VIRTUAL'){var _0xb6e9f6={};_0xb6e9f6[_0x31ea52[_0x2fa4('0x2c')]]={'$like':'%'+_0x9470bd[_0x2fa4('0x39')][_0x2fa4('0x41')]+'%'};return _0xb6e9f6;}})});}_0x3271ac=_[_0x2fa4('0x43')]({},_0x3271ac,_0x9470bd['options']);var _0x25a7a5={'where':_0x3271ac[_0x2fa4('0x3f')]};return db[_0x2fa4('0x2f')][_0x2fa4('0x1e')](_0x25a7a5)[_0x2fa4('0x26')](function(_0x2db37b){_0x517c0c[_0x2fa4('0x1e')]=_0x2db37b;if(_0x9470bd[_0x2fa4('0x39')][_0x2fa4('0x44')]){_0x3271ac[_0x2fa4('0x45')]=[{'all':!![]}];}return db[_0x2fa4('0x2f')][_0x2fa4('0x46')](_0x3271ac);})[_0x2fa4('0x26')](function(_0x58fd76){_0x517c0c[_0x2fa4('0x47')]=_0x58fd76;return _0x517c0c;})[_0x2fa4('0x26')](respondWithFilteredResult(_0x341a09,_0x3271ac))['catch'](handleError(_0x341a09,null));};exports[_0x2fa4('0x48')]=function(_0xe42e26,_0x3803c0){var _0x591cfa={'raw':![],'where':{'id':_0xe42e26[_0x2fa4('0x49')]['id']}},_0xbaeaf7={};_0xbaeaf7['model']=_[_0x2fa4('0x34')](db[_0x2fa4('0x2f')][_0x2fa4('0x4a')]);_0xbaeaf7[_0x2fa4('0x39')]=_[_0x2fa4('0x34')](_0xe42e26['query']);_0xbaeaf7[_0x2fa4('0x35')]=_[_0x2fa4('0x37')](_0xbaeaf7[_0x2fa4('0x32')],_0xbaeaf7[_0x2fa4('0x39')]);_0x591cfa[_0x2fa4('0x36')]=_[_0x2fa4('0x37')](_0xbaeaf7[_0x2fa4('0x32')],qs[_0x2fa4('0x38')](_0xe42e26[_0x2fa4('0x39')]['fields']));_0x591cfa['attributes']=_0x591cfa[_0x2fa4('0x36')][_0x2fa4('0x3a')]?_0x591cfa[_0x2fa4('0x36')]:_0xbaeaf7['model'];if(_0xe42e26[_0x2fa4('0x39')][_0x2fa4('0x44')]){_0x591cfa[_0x2fa4('0x45')]=[{'all':!![]}];}_0x591cfa=_[_0x2fa4('0x43')]({},_0x591cfa,_0xe42e26[_0x2fa4('0x4b')]);return db[_0x2fa4('0x2f')][_0x2fa4('0x4c')](_0x591cfa)[_0x2fa4('0x26')](handleEntityNotFound(_0x3803c0,null))['then'](respondWithResult(_0x3803c0,null))[_0x2fa4('0x4d')](handleError(_0x3803c0,null));};exports[_0x2fa4('0x4e')]=function(_0x403c0e,_0x440d27){return db['Schedule'][_0x2fa4('0x4e')](_0x403c0e['body'],{})[_0x2fa4('0x26')](function(_0x43d153){var _0x74e0ec=_0x403c0e[_0x2fa4('0x4f')][_0x2fa4('0x50')]({'plain':!![]});if(!_0x74e0ec)throw new Error(_0x2fa4('0x51'));if(_0x74e0ec[_0x2fa4('0x52')]===_0x2fa4('0x4f')){var _0x134b0b=_0x43d153['get']({'plain':!![]});var _0x5b2e45=_0x2fa4('0x27');return db['UserProfileSection'][_0x2fa4('0x4c')]({'where':{'name':_0x5b2e45,'userProfileId':_0x74e0ec[_0x2fa4('0x53')]},'raw':!![]})[_0x2fa4('0x26')](function(_0x22c491){if(_0x22c491&&_0x22c491[_0x2fa4('0x54')]===0x0){return db[_0x2fa4('0x28')]['create']({'name':_0x134b0b['name'],'resourceId':_0x134b0b['id'],'type':_0x22c491[_0x2fa4('0x2c')],'sectionId':_0x22c491['id']},{})[_0x2fa4('0x26')](function(){return _0x43d153;});}else{return _0x43d153;}})['catch'](function(_0x395535){logger[_0x2fa4('0x2a')](_0x2fa4('0x55'),_0x395535);throw _0x395535;});}return _0x43d153;})['then'](respondWithResult(_0x440d27,0xc9))['catch'](handleError(_0x440d27,null));};exports[_0x2fa4('0x25')]=function(_0x353b72,_0x41b7c3){if(_0x353b72[_0x2fa4('0x56')]['id']){delete _0x353b72[_0x2fa4('0x56')]['id'];}return db[_0x2fa4('0x2f')][_0x2fa4('0x4c')]({'where':{'id':_0x353b72[_0x2fa4('0x49')]['id']}})[_0x2fa4('0x26')](handleEntityNotFound(_0x41b7c3,null))[_0x2fa4('0x26')](saveUpdates(_0x353b72['body'],null))['then'](respondWithResult(_0x41b7c3,null))[_0x2fa4('0x4d')](handleError(_0x41b7c3,null));};exports['destroy']=function(_0x3a02ea,_0x382768){return db[_0x2fa4('0x2f')][_0x2fa4('0x4c')]({'where':{'id':_0x3a02ea[_0x2fa4('0x49')]['id']}})[_0x2fa4('0x26')](handleEntityNotFound(_0x382768,null))[_0x2fa4('0x26')](removeEntity(_0x382768,null))['catch'](handleError(_0x382768,null));};exports['run']=function(_0x50d175,_0xaaa1bc,_0x277d94){var _0x4252d7=require('../../config/schedule');return db['Schedule']['find']({'where':{'id':_0x50d175[_0x2fa4('0x49')]['id']},'raw':!![]})[_0x2fa4('0x26')](handleEntityNotFound(_0xaaa1bc,null))[_0x2fa4('0x26')](function(){_0x4252d7[_0x2fa4('0x57')](_0x50d175[_0x2fa4('0x49')]['id']);})['then'](respondWithStatusCode(_0xaaa1bc,null))['catch'](handleError(_0xaaa1bc,null));};