Built motion from commit (unavailable).|2.4.20
[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 _0x278c=['model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','body','user','UserProfileSection','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','json','count','offset','set','Content-Range','apply','save','update','then','destroy','get','Scheduler','UserProfileResource','end','error','name','index','map','Schedule','rawAttributes','fieldName','type','key'];(function(_0x33e55a,_0x3d5690){var _0x542283=function(_0x4eba1d){while(--_0x4eba1d){_0x33e55a['push'](_0x33e55a['shift']());}};_0x542283(++_0x3d5690);}(_0x278c,0xcc));var _0xc278=function(_0x65c50e,_0x1aa926){_0x65c50e=_0x65c50e-0x0;var _0x4573e7=_0x278c[_0x65c50e];return _0x4573e7;};'use strict';var pdf=require(_0xc278('0x0'));var emlformat=require(_0xc278('0x1'));var rimraf=require(_0xc278('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc278('0x3'));var rp=require(_0xc278('0x4'));var moment=require(_0xc278('0x5'));var BPromise=require(_0xc278('0x6'));var Mustache=require('mustache');var util=require(_0xc278('0x7'));var path=require(_0xc278('0x8'));var sox=require(_0xc278('0x9'));var csv=require(_0xc278('0xa'));var ejs=require(_0xc278('0xb'));var fs=require('fs');var _=require(_0xc278('0xc'));var squel=require('squel');var crypto=require(_0xc278('0xd'));var jsforce=require(_0xc278('0xe'));var deskjs=require(_0xc278('0xf'));var toCsv=require(_0xc278('0xa'));var querystring=require('querystring');var Papa=require(_0xc278('0x10'));var Redis=require(_0xc278('0x11'));var authService=require(_0xc278('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xc278('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc278('0x14'))('api');var utils=require(_0xc278('0x15'));var config=require(_0xc278('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3a1663,_0xa2c876){_0xa2c876=_0xa2c876||0xcc;return function(_0x2662a4){if(_0x2662a4){return _0x3a1663[_0xc278('0x17')](_0xa2c876);}return _0x3a1663[_0xc278('0x18')](_0xa2c876)['end']();};}function respondWithResult(_0x2bc4ea,_0x529d7f){_0x529d7f=_0x529d7f||0xc8;return function(_0xbe1b92){if(_0xbe1b92){return _0x2bc4ea[_0xc278('0x18')](_0x529d7f)[_0xc278('0x19')](_0xbe1b92);}};}function respondWithFilteredResult(_0xb86e59,_0x5e2ca8){return function(_0x46db31){if(_0x46db31){var _0x5b5f59=_0x46db31[_0xc278('0x1a')],_0x4ef17c=_0x5e2ca8[_0xc278('0x1b')],_0x4abfb5=_0x5e2ca8['offset']+_0x5e2ca8['limit'],_0x37f2e4;if(_0x4abfb5>=_0x5b5f59){_0x4abfb5=_0x5b5f59;_0x37f2e4=0xc8;}else{_0x37f2e4=0xce;}_0xb86e59[_0xc278('0x18')](_0x37f2e4);return _0xb86e59[_0xc278('0x1c')](_0xc278('0x1d'),_0x4ef17c+'-'+_0x4abfb5+'/'+_0x5b5f59)['json'](_0x46db31);}return null;};}function patchUpdates(_0x1cefdf){return function(_0x521f23){try{jsonpatch[_0xc278('0x1e')](_0x521f23,_0x1cefdf,!![]);}catch(_0x42c75c){return BPromise['reject'](_0x42c75c);}return _0x521f23[_0xc278('0x1f')]();};}function saveUpdates(_0x21f97c,_0x1e00eb){return function(_0x8c0e2b){if(_0x8c0e2b){return _0x8c0e2b[_0xc278('0x20')](_0x21f97c)[_0xc278('0x21')](function(_0x3ba5f9){return _0x3ba5f9;});}return null;};}function removeEntity(_0x3eb7ea,_0x4e9f8c){return function(_0x10bfdd){if(_0x10bfdd){return _0x10bfdd[_0xc278('0x22')]()[_0xc278('0x21')](function(){var _0x588915=_0x10bfdd[_0xc278('0x23')]({'plain':!![]});var _0x5247ab=_0xc278('0x24');return db[_0xc278('0x25')][_0xc278('0x22')]({'where':{'type':_0x5247ab,'resourceId':_0x588915['id']}})[_0xc278('0x21')](function(){return _0x10bfdd;});})[_0xc278('0x21')](function(){_0x3eb7ea[_0xc278('0x18')](0xcc)[_0xc278('0x26')]();});}};}function handleEntityNotFound(_0x3c74df,_0x3487ce){return function(_0x278ca3){if(!_0x278ca3){_0x3c74df[_0xc278('0x17')](0x194);}return _0x278ca3;};}function handleError(_0x1ebc84,_0x14a263){_0x14a263=_0x14a263||0x1f4;return function(_0x3cf0a4){logger[_0xc278('0x27')](_0x3cf0a4['stack']);if(_0x3cf0a4[_0xc278('0x28')]){delete _0x3cf0a4[_0xc278('0x28')];}_0x1ebc84[_0xc278('0x18')](_0x14a263)['send'](_0x3cf0a4);};}exports[_0xc278('0x29')]=function(_0x27e5ea,_0x41d661){var _0x1cc3cd={},_0x1ca284={},_0x35aa82={'count':0x0,'rows':[]};var _0x151900=_[_0xc278('0x2a')](db[_0xc278('0x2b')][_0xc278('0x2c')],function(_0x250aa9){return{'name':_0x250aa9[_0xc278('0x2d')],'type':_0x250aa9[_0xc278('0x2e')][_0xc278('0x2f')]};});_0x1ca284[_0xc278('0x30')]=_['map'](_0x151900,_0xc278('0x28'));_0x1ca284[_0xc278('0x31')]=_[_0xc278('0x32')](_0x27e5ea[_0xc278('0x31')]);_0x1ca284[_0xc278('0x33')]=_[_0xc278('0x34')](_0x1ca284[_0xc278('0x30')],_0x1ca284['query']);_0x1cc3cd['attributes']=_[_0xc278('0x34')](_0x1ca284[_0xc278('0x30')],qs[_0xc278('0x35')](_0x27e5ea[_0xc278('0x31')][_0xc278('0x35')]));_0x1cc3cd[_0xc278('0x36')]=_0x1cc3cd[_0xc278('0x36')][_0xc278('0x37')]?_0x1cc3cd[_0xc278('0x36')]:_0x1ca284[_0xc278('0x30')];if(!_0x27e5ea['query'][_0xc278('0x38')](_0xc278('0x39'))){_0x1cc3cd[_0xc278('0x3a')]=qs[_0xc278('0x3a')](_0x27e5ea[_0xc278('0x31')][_0xc278('0x3a')]);_0x1cc3cd[_0xc278('0x1b')]=qs[_0xc278('0x1b')](_0x27e5ea[_0xc278('0x31')][_0xc278('0x1b')]);}_0x1cc3cd[_0xc278('0x3b')]=qs[_0xc278('0x3c')](_0x27e5ea[_0xc278('0x31')][_0xc278('0x3c')]);_0x1cc3cd[_0xc278('0x3d')]=qs[_0xc278('0x33')](_[_0xc278('0x3e')](_0x27e5ea['query'],_0x1ca284[_0xc278('0x33')]));if(_0x27e5ea['query'][_0xc278('0x3f')]){_0x1cc3cd['where']=_[_0xc278('0x40')](_0x1cc3cd['where'],{'$or':_[_0xc278('0x2a')](_0x151900,function(_0x23a09e){if(_0x23a09e[_0xc278('0x2e')]!==_0xc278('0x41')){var _0x3c1dbd={};_0x3c1dbd[_0x23a09e[_0xc278('0x28')]]={'$like':'%'+_0x27e5ea['query']['filter']+'%'};return _0x3c1dbd;}})});}_0x1cc3cd=_[_0xc278('0x40')]({},_0x1cc3cd,_0x27e5ea[_0xc278('0x42')]);var _0x33c86c={'where':_0x1cc3cd[_0xc278('0x3d')]};return db[_0xc278('0x2b')][_0xc278('0x1a')](_0x33c86c)[_0xc278('0x21')](function(_0xdbd6b0){_0x35aa82[_0xc278('0x1a')]=_0xdbd6b0;if(_0x27e5ea[_0xc278('0x31')][_0xc278('0x43')]){_0x1cc3cd[_0xc278('0x44')]=[{'all':!![]}];}return db['Schedule'][_0xc278('0x45')](_0x1cc3cd);})[_0xc278('0x21')](function(_0x412e0c){_0x35aa82[_0xc278('0x46')]=_0x412e0c;return _0x35aa82;})[_0xc278('0x21')](respondWithFilteredResult(_0x41d661,_0x1cc3cd))[_0xc278('0x47')](handleError(_0x41d661,null));};exports[_0xc278('0x48')]=function(_0x22ba01,_0x199fc1){var _0x297706={'raw':![],'where':{'id':_0x22ba01[_0xc278('0x49')]['id']}},_0x3276d0={};_0x3276d0[_0xc278('0x30')]=_['keys'](db[_0xc278('0x2b')][_0xc278('0x2c')]);_0x3276d0[_0xc278('0x31')]=_[_0xc278('0x32')](_0x22ba01[_0xc278('0x31')]);_0x3276d0[_0xc278('0x33')]=_['intersection'](_0x3276d0[_0xc278('0x30')],_0x3276d0[_0xc278('0x31')]);_0x297706[_0xc278('0x36')]=_[_0xc278('0x34')](_0x3276d0[_0xc278('0x30')],qs[_0xc278('0x35')](_0x22ba01['query'][_0xc278('0x35')]));_0x297706[_0xc278('0x36')]=_0x297706[_0xc278('0x36')]['length']?_0x297706[_0xc278('0x36')]:_0x3276d0[_0xc278('0x30')];if(_0x22ba01['query'][_0xc278('0x43')]){_0x297706[_0xc278('0x44')]=[{'all':!![]}];}_0x297706=_[_0xc278('0x40')]({},_0x297706,_0x22ba01[_0xc278('0x42')]);return db[_0xc278('0x2b')][_0xc278('0x4a')](_0x297706)[_0xc278('0x21')](handleEntityNotFound(_0x199fc1,null))[_0xc278('0x21')](respondWithResult(_0x199fc1,null))[_0xc278('0x47')](handleError(_0x199fc1,null));};exports['create']=function(_0x1ee088,_0x593eb7){return db[_0xc278('0x2b')]['create'](_0x1ee088[_0xc278('0x4b')],{})[_0xc278('0x21')](function(_0x14dcdf){var _0x5e6e1b=_0x1ee088[_0xc278('0x4c')][_0xc278('0x23')]({'plain':!![]});if(!_0x5e6e1b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5e6e1b['role']==='user'){var _0x5a3331=_0x14dcdf[_0xc278('0x23')]({'plain':!![]});var _0x66feb4=_0xc278('0x24');return db[_0xc278('0x4d')]['find']({'where':{'name':_0x66feb4,'userProfileId':_0x5e6e1b[_0xc278('0x4e')]},'raw':!![]})[_0xc278('0x21')](function(_0x1acc87){if(_0x1acc87&&_0x1acc87[_0xc278('0x4f')]===0x0){return db[_0xc278('0x25')][_0xc278('0x50')]({'name':_0x5a3331['name'],'resourceId':_0x5a3331['id'],'type':_0x1acc87[_0xc278('0x28')],'sectionId':_0x1acc87['id']},{})[_0xc278('0x21')](function(){return _0x14dcdf;});}else{return _0x14dcdf;}})[_0xc278('0x47')](function(_0x171b94){logger[_0xc278('0x27')](_0xc278('0x51'),_0x171b94);throw _0x171b94;});}return _0x14dcdf;})[_0xc278('0x21')](respondWithResult(_0x593eb7,0xc9))[_0xc278('0x47')](handleError(_0x593eb7,null));};exports[_0xc278('0x20')]=function(_0xee125c,_0x59d494){if(_0xee125c[_0xc278('0x4b')]['id']){delete _0xee125c[_0xc278('0x4b')]['id'];}return db[_0xc278('0x2b')][_0xc278('0x4a')]({'where':{'id':_0xee125c['params']['id']}})['then'](handleEntityNotFound(_0x59d494,null))['then'](saveUpdates(_0xee125c[_0xc278('0x4b')],null))['then'](respondWithResult(_0x59d494,null))[_0xc278('0x47')](handleError(_0x59d494,null));};exports[_0xc278('0x22')]=function(_0x335a7d,_0x2e06c6){return db[_0xc278('0x2b')][_0xc278('0x4a')]({'where':{'id':_0x335a7d[_0xc278('0x49')]['id']}})[_0xc278('0x21')](handleEntityNotFound(_0x2e06c6,null))[_0xc278('0x21')](removeEntity(_0x2e06c6,null))['catch'](handleError(_0x2e06c6,null));};exports[_0xc278('0x52')]=function(_0x4231d8,_0x5dc4a6,_0x2b8b32){var _0x13f3a3=require(_0xc278('0x53'));return db[_0xc278('0x2b')][_0xc278('0x4a')]({'where':{'id':_0x4231d8[_0xc278('0x49')]['id']},'raw':!![]})[_0xc278('0x21')](handleEntityNotFound(_0x5dc4a6,null))[_0xc278('0x21')](function(){_0x13f3a3[_0xc278('0x52')](_0x4231d8[_0xc278('0x49')]['id']);})[_0xc278('0x21')](respondWithStatusCode(_0x5dc4a6,null))[_0xc278('0x47')](handleError(_0x5dc4a6,null));};