Built motion from commit (unavailable).|2.5.22
[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 _0x1801=['rows','catch','show','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Scheduler','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','params','run','../../config/schedule','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','set','reject','save','update','then','UserProfileResource','stack','name','send','map','rawAttributes','fieldName','model','query','keys','intersection','attributes','fields','length','limit','order','sort','where','filters','pick','filter','type','options','Schedule','count','includeAll','include','findAll'];(function(_0x29f6ab,_0x11237){var _0x8e53b2=function(_0x70fdca){while(--_0x70fdca){_0x29f6ab['push'](_0x29f6ab['shift']());}};_0x8e53b2(++_0x11237);}(_0x1801,0x104));var _0x1180=function(_0x182e4b,_0xf1aab0){_0x182e4b=_0x182e4b-0x0;var _0x5807bc=_0x1801[_0x182e4b];return _0x5807bc;};'use strict';var pdf=require(_0x1180('0x0'));var emlformat=require(_0x1180('0x1'));var rimraf=require(_0x1180('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1180('0x3'));var rp=require(_0x1180('0x4'));var moment=require('moment');var BPromise=require(_0x1180('0x5'));var Mustache=require(_0x1180('0x6'));var util=require('util');var path=require(_0x1180('0x7'));var sox=require('sox');var csv=require(_0x1180('0x8'));var ejs=require(_0x1180('0x9'));var fs=require('fs');var _=require(_0x1180('0xa'));var squel=require(_0x1180('0xb'));var crypto=require(_0x1180('0xc'));var jsforce=require(_0x1180('0xd'));var deskjs=require(_0x1180('0xe'));var toCsv=require(_0x1180('0x8'));var querystring=require(_0x1180('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x1180('0x10'));var qs=require(_0x1180('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1180('0x12'));var utils=require(_0x1180('0x13'));var config=require(_0x1180('0x14'));var licenseUtil=require(_0x1180('0x15'));var db=require(_0x1180('0x16'))['db'];function respondWithStatusCode(_0x232269,_0x28df3e){_0x28df3e=_0x28df3e||0xcc;return function(_0xfbc2e5){if(_0xfbc2e5){return _0x232269[_0x1180('0x17')](_0x28df3e);}return _0x232269[_0x1180('0x18')](_0x28df3e)['end']();};}function respondWithResult(_0x39fabf,_0x82a5ca){_0x82a5ca=_0x82a5ca||0xc8;return function(_0x16aa55){if(_0x16aa55){return _0x39fabf[_0x1180('0x18')](_0x82a5ca)[_0x1180('0x19')](_0x16aa55);}};}function respondWithFilteredResult(_0xca4d21,_0x2c0e42){return function(_0x1a93b7){if(_0x1a93b7){var _0x3241b8=_0x1a93b7['count'],_0x4ccca4=_0x2c0e42[_0x1180('0x1a')],_0x5e2c56=_0x2c0e42['offset']+_0x2c0e42['limit'],_0xb362ff;if(_0x5e2c56>=_0x3241b8){_0x5e2c56=_0x3241b8;_0xb362ff=0xc8;}else{_0xb362ff=0xce;}_0xca4d21[_0x1180('0x18')](_0xb362ff);return _0xca4d21[_0x1180('0x1b')]('Content-Range',_0x4ccca4+'-'+_0x5e2c56+'/'+_0x3241b8)[_0x1180('0x19')](_0x1a93b7);}return null;};}function patchUpdates(_0x25db9b){return function(_0x9e373a){try{jsonpatch['apply'](_0x9e373a,_0x25db9b,!![]);}catch(_0x27a60f){return BPromise[_0x1180('0x1c')](_0x27a60f);}return _0x9e373a[_0x1180('0x1d')]();};}function saveUpdates(_0x628fc6,_0x5edc7d){return function(_0x57f945){if(_0x57f945){return _0x57f945[_0x1180('0x1e')](_0x628fc6)['then'](function(_0x50e383){return _0x50e383;});}return null;};}function removeEntity(_0x26ef10,_0x4c1894){return function(_0xa27e18){if(_0xa27e18){return _0xa27e18['destroy']()[_0x1180('0x1f')](function(){var _0x686ae=_0xa27e18['get']({'plain':!![]});var _0x230dbf='Scheduler';return db[_0x1180('0x20')]['destroy']({'where':{'type':_0x230dbf,'resourceId':_0x686ae['id']}})[_0x1180('0x1f')](function(){return _0xa27e18;});})[_0x1180('0x1f')](function(){_0x26ef10[_0x1180('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c173c,_0x2fd06b){return function(_0x476693){if(!_0x476693){_0x2c173c[_0x1180('0x17')](0x194);}return _0x476693;};}function handleError(_0x31c663,_0x2497d7){_0x2497d7=_0x2497d7||0x1f4;return function(_0x270d51){logger['error'](_0x270d51[_0x1180('0x21')]);if(_0x270d51[_0x1180('0x22')]){delete _0x270d51[_0x1180('0x22')];}_0x31c663[_0x1180('0x18')](_0x2497d7)[_0x1180('0x23')](_0x270d51);};}exports['index']=function(_0x4084c2,_0x37e5f2){var _0x3a8978={},_0x4044ed={},_0x7cc93={'count':0x0,'rows':[]};var _0x38a92c=_[_0x1180('0x24')](db['Schedule'][_0x1180('0x25')],function(_0x3d605d){return{'name':_0x3d605d[_0x1180('0x26')],'type':_0x3d605d['type']['key']};});_0x4044ed[_0x1180('0x27')]=_[_0x1180('0x24')](_0x38a92c,'name');_0x4044ed[_0x1180('0x28')]=_[_0x1180('0x29')](_0x4084c2[_0x1180('0x28')]);_0x4044ed['filters']=_[_0x1180('0x2a')](_0x4044ed[_0x1180('0x27')],_0x4044ed[_0x1180('0x28')]);_0x3a8978[_0x1180('0x2b')]=_['intersection'](_0x4044ed[_0x1180('0x27')],qs[_0x1180('0x2c')](_0x4084c2[_0x1180('0x28')][_0x1180('0x2c')]));_0x3a8978[_0x1180('0x2b')]=_0x3a8978[_0x1180('0x2b')][_0x1180('0x2d')]?_0x3a8978['attributes']:_0x4044ed['model'];if(!_0x4084c2['query']['hasOwnProperty']('nolimit')){_0x3a8978[_0x1180('0x2e')]=qs[_0x1180('0x2e')](_0x4084c2[_0x1180('0x28')][_0x1180('0x2e')]);_0x3a8978[_0x1180('0x1a')]=qs[_0x1180('0x1a')](_0x4084c2[_0x1180('0x28')]['offset']);}_0x3a8978[_0x1180('0x2f')]=qs[_0x1180('0x30')](_0x4084c2[_0x1180('0x28')][_0x1180('0x30')]);_0x3a8978[_0x1180('0x31')]=qs[_0x1180('0x32')](_[_0x1180('0x33')](_0x4084c2['query'],_0x4044ed['filters']),_0x38a92c);if(_0x4084c2[_0x1180('0x28')][_0x1180('0x34')]){_0x3a8978[_0x1180('0x31')]=_['merge'](_0x3a8978[_0x1180('0x31')],{'$or':_[_0x1180('0x24')](_0x38a92c,function(_0x506dbf){if(_0x506dbf[_0x1180('0x35')]!=='VIRTUAL'){var _0x3e1131={};_0x3e1131[_0x506dbf['name']]={'$like':'%'+_0x4084c2[_0x1180('0x28')][_0x1180('0x34')]+'%'};return _0x3e1131;}})});}_0x3a8978=_['merge']({},_0x3a8978,_0x4084c2[_0x1180('0x36')]);var _0x10e6e1={'where':_0x3a8978[_0x1180('0x31')]};return db[_0x1180('0x37')]['count'](_0x10e6e1)[_0x1180('0x1f')](function(_0x145564){_0x7cc93[_0x1180('0x38')]=_0x145564;if(_0x4084c2['query'][_0x1180('0x39')]){_0x3a8978[_0x1180('0x3a')]=[{'all':!![]}];}return db[_0x1180('0x37')][_0x1180('0x3b')](_0x3a8978);})[_0x1180('0x1f')](function(_0x13cec6){_0x7cc93[_0x1180('0x3c')]=_0x13cec6;return _0x7cc93;})[_0x1180('0x1f')](respondWithFilteredResult(_0x37e5f2,_0x3a8978))[_0x1180('0x3d')](handleError(_0x37e5f2,null));};exports[_0x1180('0x3e')]=function(_0x508977,_0x55c9c5){var _0x3d10fc={'raw':![],'where':{'id':_0x508977['params']['id']}},_0x15f788={};_0x15f788[_0x1180('0x27')]=_[_0x1180('0x29')](db[_0x1180('0x37')][_0x1180('0x25')]);_0x15f788[_0x1180('0x28')]=_[_0x1180('0x29')](_0x508977['query']);_0x15f788[_0x1180('0x32')]=_[_0x1180('0x2a')](_0x15f788['model'],_0x15f788[_0x1180('0x28')]);_0x3d10fc[_0x1180('0x2b')]=_['intersection'](_0x15f788[_0x1180('0x27')],qs[_0x1180('0x2c')](_0x508977[_0x1180('0x28')][_0x1180('0x2c')]));_0x3d10fc[_0x1180('0x2b')]=_0x3d10fc[_0x1180('0x2b')]['length']?_0x3d10fc['attributes']:_0x15f788[_0x1180('0x27')];if(_0x508977['query'][_0x1180('0x39')]){_0x3d10fc[_0x1180('0x3a')]=[{'all':!![]}];}_0x3d10fc=_['merge']({},_0x3d10fc,_0x508977[_0x1180('0x36')]);return db['Schedule']['find'](_0x3d10fc)[_0x1180('0x1f')](handleEntityNotFound(_0x55c9c5,null))['then'](respondWithResult(_0x55c9c5,null))[_0x1180('0x3d')](handleError(_0x55c9c5,null));};exports[_0x1180('0x3f')]=function(_0x275419,_0x4035d4){return db[_0x1180('0x37')][_0x1180('0x3f')](_0x275419[_0x1180('0x40')],{})[_0x1180('0x1f')](function(_0x3e8745){var _0xc0d391=_0x275419[_0x1180('0x41')]['get']({'plain':!![]});if(!_0xc0d391)throw new Error(_0x1180('0x42'));if(_0xc0d391[_0x1180('0x43')]==='user'){var _0x2218fa=_0x3e8745[_0x1180('0x44')]({'plain':!![]});var _0x263a03=_0x1180('0x45');return db[_0x1180('0x46')][_0x1180('0x47')]({'where':{'name':_0x263a03,'userProfileId':_0xc0d391[_0x1180('0x48')]},'raw':!![]})['then'](function(_0x4d2c8d){if(_0x4d2c8d&&_0x4d2c8d[_0x1180('0x49')]===0x0){return db[_0x1180('0x20')]['create']({'name':_0x2218fa[_0x1180('0x22')],'resourceId':_0x2218fa['id'],'type':_0x4d2c8d['name'],'sectionId':_0x4d2c8d['id']},{})[_0x1180('0x1f')](function(){return _0x3e8745;});}else{return _0x3e8745;}})[_0x1180('0x3d')](function(_0x4f89e1){logger[_0x1180('0x4a')](_0x1180('0x4b'),_0x4f89e1);throw _0x4f89e1;});}return _0x3e8745;})[_0x1180('0x1f')](respondWithResult(_0x4035d4,0xc9))['catch'](handleError(_0x4035d4,null));};exports[_0x1180('0x1e')]=function(_0xd9501,_0x8b52df){if(_0xd9501[_0x1180('0x40')]['id']){delete _0xd9501[_0x1180('0x40')]['id'];}return db[_0x1180('0x37')][_0x1180('0x47')]({'where':{'id':_0xd9501['params']['id']}})[_0x1180('0x1f')](handleEntityNotFound(_0x8b52df,null))[_0x1180('0x1f')](saveUpdates(_0xd9501['body'],null))[_0x1180('0x1f')](respondWithResult(_0x8b52df,null))[_0x1180('0x3d')](handleError(_0x8b52df,null));};exports[_0x1180('0x4c')]=function(_0x3cdfca,_0x4334b2){return db[_0x1180('0x37')][_0x1180('0x47')]({'where':{'id':_0x3cdfca[_0x1180('0x4d')]['id']}})[_0x1180('0x1f')](handleEntityNotFound(_0x4334b2,null))[_0x1180('0x1f')](removeEntity(_0x4334b2,null))[_0x1180('0x3d')](handleError(_0x4334b2,null));};exports[_0x1180('0x4e')]=function(_0x121bf1,_0xaa5410,_0x2f6b71){var _0x574c2c=require(_0x1180('0x4f'));return db[_0x1180('0x37')][_0x1180('0x47')]({'where':{'id':_0x121bf1['params']['id']},'raw':!![]})[_0x1180('0x1f')](handleEntityNotFound(_0xaa5410,null))[_0x1180('0x1f')](function(){_0x574c2c['run'](_0x121bf1[_0x1180('0x4d')]['id']);})['then'](respondWithStatusCode(_0xaa5410,null))[_0x1180('0x3d')](handleError(_0xaa5410,null));};