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 _0x449f=['then','destroy','get','Scheduler','UserProfileResource','stack','name','index','map','Schedule','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','offset','order','sort','where','pick','filters','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','show','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','body','params','run','html-pdf','rimraf','zip-dir','request-promise','bluebird','mustache','sox','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','Content-Range','apply','reject','save','update'];(function(_0x432682,_0x253044){var _0x463d05=function(_0xa73403){while(--_0xa73403){_0x432682['push'](_0x432682['shift']());}};_0x463d05(++_0x253044);}(_0x449f,0x182));var _0xf449=function(_0x4bbaba,_0x15097c){_0x4bbaba=_0x4bbaba-0x0;var _0x34ff2b=_0x449f[_0x4bbaba];return _0x34ff2b;};'use strict';var pdf=require(_0xf449('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xf449('0x1'));var zipdir=require(_0xf449('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf449('0x3'));var moment=require('moment');var BPromise=require(_0xf449('0x4'));var Mustache=require(_0xf449('0x5'));var util=require('util');var path=require('path');var sox=require(_0xf449('0x6'));var csv=require(_0xf449('0x7'));var ejs=require(_0xf449('0x8'));var fs=require('fs');var _=require(_0xf449('0x9'));var squel=require(_0xf449('0xa'));var crypto=require('crypto');var jsforce=require(_0xf449('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xf449('0x7'));var querystring=require(_0xf449('0xc'));var Papa=require(_0xf449('0xd'));var Redis=require(_0xf449('0xe'));var authService=require(_0xf449('0xf'));var qs=require(_0xf449('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf449('0x11'));var logger=require(_0xf449('0x12'))(_0xf449('0x13'));var utils=require(_0xf449('0x14'));var config=require(_0xf449('0x15'));var licenseUtil=require(_0xf449('0x16'));var db=require(_0xf449('0x17'))['db'];function respondWithStatusCode(_0x49c81d,_0x1c6744){_0x1c6744=_0x1c6744||0xcc;return function(_0x53bca1){if(_0x53bca1){return _0x49c81d[_0xf449('0x18')](_0x1c6744);}return _0x49c81d[_0xf449('0x19')](_0x1c6744)[_0xf449('0x1a')]();};}function respondWithResult(_0x17708e,_0x166066){_0x166066=_0x166066||0xc8;return function(_0x20817f){if(_0x20817f){return _0x17708e[_0xf449('0x19')](_0x166066)[_0xf449('0x1b')](_0x20817f);}};}function respondWithFilteredResult(_0x4379f7,_0x1b36a1){return function(_0x53c753){if(_0x53c753){var _0x50827b=_0x53c753['count'],_0x407d4f=_0x1b36a1['offset'],_0x42c3b3=_0x1b36a1['offset']+_0x1b36a1[_0xf449('0x1c')],_0x3d3de1;if(_0x42c3b3>=_0x50827b){_0x42c3b3=_0x50827b;_0x3d3de1=0xc8;}else{_0x3d3de1=0xce;}_0x4379f7['status'](_0x3d3de1);return _0x4379f7['set'](_0xf449('0x1d'),_0x407d4f+'-'+_0x42c3b3+'/'+_0x50827b)[_0xf449('0x1b')](_0x53c753);}return null;};}function patchUpdates(_0x584565){return function(_0x10522a){try{jsonpatch[_0xf449('0x1e')](_0x10522a,_0x584565,!![]);}catch(_0x432283){return BPromise[_0xf449('0x1f')](_0x432283);}return _0x10522a[_0xf449('0x20')]();};}function saveUpdates(_0x5a5344,_0x4ea8cf){return function(_0x405c5a){if(_0x405c5a){return _0x405c5a[_0xf449('0x21')](_0x5a5344)[_0xf449('0x22')](function(_0x4ccf5c){return _0x4ccf5c;});}return null;};}function removeEntity(_0x136ba0,_0x200f98){return function(_0x4004d7){if(_0x4004d7){return _0x4004d7[_0xf449('0x23')]()[_0xf449('0x22')](function(){var _0x338bca=_0x4004d7[_0xf449('0x24')]({'plain':!![]});var _0x16a9e3=_0xf449('0x25');return db[_0xf449('0x26')][_0xf449('0x23')]({'where':{'type':_0x16a9e3,'resourceId':_0x338bca['id']}})['then'](function(){return _0x4004d7;});})['then'](function(){_0x136ba0[_0xf449('0x19')](0xcc)[_0xf449('0x1a')]();});}};}function handleEntityNotFound(_0x3b964d,_0x2b77f7){return function(_0xa47e69){if(!_0xa47e69){_0x3b964d['sendStatus'](0x194);}return _0xa47e69;};}function handleError(_0x21934a,_0x1fb6e7){_0x1fb6e7=_0x1fb6e7||0x1f4;return function(_0x5d6ee9){logger['error'](_0x5d6ee9[_0xf449('0x27')]);if(_0x5d6ee9['name']){delete _0x5d6ee9[_0xf449('0x28')];}_0x21934a[_0xf449('0x19')](_0x1fb6e7)['send'](_0x5d6ee9);};}exports[_0xf449('0x29')]=function(_0x1fc57c,_0x1da733){var _0x18ea4c={},_0x3fa60c={},_0x4fd08f={'count':0x0,'rows':[]};var _0x3c1aaf=_[_0xf449('0x2a')](db[_0xf449('0x2b')][_0xf449('0x2c')],function(_0x31091b){return{'name':_0x31091b[_0xf449('0x2d')],'type':_0x31091b[_0xf449('0x2e')][_0xf449('0x2f')]};});_0x3fa60c[_0xf449('0x30')]=_['map'](_0x3c1aaf,_0xf449('0x28'));_0x3fa60c[_0xf449('0x31')]=_[_0xf449('0x32')](_0x1fc57c[_0xf449('0x31')]);_0x3fa60c['filters']=_[_0xf449('0x33')](_0x3fa60c[_0xf449('0x30')],_0x3fa60c['query']);_0x18ea4c[_0xf449('0x34')]=_[_0xf449('0x33')](_0x3fa60c['model'],qs[_0xf449('0x35')](_0x1fc57c[_0xf449('0x31')][_0xf449('0x35')]));_0x18ea4c[_0xf449('0x34')]=_0x18ea4c[_0xf449('0x34')]['length']?_0x18ea4c[_0xf449('0x34')]:_0x3fa60c[_0xf449('0x30')];if(!_0x1fc57c['query'][_0xf449('0x36')]('nolimit')){_0x18ea4c[_0xf449('0x1c')]=qs[_0xf449('0x1c')](_0x1fc57c[_0xf449('0x31')][_0xf449('0x1c')]);_0x18ea4c[_0xf449('0x37')]=qs[_0xf449('0x37')](_0x1fc57c['query'][_0xf449('0x37')]);}_0x18ea4c[_0xf449('0x38')]=qs['sort'](_0x1fc57c[_0xf449('0x31')][_0xf449('0x39')]);_0x18ea4c[_0xf449('0x3a')]=qs['filters'](_[_0xf449('0x3b')](_0x1fc57c[_0xf449('0x31')],_0x3fa60c[_0xf449('0x3c')]),_0x3c1aaf);if(_0x1fc57c[_0xf449('0x31')]['filter']){_0x18ea4c['where']=_[_0xf449('0x3d')](_0x18ea4c[_0xf449('0x3a')],{'$or':_['map'](_0x3c1aaf,function(_0x2b15db){if(_0x2b15db[_0xf449('0x2e')]!==_0xf449('0x3e')){var _0x166300={};_0x166300[_0x2b15db[_0xf449('0x28')]]={'$like':'%'+_0x1fc57c[_0xf449('0x31')][_0xf449('0x3f')]+'%'};return _0x166300;}})});}_0x18ea4c=_[_0xf449('0x3d')]({},_0x18ea4c,_0x1fc57c[_0xf449('0x40')]);var _0x55f662={'where':_0x18ea4c['where']};return db['Schedule'][_0xf449('0x41')](_0x55f662)[_0xf449('0x22')](function(_0x3b4fcb){_0x4fd08f['count']=_0x3b4fcb;if(_0x1fc57c[_0xf449('0x31')][_0xf449('0x42')]){_0x18ea4c[_0xf449('0x43')]=[{'all':!![]}];}return db[_0xf449('0x2b')][_0xf449('0x44')](_0x18ea4c);})['then'](function(_0x395e3a){_0x4fd08f[_0xf449('0x45')]=_0x395e3a;return _0x4fd08f;})[_0xf449('0x22')](respondWithFilteredResult(_0x1da733,_0x18ea4c))[_0xf449('0x46')](handleError(_0x1da733,null));};exports[_0xf449('0x47')]=function(_0x5aa60a,_0x14c52e){var _0x57d4a3={'raw':![],'where':{'id':_0x5aa60a['params']['id']}},_0x1e1139={};_0x1e1139[_0xf449('0x30')]=_[_0xf449('0x32')](db[_0xf449('0x2b')]['rawAttributes']);_0x1e1139['query']=_['keys'](_0x5aa60a[_0xf449('0x31')]);_0x1e1139[_0xf449('0x3c')]=_['intersection'](_0x1e1139[_0xf449('0x30')],_0x1e1139['query']);_0x57d4a3[_0xf449('0x34')]=_['intersection'](_0x1e1139[_0xf449('0x30')],qs['fields'](_0x5aa60a[_0xf449('0x31')][_0xf449('0x35')]));_0x57d4a3['attributes']=_0x57d4a3['attributes']['length']?_0x57d4a3[_0xf449('0x34')]:_0x1e1139[_0xf449('0x30')];if(_0x5aa60a[_0xf449('0x31')][_0xf449('0x42')]){_0x57d4a3[_0xf449('0x43')]=[{'all':!![]}];}_0x57d4a3=_[_0xf449('0x3d')]({},_0x57d4a3,_0x5aa60a[_0xf449('0x40')]);return db[_0xf449('0x2b')][_0xf449('0x48')](_0x57d4a3)['then'](handleEntityNotFound(_0x14c52e,null))[_0xf449('0x22')](respondWithResult(_0x14c52e,null))[_0xf449('0x46')](handleError(_0x14c52e,null));};exports['create']=function(_0x27aec7,_0x442164){return db[_0xf449('0x2b')][_0xf449('0x49')](_0x27aec7['body'],{})[_0xf449('0x22')](function(_0x343758){var _0x2f117d=_0x27aec7[_0xf449('0x4a')][_0xf449('0x24')]({'plain':!![]});if(!_0x2f117d)throw new Error(_0xf449('0x4b'));if(_0x2f117d[_0xf449('0x4c')]===_0xf449('0x4a')){var _0xcc41f3=_0x343758[_0xf449('0x24')]({'plain':!![]});var _0x101cbf=_0xf449('0x25');return db[_0xf449('0x4d')][_0xf449('0x48')]({'where':{'name':_0x101cbf,'userProfileId':_0x2f117d[_0xf449('0x4e')]},'raw':!![]})[_0xf449('0x22')](function(_0x3997af){if(_0x3997af&&_0x3997af[_0xf449('0x4f')]===0x0){return db[_0xf449('0x26')][_0xf449('0x49')]({'name':_0xcc41f3[_0xf449('0x28')],'resourceId':_0xcc41f3['id'],'type':_0x3997af['name'],'sectionId':_0x3997af['id']},{})[_0xf449('0x22')](function(){return _0x343758;});}else{return _0x343758;}})['catch'](function(_0x46ae59){logger[_0xf449('0x50')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x46ae59);throw _0x46ae59;});}return _0x343758;})[_0xf449('0x22')](respondWithResult(_0x442164,0xc9))['catch'](handleError(_0x442164,null));};exports[_0xf449('0x21')]=function(_0x184f60,_0x12dba6){if(_0x184f60[_0xf449('0x51')]['id']){delete _0x184f60[_0xf449('0x51')]['id'];}return db['Schedule']['find']({'where':{'id':_0x184f60['params']['id']}})[_0xf449('0x22')](handleEntityNotFound(_0x12dba6,null))[_0xf449('0x22')](saveUpdates(_0x184f60[_0xf449('0x51')],null))[_0xf449('0x22')](respondWithResult(_0x12dba6,null))[_0xf449('0x46')](handleError(_0x12dba6,null));};exports[_0xf449('0x23')]=function(_0x521166,_0xe9ca8c){return db[_0xf449('0x2b')]['find']({'where':{'id':_0x521166[_0xf449('0x52')]['id']}})['then'](handleEntityNotFound(_0xe9ca8c,null))[_0xf449('0x22')](removeEntity(_0xe9ca8c,null))[_0xf449('0x46')](handleError(_0xe9ca8c,null));};exports[_0xf449('0x53')]=function(_0x4b424f,_0x2e92eb,_0x2f276f){var _0x22f784=require('../../config/schedule');return db[_0xf449('0x2b')]['find']({'where':{'id':_0x4b424f[_0xf449('0x52')]['id']},'raw':!![]})[_0xf449('0x22')](handleEntityNotFound(_0x2e92eb,null))[_0xf449('0x22')](function(){_0x22f784['run'](_0x4b424f[_0xf449('0x52')]['id']);})[_0xf449('0x22')](respondWithStatusCode(_0x2e92eb,null))[_0xf449('0x46')](handleError(_0x2e92eb,null));};