Built motion from commit (unavailable).|2.4.18
[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 _0x1be5=['eml-format','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','squel','jsforce','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','sendStatus','status','json','offset','set','Content-Range','reject','save','update','then','destroy','get','Scheduler','UserProfileResource','end','error','stack','name','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','sort','pick','filter','where','merge','VIRTUAL','options','Schedule','includeAll','include','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','../../config/schedule','run'];(function(_0x11109d,_0xd23ca1){var _0xbaac9=function(_0x11208c){while(--_0x11208c){_0x11109d['push'](_0x11109d['shift']());}};_0xbaac9(++_0xd23ca1);}(_0x1be5,0xe1));var _0x51be=function(_0x4b278a,_0x25934f){_0x4b278a=_0x4b278a-0x0;var _0x5e6f76=_0x1be5[_0x4b278a];return _0x5e6f76;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x51be('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x51be('0x1'));var jsonpatch=require(_0x51be('0x2'));var rp=require('request-promise');var moment=require(_0x51be('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x51be('0x4'));var util=require(_0x51be('0x5'));var path=require(_0x51be('0x6'));var sox=require('sox');var csv=require(_0x51be('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x51be('0x8'));var crypto=require('crypto');var jsforce=require(_0x51be('0x9'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x51be('0xa'));var Redis=require(_0x51be('0xb'));var authService=require('../../components/auth/service');var qs=require(_0x51be('0xc'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x51be('0xd'))(_0x51be('0xe'));var utils=require(_0x51be('0xf'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x533864,_0x4add49){_0x4add49=_0x4add49||0xcc;return function(_0x33f610){if(_0x33f610){return _0x533864[_0x51be('0x10')](_0x4add49);}return _0x533864[_0x51be('0x11')](_0x4add49)['end']();};}function respondWithResult(_0xe9c811,_0xc253e9){_0xc253e9=_0xc253e9||0xc8;return function(_0x290cb0){if(_0x290cb0){return _0xe9c811[_0x51be('0x11')](_0xc253e9)[_0x51be('0x12')](_0x290cb0);}};}function respondWithFilteredResult(_0xb9b944,_0x1e859c){return function(_0x4ba996){if(_0x4ba996){var _0x391d25=_0x4ba996['count'],_0x2ac83b=_0x1e859c[_0x51be('0x13')],_0x4cab37=_0x1e859c[_0x51be('0x13')]+_0x1e859c['limit'],_0x1e83a6;if(_0x4cab37>=_0x391d25){_0x4cab37=_0x391d25;_0x1e83a6=0xc8;}else{_0x1e83a6=0xce;}_0xb9b944[_0x51be('0x11')](_0x1e83a6);return _0xb9b944[_0x51be('0x14')](_0x51be('0x15'),_0x2ac83b+'-'+_0x4cab37+'/'+_0x391d25)[_0x51be('0x12')](_0x4ba996);}return null;};}function patchUpdates(_0x4c9ff6){return function(_0x5d8c71){try{jsonpatch['apply'](_0x5d8c71,_0x4c9ff6,!![]);}catch(_0xb2cb6d){return BPromise[_0x51be('0x16')](_0xb2cb6d);}return _0x5d8c71[_0x51be('0x17')]();};}function saveUpdates(_0x1a0595,_0x3dc639){return function(_0xd2c0a5){if(_0xd2c0a5){return _0xd2c0a5[_0x51be('0x18')](_0x1a0595)[_0x51be('0x19')](function(_0x251786){return _0x251786;});}return null;};}function removeEntity(_0x3104ba,_0x10ba00){return function(_0x3ab37d){if(_0x3ab37d){return _0x3ab37d[_0x51be('0x1a')]()[_0x51be('0x19')](function(){var _0x3f94ab=_0x3ab37d[_0x51be('0x1b')]({'plain':!![]});var _0x28b606=_0x51be('0x1c');return db[_0x51be('0x1d')][_0x51be('0x1a')]({'where':{'type':_0x28b606,'resourceId':_0x3f94ab['id']}})['then'](function(){return _0x3ab37d;});})[_0x51be('0x19')](function(){_0x3104ba[_0x51be('0x11')](0xcc)[_0x51be('0x1e')]();});}};}function handleEntityNotFound(_0xa9ef10,_0xce6623){return function(_0x3a2af2){if(!_0x3a2af2){_0xa9ef10['sendStatus'](0x194);}return _0x3a2af2;};}function handleError(_0xc37e41,_0x2480ed){_0x2480ed=_0x2480ed||0x1f4;return function(_0x2d0fed){logger[_0x51be('0x1f')](_0x2d0fed[_0x51be('0x20')]);if(_0x2d0fed[_0x51be('0x21')]){delete _0x2d0fed[_0x51be('0x21')];}_0xc37e41[_0x51be('0x11')](_0x2480ed)['send'](_0x2d0fed);};}exports['index']=function(_0x2b262b,_0x31bfcd){var _0x1845a3={},_0x372282={},_0x4497e7={'count':0x0,'rows':[]};var _0x3b96a2=_['map'](db['Schedule'][_0x51be('0x22')],function(_0x38b09a){return{'name':_0x38b09a[_0x51be('0x23')],'type':_0x38b09a[_0x51be('0x24')]['key']};});_0x372282[_0x51be('0x25')]=_[_0x51be('0x26')](_0x3b96a2,_0x51be('0x21'));_0x372282[_0x51be('0x27')]=_[_0x51be('0x28')](_0x2b262b[_0x51be('0x27')]);_0x372282[_0x51be('0x29')]=_[_0x51be('0x2a')](_0x372282[_0x51be('0x25')],_0x372282['query']);_0x1845a3['attributes']=_[_0x51be('0x2a')](_0x372282['model'],qs[_0x51be('0x2b')](_0x2b262b[_0x51be('0x27')][_0x51be('0x2b')]));_0x1845a3[_0x51be('0x2c')]=_0x1845a3[_0x51be('0x2c')][_0x51be('0x2d')]?_0x1845a3[_0x51be('0x2c')]:_0x372282['model'];if(!_0x2b262b['query'][_0x51be('0x2e')](_0x51be('0x2f'))){_0x1845a3[_0x51be('0x30')]=qs[_0x51be('0x30')](_0x2b262b[_0x51be('0x27')][_0x51be('0x30')]);_0x1845a3[_0x51be('0x13')]=qs[_0x51be('0x13')](_0x2b262b[_0x51be('0x27')]['offset']);}_0x1845a3['order']=qs['sort'](_0x2b262b['query'][_0x51be('0x31')]);_0x1845a3['where']=qs['filters'](_[_0x51be('0x32')](_0x2b262b['query'],_0x372282[_0x51be('0x29')]));if(_0x2b262b[_0x51be('0x27')][_0x51be('0x33')]){_0x1845a3[_0x51be('0x34')]=_[_0x51be('0x35')](_0x1845a3[_0x51be('0x34')],{'$or':_[_0x51be('0x26')](_0x3b96a2,function(_0x3a749e){if(_0x3a749e[_0x51be('0x24')]!==_0x51be('0x36')){var _0x4e7f01={};_0x4e7f01[_0x3a749e[_0x51be('0x21')]]={'$like':'%'+_0x2b262b[_0x51be('0x27')][_0x51be('0x33')]+'%'};return _0x4e7f01;}})});}_0x1845a3=_[_0x51be('0x35')]({},_0x1845a3,_0x2b262b[_0x51be('0x37')]);var _0x70cf54={'where':_0x1845a3[_0x51be('0x34')]};return db[_0x51be('0x38')]['count'](_0x70cf54)[_0x51be('0x19')](function(_0x4d4a20){_0x4497e7['count']=_0x4d4a20;if(_0x2b262b[_0x51be('0x27')][_0x51be('0x39')]){_0x1845a3[_0x51be('0x3a')]=[{'all':!![]}];}return db[_0x51be('0x38')]['findAll'](_0x1845a3);})[_0x51be('0x19')](function(_0x1f788e){_0x4497e7[_0x51be('0x3b')]=_0x1f788e;return _0x4497e7;})[_0x51be('0x19')](respondWithFilteredResult(_0x31bfcd,_0x1845a3))[_0x51be('0x3c')](handleError(_0x31bfcd,null));};exports[_0x51be('0x3d')]=function(_0x559d39,_0x386f7b){var _0x1bd052={'raw':![],'where':{'id':_0x559d39[_0x51be('0x3e')]['id']}},_0x42e841={};_0x42e841[_0x51be('0x25')]=_[_0x51be('0x28')](db['Schedule'][_0x51be('0x22')]);_0x42e841[_0x51be('0x27')]=_[_0x51be('0x28')](_0x559d39[_0x51be('0x27')]);_0x42e841[_0x51be('0x29')]=_[_0x51be('0x2a')](_0x42e841[_0x51be('0x25')],_0x42e841[_0x51be('0x27')]);_0x1bd052[_0x51be('0x2c')]=_[_0x51be('0x2a')](_0x42e841[_0x51be('0x25')],qs[_0x51be('0x2b')](_0x559d39[_0x51be('0x27')][_0x51be('0x2b')]));_0x1bd052['attributes']=_0x1bd052[_0x51be('0x2c')][_0x51be('0x2d')]?_0x1bd052[_0x51be('0x2c')]:_0x42e841[_0x51be('0x25')];if(_0x559d39[_0x51be('0x27')]['includeAll']){_0x1bd052['include']=[{'all':!![]}];}_0x1bd052=_[_0x51be('0x35')]({},_0x1bd052,_0x559d39['options']);return db[_0x51be('0x38')][_0x51be('0x3f')](_0x1bd052)[_0x51be('0x19')](handleEntityNotFound(_0x386f7b,null))[_0x51be('0x19')](respondWithResult(_0x386f7b,null))[_0x51be('0x3c')](handleError(_0x386f7b,null));};exports[_0x51be('0x40')]=function(_0x3807df,_0xd409d8){return db['Schedule'][_0x51be('0x40')](_0x3807df['body'],{})['then'](function(_0x13a36f){var _0x48de86=_0x3807df[_0x51be('0x41')][_0x51be('0x1b')]({'plain':!![]});if(!_0x48de86)throw new Error(_0x51be('0x42'));if(_0x48de86[_0x51be('0x43')]===_0x51be('0x41')){var _0x3a5096=_0x13a36f[_0x51be('0x1b')]({'plain':!![]});var _0x35a4cf=_0x51be('0x1c');return db[_0x51be('0x44')][_0x51be('0x3f')]({'where':{'name':_0x35a4cf,'userProfileId':_0x48de86[_0x51be('0x45')]},'raw':!![]})[_0x51be('0x19')](function(_0x13f03f){if(_0x13f03f&&_0x13f03f[_0x51be('0x46')]===0x0){return db['UserProfileResource'][_0x51be('0x40')]({'name':_0x3a5096[_0x51be('0x21')],'resourceId':_0x3a5096['id'],'type':_0x13f03f[_0x51be('0x21')],'sectionId':_0x13f03f['id']},{})[_0x51be('0x19')](function(){return _0x13a36f;});}else{return _0x13a36f;}})[_0x51be('0x3c')](function(_0x23f4d5){logger[_0x51be('0x1f')](_0x51be('0x47'),_0x23f4d5);throw _0x23f4d5;});}return _0x13a36f;})[_0x51be('0x19')](respondWithResult(_0xd409d8,0xc9))[_0x51be('0x3c')](handleError(_0xd409d8,null));};exports['update']=function(_0x5c796c,_0x1c5803){if(_0x5c796c[_0x51be('0x48')]['id']){delete _0x5c796c[_0x51be('0x48')]['id'];}return db[_0x51be('0x38')][_0x51be('0x3f')]({'where':{'id':_0x5c796c['params']['id']}})['then'](handleEntityNotFound(_0x1c5803,null))[_0x51be('0x19')](saveUpdates(_0x5c796c[_0x51be('0x48')],null))[_0x51be('0x19')](respondWithResult(_0x1c5803,null))[_0x51be('0x3c')](handleError(_0x1c5803,null));};exports['destroy']=function(_0x526e54,_0x2de928){return db['Schedule'][_0x51be('0x3f')]({'where':{'id':_0x526e54[_0x51be('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2de928,null))[_0x51be('0x19')](removeEntity(_0x2de928,null))['catch'](handleError(_0x2de928,null));};exports['run']=function(_0x44ca35,_0x129eba,_0x46c72d){var _0x5c1f61=require(_0x51be('0x49'));return db['Schedule'][_0x51be('0x3f')]({'where':{'id':_0x44ca35[_0x51be('0x3e')]['id']},'raw':!![]})[_0x51be('0x19')](handleEntityNotFound(_0x129eba,null))[_0x51be('0x19')](function(){_0x5c1f61[_0x51be('0x4a')](_0x44ca35[_0x51be('0x3e')]['id']);})[_0x51be('0x19')](respondWithStatusCode(_0x129eba,null))['catch'](handleError(_0x129eba,null));};