Built motion from commit (unavailable).|2.5.23
[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 _0x8601=['Scheduler','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','params','run','../../config/schedule','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','reject','save','update','then','get','UserProfileResource','destroy','stack','name','send','index','map','rawAttributes','fieldName','query','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','Schedule','includeAll','include','findAll','catch','show','keys','options','create','body','user'];(function(_0x2bd1f5,_0x8db4ec){var _0x43a4b3=function(_0x41cdf6){while(--_0x41cdf6){_0x2bd1f5['push'](_0x2bd1f5['shift']());}};_0x43a4b3(++_0x8db4ec);}(_0x8601,0xb2));var _0x1860=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0x8601[_0x432682];return _0x463d05;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x1860('0x0'));var rimraf=require(_0x1860('0x1'));var zipdir=require(_0x1860('0x2'));var jsonpatch=require(_0x1860('0x3'));var rp=require(_0x1860('0x4'));var moment=require(_0x1860('0x5'));var BPromise=require(_0x1860('0x6'));var Mustache=require(_0x1860('0x7'));var util=require(_0x1860('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x1860('0x9'));var ejs=require(_0x1860('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x1860('0xb'));var crypto=require(_0x1860('0xc'));var jsforce=require(_0x1860('0xd'));var deskjs=require(_0x1860('0xe'));var toCsv=require('to-csv');var querystring=require(_0x1860('0xf'));var Papa=require(_0x1860('0x10'));var Redis=require('ioredis');var authService=require(_0x1860('0x11'));var qs=require(_0x1860('0x12'));var as=require(_0x1860('0x13'));var hardwareService=require(_0x1860('0x14'));var logger=require('../../config/logger')(_0x1860('0x15'));var utils=require(_0x1860('0x16'));var config=require(_0x1860('0x17'));var licenseUtil=require(_0x1860('0x18'));var db=require(_0x1860('0x19'))['db'];function respondWithStatusCode(_0x5ee349,_0x28b00d){_0x28b00d=_0x28b00d||0xcc;return function(_0x3519ab){if(_0x3519ab){return _0x5ee349[_0x1860('0x1a')](_0x28b00d);}return _0x5ee349['status'](_0x28b00d)[_0x1860('0x1b')]();};}function respondWithResult(_0x59c220,_0x2824de){_0x2824de=_0x2824de||0xc8;return function(_0x298693){if(_0x298693){return _0x59c220[_0x1860('0x1c')](_0x2824de)[_0x1860('0x1d')](_0x298693);}};}function respondWithFilteredResult(_0x502491,_0x40d0b5){return function(_0x349a71){if(_0x349a71){var _0x45be7f=_0x349a71[_0x1860('0x1e')],_0x3baf60=_0x40d0b5[_0x1860('0x1f')],_0x81b763=_0x40d0b5[_0x1860('0x1f')]+_0x40d0b5[_0x1860('0x20')],_0x43e6d5;if(_0x81b763>=_0x45be7f){_0x81b763=_0x45be7f;_0x43e6d5=0xc8;}else{_0x43e6d5=0xce;}_0x502491[_0x1860('0x1c')](_0x43e6d5);return _0x502491['set'](_0x1860('0x21'),_0x3baf60+'-'+_0x81b763+'/'+_0x45be7f)[_0x1860('0x1d')](_0x349a71);}return null;};}function patchUpdates(_0x422e41){return function(_0x37a38b){try{jsonpatch[_0x1860('0x22')](_0x37a38b,_0x422e41,!![]);}catch(_0x408127){return BPromise[_0x1860('0x23')](_0x408127);}return _0x37a38b[_0x1860('0x24')]();};}function saveUpdates(_0x3c3c10,_0x15c66f){return function(_0x4665d4){if(_0x4665d4){return _0x4665d4[_0x1860('0x25')](_0x3c3c10)['then'](function(_0x6be06e){return _0x6be06e;});}return null;};}function removeEntity(_0x4de168,_0x5a9171){return function(_0x91870){if(_0x91870){return _0x91870['destroy']()[_0x1860('0x26')](function(){var _0x174970=_0x91870[_0x1860('0x27')]({'plain':!![]});var _0x5e9f55='Scheduler';return db[_0x1860('0x28')][_0x1860('0x29')]({'where':{'type':_0x5e9f55,'resourceId':_0x174970['id']}})[_0x1860('0x26')](function(){return _0x91870;});})[_0x1860('0x26')](function(){_0x4de168[_0x1860('0x1c')](0xcc)[_0x1860('0x1b')]();});}};}function handleEntityNotFound(_0x49dd22,_0x126e54){return function(_0x3ed39d){if(!_0x3ed39d){_0x49dd22[_0x1860('0x1a')](0x194);}return _0x3ed39d;};}function handleError(_0x209883,_0x52fde0){_0x52fde0=_0x52fde0||0x1f4;return function(_0x9d3c86){logger['error'](_0x9d3c86[_0x1860('0x2a')]);if(_0x9d3c86[_0x1860('0x2b')]){delete _0x9d3c86['name'];}_0x209883[_0x1860('0x1c')](_0x52fde0)[_0x1860('0x2c')](_0x9d3c86);};}exports[_0x1860('0x2d')]=function(_0x3e17e8,_0xc1e55e){var _0x37a2c6={},_0x3cf08a={},_0x13a4e7={'count':0x0,'rows':[]};var _0xf024ed=_[_0x1860('0x2e')](db['Schedule'][_0x1860('0x2f')],function(_0x375a9a){return{'name':_0x375a9a[_0x1860('0x30')],'type':_0x375a9a['type']['key']};});_0x3cf08a['model']=_[_0x1860('0x2e')](_0xf024ed,'name');_0x3cf08a[_0x1860('0x31')]=_['keys'](_0x3e17e8[_0x1860('0x31')]);_0x3cf08a[_0x1860('0x32')]=_['intersection'](_0x3cf08a[_0x1860('0x33')],_0x3cf08a[_0x1860('0x31')]);_0x37a2c6[_0x1860('0x34')]=_[_0x1860('0x35')](_0x3cf08a[_0x1860('0x33')],qs[_0x1860('0x36')](_0x3e17e8['query'][_0x1860('0x36')]));_0x37a2c6['attributes']=_0x37a2c6[_0x1860('0x34')]['length']?_0x37a2c6[_0x1860('0x34')]:_0x3cf08a['model'];if(!_0x3e17e8[_0x1860('0x31')][_0x1860('0x37')](_0x1860('0x38'))){_0x37a2c6[_0x1860('0x20')]=qs[_0x1860('0x20')](_0x3e17e8[_0x1860('0x31')][_0x1860('0x20')]);_0x37a2c6[_0x1860('0x1f')]=qs[_0x1860('0x1f')](_0x3e17e8[_0x1860('0x31')]['offset']);}_0x37a2c6[_0x1860('0x39')]=qs[_0x1860('0x3a')](_0x3e17e8[_0x1860('0x31')][_0x1860('0x3a')]);_0x37a2c6[_0x1860('0x3b')]=qs['filters'](_['pick'](_0x3e17e8[_0x1860('0x31')],_0x3cf08a[_0x1860('0x32')]),_0xf024ed);if(_0x3e17e8[_0x1860('0x31')][_0x1860('0x3c')]){_0x37a2c6[_0x1860('0x3b')]=_[_0x1860('0x3d')](_0x37a2c6[_0x1860('0x3b')],{'$or':_[_0x1860('0x2e')](_0xf024ed,function(_0x1355cc){if(_0x1355cc['type']!==_0x1860('0x3e')){var _0x58afb4={};_0x58afb4[_0x1355cc[_0x1860('0x2b')]]={'$like':'%'+_0x3e17e8[_0x1860('0x31')][_0x1860('0x3c')]+'%'};return _0x58afb4;}})});}_0x37a2c6=_[_0x1860('0x3d')]({},_0x37a2c6,_0x3e17e8['options']);var _0x1a88ac={'where':_0x37a2c6['where']};return db[_0x1860('0x3f')][_0x1860('0x1e')](_0x1a88ac)[_0x1860('0x26')](function(_0x4af5ac){_0x13a4e7[_0x1860('0x1e')]=_0x4af5ac;if(_0x3e17e8[_0x1860('0x31')][_0x1860('0x40')]){_0x37a2c6[_0x1860('0x41')]=[{'all':!![]}];}return db[_0x1860('0x3f')][_0x1860('0x42')](_0x37a2c6);})[_0x1860('0x26')](function(_0x32a235){_0x13a4e7['rows']=_0x32a235;return _0x13a4e7;})[_0x1860('0x26')](respondWithFilteredResult(_0xc1e55e,_0x37a2c6))[_0x1860('0x43')](handleError(_0xc1e55e,null));};exports[_0x1860('0x44')]=function(_0x2d4314,_0x24d93f){var _0x543406={'raw':![],'where':{'id':_0x2d4314['params']['id']}},_0x24461d={};_0x24461d[_0x1860('0x33')]=_[_0x1860('0x45')](db['Schedule']['rawAttributes']);_0x24461d[_0x1860('0x31')]=_[_0x1860('0x45')](_0x2d4314['query']);_0x24461d['filters']=_[_0x1860('0x35')](_0x24461d[_0x1860('0x33')],_0x24461d['query']);_0x543406[_0x1860('0x34')]=_[_0x1860('0x35')](_0x24461d[_0x1860('0x33')],qs[_0x1860('0x36')](_0x2d4314[_0x1860('0x31')][_0x1860('0x36')]));_0x543406['attributes']=_0x543406['attributes']['length']?_0x543406[_0x1860('0x34')]:_0x24461d[_0x1860('0x33')];if(_0x2d4314['query'][_0x1860('0x40')]){_0x543406[_0x1860('0x41')]=[{'all':!![]}];}_0x543406=_[_0x1860('0x3d')]({},_0x543406,_0x2d4314[_0x1860('0x46')]);return db[_0x1860('0x3f')]['find'](_0x543406)[_0x1860('0x26')](handleEntityNotFound(_0x24d93f,null))[_0x1860('0x26')](respondWithResult(_0x24d93f,null))[_0x1860('0x43')](handleError(_0x24d93f,null));};exports[_0x1860('0x47')]=function(_0xf98778,_0x318e7d){return db[_0x1860('0x3f')][_0x1860('0x47')](_0xf98778[_0x1860('0x48')],{})[_0x1860('0x26')](function(_0x488f86){var _0x163c6e=_0xf98778[_0x1860('0x49')][_0x1860('0x27')]({'plain':!![]});if(!_0x163c6e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x163c6e['role']===_0x1860('0x49')){var _0x263577=_0x488f86['get']({'plain':!![]});var _0x1164d9=_0x1860('0x4a');return db[_0x1860('0x4b')]['find']({'where':{'name':_0x1164d9,'userProfileId':_0x163c6e[_0x1860('0x4c')]},'raw':!![]})['then'](function(_0x1da6a7){if(_0x1da6a7&&_0x1da6a7[_0x1860('0x4d')]===0x0){return db[_0x1860('0x28')][_0x1860('0x47')]({'name':_0x263577[_0x1860('0x2b')],'resourceId':_0x263577['id'],'type':_0x1da6a7[_0x1860('0x2b')],'sectionId':_0x1da6a7['id']},{})[_0x1860('0x26')](function(){return _0x488f86;});}else{return _0x488f86;}})['catch'](function(_0x490de3){logger[_0x1860('0x4e')](_0x1860('0x4f'),_0x490de3);throw _0x490de3;});}return _0x488f86;})[_0x1860('0x26')](respondWithResult(_0x318e7d,0xc9))[_0x1860('0x43')](handleError(_0x318e7d,null));};exports[_0x1860('0x25')]=function(_0x147a82,_0x2c9843){if(_0x147a82[_0x1860('0x48')]['id']){delete _0x147a82[_0x1860('0x48')]['id'];}return db[_0x1860('0x3f')][_0x1860('0x50')]({'where':{'id':_0x147a82[_0x1860('0x51')]['id']}})[_0x1860('0x26')](handleEntityNotFound(_0x2c9843,null))[_0x1860('0x26')](saveUpdates(_0x147a82[_0x1860('0x48')],null))[_0x1860('0x26')](respondWithResult(_0x2c9843,null))['catch'](handleError(_0x2c9843,null));};exports[_0x1860('0x29')]=function(_0x5ccb84,_0x4adb4e){return db[_0x1860('0x3f')][_0x1860('0x50')]({'where':{'id':_0x5ccb84[_0x1860('0x51')]['id']}})[_0x1860('0x26')](handleEntityNotFound(_0x4adb4e,null))[_0x1860('0x26')](removeEntity(_0x4adb4e,null))[_0x1860('0x43')](handleError(_0x4adb4e,null));};exports[_0x1860('0x52')]=function(_0x51a745,_0x54bb67,_0x13d3db){var _0x3643ed=require(_0x1860('0x53'));return db[_0x1860('0x3f')][_0x1860('0x50')]({'where':{'id':_0x51a745[_0x1860('0x51')]['id']},'raw':!![]})[_0x1860('0x26')](handleEntityNotFound(_0x54bb67,null))['then'](function(){_0x3643ed[_0x1860('0x52')](_0x51a745[_0x1860('0x51')]['id']);})['then'](respondWithStatusCode(_0x54bb67,null))[_0x1860('0x43')](handleError(_0x54bb67,null));};