Built motion from commit (unavailable).|2.5.24
[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 _0x0d63=['Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','Scheduler','UserProfileResource','error','stack','name','index','map','Schedule','rawAttributes','fieldName','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','rows','catch','params','filters','find','body','get'];(function(_0x53f779,_0x5d254f){var _0x4f52c0=function(_0x3f2b70){while(--_0x3f2b70){_0x53f779['push'](_0x53f779['shift']());}};_0x4f52c0(++_0x5d254f);}(_0x0d63,0x1ed));var _0x30d6=function(_0x152998,_0x673cc5){_0x152998=_0x152998-0x0;var _0x348f90=_0x0d63[_0x152998];return _0x348f90;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x30d6('0x0'));var rimraf=require(_0x30d6('0x1'));var zipdir=require(_0x30d6('0x2'));var jsonpatch=require(_0x30d6('0x3'));var rp=require(_0x30d6('0x4'));var moment=require('moment');var BPromise=require(_0x30d6('0x5'));var Mustache=require(_0x30d6('0x6'));var util=require(_0x30d6('0x7'));var path=require(_0x30d6('0x8'));var sox=require(_0x30d6('0x9'));var csv=require(_0x30d6('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x30d6('0xb'));var squel=require(_0x30d6('0xc'));var crypto=require(_0x30d6('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x30d6('0xe'));var toCsv=require(_0x30d6('0xa'));var querystring=require('querystring');var Papa=require(_0x30d6('0xf'));var Redis=require(_0x30d6('0x10'));var authService=require(_0x30d6('0x11'));var qs=require(_0x30d6('0x12'));var as=require(_0x30d6('0x13'));var hardwareService=require(_0x30d6('0x14'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x30d6('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x30d6('0x16'))['db'];function respondWithStatusCode(_0x4c1cbe,_0x2aafae){_0x2aafae=_0x2aafae||0xcc;return function(_0x1f5317){if(_0x1f5317){return _0x4c1cbe[_0x30d6('0x17')](_0x2aafae);}return _0x4c1cbe[_0x30d6('0x18')](_0x2aafae)[_0x30d6('0x19')]();};}function respondWithResult(_0x386ba4,_0x284ede){_0x284ede=_0x284ede||0xc8;return function(_0x6413da){if(_0x6413da){return _0x386ba4[_0x30d6('0x18')](_0x284ede)[_0x30d6('0x1a')](_0x6413da);}};}function respondWithFilteredResult(_0x4f197d,_0x9232e9){return function(_0xc87982){if(_0xc87982){var _0x31d178=_0xc87982[_0x30d6('0x1b')],_0x43b493=_0x9232e9[_0x30d6('0x1c')],_0x23f34e=_0x9232e9[_0x30d6('0x1c')]+_0x9232e9[_0x30d6('0x1d')],_0x43ed89;if(_0x23f34e>=_0x31d178){_0x23f34e=_0x31d178;_0x43ed89=0xc8;}else{_0x43ed89=0xce;}_0x4f197d[_0x30d6('0x18')](_0x43ed89);return _0x4f197d[_0x30d6('0x1e')](_0x30d6('0x1f'),_0x43b493+'-'+_0x23f34e+'/'+_0x31d178)[_0x30d6('0x1a')](_0xc87982);}return null;};}function patchUpdates(_0x5b0d70){return function(_0x528144){try{jsonpatch[_0x30d6('0x20')](_0x528144,_0x5b0d70,!![]);}catch(_0x42dcbd){return BPromise[_0x30d6('0x21')](_0x42dcbd);}return _0x528144[_0x30d6('0x22')]();};}function saveUpdates(_0x1f7a8d,_0x55dd78){return function(_0x2be306){if(_0x2be306){return _0x2be306[_0x30d6('0x23')](_0x1f7a8d)['then'](function(_0x27e553){return _0x27e553;});}return null;};}function removeEntity(_0x2f94c4,_0x234342){return function(_0x4930fa){if(_0x4930fa){return _0x4930fa[_0x30d6('0x24')]()[_0x30d6('0x25')](function(){var _0x1665dc=_0x4930fa['get']({'plain':!![]});var _0x88ef6b=_0x30d6('0x26');return db[_0x30d6('0x27')][_0x30d6('0x24')]({'where':{'type':_0x88ef6b,'resourceId':_0x1665dc['id']}})[_0x30d6('0x25')](function(){return _0x4930fa;});})[_0x30d6('0x25')](function(){_0x2f94c4[_0x30d6('0x18')](0xcc)[_0x30d6('0x19')]();});}};}function handleEntityNotFound(_0x25a208,_0x246bd7){return function(_0x11a84e){if(!_0x11a84e){_0x25a208[_0x30d6('0x17')](0x194);}return _0x11a84e;};}function handleError(_0x51d2ee,_0x3dd3cc){_0x3dd3cc=_0x3dd3cc||0x1f4;return function(_0x34be71){logger[_0x30d6('0x28')](_0x34be71[_0x30d6('0x29')]);if(_0x34be71[_0x30d6('0x2a')]){delete _0x34be71[_0x30d6('0x2a')];}_0x51d2ee['status'](_0x3dd3cc)['send'](_0x34be71);};}exports[_0x30d6('0x2b')]=function(_0x52cabc,_0x521bfc){var _0x1fe5c5={},_0x374654={},_0x36a07d={'count':0x0,'rows':[]};var _0x1c54c5=_[_0x30d6('0x2c')](db[_0x30d6('0x2d')][_0x30d6('0x2e')],function(_0x47da4f){return{'name':_0x47da4f[_0x30d6('0x2f')],'type':_0x47da4f['type'][_0x30d6('0x30')]};});_0x374654[_0x30d6('0x31')]=_[_0x30d6('0x2c')](_0x1c54c5,_0x30d6('0x2a'));_0x374654[_0x30d6('0x32')]=_['keys'](_0x52cabc[_0x30d6('0x32')]);_0x374654['filters']=_[_0x30d6('0x33')](_0x374654['model'],_0x374654['query']);_0x1fe5c5[_0x30d6('0x34')]=_[_0x30d6('0x33')](_0x374654[_0x30d6('0x31')],qs[_0x30d6('0x35')](_0x52cabc['query']['fields']));_0x1fe5c5[_0x30d6('0x34')]=_0x1fe5c5[_0x30d6('0x34')][_0x30d6('0x36')]?_0x1fe5c5[_0x30d6('0x34')]:_0x374654['model'];if(!_0x52cabc['query'][_0x30d6('0x37')](_0x30d6('0x38'))){_0x1fe5c5[_0x30d6('0x1d')]=qs[_0x30d6('0x1d')](_0x52cabc[_0x30d6('0x32')][_0x30d6('0x1d')]);_0x1fe5c5[_0x30d6('0x1c')]=qs[_0x30d6('0x1c')](_0x52cabc[_0x30d6('0x32')][_0x30d6('0x1c')]);}_0x1fe5c5['order']=qs[_0x30d6('0x39')](_0x52cabc[_0x30d6('0x32')][_0x30d6('0x39')]);_0x1fe5c5[_0x30d6('0x3a')]=qs['filters'](_[_0x30d6('0x3b')](_0x52cabc[_0x30d6('0x32')],_0x374654['filters']),_0x1c54c5);if(_0x52cabc[_0x30d6('0x32')][_0x30d6('0x3c')]){_0x1fe5c5['where']=_['merge'](_0x1fe5c5['where'],{'$or':_[_0x30d6('0x2c')](_0x1c54c5,function(_0x320750){if(_0x320750[_0x30d6('0x3d')]!==_0x30d6('0x3e')){var _0x242c9f={};_0x242c9f[_0x320750[_0x30d6('0x2a')]]={'$like':'%'+_0x52cabc[_0x30d6('0x32')][_0x30d6('0x3c')]+'%'};return _0x242c9f;}})});}_0x1fe5c5=_[_0x30d6('0x3f')]({},_0x1fe5c5,_0x52cabc[_0x30d6('0x40')]);var _0x1e4293={'where':_0x1fe5c5[_0x30d6('0x3a')]};return db['Schedule'][_0x30d6('0x1b')](_0x1e4293)[_0x30d6('0x25')](function(_0x4151ea){_0x36a07d[_0x30d6('0x1b')]=_0x4151ea;if(_0x52cabc['query'][_0x30d6('0x41')]){_0x1fe5c5[_0x30d6('0x42')]=[{'all':!![]}];}return db[_0x30d6('0x2d')]['findAll'](_0x1fe5c5);})['then'](function(_0x15b366){_0x36a07d[_0x30d6('0x43')]=_0x15b366;return _0x36a07d;})[_0x30d6('0x25')](respondWithFilteredResult(_0x521bfc,_0x1fe5c5))[_0x30d6('0x44')](handleError(_0x521bfc,null));};exports['show']=function(_0x96c75d,_0x10f1ff){var _0x507e8c={'raw':![],'where':{'id':_0x96c75d[_0x30d6('0x45')]['id']}},_0x37cccd={};_0x37cccd[_0x30d6('0x31')]=_['keys'](db[_0x30d6('0x2d')]['rawAttributes']);_0x37cccd[_0x30d6('0x32')]=_['keys'](_0x96c75d[_0x30d6('0x32')]);_0x37cccd[_0x30d6('0x46')]=_['intersection'](_0x37cccd[_0x30d6('0x31')],_0x37cccd[_0x30d6('0x32')]);_0x507e8c['attributes']=_[_0x30d6('0x33')](_0x37cccd[_0x30d6('0x31')],qs[_0x30d6('0x35')](_0x96c75d['query'][_0x30d6('0x35')]));_0x507e8c[_0x30d6('0x34')]=_0x507e8c[_0x30d6('0x34')]['length']?_0x507e8c[_0x30d6('0x34')]:_0x37cccd[_0x30d6('0x31')];if(_0x96c75d[_0x30d6('0x32')]['includeAll']){_0x507e8c[_0x30d6('0x42')]=[{'all':!![]}];}_0x507e8c=_[_0x30d6('0x3f')]({},_0x507e8c,_0x96c75d[_0x30d6('0x40')]);return db[_0x30d6('0x2d')][_0x30d6('0x47')](_0x507e8c)['then'](handleEntityNotFound(_0x10f1ff,null))[_0x30d6('0x25')](respondWithResult(_0x10f1ff,null))[_0x30d6('0x44')](handleError(_0x10f1ff,null));};exports['create']=function(_0x5a02bd,_0x48d9de){return db[_0x30d6('0x2d')]['create'](_0x5a02bd[_0x30d6('0x48')],{})[_0x30d6('0x25')](function(_0x2d684c){var _0x14b853=_0x5a02bd['user'][_0x30d6('0x49')]({'plain':!![]});if(!_0x14b853)throw new Error(_0x30d6('0x4a'));if(_0x14b853[_0x30d6('0x4b')]==='user'){var _0x4f337a=_0x2d684c[_0x30d6('0x49')]({'plain':!![]});var _0x26d32f=_0x30d6('0x26');return db[_0x30d6('0x4c')]['find']({'where':{'name':_0x26d32f,'userProfileId':_0x14b853['userProfileId']},'raw':!![]})[_0x30d6('0x25')](function(_0x3bd3eb){if(_0x3bd3eb&&_0x3bd3eb[_0x30d6('0x4d')]===0x0){return db[_0x30d6('0x27')]['create']({'name':_0x4f337a['name'],'resourceId':_0x4f337a['id'],'type':_0x3bd3eb['name'],'sectionId':_0x3bd3eb['id']},{})['then'](function(){return _0x2d684c;});}else{return _0x2d684c;}})[_0x30d6('0x44')](function(_0x346b23){logger['error'](_0x30d6('0x4e'),_0x346b23);throw _0x346b23;});}return _0x2d684c;})[_0x30d6('0x25')](respondWithResult(_0x48d9de,0xc9))[_0x30d6('0x44')](handleError(_0x48d9de,null));};exports[_0x30d6('0x23')]=function(_0x52c90b,_0x529345){if(_0x52c90b['body']['id']){delete _0x52c90b[_0x30d6('0x48')]['id'];}return db['Schedule'][_0x30d6('0x47')]({'where':{'id':_0x52c90b[_0x30d6('0x45')]['id']}})['then'](handleEntityNotFound(_0x529345,null))[_0x30d6('0x25')](saveUpdates(_0x52c90b[_0x30d6('0x48')],null))[_0x30d6('0x25')](respondWithResult(_0x529345,null))[_0x30d6('0x44')](handleError(_0x529345,null));};exports[_0x30d6('0x24')]=function(_0x19667d,_0xaac2e1){return db[_0x30d6('0x2d')][_0x30d6('0x47')]({'where':{'id':_0x19667d[_0x30d6('0x45')]['id']}})[_0x30d6('0x25')](handleEntityNotFound(_0xaac2e1,null))[_0x30d6('0x25')](removeEntity(_0xaac2e1,null))['catch'](handleError(_0xaac2e1,null));};exports[_0x30d6('0x4f')]=function(_0xa81186,_0x47b6cf,_0x5eeb41){var _0x2f1045=require(_0x30d6('0x50'));return db[_0x30d6('0x2d')][_0x30d6('0x47')]({'where':{'id':_0xa81186[_0x30d6('0x45')]['id']},'raw':!![]})[_0x30d6('0x25')](handleEntityNotFound(_0x47b6cf,null))['then'](function(){_0x2f1045[_0x30d6('0x4f')](_0xa81186[_0x30d6('0x45')]['id']);})[_0x30d6('0x25')](respondWithStatusCode(_0x47b6cf,null))[_0x30d6('0x44')](handleError(_0x47b6cf,null));};