Built motion from commit e1760111.|2.6.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 _0x935f=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','destroy','Scheduler','UserProfileResource','stack','name','send','index','map','Schedule','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','catch','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','run','../../config/schedule','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api'];(function(_0x311527,_0x56ec48){var _0x4a2008=function(_0x48c808){while(--_0x48c808){_0x311527['push'](_0x311527['shift']());}};_0x4a2008(++_0x56ec48);}(_0x935f,0x151));var _0xf935=function(_0x31852f,_0x588ffa){_0x31852f=_0x31852f-0x0;var _0x49d029=_0x935f[_0x31852f];return _0x49d029;};'use strict';var emlformat=require(_0xf935('0x0'));var rimraf=require(_0xf935('0x1'));var zipdir=require(_0xf935('0x2'));var jsonpatch=require(_0xf935('0x3'));var rp=require(_0xf935('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf935('0x5'));var path=require(_0xf935('0x6'));var sox=require(_0xf935('0x7'));var csv=require(_0xf935('0x8'));var ejs=require(_0xf935('0x9'));var fs=require('fs');var fs_extra=require(_0xf935('0xa'));var _=require(_0xf935('0xb'));var squel=require(_0xf935('0xc'));var crypto=require(_0xf935('0xd'));var jsforce=require(_0xf935('0xe'));var deskjs=require(_0xf935('0xf'));var toCsv=require(_0xf935('0x8'));var querystring=require(_0xf935('0x10'));var Papa=require(_0xf935('0x11'));var Redis=require(_0xf935('0x12'));var authService=require(_0xf935('0x13'));var qs=require(_0xf935('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xf935('0x15'))(_0xf935('0x16'));var utils=require(_0xf935('0x17'));var config=require(_0xf935('0x18'));var licenseUtil=require(_0xf935('0x19'));var db=require(_0xf935('0x1a'))['db'];function respondWithStatusCode(_0x20cb22,_0x2546c8){_0x2546c8=_0x2546c8||0xcc;return function(_0x9aa7a6){if(_0x9aa7a6){return _0x20cb22[_0xf935('0x1b')](_0x2546c8);}return _0x20cb22[_0xf935('0x1c')](_0x2546c8)[_0xf935('0x1d')]();};}function respondWithResult(_0x3a2df1,_0x114efe){_0x114efe=_0x114efe||0xc8;return function(_0x1e0336){if(_0x1e0336){return _0x3a2df1[_0xf935('0x1c')](_0x114efe)['json'](_0x1e0336);}};}function respondWithFilteredResult(_0x43cf81,_0x1c1e2f){return function(_0x382ab4){if(_0x382ab4){var _0x2f6cc3=typeof _0x1c1e2f[_0xf935('0x1e')]===_0xf935('0x1f')&&typeof _0x1c1e2f['limit']===_0xf935('0x1f');var _0x714f16=_0x382ab4[_0xf935('0x20')];var _0x56e2ea=_0x2f6cc3?0x0:_0x1c1e2f['offset'];var _0x429486=_0x2f6cc3?_0x382ab4[_0xf935('0x20')]:_0x1c1e2f[_0xf935('0x1e')]+_0x1c1e2f[_0xf935('0x21')];var _0xaca55c;if(_0x429486>=_0x714f16){_0x429486=_0x714f16;_0xaca55c=0xc8;}else{_0xaca55c=0xce;}_0x43cf81[_0xf935('0x1c')](_0xaca55c);return _0x43cf81[_0xf935('0x22')](_0xf935('0x23'),_0x56e2ea+'-'+_0x429486+'/'+_0x714f16)['json'](_0x382ab4);}return null;};}function patchUpdates(_0x538f59){return function(_0x18dfe1){try{jsonpatch[_0xf935('0x24')](_0x18dfe1,_0x538f59,!![]);}catch(_0x2eb821){return BPromise[_0xf935('0x25')](_0x2eb821);}return _0x18dfe1['save']();};}function saveUpdates(_0x479245,_0x10a2fa){return function(_0x17c5c3){if(_0x17c5c3){return _0x17c5c3[_0xf935('0x26')](_0x479245)[_0xf935('0x27')](function(_0x564881){return _0x564881;});}return null;};}function removeEntity(_0x2e8659,_0x2999c6){return function(_0xc2b43){if(_0xc2b43){return _0xc2b43[_0xf935('0x28')]()[_0xf935('0x27')](function(){var _0x3231e4=_0xc2b43['get']({'plain':!![]});var _0x3701b9=_0xf935('0x29');return db[_0xf935('0x2a')]['destroy']({'where':{'type':_0x3701b9,'resourceId':_0x3231e4['id']}})['then'](function(){return _0xc2b43;});})[_0xf935('0x27')](function(){_0x2e8659['status'](0xcc)[_0xf935('0x1d')]();});}};}function handleEntityNotFound(_0x145cac,_0x4ee2b6){return function(_0xed2fe4){if(!_0xed2fe4){_0x145cac[_0xf935('0x1b')](0x194);}return _0xed2fe4;};}function handleError(_0x4b1701,_0x111be1){_0x111be1=_0x111be1||0x1f4;return function(_0x3fe096){logger['error'](_0x3fe096[_0xf935('0x2b')]);if(_0x3fe096[_0xf935('0x2c')]){delete _0x3fe096['name'];}_0x4b1701[_0xf935('0x1c')](_0x111be1)[_0xf935('0x2d')](_0x3fe096);};}exports[_0xf935('0x2e')]=function(_0xd7ca45,_0x55251f){var _0x502849={},_0x1a9045={},_0x14e060={'count':0x0,'rows':[]};var _0x3f5c56=_[_0xf935('0x2f')](db[_0xf935('0x30')][_0xf935('0x31')],function(_0x57bdce){return{'name':_0x57bdce[_0xf935('0x32')],'type':_0x57bdce[_0xf935('0x33')][_0xf935('0x34')]};});_0x1a9045[_0xf935('0x35')]=_['map'](_0x3f5c56,_0xf935('0x2c'));_0x1a9045['query']=_[_0xf935('0x36')](_0xd7ca45[_0xf935('0x37')]);_0x1a9045[_0xf935('0x38')]=_['intersection'](_0x1a9045[_0xf935('0x35')],_0x1a9045[_0xf935('0x37')]);_0x502849[_0xf935('0x39')]=_[_0xf935('0x3a')](_0x1a9045[_0xf935('0x35')],qs[_0xf935('0x3b')](_0xd7ca45[_0xf935('0x37')]['fields']));_0x502849['attributes']=_0x502849[_0xf935('0x39')][_0xf935('0x3c')]?_0x502849['attributes']:_0x1a9045[_0xf935('0x35')];if(!_0xd7ca45[_0xf935('0x37')][_0xf935('0x3d')](_0xf935('0x3e'))){_0x502849[_0xf935('0x21')]=qs[_0xf935('0x21')](_0xd7ca45[_0xf935('0x37')][_0xf935('0x21')]);_0x502849[_0xf935('0x1e')]=qs['offset'](_0xd7ca45['query']['offset']);}_0x502849[_0xf935('0x3f')]=qs[_0xf935('0x40')](_0xd7ca45[_0xf935('0x37')][_0xf935('0x40')]);_0x502849[_0xf935('0x41')]=qs[_0xf935('0x38')](_[_0xf935('0x42')](_0xd7ca45[_0xf935('0x37')],_0x1a9045[_0xf935('0x38')]),_0x3f5c56);if(_0xd7ca45[_0xf935('0x37')]['filter']){_0x502849[_0xf935('0x41')]=_[_0xf935('0x43')](_0x502849[_0xf935('0x41')],{'$or':_['map'](_0x3f5c56,function(_0x30f665){if(_0x30f665[_0xf935('0x33')]!==_0xf935('0x44')){var _0x5efc08={};_0x5efc08[_0x30f665[_0xf935('0x2c')]]={'$like':'%'+_0xd7ca45[_0xf935('0x37')]['filter']+'%'};return _0x5efc08;}})});}_0x502849=_[_0xf935('0x43')]({},_0x502849,_0xd7ca45[_0xf935('0x45')]);var _0x232be1={'where':_0x502849[_0xf935('0x41')]};return db[_0xf935('0x30')][_0xf935('0x20')](_0x232be1)[_0xf935('0x27')](function(_0x53a67e){_0x14e060[_0xf935('0x20')]=_0x53a67e;if(_0xd7ca45[_0xf935('0x37')][_0xf935('0x46')]){_0x502849[_0xf935('0x47')]=[{'all':!![]}];}return db[_0xf935('0x30')][_0xf935('0x48')](_0x502849);})[_0xf935('0x27')](function(_0x3c6aab){_0x14e060[_0xf935('0x49')]=_0x3c6aab;return _0x14e060;})[_0xf935('0x27')](respondWithFilteredResult(_0x55251f,_0x502849))['catch'](handleError(_0x55251f,null));};exports[_0xf935('0x4a')]=function(_0xcda75c,_0x792d24){var _0x1d1556={'raw':![],'where':{'id':_0xcda75c[_0xf935('0x4b')]['id']}},_0xd9d521={};_0xd9d521[_0xf935('0x35')]=_['keys'](db[_0xf935('0x30')][_0xf935('0x31')]);_0xd9d521[_0xf935('0x37')]=_[_0xf935('0x36')](_0xcda75c['query']);_0xd9d521[_0xf935('0x38')]=_['intersection'](_0xd9d521[_0xf935('0x35')],_0xd9d521[_0xf935('0x37')]);_0x1d1556[_0xf935('0x39')]=_['intersection'](_0xd9d521[_0xf935('0x35')],qs[_0xf935('0x3b')](_0xcda75c[_0xf935('0x37')][_0xf935('0x3b')]));_0x1d1556['attributes']=_0x1d1556[_0xf935('0x39')][_0xf935('0x3c')]?_0x1d1556[_0xf935('0x39')]:_0xd9d521[_0xf935('0x35')];if(_0xcda75c[_0xf935('0x37')][_0xf935('0x46')]){_0x1d1556[_0xf935('0x47')]=[{'all':!![]}];}_0x1d1556=_[_0xf935('0x43')]({},_0x1d1556,_0xcda75c['options']);return db[_0xf935('0x30')][_0xf935('0x4c')](_0x1d1556)['then'](handleEntityNotFound(_0x792d24,null))[_0xf935('0x27')](respondWithResult(_0x792d24,null))[_0xf935('0x4d')](handleError(_0x792d24,null));};exports[_0xf935('0x4e')]=function(_0x2a6d28,_0x52792f){return db[_0xf935('0x30')][_0xf935('0x4e')](_0x2a6d28['body'],{})[_0xf935('0x27')](function(_0x1f0ca3){var _0x58c8c2=_0x2a6d28[_0xf935('0x4f')][_0xf935('0x50')]({'plain':!![]});if(!_0x58c8c2)throw new Error(_0xf935('0x51'));if(_0x58c8c2[_0xf935('0x52')]===_0xf935('0x4f')){var _0x4f413e=_0x1f0ca3[_0xf935('0x50')]({'plain':!![]});var _0x186f1c=_0xf935('0x29');return db[_0xf935('0x53')][_0xf935('0x4c')]({'where':{'name':_0x186f1c,'userProfileId':_0x58c8c2[_0xf935('0x54')]},'raw':!![]})['then'](function(_0x358adb){if(_0x358adb&&_0x358adb[_0xf935('0x55')]===0x0){return db[_0xf935('0x2a')][_0xf935('0x4e')]({'name':_0x4f413e[_0xf935('0x2c')],'resourceId':_0x4f413e['id'],'type':_0x358adb['name'],'sectionId':_0x358adb['id']},{})[_0xf935('0x27')](function(){return _0x1f0ca3;});}else{return _0x1f0ca3;}})[_0xf935('0x4d')](function(_0x185290){logger['error'](_0xf935('0x56'),_0x185290);throw _0x185290;});}return _0x1f0ca3;})[_0xf935('0x27')](respondWithResult(_0x52792f,0xc9))[_0xf935('0x4d')](handleError(_0x52792f,null));};exports['update']=function(_0x2e5684,_0x2715a4){if(_0x2e5684[_0xf935('0x57')]['id']){delete _0x2e5684['body']['id'];}return db[_0xf935('0x30')]['find']({'where':{'id':_0x2e5684[_0xf935('0x4b')]['id']}})[_0xf935('0x27')](handleEntityNotFound(_0x2715a4,null))[_0xf935('0x27')](saveUpdates(_0x2e5684[_0xf935('0x57')],null))[_0xf935('0x27')](respondWithResult(_0x2715a4,null))['catch'](handleError(_0x2715a4,null));};exports[_0xf935('0x28')]=function(_0x1bf051,_0x6d3d65){return db[_0xf935('0x30')][_0xf935('0x4c')]({'where':{'id':_0x1bf051[_0xf935('0x4b')]['id']}})[_0xf935('0x27')](handleEntityNotFound(_0x6d3d65,null))[_0xf935('0x27')](removeEntity(_0x6d3d65,null))[_0xf935('0x4d')](handleError(_0x6d3d65,null));};exports[_0xf935('0x58')]=function(_0x5dbb90,_0x1fbd48,_0x276533){var _0x407fbc=require(_0xf935('0x59'));return db['Schedule'][_0xf935('0x4c')]({'where':{'id':_0x5dbb90[_0xf935('0x4b')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x1fbd48,null))[_0xf935('0x27')](function(){_0x407fbc[_0xf935('0x58')](_0x5dbb90[_0xf935('0x4b')]['id']);})[_0xf935('0x27')](respondWithStatusCode(_0x1fbd48,null))[_0xf935('0x4d')](handleError(_0x1fbd48,null));};