Built motion from commit (unavailable).|2.4.13
[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 _0x757a=['../../config/utils','sendStatus','status','json','count','offset','limit','apply','reject','update','then','destroy','get','Scheduler','UserProfileResource','end','error','stack','name','Schedule','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','map','type','key','VIRTUAL','field','options','includeAll','include','rows','catch','show','params','rawAttributes','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','run','../../config/schedule','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api'];(function(_0xb11f29,_0x49556b){var _0x18c309=function(_0x273ab3){while(--_0x273ab3){_0xb11f29['push'](_0xb11f29['shift']());}};_0x18c309(++_0x49556b);}(_0x757a,0xde));var _0xa757=function(_0x440429,_0x3dcebe){_0x440429=_0x440429-0x0;var _0x626684=_0x757a[_0x440429];return _0x626684;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa757('0x0'));var rimraf=require(_0xa757('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa757('0x2'));var BPromise=require(_0xa757('0x3'));var Mustache=require(_0xa757('0x4'));var util=require(_0xa757('0x5'));var path=require(_0xa757('0x6'));var sox=require(_0xa757('0x7'));var csv=require('to-csv');var ejs=require(_0xa757('0x8'));var fs=require('fs');var _=require(_0xa757('0x9'));var squel=require('squel');var crypto=require(_0xa757('0xa'));var jsforce=require(_0xa757('0xb'));var deskjs=require(_0xa757('0xc'));var toCsv=require(_0xa757('0xd'));var querystring=require(_0xa757('0xe'));var Papa=require('papaparse');var Redis=require(_0xa757('0xf'));var authService=require(_0xa757('0x10'));var qs=require(_0xa757('0x11'));var hardwareService=require(_0xa757('0x12'));var logger=require(_0xa757('0x13'))(_0xa757('0x14'));var utils=require(_0xa757('0x15'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5958c2,_0x56acfb){_0x56acfb=_0x56acfb||0xcc;return function(_0x4db68e){if(_0x4db68e){return _0x5958c2[_0xa757('0x16')](_0x56acfb);}return _0x5958c2['status'](_0x56acfb)['end']();};}function respondWithResult(_0x2ed0d2,_0x513b1f){_0x513b1f=_0x513b1f||0xc8;return function(_0x481508){if(_0x481508){return _0x2ed0d2[_0xa757('0x17')](_0x513b1f)[_0xa757('0x18')](_0x481508);}};}function respondWithFilteredResult(_0x355f0a,_0x4a0c38){return function(_0x86abd){if(_0x86abd){var _0x31cfd2=_0x86abd[_0xa757('0x19')],_0xf12b68=_0x4a0c38['offset'],_0x2f7947=_0x4a0c38[_0xa757('0x1a')]+_0x4a0c38[_0xa757('0x1b')],_0x185011;if(_0x2f7947>=_0x31cfd2){_0x2f7947=_0x31cfd2;_0x185011=0xc8;}else{_0x185011=0xce;}_0x355f0a[_0xa757('0x17')](_0x185011);return _0x355f0a['set']('Content-Range',_0xf12b68+'-'+_0x2f7947+'/'+_0x31cfd2)[_0xa757('0x18')](_0x86abd);}return null;};}function patchUpdates(_0x468d45){return function(_0x1bd14c){try{jsonpatch[_0xa757('0x1c')](_0x1bd14c,_0x468d45,!![]);}catch(_0x27f4ba){return BPromise[_0xa757('0x1d')](_0x27f4ba);}return _0x1bd14c['save']();};}function saveUpdates(_0x58954,_0x4fec52){return function(_0x32c2a1){if(_0x32c2a1){return _0x32c2a1[_0xa757('0x1e')](_0x58954)[_0xa757('0x1f')](function(_0x2c9ec6){return _0x2c9ec6;});}return null;};}function removeEntity(_0x4d598c,_0x5638c7){return function(_0x40ec48){if(_0x40ec48){return _0x40ec48[_0xa757('0x20')]()[_0xa757('0x1f')](function(){var _0x8d121f=_0x40ec48[_0xa757('0x21')]({'plain':!![]});var _0x40562f=_0xa757('0x22');return db[_0xa757('0x23')][_0xa757('0x20')]({'where':{'type':_0x40562f,'resourceId':_0x8d121f['id']}})['then'](function(){return _0x40ec48;});})[_0xa757('0x1f')](function(){_0x4d598c['status'](0xcc)[_0xa757('0x24')]();});}};}function handleEntityNotFound(_0x47903b,_0x40551d){return function(_0x3859ce){if(!_0x3859ce){_0x47903b[_0xa757('0x16')](0x194);}return _0x3859ce;};}function handleError(_0x4d58a4,_0x2b19d5){_0x2b19d5=_0x2b19d5||0x1f4;return function(_0xcd98bd){logger[_0xa757('0x25')](_0xcd98bd[_0xa757('0x26')]);if(_0xcd98bd['name']){delete _0xcd98bd[_0xa757('0x27')];}_0x4d58a4['status'](_0x2b19d5)['send'](_0xcd98bd);};}exports['index']=function(_0x4f8de2,_0xfdf69d){var _0x596ae2={},_0x2208f9={},_0x3bc24c={'count':0x0,'rows':[]};var _0x55c5f8=db[_0xa757('0x28')]['rawAttributes'];_0x2208f9[_0xa757('0x29')]=_[_0xa757('0x2a')](_0x55c5f8);_0x2208f9['query']=_[_0xa757('0x2a')](_0x4f8de2['query']);_0x2208f9[_0xa757('0x2b')]=_[_0xa757('0x2c')](_0x2208f9[_0xa757('0x29')],_0x2208f9[_0xa757('0x2d')]);_0x596ae2[_0xa757('0x2e')]=_[_0xa757('0x2c')](_0x2208f9[_0xa757('0x29')],qs[_0xa757('0x2f')](_0x4f8de2[_0xa757('0x2d')][_0xa757('0x2f')]));_0x596ae2[_0xa757('0x2e')]=_0x596ae2[_0xa757('0x2e')][_0xa757('0x30')]?_0x596ae2[_0xa757('0x2e')]:_0x2208f9[_0xa757('0x29')];if(!_0x4f8de2[_0xa757('0x2d')][_0xa757('0x31')](_0xa757('0x32'))){_0x596ae2[_0xa757('0x1b')]=qs[_0xa757('0x1b')](_0x4f8de2[_0xa757('0x2d')][_0xa757('0x1b')]);_0x596ae2[_0xa757('0x1a')]=qs[_0xa757('0x1a')](_0x4f8de2['query'][_0xa757('0x1a')]);}_0x596ae2[_0xa757('0x33')]=qs[_0xa757('0x34')](_0x4f8de2[_0xa757('0x2d')][_0xa757('0x34')]);_0x596ae2['where']=qs[_0xa757('0x2b')](_[_0xa757('0x35')](_0x4f8de2[_0xa757('0x2d')],_0x2208f9[_0xa757('0x2b')]));if(_0x4f8de2[_0xa757('0x2d')][_0xa757('0x36')]){_0x596ae2['where']=_[_0xa757('0x37')](_0x596ae2[_0xa757('0x38')],{'$or':_[_0xa757('0x39')](_0x55c5f8,function(_0xc34409){if(_0xc34409[_0xa757('0x3a')][_0xa757('0x3b')]!==_0xa757('0x3c')){var _0x3e12a5={};_0x3e12a5[_0xc34409[_0xa757('0x3d')]]={'$like':'%'+_0x4f8de2['query'][_0xa757('0x36')]+'%'};return _0x3e12a5;}})});}_0x596ae2=_[_0xa757('0x37')]({},_0x596ae2,_0x4f8de2[_0xa757('0x3e')]);var _0x35c15a={'where':_0x596ae2[_0xa757('0x38')]};return db[_0xa757('0x28')]['count'](_0x35c15a)[_0xa757('0x1f')](function(_0x6d77ed){_0x3bc24c['count']=_0x6d77ed;if(_0x4f8de2['query'][_0xa757('0x3f')]){_0x596ae2[_0xa757('0x40')]=[{'all':!![]}];}return db['Schedule']['findAll'](_0x596ae2);})[_0xa757('0x1f')](function(_0x1725a2){_0x3bc24c[_0xa757('0x41')]=_0x1725a2;return _0x3bc24c;})['then'](respondWithFilteredResult(_0xfdf69d,_0x596ae2))[_0xa757('0x42')](handleError(_0xfdf69d,null));};exports[_0xa757('0x43')]=function(_0x26802c,_0x1ba399){var _0x104e6b={'raw':![],'where':{'id':_0x26802c[_0xa757('0x44')]['id']}},_0x4c6639={};_0x4c6639['model']=_['keys'](db[_0xa757('0x28')][_0xa757('0x45')]);_0x4c6639[_0xa757('0x2d')]=_[_0xa757('0x2a')](_0x26802c[_0xa757('0x2d')]);_0x4c6639['filters']=_['intersection'](_0x4c6639[_0xa757('0x29')],_0x4c6639[_0xa757('0x2d')]);_0x104e6b[_0xa757('0x2e')]=_[_0xa757('0x2c')](_0x4c6639[_0xa757('0x29')],qs[_0xa757('0x2f')](_0x26802c['query'][_0xa757('0x2f')]));_0x104e6b[_0xa757('0x2e')]=_0x104e6b['attributes'][_0xa757('0x30')]?_0x104e6b['attributes']:_0x4c6639[_0xa757('0x29')];if(_0x26802c[_0xa757('0x2d')]['includeAll']){_0x104e6b[_0xa757('0x40')]=[{'all':!![]}];}_0x104e6b=_[_0xa757('0x37')]({},_0x104e6b,_0x26802c['options']);return db[_0xa757('0x28')][_0xa757('0x46')](_0x104e6b)[_0xa757('0x1f')](handleEntityNotFound(_0x1ba399,null))[_0xa757('0x1f')](respondWithResult(_0x1ba399,null))['catch'](handleError(_0x1ba399,null));};exports[_0xa757('0x47')]=function(_0x1be3bb,_0x450815){return db[_0xa757('0x28')]['create'](_0x1be3bb[_0xa757('0x48')],{})['then'](function(_0x50c131){var _0x2acf88=_0x1be3bb[_0xa757('0x49')][_0xa757('0x21')]({'plain':!![]});if(!_0x2acf88)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2acf88[_0xa757('0x4a')]==='user'){var _0x2ed63f=_0x50c131[_0xa757('0x21')]({'plain':!![]});var _0x265793=_0xa757('0x22');return db[_0xa757('0x4b')][_0xa757('0x46')]({'where':{'name':_0x265793,'userProfileId':_0x2acf88[_0xa757('0x4c')]},'raw':!![]})[_0xa757('0x1f')](function(_0x581e95){if(_0x581e95&&_0x581e95[_0xa757('0x4d')]===0x0){return db[_0xa757('0x23')][_0xa757('0x47')]({'name':_0x2ed63f[_0xa757('0x27')],'resourceId':_0x2ed63f['id'],'type':_0x581e95[_0xa757('0x27')],'sectionId':_0x581e95['id']},{})[_0xa757('0x1f')](function(){return _0x50c131;});}else{return _0x50c131;}})[_0xa757('0x42')](function(_0x2c5b3c){logger[_0xa757('0x25')](_0xa757('0x4e'),_0x2c5b3c);throw _0x2c5b3c;});}return _0x50c131;})[_0xa757('0x1f')](respondWithResult(_0x450815,0xc9))[_0xa757('0x42')](handleError(_0x450815,null));};exports[_0xa757('0x1e')]=function(_0x354ad5,_0x388573){if(_0x354ad5[_0xa757('0x48')]['id']){delete _0x354ad5['body']['id'];}return db[_0xa757('0x28')]['find']({'where':{'id':_0x354ad5[_0xa757('0x44')]['id']}})[_0xa757('0x1f')](handleEntityNotFound(_0x388573,null))[_0xa757('0x1f')](saveUpdates(_0x354ad5[_0xa757('0x48')],null))['then'](respondWithResult(_0x388573,null))[_0xa757('0x42')](handleError(_0x388573,null));};exports[_0xa757('0x20')]=function(_0x8614f9,_0x980e1){return db['Schedule'][_0xa757('0x46')]({'where':{'id':_0x8614f9[_0xa757('0x44')]['id']}})[_0xa757('0x1f')](handleEntityNotFound(_0x980e1,null))[_0xa757('0x1f')](removeEntity(_0x980e1,null))[_0xa757('0x42')](handleError(_0x980e1,null));};exports[_0xa757('0x4f')]=function(_0x55ad28,_0x485100,_0x5d21c1){var _0x5a49d0=require(_0xa757('0x50'));return db[_0xa757('0x28')][_0xa757('0x46')]({'where':{'id':_0x55ad28[_0xa757('0x44')]['id']},'raw':!![]})[_0xa757('0x1f')](handleEntityNotFound(_0x485100,null))[_0xa757('0x1f')](function(){_0x5a49d0['run'](_0x55ad28[_0xa757('0x44')]['id']);})[_0xa757('0x1f')](respondWithStatusCode(_0x485100,null))[_0xa757('0x42')](handleError(_0x485100,null));};