Built motion from commit (unavailable).|2.3.1
[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 _0xbd21=['error','stack','name','send','index','Schedule','rawAttributes','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','map','VIRTUAL','field','filter','merge','options','include','findAll','show','params','keys','includeAll','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','limit','set','json','apply','reject','save','update','then','get','Scheduler','UserProfileResource','destroy'];(function(_0x55c4db,_0x293304){var _0x58ba84=function(_0xfc9c76){while(--_0xfc9c76){_0x55c4db['push'](_0x55c4db['shift']());}};_0x58ba84(++_0x293304);}(_0xbd21,0xd7));var _0x1bd2=function(_0x4a8342,_0x23f3a6){_0x4a8342=_0x4a8342-0x0;var _0x444b96=_0xbd21[_0x4a8342];return _0x444b96;};'use strict';var pdf=require(_0x1bd2('0x0'));var emlformat=require(_0x1bd2('0x1'));var rimraf=require(_0x1bd2('0x2'));var zipdir=require(_0x1bd2('0x3'));var jsonpatch=require(_0x1bd2('0x4'));var rp=require(_0x1bd2('0x5'));var moment=require(_0x1bd2('0x6'));var BPromise=require(_0x1bd2('0x7'));var Mustache=require(_0x1bd2('0x8'));var util=require('util');var path=require(_0x1bd2('0x9'));var sox=require(_0x1bd2('0xa'));var csv=require('to-csv');var ejs=require(_0x1bd2('0xb'));var fs=require('fs');var _=require(_0x1bd2('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1bd2('0xd'));var deskjs=require(_0x1bd2('0xe'));var toCsv=require(_0x1bd2('0xf'));var querystring=require(_0x1bd2('0x10'));var Papa=require(_0x1bd2('0x11'));var authService=require(_0x1bd2('0x12'));var hardwareService=require(_0x1bd2('0x13'));var Redis=require(_0x1bd2('0x14'));var qs=require(_0x1bd2('0x15'));var logger=require(_0x1bd2('0x16'))(_0x1bd2('0x17'));var utils=require(_0x1bd2('0x18'));var config=require(_0x1bd2('0x19'));var db=require(_0x1bd2('0x1a'))['db'];function respondWithStatusCode(_0x17772a,_0x4ba1b0){_0x4ba1b0=_0x4ba1b0||0xcc;return function(_0x3f9868){if(_0x3f9868){return _0x17772a[_0x1bd2('0x1b')](_0x4ba1b0);}return _0x17772a[_0x1bd2('0x1c')](_0x4ba1b0)[_0x1bd2('0x1d')]();};}function respondWithResult(_0x386013,_0x463402){_0x463402=_0x463402||0xc8;return function(_0x401555){if(_0x401555){return _0x386013[_0x1bd2('0x1c')](_0x463402)['json'](_0x401555);}};}function respondWithFilteredResult(_0x32bbda,_0x274345){return function(_0x29ca9f){if(_0x29ca9f){var _0x5db1ad=_0x29ca9f[_0x1bd2('0x1e')],_0x3abe3f=_0x274345['offset'],_0x11fe66=_0x274345['offset']+_0x274345[_0x1bd2('0x1f')],_0x2039b1;if(_0x11fe66>=_0x5db1ad){_0x11fe66=_0x5db1ad;_0x2039b1=0xc8;}else{_0x2039b1=0xce;}_0x32bbda[_0x1bd2('0x1c')](_0x2039b1);return _0x32bbda[_0x1bd2('0x20')]('Content-Range',_0x3abe3f+'-'+_0x11fe66+'/'+_0x5db1ad)[_0x1bd2('0x21')](_0x29ca9f);}return null;};}function patchUpdates(_0x299ee9){return function(_0x4a14e1){try{jsonpatch[_0x1bd2('0x22')](_0x4a14e1,_0x299ee9,!![]);}catch(_0x3b679a){return BPromise[_0x1bd2('0x23')](_0x3b679a);}return _0x4a14e1[_0x1bd2('0x24')]();};}function saveUpdates(_0x45d806,_0x351ea8){return function(_0x331362){if(_0x331362){return _0x331362[_0x1bd2('0x25')](_0x45d806)[_0x1bd2('0x26')](function(_0x2f0a3c){return _0x2f0a3c;});}return null;};}function removeEntity(_0x2c81ad,_0x409cc2){return function(_0x3727c7){if(_0x3727c7){return _0x3727c7['destroy']()[_0x1bd2('0x26')](function(){var _0x40d8f7=_0x3727c7[_0x1bd2('0x27')]({'plain':!![]});var _0x4b020a=_0x1bd2('0x28');return db[_0x1bd2('0x29')][_0x1bd2('0x2a')]({'where':{'type':_0x4b020a,'resourceId':_0x40d8f7['id']}})[_0x1bd2('0x26')](function(){return _0x3727c7;});})[_0x1bd2('0x26')](function(){_0x2c81ad[_0x1bd2('0x1c')](0xcc)[_0x1bd2('0x1d')]();});}};}function handleEntityNotFound(_0x6de324,_0x1686b5){return function(_0x20ae5a){if(!_0x20ae5a){_0x6de324[_0x1bd2('0x1b')](0x194);}return _0x20ae5a;};}function handleError(_0x19cc49,_0x3a7aae){_0x3a7aae=_0x3a7aae||0x1f4;return function(_0x2c2d8b){logger[_0x1bd2('0x2b')](_0x2c2d8b[_0x1bd2('0x2c')]);if(_0x2c2d8b[_0x1bd2('0x2d')]){delete _0x2c2d8b[_0x1bd2('0x2d')];}_0x19cc49[_0x1bd2('0x1c')](_0x3a7aae)[_0x1bd2('0x2e')](_0x2c2d8b);};}exports[_0x1bd2('0x2f')]=function(_0x36cc86,_0xd0b9bb){var _0x44fcf5={},_0x1bb1b8={},_0x57a083={'count':0x0,'rows':[]};var _0x5166ce=db[_0x1bd2('0x30')][_0x1bd2('0x31')];_0x1bb1b8[_0x1bd2('0x32')]=_['keys'](_0x5166ce);_0x1bb1b8[_0x1bd2('0x33')]=_['keys'](_0x36cc86[_0x1bd2('0x33')]);_0x1bb1b8[_0x1bd2('0x34')]=_[_0x1bd2('0x35')](_0x1bb1b8[_0x1bd2('0x32')],_0x1bb1b8['query']);_0x44fcf5[_0x1bd2('0x36')]=_[_0x1bd2('0x35')](_0x1bb1b8[_0x1bd2('0x32')],qs[_0x1bd2('0x37')](_0x36cc86['query'][_0x1bd2('0x37')]));_0x44fcf5[_0x1bd2('0x36')]=_0x44fcf5[_0x1bd2('0x36')][_0x1bd2('0x38')]?_0x44fcf5[_0x1bd2('0x36')]:_0x1bb1b8['model'];if(!_0x36cc86[_0x1bd2('0x33')][_0x1bd2('0x39')](_0x1bd2('0x3a'))){_0x44fcf5[_0x1bd2('0x1f')]=qs['limit'](_0x36cc86['query']['limit']);_0x44fcf5[_0x1bd2('0x3b')]=qs['offset'](_0x36cc86[_0x1bd2('0x33')][_0x1bd2('0x3b')]);}_0x44fcf5[_0x1bd2('0x3c')]=qs[_0x1bd2('0x3d')](_0x36cc86[_0x1bd2('0x33')][_0x1bd2('0x3d')]);_0x44fcf5[_0x1bd2('0x3e')]=qs['filters'](_['pick'](_0x36cc86[_0x1bd2('0x33')],_0x1bb1b8[_0x1bd2('0x34')]));if(_0x36cc86['query']['filter']){_0x44fcf5[_0x1bd2('0x3e')]=_['merge'](_0x44fcf5[_0x1bd2('0x3e')],{'$or':_[_0x1bd2('0x3f')](_0x5166ce,function(_0x460fee){if(_0x460fee['type']['key']!==_0x1bd2('0x40')){var _0x14607c={};_0x14607c[_0x460fee[_0x1bd2('0x41')]]={'$like':'%'+_0x36cc86[_0x1bd2('0x33')][_0x1bd2('0x42')]+'%'};return _0x14607c;}})});}_0x44fcf5=_[_0x1bd2('0x43')]({},_0x44fcf5,_0x36cc86[_0x1bd2('0x44')]);var _0x31302c={'where':_0x44fcf5[_0x1bd2('0x3e')]};return db[_0x1bd2('0x30')]['count'](_0x31302c)['then'](function(_0x339fee){_0x57a083[_0x1bd2('0x1e')]=_0x339fee;if(_0x36cc86[_0x1bd2('0x33')]['includeAll']){_0x44fcf5[_0x1bd2('0x45')]=[{'all':!![]}];}return db['Schedule'][_0x1bd2('0x46')](_0x44fcf5);})[_0x1bd2('0x26')](function(_0x47353f){_0x57a083['rows']=_0x47353f;return _0x57a083;})[_0x1bd2('0x26')](respondWithFilteredResult(_0xd0b9bb,_0x44fcf5))['catch'](handleError(_0xd0b9bb,null));};exports[_0x1bd2('0x47')]=function(_0x58c883,_0x35a553){var _0x1a7587={'raw':![],'where':{'id':_0x58c883[_0x1bd2('0x48')]['id']}},_0x1530f3={};_0x1530f3[_0x1bd2('0x32')]=_[_0x1bd2('0x49')](db['Schedule'][_0x1bd2('0x31')]);_0x1530f3[_0x1bd2('0x33')]=_[_0x1bd2('0x49')](_0x58c883[_0x1bd2('0x33')]);_0x1530f3[_0x1bd2('0x34')]=_['intersection'](_0x1530f3['model'],_0x1530f3[_0x1bd2('0x33')]);_0x1a7587[_0x1bd2('0x36')]=_[_0x1bd2('0x35')](_0x1530f3['model'],qs['fields'](_0x58c883[_0x1bd2('0x33')]['fields']));_0x1a7587[_0x1bd2('0x36')]=_0x1a7587[_0x1bd2('0x36')][_0x1bd2('0x38')]?_0x1a7587[_0x1bd2('0x36')]:_0x1530f3[_0x1bd2('0x32')];if(_0x58c883['query'][_0x1bd2('0x4a')]){_0x1a7587[_0x1bd2('0x45')]=[{'all':!![]}];}_0x1a7587=_[_0x1bd2('0x43')]({},_0x1a7587,_0x58c883['options']);return db[_0x1bd2('0x30')][_0x1bd2('0x4b')](_0x1a7587)[_0x1bd2('0x26')](handleEntityNotFound(_0x35a553,null))['then'](respondWithResult(_0x35a553,null))[_0x1bd2('0x4c')](handleError(_0x35a553,null));};exports[_0x1bd2('0x4d')]=function(_0x2e57b5,_0x69621){return db['Schedule']['create'](_0x2e57b5[_0x1bd2('0x4e')],{})[_0x1bd2('0x26')](function(_0x5b48d2){var _0x24831e=_0x2e57b5['user'][_0x1bd2('0x27')]({'plain':!![]});if(!_0x24831e)throw new Error(_0x1bd2('0x4f'));if(_0x24831e[_0x1bd2('0x50')]===_0x1bd2('0x51')){var _0x3ab85b=_0x5b48d2[_0x1bd2('0x27')]({'plain':!![]});var _0x2993ce='Scheduler';return db['UserProfileSection']['find']({'where':{'name':_0x2993ce,'userProfileId':_0x24831e[_0x1bd2('0x52')]},'raw':!![]})[_0x1bd2('0x26')](function(_0x4b17ab){if(_0x4b17ab&&_0x4b17ab[_0x1bd2('0x53')]===0x0){return db['UserProfileResource'][_0x1bd2('0x4d')]({'name':_0x3ab85b[_0x1bd2('0x2d')],'resourceId':_0x3ab85b['id'],'type':_0x4b17ab[_0x1bd2('0x2d')],'sectionId':_0x4b17ab['id']},{})['then'](function(){return _0x5b48d2;});}else{return _0x5b48d2;}})[_0x1bd2('0x4c')](function(_0x461760){logger[_0x1bd2('0x2b')](_0x1bd2('0x54'),_0x461760);throw _0x461760;});}return _0x5b48d2;})['then'](respondWithResult(_0x69621,0xc9))[_0x1bd2('0x4c')](handleError(_0x69621,null));};exports['update']=function(_0x1ff988,_0x5d7d13){if(_0x1ff988[_0x1bd2('0x4e')]['id']){delete _0x1ff988['body']['id'];}return db[_0x1bd2('0x30')][_0x1bd2('0x4b')]({'where':{'id':_0x1ff988[_0x1bd2('0x48')]['id']}})[_0x1bd2('0x26')](handleEntityNotFound(_0x5d7d13,null))[_0x1bd2('0x26')](saveUpdates(_0x1ff988[_0x1bd2('0x4e')],null))[_0x1bd2('0x26')](respondWithResult(_0x5d7d13,null))['catch'](handleError(_0x5d7d13,null));};exports[_0x1bd2('0x2a')]=function(_0xef9661,_0x464f89){return db[_0x1bd2('0x30')]['find']({'where':{'id':_0xef9661[_0x1bd2('0x48')]['id']}})[_0x1bd2('0x26')](handleEntityNotFound(_0x464f89,null))[_0x1bd2('0x26')](removeEntity(_0x464f89,null))[_0x1bd2('0x4c')](handleError(_0x464f89,null));};exports[_0x1bd2('0x55')]=function(_0x5c468b,_0x143fc8,_0x15bf4a){var _0x2b89af=require('../../config/schedule');return db[_0x1bd2('0x30')][_0x1bd2('0x4b')]({'where':{'id':_0x5c468b[_0x1bd2('0x48')]['id']},'raw':!![]})[_0x1bd2('0x26')](handleEntityNotFound(_0x143fc8,null))[_0x1bd2('0x26')](function(){_0x2b89af[_0x1bd2('0x55')](_0x5c468b['params']['id']);})[_0x1bd2('0x26')](respondWithStatusCode(_0x143fc8,null))[_0x1bd2('0x4c')](handleError(_0x143fc8,null));};