Built motion from commit (unavailable).|2.5.14
[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 _0xc557=['bluebird','mustache','util','path','sox','to-csv','lodash','jsforce','desk.js','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','get','UserProfileResource','error','stack','name','map','Schedule','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','keys','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','run','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x4c2079,_0x4acb69){var _0x14638a=function(_0x33704b){while(--_0x33704b){_0x4c2079['push'](_0x4c2079['shift']());}};_0x14638a(++_0x4acb69);}(_0xc557,0xe9));var _0x7c55=function(_0x2ff022,_0x183a9c){_0x2ff022=_0x2ff022-0x0;var _0x1cbaa5=_0xc557[_0x2ff022];return _0x1cbaa5;};'use strict';var pdf=require(_0x7c55('0x0'));var emlformat=require(_0x7c55('0x1'));var rimraf=require(_0x7c55('0x2'));var zipdir=require(_0x7c55('0x3'));var jsonpatch=require(_0x7c55('0x4'));var rp=require(_0x7c55('0x5'));var moment=require(_0x7c55('0x6'));var BPromise=require(_0x7c55('0x7'));var Mustache=require(_0x7c55('0x8'));var util=require(_0x7c55('0x9'));var path=require(_0x7c55('0xa'));var sox=require(_0x7c55('0xb'));var csv=require(_0x7c55('0xc'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x7c55('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7c55('0xe'));var deskjs=require(_0x7c55('0xf'));var toCsv=require(_0x7c55('0xc'));var querystring=require('querystring');var Papa=require(_0x7c55('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x7c55('0x11'));var as=require(_0x7c55('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7c55('0x13'))(_0x7c55('0x14'));var utils=require('../../config/utils');var config=require(_0x7c55('0x15'));var licenseUtil=require(_0x7c55('0x16'));var db=require(_0x7c55('0x17'))['db'];function respondWithStatusCode(_0x556dc4,_0x1f1bb1){_0x1f1bb1=_0x1f1bb1||0xcc;return function(_0x3690b5){if(_0x3690b5){return _0x556dc4['sendStatus'](_0x1f1bb1);}return _0x556dc4[_0x7c55('0x18')](_0x1f1bb1)[_0x7c55('0x19')]();};}function respondWithResult(_0x100637,_0xad638d){_0xad638d=_0xad638d||0xc8;return function(_0x30bc7f){if(_0x30bc7f){return _0x100637[_0x7c55('0x18')](_0xad638d)[_0x7c55('0x1a')](_0x30bc7f);}};}function respondWithFilteredResult(_0x39fe91,_0x3e13a8){return function(_0xf0a326){if(_0xf0a326){var _0x359377=_0xf0a326[_0x7c55('0x1b')],_0x172f02=_0x3e13a8[_0x7c55('0x1c')],_0x47cf4b=_0x3e13a8[_0x7c55('0x1c')]+_0x3e13a8[_0x7c55('0x1d')],_0x16af0e;if(_0x47cf4b>=_0x359377){_0x47cf4b=_0x359377;_0x16af0e=0xc8;}else{_0x16af0e=0xce;}_0x39fe91[_0x7c55('0x18')](_0x16af0e);return _0x39fe91[_0x7c55('0x1e')]('Content-Range',_0x172f02+'-'+_0x47cf4b+'/'+_0x359377)['json'](_0xf0a326);}return null;};}function patchUpdates(_0x312bae){return function(_0x625905){try{jsonpatch[_0x7c55('0x1f')](_0x625905,_0x312bae,!![]);}catch(_0x2351a7){return BPromise[_0x7c55('0x20')](_0x2351a7);}return _0x625905[_0x7c55('0x21')]();};}function saveUpdates(_0x480fb0,_0x20ca87){return function(_0x3dc8df){if(_0x3dc8df){return _0x3dc8df[_0x7c55('0x22')](_0x480fb0)[_0x7c55('0x23')](function(_0x930405){return _0x930405;});}return null;};}function removeEntity(_0x6944f4,_0x1987e1){return function(_0x1ce060){if(_0x1ce060){return _0x1ce060[_0x7c55('0x24')]()[_0x7c55('0x23')](function(){var _0x3876ec=_0x1ce060[_0x7c55('0x25')]({'plain':!![]});var _0x3ec7d9='Scheduler';return db[_0x7c55('0x26')]['destroy']({'where':{'type':_0x3ec7d9,'resourceId':_0x3876ec['id']}})[_0x7c55('0x23')](function(){return _0x1ce060;});})[_0x7c55('0x23')](function(){_0x6944f4[_0x7c55('0x18')](0xcc)[_0x7c55('0x19')]();});}};}function handleEntityNotFound(_0x1efc8d,_0x6ad6f3){return function(_0xd89d0c){if(!_0xd89d0c){_0x1efc8d['sendStatus'](0x194);}return _0xd89d0c;};}function handleError(_0x2ca06b,_0x3906d5){_0x3906d5=_0x3906d5||0x1f4;return function(_0x319471){logger[_0x7c55('0x27')](_0x319471[_0x7c55('0x28')]);if(_0x319471[_0x7c55('0x29')]){delete _0x319471[_0x7c55('0x29')];}_0x2ca06b[_0x7c55('0x18')](_0x3906d5)['send'](_0x319471);};}exports['index']=function(_0x184c1c,_0x1f1686){var _0x183da1={},_0x412a1f={},_0x90a4ca={'count':0x0,'rows':[]};var _0x58ce31=_[_0x7c55('0x2a')](db[_0x7c55('0x2b')][_0x7c55('0x2c')],function(_0x3fb373){return{'name':_0x3fb373[_0x7c55('0x2d')],'type':_0x3fb373[_0x7c55('0x2e')][_0x7c55('0x2f')]};});_0x412a1f[_0x7c55('0x30')]=_[_0x7c55('0x2a')](_0x58ce31,_0x7c55('0x29'));_0x412a1f[_0x7c55('0x31')]=_['keys'](_0x184c1c[_0x7c55('0x31')]);_0x412a1f[_0x7c55('0x32')]=_[_0x7c55('0x33')](_0x412a1f[_0x7c55('0x30')],_0x412a1f['query']);_0x183da1[_0x7c55('0x34')]=_[_0x7c55('0x33')](_0x412a1f['model'],qs[_0x7c55('0x35')](_0x184c1c[_0x7c55('0x31')]['fields']));_0x183da1[_0x7c55('0x34')]=_0x183da1[_0x7c55('0x34')]['length']?_0x183da1[_0x7c55('0x34')]:_0x412a1f[_0x7c55('0x30')];if(!_0x184c1c[_0x7c55('0x31')][_0x7c55('0x36')](_0x7c55('0x37'))){_0x183da1['limit']=qs['limit'](_0x184c1c[_0x7c55('0x31')]['limit']);_0x183da1[_0x7c55('0x1c')]=qs['offset'](_0x184c1c[_0x7c55('0x31')][_0x7c55('0x1c')]);}_0x183da1['order']=qs[_0x7c55('0x38')](_0x184c1c[_0x7c55('0x31')][_0x7c55('0x38')]);_0x183da1[_0x7c55('0x39')]=qs[_0x7c55('0x32')](_[_0x7c55('0x3a')](_0x184c1c[_0x7c55('0x31')],_0x412a1f[_0x7c55('0x32')]),_0x58ce31);if(_0x184c1c[_0x7c55('0x31')][_0x7c55('0x3b')]){_0x183da1['where']=_[_0x7c55('0x3c')](_0x183da1[_0x7c55('0x39')],{'$or':_['map'](_0x58ce31,function(_0x22a00e){if(_0x22a00e[_0x7c55('0x2e')]!==_0x7c55('0x3d')){var _0x2141ce={};_0x2141ce[_0x22a00e[_0x7c55('0x29')]]={'$like':'%'+_0x184c1c['query'][_0x7c55('0x3b')]+'%'};return _0x2141ce;}})});}_0x183da1=_[_0x7c55('0x3c')]({},_0x183da1,_0x184c1c[_0x7c55('0x3e')]);var _0x16aa32={'where':_0x183da1[_0x7c55('0x39')]};return db[_0x7c55('0x2b')][_0x7c55('0x1b')](_0x16aa32)[_0x7c55('0x23')](function(_0x51a0b3){_0x90a4ca['count']=_0x51a0b3;if(_0x184c1c['query'][_0x7c55('0x3f')]){_0x183da1[_0x7c55('0x40')]=[{'all':!![]}];}return db[_0x7c55('0x2b')]['findAll'](_0x183da1);})[_0x7c55('0x23')](function(_0x42f494){_0x90a4ca[_0x7c55('0x41')]=_0x42f494;return _0x90a4ca;})[_0x7c55('0x23')](respondWithFilteredResult(_0x1f1686,_0x183da1))[_0x7c55('0x42')](handleError(_0x1f1686,null));};exports[_0x7c55('0x43')]=function(_0x204968,_0x479a3d){var _0xa58ad4={'raw':![],'where':{'id':_0x204968['params']['id']}},_0x452c0d={};_0x452c0d[_0x7c55('0x30')]=_[_0x7c55('0x44')](db[_0x7c55('0x2b')]['rawAttributes']);_0x452c0d['query']=_['keys'](_0x204968[_0x7c55('0x31')]);_0x452c0d[_0x7c55('0x32')]=_[_0x7c55('0x33')](_0x452c0d[_0x7c55('0x30')],_0x452c0d[_0x7c55('0x31')]);_0xa58ad4['attributes']=_['intersection'](_0x452c0d['model'],qs[_0x7c55('0x35')](_0x204968[_0x7c55('0x31')][_0x7c55('0x35')]));_0xa58ad4[_0x7c55('0x34')]=_0xa58ad4[_0x7c55('0x34')][_0x7c55('0x45')]?_0xa58ad4[_0x7c55('0x34')]:_0x452c0d[_0x7c55('0x30')];if(_0x204968['query'][_0x7c55('0x3f')]){_0xa58ad4['include']=[{'all':!![]}];}_0xa58ad4=_['merge']({},_0xa58ad4,_0x204968[_0x7c55('0x3e')]);return db[_0x7c55('0x2b')][_0x7c55('0x46')](_0xa58ad4)['then'](handleEntityNotFound(_0x479a3d,null))[_0x7c55('0x23')](respondWithResult(_0x479a3d,null))[_0x7c55('0x42')](handleError(_0x479a3d,null));};exports[_0x7c55('0x47')]=function(_0x425607,_0x396781){return db['Schedule'][_0x7c55('0x47')](_0x425607['body'],{})[_0x7c55('0x23')](function(_0x13bebd){var _0x3b7992=_0x425607[_0x7c55('0x48')]['get']({'plain':!![]});if(!_0x3b7992)throw new Error(_0x7c55('0x49'));if(_0x3b7992[_0x7c55('0x4a')]===_0x7c55('0x48')){var _0x5b984f=_0x13bebd[_0x7c55('0x25')]({'plain':!![]});var _0x37977e='Scheduler';return db['UserProfileSection'][_0x7c55('0x46')]({'where':{'name':_0x37977e,'userProfileId':_0x3b7992[_0x7c55('0x4b')]},'raw':!![]})[_0x7c55('0x23')](function(_0x2da1bd){if(_0x2da1bd&&_0x2da1bd['autoAssociation']===0x0){return db[_0x7c55('0x26')][_0x7c55('0x47')]({'name':_0x5b984f[_0x7c55('0x29')],'resourceId':_0x5b984f['id'],'type':_0x2da1bd[_0x7c55('0x29')],'sectionId':_0x2da1bd['id']},{})['then'](function(){return _0x13bebd;});}else{return _0x13bebd;}})['catch'](function(_0x183b90){logger[_0x7c55('0x27')](_0x7c55('0x4c'),_0x183b90);throw _0x183b90;});}return _0x13bebd;})[_0x7c55('0x23')](respondWithResult(_0x396781,0xc9))[_0x7c55('0x42')](handleError(_0x396781,null));};exports['update']=function(_0x50bdf6,_0x2d056a){if(_0x50bdf6[_0x7c55('0x4d')]['id']){delete _0x50bdf6['body']['id'];}return db[_0x7c55('0x2b')][_0x7c55('0x46')]({'where':{'id':_0x50bdf6[_0x7c55('0x4e')]['id']}})[_0x7c55('0x23')](handleEntityNotFound(_0x2d056a,null))[_0x7c55('0x23')](saveUpdates(_0x50bdf6[_0x7c55('0x4d')],null))[_0x7c55('0x23')](respondWithResult(_0x2d056a,null))[_0x7c55('0x42')](handleError(_0x2d056a,null));};exports['destroy']=function(_0x2b0597,_0x4b9691){return db[_0x7c55('0x2b')][_0x7c55('0x46')]({'where':{'id':_0x2b0597['params']['id']}})[_0x7c55('0x23')](handleEntityNotFound(_0x4b9691,null))['then'](removeEntity(_0x4b9691,null))[_0x7c55('0x42')](handleError(_0x4b9691,null));};exports[_0x7c55('0x4f')]=function(_0x4d7a3b,_0x4c5a4a,_0x109061){var _0x10af4f=require('../../config/schedule');return db[_0x7c55('0x2b')][_0x7c55('0x46')]({'where':{'id':_0x4d7a3b[_0x7c55('0x4e')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x4c5a4a,null))[_0x7c55('0x23')](function(){_0x10af4f[_0x7c55('0x4f')](_0x4d7a3b[_0x7c55('0x4e')]['id']);})['then'](respondWithStatusCode(_0x4c5a4a,null))['catch'](handleError(_0x4c5a4a,null));};