Built motion from commit (unavailable).|2.5.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 _0x3a60=['show','params','rawAttributes','keys','fields','find','create','body','user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','html-pdf','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Scheduler','UserProfileResource','error','stack','name','send','map','Schedule','type','key','model','query','filters','attributes','intersection','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch'];(function(_0x4b9eec,_0x2dfbb0){var _0x2f530f=function(_0x4b87d6){while(--_0x4b87d6){_0x4b9eec['push'](_0x4b9eec['shift']());}};_0x2f530f(++_0x2dfbb0);}(_0x3a60,0xb1));var _0x03a6=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x3a60[_0x14add3];return _0x4a174f;};'use strict';var pdf=require(_0x03a6('0x0'));var emlformat=require(_0x03a6('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x03a6('0x2'));var rp=require(_0x03a6('0x3'));var moment=require('moment');var BPromise=require(_0x03a6('0x4'));var Mustache=require(_0x03a6('0x5'));var util=require(_0x03a6('0x6'));var path=require(_0x03a6('0x7'));var sox=require(_0x03a6('0x8'));var csv=require(_0x03a6('0x9'));var ejs=require(_0x03a6('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x03a6('0xb'));var jsforce=require(_0x03a6('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x03a6('0x9'));var querystring=require(_0x03a6('0xd'));var Papa=require(_0x03a6('0xe'));var Redis=require('ioredis');var authService=require(_0x03a6('0xf'));var qs=require(_0x03a6('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x03a6('0x11'))('api');var utils=require('../../config/utils');var config=require(_0x03a6('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x03a6('0x13'))['db'];function respondWithStatusCode(_0x3d86ee,_0x4ac7a1){_0x4ac7a1=_0x4ac7a1||0xcc;return function(_0x10027f){if(_0x10027f){return _0x3d86ee[_0x03a6('0x14')](_0x4ac7a1);}return _0x3d86ee[_0x03a6('0x15')](_0x4ac7a1)[_0x03a6('0x16')]();};}function respondWithResult(_0x3901a5,_0x26bf9d){_0x26bf9d=_0x26bf9d||0xc8;return function(_0x1407b8){if(_0x1407b8){return _0x3901a5['status'](_0x26bf9d)['json'](_0x1407b8);}};}function respondWithFilteredResult(_0x4d7264,_0x5a4758){return function(_0x5d3ba2){if(_0x5d3ba2){var _0x20127d=_0x5d3ba2[_0x03a6('0x17')],_0x592914=_0x5a4758[_0x03a6('0x18')],_0x3d4e27=_0x5a4758['offset']+_0x5a4758[_0x03a6('0x19')],_0x5be9d6;if(_0x3d4e27>=_0x20127d){_0x3d4e27=_0x20127d;_0x5be9d6=0xc8;}else{_0x5be9d6=0xce;}_0x4d7264[_0x03a6('0x15')](_0x5be9d6);return _0x4d7264[_0x03a6('0x1a')](_0x03a6('0x1b'),_0x592914+'-'+_0x3d4e27+'/'+_0x20127d)[_0x03a6('0x1c')](_0x5d3ba2);}return null;};}function patchUpdates(_0x4fe555){return function(_0x81d160){try{jsonpatch[_0x03a6('0x1d')](_0x81d160,_0x4fe555,!![]);}catch(_0x3adebb){return BPromise[_0x03a6('0x1e')](_0x3adebb);}return _0x81d160[_0x03a6('0x1f')]();};}function saveUpdates(_0x2df1ef,_0x53d7da){return function(_0x54c7e5){if(_0x54c7e5){return _0x54c7e5[_0x03a6('0x20')](_0x2df1ef)[_0x03a6('0x21')](function(_0x2f6dbd){return _0x2f6dbd;});}return null;};}function removeEntity(_0x159183,_0x1ec5e6){return function(_0x3198b2){if(_0x3198b2){return _0x3198b2[_0x03a6('0x22')]()['then'](function(){var _0x3bac58=_0x3198b2[_0x03a6('0x23')]({'plain':!![]});var _0x37825c=_0x03a6('0x24');return db[_0x03a6('0x25')][_0x03a6('0x22')]({'where':{'type':_0x37825c,'resourceId':_0x3bac58['id']}})['then'](function(){return _0x3198b2;});})[_0x03a6('0x21')](function(){_0x159183[_0x03a6('0x15')](0xcc)[_0x03a6('0x16')]();});}};}function handleEntityNotFound(_0x32189e,_0x259c60){return function(_0x47ee19){if(!_0x47ee19){_0x32189e[_0x03a6('0x14')](0x194);}return _0x47ee19;};}function handleError(_0x18700f,_0x1aeaa6){_0x1aeaa6=_0x1aeaa6||0x1f4;return function(_0xc59b80){logger[_0x03a6('0x26')](_0xc59b80[_0x03a6('0x27')]);if(_0xc59b80[_0x03a6('0x28')]){delete _0xc59b80[_0x03a6('0x28')];}_0x18700f[_0x03a6('0x15')](_0x1aeaa6)[_0x03a6('0x29')](_0xc59b80);};}exports['index']=function(_0x361162,_0x4ba0cf){var _0x1df58e={},_0x29272f={},_0x5f37c3={'count':0x0,'rows':[]};var _0x5111cf=_[_0x03a6('0x2a')](db[_0x03a6('0x2b')]['rawAttributes'],function(_0x3f6632){return{'name':_0x3f6632['fieldName'],'type':_0x3f6632[_0x03a6('0x2c')][_0x03a6('0x2d')]};});_0x29272f[_0x03a6('0x2e')]=_[_0x03a6('0x2a')](_0x5111cf,'name');_0x29272f['query']=_['keys'](_0x361162[_0x03a6('0x2f')]);_0x29272f[_0x03a6('0x30')]=_['intersection'](_0x29272f[_0x03a6('0x2e')],_0x29272f[_0x03a6('0x2f')]);_0x1df58e[_0x03a6('0x31')]=_[_0x03a6('0x32')](_0x29272f['model'],qs['fields'](_0x361162[_0x03a6('0x2f')]['fields']));_0x1df58e[_0x03a6('0x31')]=_0x1df58e['attributes'][_0x03a6('0x33')]?_0x1df58e[_0x03a6('0x31')]:_0x29272f[_0x03a6('0x2e')];if(!_0x361162['query']['hasOwnProperty'](_0x03a6('0x34'))){_0x1df58e[_0x03a6('0x19')]=qs['limit'](_0x361162[_0x03a6('0x2f')][_0x03a6('0x19')]);_0x1df58e[_0x03a6('0x18')]=qs[_0x03a6('0x18')](_0x361162[_0x03a6('0x2f')]['offset']);}_0x1df58e[_0x03a6('0x35')]=qs['sort'](_0x361162['query'][_0x03a6('0x36')]);_0x1df58e[_0x03a6('0x37')]=qs[_0x03a6('0x30')](_[_0x03a6('0x38')](_0x361162[_0x03a6('0x2f')],_0x29272f[_0x03a6('0x30')]),_0x5111cf);if(_0x361162[_0x03a6('0x2f')][_0x03a6('0x39')]){_0x1df58e['where']=_['merge'](_0x1df58e[_0x03a6('0x37')],{'$or':_[_0x03a6('0x2a')](_0x5111cf,function(_0x32ca7d){if(_0x32ca7d[_0x03a6('0x2c')]!==_0x03a6('0x3a')){var _0xf6ae5d={};_0xf6ae5d[_0x32ca7d[_0x03a6('0x28')]]={'$like':'%'+_0x361162[_0x03a6('0x2f')]['filter']+'%'};return _0xf6ae5d;}})});}_0x1df58e=_[_0x03a6('0x3b')]({},_0x1df58e,_0x361162[_0x03a6('0x3c')]);var _0x12722e={'where':_0x1df58e[_0x03a6('0x37')]};return db[_0x03a6('0x2b')]['count'](_0x12722e)['then'](function(_0x5015cd){_0x5f37c3[_0x03a6('0x17')]=_0x5015cd;if(_0x361162[_0x03a6('0x2f')][_0x03a6('0x3d')]){_0x1df58e[_0x03a6('0x3e')]=[{'all':!![]}];}return db[_0x03a6('0x2b')][_0x03a6('0x3f')](_0x1df58e);})[_0x03a6('0x21')](function(_0x1e25a6){_0x5f37c3[_0x03a6('0x40')]=_0x1e25a6;return _0x5f37c3;})[_0x03a6('0x21')](respondWithFilteredResult(_0x4ba0cf,_0x1df58e))[_0x03a6('0x41')](handleError(_0x4ba0cf,null));};exports[_0x03a6('0x42')]=function(_0x19de42,_0x5b9b11){var _0x4f2039={'raw':![],'where':{'id':_0x19de42[_0x03a6('0x43')]['id']}},_0x2a91fd={};_0x2a91fd['model']=_['keys'](db[_0x03a6('0x2b')][_0x03a6('0x44')]);_0x2a91fd['query']=_[_0x03a6('0x45')](_0x19de42['query']);_0x2a91fd['filters']=_['intersection'](_0x2a91fd['model'],_0x2a91fd[_0x03a6('0x2f')]);_0x4f2039[_0x03a6('0x31')]=_[_0x03a6('0x32')](_0x2a91fd[_0x03a6('0x2e')],qs[_0x03a6('0x46')](_0x19de42[_0x03a6('0x2f')][_0x03a6('0x46')]));_0x4f2039[_0x03a6('0x31')]=_0x4f2039['attributes']['length']?_0x4f2039[_0x03a6('0x31')]:_0x2a91fd[_0x03a6('0x2e')];if(_0x19de42[_0x03a6('0x2f')][_0x03a6('0x3d')]){_0x4f2039[_0x03a6('0x3e')]=[{'all':!![]}];}_0x4f2039=_[_0x03a6('0x3b')]({},_0x4f2039,_0x19de42[_0x03a6('0x3c')]);return db[_0x03a6('0x2b')][_0x03a6('0x47')](_0x4f2039)['then'](handleEntityNotFound(_0x5b9b11,null))[_0x03a6('0x21')](respondWithResult(_0x5b9b11,null))[_0x03a6('0x41')](handleError(_0x5b9b11,null));};exports[_0x03a6('0x48')]=function(_0x2a05c9,_0x228d0f){return db[_0x03a6('0x2b')][_0x03a6('0x48')](_0x2a05c9[_0x03a6('0x49')],{})[_0x03a6('0x21')](function(_0x5dc780){var _0x5deb75=_0x2a05c9[_0x03a6('0x4a')][_0x03a6('0x23')]({'plain':!![]});if(!_0x5deb75)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5deb75[_0x03a6('0x4b')]===_0x03a6('0x4a')){var _0x2632ad=_0x5dc780['get']({'plain':!![]});var _0x39d0bc=_0x03a6('0x24');return db[_0x03a6('0x4c')][_0x03a6('0x47')]({'where':{'name':_0x39d0bc,'userProfileId':_0x5deb75[_0x03a6('0x4d')]},'raw':!![]})[_0x03a6('0x21')](function(_0x230ef6){if(_0x230ef6&&_0x230ef6['autoAssociation']===0x0){return db[_0x03a6('0x25')]['create']({'name':_0x2632ad[_0x03a6('0x28')],'resourceId':_0x2632ad['id'],'type':_0x230ef6['name'],'sectionId':_0x230ef6['id']},{})['then'](function(){return _0x5dc780;});}else{return _0x5dc780;}})[_0x03a6('0x41')](function(_0x46ec70){logger[_0x03a6('0x26')](_0x03a6('0x4e'),_0x46ec70);throw _0x46ec70;});}return _0x5dc780;})[_0x03a6('0x21')](respondWithResult(_0x228d0f,0xc9))[_0x03a6('0x41')](handleError(_0x228d0f,null));};exports[_0x03a6('0x20')]=function(_0x2e2d7e,_0x451f7f){if(_0x2e2d7e[_0x03a6('0x49')]['id']){delete _0x2e2d7e[_0x03a6('0x49')]['id'];}return db[_0x03a6('0x2b')]['find']({'where':{'id':_0x2e2d7e[_0x03a6('0x43')]['id']}})[_0x03a6('0x21')](handleEntityNotFound(_0x451f7f,null))[_0x03a6('0x21')](saveUpdates(_0x2e2d7e[_0x03a6('0x49')],null))['then'](respondWithResult(_0x451f7f,null))['catch'](handleError(_0x451f7f,null));};exports['destroy']=function(_0x4ad5c1,_0x22c4ef){return db['Schedule'][_0x03a6('0x47')]({'where':{'id':_0x4ad5c1[_0x03a6('0x43')]['id']}})[_0x03a6('0x21')](handleEntityNotFound(_0x22c4ef,null))[_0x03a6('0x21')](removeEntity(_0x22c4ef,null))[_0x03a6('0x41')](handleError(_0x22c4ef,null));};exports[_0x03a6('0x4f')]=function(_0x1c4eb2,_0x1c982a,_0x212ac4){var _0x2866a1=require(_0x03a6('0x50'));return db[_0x03a6('0x2b')][_0x03a6('0x47')]({'where':{'id':_0x1c4eb2[_0x03a6('0x43')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x1c982a,null))[_0x03a6('0x21')](function(){_0x2866a1[_0x03a6('0x4f')](_0x1c4eb2['params']['id']);})[_0x03a6('0x21')](respondWithStatusCode(_0x1c982a,null))[_0x03a6('0x41')](handleError(_0x1c982a,null));};