Built motion from commit (unavailable).|2.5.25
[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 _0x5f66=['model','nolimit','order','sort','filter','where','VIRTUAL','merge','includeAll','include','findAll','catch','show','params','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','run','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','reject','save','update','then','get','Scheduler','UserProfileResource','destroy','error','stack','name','send','map','Schedule','rawAttributes','type','key','query','keys','filters','intersection','attributes','fields','length'];(function(_0x463cf7,_0x6b714b){var _0x5e5219=function(_0x5e5e69){while(--_0x5e5e69){_0x463cf7['push'](_0x463cf7['shift']());}};_0x5e5219(++_0x6b714b);}(_0x5f66,0x1a0));var _0x65f6=function(_0x297fd3,_0x115406){_0x297fd3=_0x297fd3-0x0;var _0x2af381=_0x5f66[_0x297fd3];return _0x2af381;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x65f6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x65f6('0x1'));var jsonpatch=require(_0x65f6('0x2'));var rp=require(_0x65f6('0x3'));var moment=require(_0x65f6('0x4'));var BPromise=require(_0x65f6('0x5'));var Mustache=require('mustache');var util=require(_0x65f6('0x6'));var path=require('path');var sox=require(_0x65f6('0x7'));var csv=require(_0x65f6('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x65f6('0x9'));var crypto=require(_0x65f6('0xa'));var jsforce=require(_0x65f6('0xb'));var deskjs=require(_0x65f6('0xc'));var toCsv=require(_0x65f6('0x8'));var querystring=require(_0x65f6('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x65f6('0xe'));var qs=require(_0x65f6('0xf'));var as=require(_0x65f6('0x10'));var hardwareService=require(_0x65f6('0x11'));var logger=require('../../config/logger')(_0x65f6('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x65f6('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x419819,_0x4862a5){_0x4862a5=_0x4862a5||0xcc;return function(_0x2f964a){if(_0x2f964a){return _0x419819[_0x65f6('0x14')](_0x4862a5);}return _0x419819[_0x65f6('0x15')](_0x4862a5)[_0x65f6('0x16')]();};}function respondWithResult(_0x369f96,_0x1d29fd){_0x1d29fd=_0x1d29fd||0xc8;return function(_0x44144b){if(_0x44144b){return _0x369f96[_0x65f6('0x15')](_0x1d29fd)[_0x65f6('0x17')](_0x44144b);}};}function respondWithFilteredResult(_0x3440af,_0x59154e){return function(_0x19b9ff){if(_0x19b9ff){var _0x49a913=_0x19b9ff[_0x65f6('0x18')],_0x5dd324=_0x59154e[_0x65f6('0x19')],_0x1693e6=_0x59154e[_0x65f6('0x19')]+_0x59154e[_0x65f6('0x1a')],_0x5c69f8;if(_0x1693e6>=_0x49a913){_0x1693e6=_0x49a913;_0x5c69f8=0xc8;}else{_0x5c69f8=0xce;}_0x3440af[_0x65f6('0x15')](_0x5c69f8);return _0x3440af[_0x65f6('0x1b')]('Content-Range',_0x5dd324+'-'+_0x1693e6+'/'+_0x49a913)['json'](_0x19b9ff);}return null;};}function patchUpdates(_0x2d538c){return function(_0x5b4055){try{jsonpatch['apply'](_0x5b4055,_0x2d538c,!![]);}catch(_0x5c5b91){return BPromise[_0x65f6('0x1c')](_0x5c5b91);}return _0x5b4055[_0x65f6('0x1d')]();};}function saveUpdates(_0x5114a4,_0x39e19f){return function(_0x270893){if(_0x270893){return _0x270893[_0x65f6('0x1e')](_0x5114a4)[_0x65f6('0x1f')](function(_0x219ab2){return _0x219ab2;});}return null;};}function removeEntity(_0xc139c2,_0x581374){return function(_0x197a49){if(_0x197a49){return _0x197a49['destroy']()['then'](function(){var _0x212247=_0x197a49[_0x65f6('0x20')]({'plain':!![]});var _0x524e42=_0x65f6('0x21');return db[_0x65f6('0x22')][_0x65f6('0x23')]({'where':{'type':_0x524e42,'resourceId':_0x212247['id']}})[_0x65f6('0x1f')](function(){return _0x197a49;});})['then'](function(){_0xc139c2[_0x65f6('0x15')](0xcc)[_0x65f6('0x16')]();});}};}function handleEntityNotFound(_0x20a161,_0x5963e0){return function(_0x5cb131){if(!_0x5cb131){_0x20a161['sendStatus'](0x194);}return _0x5cb131;};}function handleError(_0x29abdb,_0x16cde8){_0x16cde8=_0x16cde8||0x1f4;return function(_0x4b2292){logger[_0x65f6('0x24')](_0x4b2292[_0x65f6('0x25')]);if(_0x4b2292['name']){delete _0x4b2292[_0x65f6('0x26')];}_0x29abdb[_0x65f6('0x15')](_0x16cde8)[_0x65f6('0x27')](_0x4b2292);};}exports['index']=function(_0x4ac04b,_0x488d36){var _0x266cfe={},_0x3c032f={},_0x4344b3={'count':0x0,'rows':[]};var _0x408ccc=_[_0x65f6('0x28')](db[_0x65f6('0x29')][_0x65f6('0x2a')],function(_0x4ace4c){return{'name':_0x4ace4c['fieldName'],'type':_0x4ace4c[_0x65f6('0x2b')][_0x65f6('0x2c')]};});_0x3c032f['model']=_['map'](_0x408ccc,_0x65f6('0x26'));_0x3c032f[_0x65f6('0x2d')]=_[_0x65f6('0x2e')](_0x4ac04b[_0x65f6('0x2d')]);_0x3c032f[_0x65f6('0x2f')]=_[_0x65f6('0x30')](_0x3c032f['model'],_0x3c032f[_0x65f6('0x2d')]);_0x266cfe[_0x65f6('0x31')]=_[_0x65f6('0x30')](_0x3c032f['model'],qs[_0x65f6('0x32')](_0x4ac04b[_0x65f6('0x2d')][_0x65f6('0x32')]));_0x266cfe[_0x65f6('0x31')]=_0x266cfe[_0x65f6('0x31')][_0x65f6('0x33')]?_0x266cfe['attributes']:_0x3c032f[_0x65f6('0x34')];if(!_0x4ac04b[_0x65f6('0x2d')]['hasOwnProperty'](_0x65f6('0x35'))){_0x266cfe['limit']=qs[_0x65f6('0x1a')](_0x4ac04b['query'][_0x65f6('0x1a')]);_0x266cfe[_0x65f6('0x19')]=qs['offset'](_0x4ac04b[_0x65f6('0x2d')][_0x65f6('0x19')]);}_0x266cfe[_0x65f6('0x36')]=qs['sort'](_0x4ac04b['query'][_0x65f6('0x37')]);_0x266cfe['where']=qs[_0x65f6('0x2f')](_['pick'](_0x4ac04b[_0x65f6('0x2d')],_0x3c032f[_0x65f6('0x2f')]),_0x408ccc);if(_0x4ac04b['query'][_0x65f6('0x38')]){_0x266cfe['where']=_['merge'](_0x266cfe[_0x65f6('0x39')],{'$or':_[_0x65f6('0x28')](_0x408ccc,function(_0x413956){if(_0x413956[_0x65f6('0x2b')]!==_0x65f6('0x3a')){var _0x28845a={};_0x28845a[_0x413956[_0x65f6('0x26')]]={'$like':'%'+_0x4ac04b[_0x65f6('0x2d')]['filter']+'%'};return _0x28845a;}})});}_0x266cfe=_[_0x65f6('0x3b')]({},_0x266cfe,_0x4ac04b['options']);var _0x12a589={'where':_0x266cfe[_0x65f6('0x39')]};return db[_0x65f6('0x29')][_0x65f6('0x18')](_0x12a589)['then'](function(_0x32148f){_0x4344b3[_0x65f6('0x18')]=_0x32148f;if(_0x4ac04b[_0x65f6('0x2d')][_0x65f6('0x3c')]){_0x266cfe[_0x65f6('0x3d')]=[{'all':!![]}];}return db[_0x65f6('0x29')][_0x65f6('0x3e')](_0x266cfe);})[_0x65f6('0x1f')](function(_0x35c195){_0x4344b3['rows']=_0x35c195;return _0x4344b3;})[_0x65f6('0x1f')](respondWithFilteredResult(_0x488d36,_0x266cfe))[_0x65f6('0x3f')](handleError(_0x488d36,null));};exports[_0x65f6('0x40')]=function(_0x181798,_0x83e2d9){var _0x1ac040={'raw':![],'where':{'id':_0x181798[_0x65f6('0x41')]['id']}},_0xe0b72d={};_0xe0b72d[_0x65f6('0x34')]=_[_0x65f6('0x2e')](db[_0x65f6('0x29')][_0x65f6('0x2a')]);_0xe0b72d[_0x65f6('0x2d')]=_[_0x65f6('0x2e')](_0x181798[_0x65f6('0x2d')]);_0xe0b72d[_0x65f6('0x2f')]=_['intersection'](_0xe0b72d[_0x65f6('0x34')],_0xe0b72d[_0x65f6('0x2d')]);_0x1ac040[_0x65f6('0x31')]=_[_0x65f6('0x30')](_0xe0b72d['model'],qs[_0x65f6('0x32')](_0x181798[_0x65f6('0x2d')][_0x65f6('0x32')]));_0x1ac040['attributes']=_0x1ac040[_0x65f6('0x31')][_0x65f6('0x33')]?_0x1ac040[_0x65f6('0x31')]:_0xe0b72d[_0x65f6('0x34')];if(_0x181798['query'][_0x65f6('0x3c')]){_0x1ac040['include']=[{'all':!![]}];}_0x1ac040=_[_0x65f6('0x3b')]({},_0x1ac040,_0x181798[_0x65f6('0x42')]);return db['Schedule'][_0x65f6('0x43')](_0x1ac040)['then'](handleEntityNotFound(_0x83e2d9,null))[_0x65f6('0x1f')](respondWithResult(_0x83e2d9,null))[_0x65f6('0x3f')](handleError(_0x83e2d9,null));};exports[_0x65f6('0x44')]=function(_0xc0db01,_0x3ec18f){return db[_0x65f6('0x29')]['create'](_0xc0db01['body'],{})[_0x65f6('0x1f')](function(_0x15d3ba){var _0x3b647a=_0xc0db01[_0x65f6('0x45')][_0x65f6('0x20')]({'plain':!![]});if(!_0x3b647a)throw new Error(_0x65f6('0x46'));if(_0x3b647a[_0x65f6('0x47')]===_0x65f6('0x45')){var _0x414f49=_0x15d3ba['get']({'plain':!![]});var _0x1f16cf=_0x65f6('0x21');return db[_0x65f6('0x48')]['find']({'where':{'name':_0x1f16cf,'userProfileId':_0x3b647a[_0x65f6('0x49')]},'raw':!![]})[_0x65f6('0x1f')](function(_0x49ba5a){if(_0x49ba5a&&_0x49ba5a[_0x65f6('0x4a')]===0x0){return db[_0x65f6('0x22')]['create']({'name':_0x414f49[_0x65f6('0x26')],'resourceId':_0x414f49['id'],'type':_0x49ba5a['name'],'sectionId':_0x49ba5a['id']},{})[_0x65f6('0x1f')](function(){return _0x15d3ba;});}else{return _0x15d3ba;}})[_0x65f6('0x3f')](function(_0x1ca67e){logger['error'](_0x65f6('0x4b'),_0x1ca67e);throw _0x1ca67e;});}return _0x15d3ba;})[_0x65f6('0x1f')](respondWithResult(_0x3ec18f,0xc9))['catch'](handleError(_0x3ec18f,null));};exports[_0x65f6('0x1e')]=function(_0x34312c,_0x48a2ed){if(_0x34312c[_0x65f6('0x4c')]['id']){delete _0x34312c[_0x65f6('0x4c')]['id'];}return db[_0x65f6('0x29')][_0x65f6('0x43')]({'where':{'id':_0x34312c[_0x65f6('0x41')]['id']}})[_0x65f6('0x1f')](handleEntityNotFound(_0x48a2ed,null))[_0x65f6('0x1f')](saveUpdates(_0x34312c[_0x65f6('0x4c')],null))['then'](respondWithResult(_0x48a2ed,null))['catch'](handleError(_0x48a2ed,null));};exports['destroy']=function(_0x19f40c,_0x2091f1){return db[_0x65f6('0x29')][_0x65f6('0x43')]({'where':{'id':_0x19f40c['params']['id']}})[_0x65f6('0x1f')](handleEntityNotFound(_0x2091f1,null))[_0x65f6('0x1f')](removeEntity(_0x2091f1,null))[_0x65f6('0x3f')](handleError(_0x2091f1,null));};exports['run']=function(_0x19c5fa,_0x2eb08f,_0x289f8f){var _0x4e289e=require('../../config/schedule');return db[_0x65f6('0x29')][_0x65f6('0x43')]({'where':{'id':_0x19c5fa[_0x65f6('0x41')]['id']},'raw':!![]})[_0x65f6('0x1f')](handleEntityNotFound(_0x2eb08f,null))[_0x65f6('0x1f')](function(){_0x4e289e[_0x65f6('0x4d')](_0x19c5fa[_0x65f6('0x41')]['id']);})[_0x65f6('0x1f')](respondWithStatusCode(_0x2eb08f,null))[_0x65f6('0x3f')](handleError(_0x2eb08f,null));};