c5018c328ac5c60d3d59cfc382d51df90c30a4dc
[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 _0x914b=['Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','reject','update','then','Scheduler','destroy','stack','name','map','Schedule','rawAttributes','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','type','filter','merge','options','includeAll','include','findAll','rows','params','keys','find','catch','create','body','user'];(function(_0x42686f,_0x35f36d){var _0x131c8d=function(_0x3f0953){while(--_0x3f0953){_0x42686f['push'](_0x42686f['shift']());}};_0x131c8d(++_0x35f36d);}(_0x914b,0x14e));var _0xb914=function(_0xf35bc1,_0x510803){_0xf35bc1=_0xf35bc1-0x0;var _0xa6b162=_0x914b[_0xf35bc1];return _0xa6b162;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb914('0x0'));var zipdir=require(_0xb914('0x1'));var jsonpatch=require(_0xb914('0x2'));var rp=require(_0xb914('0x3'));var moment=require(_0xb914('0x4'));var BPromise=require(_0xb914('0x5'));var Mustache=require(_0xb914('0x6'));var util=require(_0xb914('0x7'));var path=require(_0xb914('0x8'));var sox=require(_0xb914('0x9'));var csv=require(_0xb914('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb914('0xb'));var _=require(_0xb914('0xc'));var squel=require(_0xb914('0xd'));var crypto=require(_0xb914('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb914('0xa'));var querystring=require(_0xb914('0xf'));var Papa=require('papaparse');var Redis=require(_0xb914('0x10'));var authService=require(_0xb914('0x11'));var qs=require(_0xb914('0x12'));var as=require(_0xb914('0x13'));var hardwareService=require(_0xb914('0x14'));var logger=require(_0xb914('0x15'))(_0xb914('0x16'));var utils=require(_0xb914('0x17'));var config=require(_0xb914('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xb914('0x19'))['db'];function respondWithStatusCode(_0x3ec736,_0x2c8fa6){_0x2c8fa6=_0x2c8fa6||0xcc;return function(_0x33a8aa){if(_0x33a8aa){return _0x3ec736[_0xb914('0x1a')](_0x2c8fa6);}return _0x3ec736['status'](_0x2c8fa6)[_0xb914('0x1b')]();};}function respondWithResult(_0x3243cd,_0xea9e07){_0xea9e07=_0xea9e07||0xc8;return function(_0x10bdd0){if(_0x10bdd0){return _0x3243cd[_0xb914('0x1c')](_0xea9e07)[_0xb914('0x1d')](_0x10bdd0);}};}function respondWithFilteredResult(_0x85092f,_0x3d1e3e){return function(_0x552cef){if(_0x552cef){var _0xa33b61=typeof _0x3d1e3e[_0xb914('0x1e')]===_0xb914('0x1f')&&typeof _0x3d1e3e[_0xb914('0x20')]===_0xb914('0x1f');var _0x5de136=_0x552cef['count'];var _0x380b18=_0xa33b61?0x0:_0x3d1e3e[_0xb914('0x1e')];var _0x10904e=_0xa33b61?_0x552cef[_0xb914('0x21')]:_0x3d1e3e[_0xb914('0x1e')]+_0x3d1e3e[_0xb914('0x20')];var _0x4daf80;if(_0x10904e>=_0x5de136){_0x10904e=_0x5de136;_0x4daf80=0xc8;}else{_0x4daf80=0xce;}_0x85092f[_0xb914('0x1c')](_0x4daf80);return _0x85092f['set']('Content-Range',_0x380b18+'-'+_0x10904e+'/'+_0x5de136)[_0xb914('0x1d')](_0x552cef);}return null;};}function patchUpdates(_0x2d2fd4){return function(_0xec538f){try{jsonpatch['apply'](_0xec538f,_0x2d2fd4,!![]);}catch(_0x4bc9d4){return BPromise[_0xb914('0x22')](_0x4bc9d4);}return _0xec538f['save']();};}function saveUpdates(_0x4e4372,_0x56b865){return function(_0x578fe4){if(_0x578fe4){return _0x578fe4[_0xb914('0x23')](_0x4e4372)[_0xb914('0x24')](function(_0x303a86){return _0x303a86;});}return null;};}function removeEntity(_0x5d676f,_0x447db3){return function(_0x25d275){if(_0x25d275){return _0x25d275['destroy']()['then'](function(){var _0x1f50ee=_0x25d275['get']({'plain':!![]});var _0x6b6c5a=_0xb914('0x25');return db['UserProfileResource'][_0xb914('0x26')]({'where':{'type':_0x6b6c5a,'resourceId':_0x1f50ee['id']}})[_0xb914('0x24')](function(){return _0x25d275;});})[_0xb914('0x24')](function(){_0x5d676f[_0xb914('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1ff7b3,_0x5dcf37){return function(_0x1df451){if(!_0x1df451){_0x1ff7b3[_0xb914('0x1a')](0x194);}return _0x1df451;};}function handleError(_0x1a6eda,_0x1dc655){_0x1dc655=_0x1dc655||0x1f4;return function(_0x1a8eeb){logger['error'](_0x1a8eeb[_0xb914('0x27')]);if(_0x1a8eeb['name']){delete _0x1a8eeb[_0xb914('0x28')];}_0x1a6eda[_0xb914('0x1c')](_0x1dc655)['send'](_0x1a8eeb);};}exports['index']=function(_0xa3b2e0,_0x1179b6){var _0x20921d={},_0x3ec517={},_0x47013f={'count':0x0,'rows':[]};var _0x26d189=_[_0xb914('0x29')](db[_0xb914('0x2a')][_0xb914('0x2b')],function(_0x462d1a){return{'name':_0x462d1a['fieldName'],'type':_0x462d1a['type']['key']};});_0x3ec517[_0xb914('0x2c')]=_[_0xb914('0x29')](_0x26d189,_0xb914('0x28'));_0x3ec517['query']=_['keys'](_0xa3b2e0[_0xb914('0x2d')]);_0x3ec517[_0xb914('0x2e')]=_[_0xb914('0x2f')](_0x3ec517['model'],_0x3ec517[_0xb914('0x2d')]);_0x20921d['attributes']=_[_0xb914('0x2f')](_0x3ec517['model'],qs[_0xb914('0x30')](_0xa3b2e0[_0xb914('0x2d')][_0xb914('0x30')]));_0x20921d[_0xb914('0x31')]=_0x20921d[_0xb914('0x31')][_0xb914('0x32')]?_0x20921d[_0xb914('0x31')]:_0x3ec517[_0xb914('0x2c')];if(!_0xa3b2e0[_0xb914('0x2d')][_0xb914('0x33')](_0xb914('0x34'))){_0x20921d[_0xb914('0x20')]=qs[_0xb914('0x20')](_0xa3b2e0['query'][_0xb914('0x20')]);_0x20921d[_0xb914('0x1e')]=qs[_0xb914('0x1e')](_0xa3b2e0['query'][_0xb914('0x1e')]);}_0x20921d[_0xb914('0x35')]=qs[_0xb914('0x36')](_0xa3b2e0[_0xb914('0x2d')][_0xb914('0x36')]);_0x20921d[_0xb914('0x37')]=qs[_0xb914('0x2e')](_['pick'](_0xa3b2e0['query'],_0x3ec517[_0xb914('0x2e')]),_0x26d189);if(_0xa3b2e0[_0xb914('0x2d')]['filter']){_0x20921d[_0xb914('0x37')]=_['merge'](_0x20921d[_0xb914('0x37')],{'$or':_[_0xb914('0x29')](_0x26d189,function(_0x75d93f){if(_0x75d93f[_0xb914('0x38')]!=='VIRTUAL'){var _0x338e42={};_0x338e42[_0x75d93f[_0xb914('0x28')]]={'$like':'%'+_0xa3b2e0[_0xb914('0x2d')][_0xb914('0x39')]+'%'};return _0x338e42;}})});}_0x20921d=_[_0xb914('0x3a')]({},_0x20921d,_0xa3b2e0[_0xb914('0x3b')]);var _0x3e20d6={'where':_0x20921d[_0xb914('0x37')]};return db[_0xb914('0x2a')]['count'](_0x3e20d6)[_0xb914('0x24')](function(_0x6e3315){_0x47013f[_0xb914('0x21')]=_0x6e3315;if(_0xa3b2e0[_0xb914('0x2d')][_0xb914('0x3c')]){_0x20921d[_0xb914('0x3d')]=[{'all':!![]}];}return db[_0xb914('0x2a')][_0xb914('0x3e')](_0x20921d);})[_0xb914('0x24')](function(_0x3bea79){_0x47013f[_0xb914('0x3f')]=_0x3bea79;return _0x47013f;})[_0xb914('0x24')](respondWithFilteredResult(_0x1179b6,_0x20921d))['catch'](handleError(_0x1179b6,null));};exports['show']=function(_0x954acb,_0x1f8993){var _0x3ef7c5={'raw':![],'where':{'id':_0x954acb[_0xb914('0x40')]['id']}},_0xbfa7c1={};_0xbfa7c1[_0xb914('0x2c')]=_[_0xb914('0x41')](db[_0xb914('0x2a')][_0xb914('0x2b')]);_0xbfa7c1['query']=_[_0xb914('0x41')](_0x954acb[_0xb914('0x2d')]);_0xbfa7c1[_0xb914('0x2e')]=_[_0xb914('0x2f')](_0xbfa7c1['model'],_0xbfa7c1[_0xb914('0x2d')]);_0x3ef7c5['attributes']=_['intersection'](_0xbfa7c1['model'],qs[_0xb914('0x30')](_0x954acb['query'][_0xb914('0x30')]));_0x3ef7c5[_0xb914('0x31')]=_0x3ef7c5[_0xb914('0x31')][_0xb914('0x32')]?_0x3ef7c5[_0xb914('0x31')]:_0xbfa7c1[_0xb914('0x2c')];if(_0x954acb[_0xb914('0x2d')][_0xb914('0x3c')]){_0x3ef7c5[_0xb914('0x3d')]=[{'all':!![]}];}_0x3ef7c5=_[_0xb914('0x3a')]({},_0x3ef7c5,_0x954acb[_0xb914('0x3b')]);return db[_0xb914('0x2a')][_0xb914('0x42')](_0x3ef7c5)['then'](handleEntityNotFound(_0x1f8993,null))[_0xb914('0x24')](respondWithResult(_0x1f8993,null))[_0xb914('0x43')](handleError(_0x1f8993,null));};exports[_0xb914('0x44')]=function(_0x1c525b,_0x2e45e9){return db[_0xb914('0x2a')][_0xb914('0x44')](_0x1c525b[_0xb914('0x45')],{})[_0xb914('0x24')](function(_0x329d59){var _0x47a0fd=_0x1c525b[_0xb914('0x46')]['get']({'plain':!![]});if(!_0x47a0fd)throw new Error(_0xb914('0x47'));if(_0x47a0fd[_0xb914('0x48')]===_0xb914('0x46')){var _0x5439cc=_0x329d59['get']({'plain':!![]});var _0x420dd0=_0xb914('0x25');return db[_0xb914('0x49')][_0xb914('0x42')]({'where':{'name':_0x420dd0,'userProfileId':_0x47a0fd[_0xb914('0x4a')]},'raw':!![]})[_0xb914('0x24')](function(_0x1ca17f){if(_0x1ca17f&&_0x1ca17f[_0xb914('0x4b')]===0x0){return db[_0xb914('0x4c')][_0xb914('0x44')]({'name':_0x5439cc[_0xb914('0x28')],'resourceId':_0x5439cc['id'],'type':_0x1ca17f[_0xb914('0x28')],'sectionId':_0x1ca17f['id']},{})['then'](function(){return _0x329d59;});}else{return _0x329d59;}})[_0xb914('0x43')](function(_0x327e2e){logger[_0xb914('0x4d')](_0xb914('0x4e'),_0x327e2e);throw _0x327e2e;});}return _0x329d59;})['then'](respondWithResult(_0x2e45e9,0xc9))[_0xb914('0x43')](handleError(_0x2e45e9,null));};exports['update']=function(_0x265ec5,_0x1319d8){if(_0x265ec5[_0xb914('0x45')]['id']){delete _0x265ec5[_0xb914('0x45')]['id'];}return db[_0xb914('0x2a')]['find']({'where':{'id':_0x265ec5[_0xb914('0x40')]['id']}})[_0xb914('0x24')](handleEntityNotFound(_0x1319d8,null))[_0xb914('0x24')](saveUpdates(_0x265ec5[_0xb914('0x45')],null))['then'](respondWithResult(_0x1319d8,null))[_0xb914('0x43')](handleError(_0x1319d8,null));};exports['destroy']=function(_0x4a2723,_0x5f8eff){return db[_0xb914('0x2a')][_0xb914('0x42')]({'where':{'id':_0x4a2723[_0xb914('0x40')]['id']}})['then'](handleEntityNotFound(_0x5f8eff,null))[_0xb914('0x24')](removeEntity(_0x5f8eff,null))[_0xb914('0x43')](handleError(_0x5f8eff,null));};exports[_0xb914('0x4f')]=function(_0x231e6e,_0x4b52e3,_0x5a8014){var _0x2c901a=require(_0xb914('0x50'));return db[_0xb914('0x2a')][_0xb914('0x42')]({'where':{'id':_0x231e6e[_0xb914('0x40')]['id']},'raw':!![]})[_0xb914('0x24')](handleEntityNotFound(_0x4b52e3,null))[_0xb914('0x24')](function(){_0x2c901a[_0xb914('0x4f')](_0x231e6e[_0xb914('0x40')]['id']);})[_0xb914('0x24')](respondWithStatusCode(_0x4b52e3,null))[_0xb914('0x43')](handleError(_0x4b52e3,null));};