Built motion from commit (unavailable).|2.4.21
[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 _0xa57a=['path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','json','count','offset','limit','status','Content-Range','apply','reject','save','then','destroy','UserProfileResource','sendStatus','error','stack','index','fieldName','type','key','model','map','name','query','keys','filters','intersection','fields','attributes','length','sort','where','pick','filter','merge','VIRTUAL','options','Schedule','includeAll','include','findAll','rows','catch','show','params','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','run','../../config/schedule','html-pdf','zip-dir','fast-json-patch','request-promise','moment','mustache'];(function(_0x16b9ed,_0x56517a){var _0x66b1f8=function(_0x1c883){while(--_0x1c883){_0x16b9ed['push'](_0x16b9ed['shift']());}};_0x66b1f8(++_0x56517a);}(_0xa57a,0x194));var _0xaa57=function(_0x560f7e,_0x5aa250){_0x560f7e=_0x560f7e-0x0;var _0x5d1cec=_0xa57a[_0x560f7e];return _0x5d1cec;};'use strict';var pdf=require(_0xaa57('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xaa57('0x1'));var jsonpatch=require(_0xaa57('0x2'));var rp=require(_0xaa57('0x3'));var moment=require(_0xaa57('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xaa57('0x5'));var util=require('util');var path=require(_0xaa57('0x6'));var sox=require(_0xaa57('0x7'));var csv=require(_0xaa57('0x8'));var ejs=require(_0xaa57('0x9'));var fs=require('fs');var _=require(_0xaa57('0xa'));var squel=require(_0xaa57('0xb'));var crypto=require(_0xaa57('0xc'));var jsforce=require(_0xaa57('0xd'));var deskjs=require(_0xaa57('0xe'));var toCsv=require('to-csv');var querystring=require(_0xaa57('0xf'));var Papa=require(_0xaa57('0x10'));var Redis=require(_0xaa57('0x11'));var authService=require(_0xaa57('0x12'));var qs=require(_0xaa57('0x13'));var as=require(_0xaa57('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xaa57('0x15'))(_0xaa57('0x16'));var utils=require(_0xaa57('0x17'));var config=require(_0xaa57('0x18'));var db=require(_0xaa57('0x19'))['db'];function respondWithStatusCode(_0x33579b,_0x124b3d){_0x124b3d=_0x124b3d||0xcc;return function(_0x24bdf1){if(_0x24bdf1){return _0x33579b['sendStatus'](_0x124b3d);}return _0x33579b['status'](_0x124b3d)[_0xaa57('0x1a')]();};}function respondWithResult(_0x4af7e9,_0x5c1699){_0x5c1699=_0x5c1699||0xc8;return function(_0x4297b1){if(_0x4297b1){return _0x4af7e9['status'](_0x5c1699)[_0xaa57('0x1b')](_0x4297b1);}};}function respondWithFilteredResult(_0x396acb,_0x21c4d5){return function(_0x2771fb){if(_0x2771fb){var _0x4eea37=_0x2771fb[_0xaa57('0x1c')],_0x2a3fdb=_0x21c4d5[_0xaa57('0x1d')],_0x66ac14=_0x21c4d5[_0xaa57('0x1d')]+_0x21c4d5[_0xaa57('0x1e')],_0x4c5c49;if(_0x66ac14>=_0x4eea37){_0x66ac14=_0x4eea37;_0x4c5c49=0xc8;}else{_0x4c5c49=0xce;}_0x396acb[_0xaa57('0x1f')](_0x4c5c49);return _0x396acb['set'](_0xaa57('0x20'),_0x2a3fdb+'-'+_0x66ac14+'/'+_0x4eea37)[_0xaa57('0x1b')](_0x2771fb);}return null;};}function patchUpdates(_0x13c508){return function(_0x43b34a){try{jsonpatch[_0xaa57('0x21')](_0x43b34a,_0x13c508,!![]);}catch(_0x4ed9d5){return BPromise[_0xaa57('0x22')](_0x4ed9d5);}return _0x43b34a[_0xaa57('0x23')]();};}function saveUpdates(_0x50368d,_0x224ad2){return function(_0x2cc299){if(_0x2cc299){return _0x2cc299['update'](_0x50368d)[_0xaa57('0x24')](function(_0x13a233){return _0x13a233;});}return null;};}function removeEntity(_0x1eaa48,_0x4f9510){return function(_0x23093b){if(_0x23093b){return _0x23093b[_0xaa57('0x25')]()[_0xaa57('0x24')](function(){var _0x448ac2=_0x23093b['get']({'plain':!![]});var _0x4ed18a='Scheduler';return db[_0xaa57('0x26')][_0xaa57('0x25')]({'where':{'type':_0x4ed18a,'resourceId':_0x448ac2['id']}})[_0xaa57('0x24')](function(){return _0x23093b;});})[_0xaa57('0x24')](function(){_0x1eaa48[_0xaa57('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x10d9e9,_0x30dce5){return function(_0x382835){if(!_0x382835){_0x10d9e9[_0xaa57('0x27')](0x194);}return _0x382835;};}function handleError(_0x328b35,_0x9b7f61){_0x9b7f61=_0x9b7f61||0x1f4;return function(_0x3c8fb9){logger[_0xaa57('0x28')](_0x3c8fb9[_0xaa57('0x29')]);if(_0x3c8fb9['name']){delete _0x3c8fb9['name'];}_0x328b35[_0xaa57('0x1f')](_0x9b7f61)['send'](_0x3c8fb9);};}exports[_0xaa57('0x2a')]=function(_0x574e1e,_0x47b83c){var _0x3d4ed2={},_0x268ad8={},_0x13a7ed={'count':0x0,'rows':[]};var _0x5a3ec3=_['map'](db['Schedule']['rawAttributes'],function(_0x3e4326){return{'name':_0x3e4326[_0xaa57('0x2b')],'type':_0x3e4326[_0xaa57('0x2c')][_0xaa57('0x2d')]};});_0x268ad8[_0xaa57('0x2e')]=_[_0xaa57('0x2f')](_0x5a3ec3,_0xaa57('0x30'));_0x268ad8[_0xaa57('0x31')]=_[_0xaa57('0x32')](_0x574e1e['query']);_0x268ad8[_0xaa57('0x33')]=_['intersection'](_0x268ad8['model'],_0x268ad8[_0xaa57('0x31')]);_0x3d4ed2['attributes']=_[_0xaa57('0x34')](_0x268ad8[_0xaa57('0x2e')],qs['fields'](_0x574e1e[_0xaa57('0x31')][_0xaa57('0x35')]));_0x3d4ed2[_0xaa57('0x36')]=_0x3d4ed2[_0xaa57('0x36')][_0xaa57('0x37')]?_0x3d4ed2[_0xaa57('0x36')]:_0x268ad8['model'];if(!_0x574e1e[_0xaa57('0x31')]['hasOwnProperty']('nolimit')){_0x3d4ed2[_0xaa57('0x1e')]=qs[_0xaa57('0x1e')](_0x574e1e[_0xaa57('0x31')][_0xaa57('0x1e')]);_0x3d4ed2[_0xaa57('0x1d')]=qs[_0xaa57('0x1d')](_0x574e1e['query']['offset']);}_0x3d4ed2['order']=qs[_0xaa57('0x38')](_0x574e1e[_0xaa57('0x31')][_0xaa57('0x38')]);_0x3d4ed2[_0xaa57('0x39')]=qs['filters'](_[_0xaa57('0x3a')](_0x574e1e[_0xaa57('0x31')],_0x268ad8[_0xaa57('0x33')]));if(_0x574e1e['query'][_0xaa57('0x3b')]){_0x3d4ed2[_0xaa57('0x39')]=_[_0xaa57('0x3c')](_0x3d4ed2[_0xaa57('0x39')],{'$or':_[_0xaa57('0x2f')](_0x5a3ec3,function(_0x1f56e3){if(_0x1f56e3[_0xaa57('0x2c')]!==_0xaa57('0x3d')){var _0x122389={};_0x122389[_0x1f56e3[_0xaa57('0x30')]]={'$like':'%'+_0x574e1e['query'][_0xaa57('0x3b')]+'%'};return _0x122389;}})});}_0x3d4ed2=_[_0xaa57('0x3c')]({},_0x3d4ed2,_0x574e1e[_0xaa57('0x3e')]);var _0x2677a3={'where':_0x3d4ed2[_0xaa57('0x39')]};return db[_0xaa57('0x3f')][_0xaa57('0x1c')](_0x2677a3)[_0xaa57('0x24')](function(_0xbe4a90){_0x13a7ed[_0xaa57('0x1c')]=_0xbe4a90;if(_0x574e1e[_0xaa57('0x31')][_0xaa57('0x40')]){_0x3d4ed2[_0xaa57('0x41')]=[{'all':!![]}];}return db['Schedule'][_0xaa57('0x42')](_0x3d4ed2);})[_0xaa57('0x24')](function(_0x5d4d15){_0x13a7ed[_0xaa57('0x43')]=_0x5d4d15;return _0x13a7ed;})[_0xaa57('0x24')](respondWithFilteredResult(_0x47b83c,_0x3d4ed2))[_0xaa57('0x44')](handleError(_0x47b83c,null));};exports[_0xaa57('0x45')]=function(_0x3e47a7,_0x5e5d59){var _0x55bd4b={'raw':![],'where':{'id':_0x3e47a7[_0xaa57('0x46')]['id']}},_0x589356={};_0x589356[_0xaa57('0x2e')]=_[_0xaa57('0x32')](db[_0xaa57('0x3f')]['rawAttributes']);_0x589356[_0xaa57('0x31')]=_[_0xaa57('0x32')](_0x3e47a7[_0xaa57('0x31')]);_0x589356['filters']=_[_0xaa57('0x34')](_0x589356[_0xaa57('0x2e')],_0x589356[_0xaa57('0x31')]);_0x55bd4b[_0xaa57('0x36')]=_[_0xaa57('0x34')](_0x589356['model'],qs['fields'](_0x3e47a7['query']['fields']));_0x55bd4b[_0xaa57('0x36')]=_0x55bd4b[_0xaa57('0x36')][_0xaa57('0x37')]?_0x55bd4b[_0xaa57('0x36')]:_0x589356[_0xaa57('0x2e')];if(_0x3e47a7['query'][_0xaa57('0x40')]){_0x55bd4b[_0xaa57('0x41')]=[{'all':!![]}];}_0x55bd4b=_['merge']({},_0x55bd4b,_0x3e47a7[_0xaa57('0x3e')]);return db[_0xaa57('0x3f')][_0xaa57('0x47')](_0x55bd4b)[_0xaa57('0x24')](handleEntityNotFound(_0x5e5d59,null))[_0xaa57('0x24')](respondWithResult(_0x5e5d59,null))[_0xaa57('0x44')](handleError(_0x5e5d59,null));};exports['create']=function(_0x2b723d,_0x26b81e){return db[_0xaa57('0x3f')][_0xaa57('0x48')](_0x2b723d['body'],{})['then'](function(_0x515de9){var _0x446ab0=_0x2b723d[_0xaa57('0x49')][_0xaa57('0x4a')]({'plain':!![]});if(!_0x446ab0)throw new Error(_0xaa57('0x4b'));if(_0x446ab0[_0xaa57('0x4c')]===_0xaa57('0x49')){var _0x401998=_0x515de9[_0xaa57('0x4a')]({'plain':!![]});var _0x36062e='Scheduler';return db[_0xaa57('0x4d')][_0xaa57('0x47')]({'where':{'name':_0x36062e,'userProfileId':_0x446ab0[_0xaa57('0x4e')]},'raw':!![]})[_0xaa57('0x24')](function(_0x772cf8){if(_0x772cf8&&_0x772cf8[_0xaa57('0x4f')]===0x0){return db[_0xaa57('0x26')]['create']({'name':_0x401998[_0xaa57('0x30')],'resourceId':_0x401998['id'],'type':_0x772cf8[_0xaa57('0x30')],'sectionId':_0x772cf8['id']},{})['then'](function(){return _0x515de9;});}else{return _0x515de9;}})['catch'](function(_0x485201){logger[_0xaa57('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x485201);throw _0x485201;});}return _0x515de9;})[_0xaa57('0x24')](respondWithResult(_0x26b81e,0xc9))[_0xaa57('0x44')](handleError(_0x26b81e,null));};exports['update']=function(_0x5cafa,_0x268d7b){if(_0x5cafa['body']['id']){delete _0x5cafa['body']['id'];}return db[_0xaa57('0x3f')]['find']({'where':{'id':_0x5cafa['params']['id']}})[_0xaa57('0x24')](handleEntityNotFound(_0x268d7b,null))[_0xaa57('0x24')](saveUpdates(_0x5cafa['body'],null))[_0xaa57('0x24')](respondWithResult(_0x268d7b,null))[_0xaa57('0x44')](handleError(_0x268d7b,null));};exports[_0xaa57('0x25')]=function(_0x49dc80,_0x37e29c){return db['Schedule']['find']({'where':{'id':_0x49dc80[_0xaa57('0x46')]['id']}})[_0xaa57('0x24')](handleEntityNotFound(_0x37e29c,null))[_0xaa57('0x24')](removeEntity(_0x37e29c,null))[_0xaa57('0x44')](handleError(_0x37e29c,null));};exports[_0xaa57('0x50')]=function(_0x1e6e2a,_0x43c682,_0xc041ad){var _0x4a44cc=require(_0xaa57('0x51'));return db[_0xaa57('0x3f')][_0xaa57('0x47')]({'where':{'id':_0x1e6e2a[_0xaa57('0x46')]['id']},'raw':!![]})[_0xaa57('0x24')](handleEntityNotFound(_0x43c682,null))[_0xaa57('0x24')](function(){_0x4a44cc[_0xaa57('0x50')](_0x1e6e2a[_0xaa57('0x46')]['id']);})[_0xaa57('0x24')](respondWithStatusCode(_0x43c682,null))['catch'](handleError(_0x43c682,null));};