Built motion from commit 67e5df37.|2.0.66
[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 _0x53b7=['destroy','../../config/schedule','run','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','model','keys','Schedule','rawAttributes','query','dateStart','dateEnd','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','add','merge','filter','include','findAll','catch','show','params','options','find','create','body'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x53b7,0x170));var _0x753b=function(_0x406761,_0x46e4f9){_0x406761=_0x406761-0x0;var _0x386bec=_0x53b7[_0x406761];return _0x386bec;};'use strict';var jsonpatch=require(_0x753b('0x0'));var rp=require(_0x753b('0x1'));var moment=require(_0x753b('0x2'));var BPromise=require(_0x753b('0x3'));var Mustache=require(_0x753b('0x4'));var util=require(_0x753b('0x5'));var path=require(_0x753b('0x6'));var sox=require(_0x753b('0x7'));var csv=require('to-csv');var ejs=require(_0x753b('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x753b('0x9'));var crypto=require(_0x753b('0xa'));var jsforce=require(_0x753b('0xb'));var deskjs=require(_0x753b('0xc'));var toCsv=require(_0x753b('0xd'));var querystring=require(_0x753b('0xe'));var Papa=require(_0x753b('0xf'));var qs=require(_0x753b('0x10'));var logger=require(_0x753b('0x11'))(_0x753b('0x12'));var utils=require(_0x753b('0x13'));var config=require('../../config/environment');var db=require(_0x753b('0x14'))['db'];function respondWithStatusCode(_0x5c19ce,_0x13bcae){_0x13bcae=_0x13bcae||0xcc;return function(_0x3ef22b){if(_0x3ef22b){return _0x5c19ce[_0x753b('0x15')](_0x13bcae);}return _0x5c19ce[_0x753b('0x16')](_0x13bcae)[_0x753b('0x17')]();};}function respondWithResult(_0x403c0f,_0x570fbf){_0x570fbf=_0x570fbf||0xc8;return function(_0x343c50){if(_0x343c50){return _0x403c0f[_0x753b('0x16')](_0x570fbf)[_0x753b('0x18')](_0x343c50);}};}function respondWithFilteredResult(_0x3c00c1,_0x5cb55a){return function(_0x5ca1ac){if(_0x5ca1ac){var _0x4d0cde=_0x5ca1ac[_0x753b('0x19')],_0x3b49e0=_0x5cb55a[_0x753b('0x1a')],_0x3ccb2b=_0x5cb55a[_0x753b('0x1a')]+_0x5cb55a[_0x753b('0x1b')],_0x5dfbc1;if(_0x3ccb2b>=_0x4d0cde){_0x3ccb2b=_0x4d0cde;_0x5dfbc1=0xc8;}else{_0x5dfbc1=0xce;}_0x3c00c1[_0x753b('0x16')](_0x5dfbc1);return _0x3c00c1[_0x753b('0x1c')](_0x753b('0x1d'),_0x3b49e0+'-'+_0x3ccb2b+'/'+_0x4d0cde)[_0x753b('0x18')](_0x5ca1ac);}return null;};}function patchUpdates(_0x5a6834){return function(_0x3c40c4){try{jsonpatch[_0x753b('0x1e')](_0x3c40c4,_0x5a6834,!![]);}catch(_0x270eb7){return BPromise[_0x753b('0x1f')](_0x270eb7);}return _0x3c40c4[_0x753b('0x20')]();};}function saveUpdates(_0x13889b,_0x4dd321){return function(_0x4855c3){if(_0x4855c3){return _0x4855c3[_0x753b('0x21')](_0x13889b)[_0x753b('0x22')](function(_0x54b966){return _0x54b966;});}return null;};}function removeEntity(_0x47f1d3,_0x2aad8c){return function(_0x409c2b){if(_0x409c2b){return _0x409c2b['destroy']()[_0x753b('0x22')](function(){_0x47f1d3['status'](0xcc)[_0x753b('0x17')]();});}};}function handleEntityNotFound(_0x530902,_0x227a47){return function(_0x14da13){if(!_0x14da13){_0x530902['sendStatus'](0x194);}return _0x14da13;};}function handleError(_0x40b3c2,_0x3cb0f4){_0x3cb0f4=_0x3cb0f4||0x1f4;return function(_0x72d5c7){logger[_0x753b('0x23')](_0x72d5c7[_0x753b('0x24')]);if(_0x72d5c7[_0x753b('0x25')]){delete _0x72d5c7[_0x753b('0x25')];}_0x40b3c2[_0x753b('0x16')](_0x3cb0f4)[_0x753b('0x26')](_0x72d5c7);};}exports[_0x753b('0x27')]=function(_0x44c821,_0x2fee3f){var _0x4c20f0={},_0x1173ed={},_0x445b07={'count':0x0,'rows':[]};_0x1173ed[_0x753b('0x28')]=_[_0x753b('0x29')](db[_0x753b('0x2a')][_0x753b('0x2b')]);var _0x4d9b77={'dateStart':_0x44c821[_0x753b('0x2c')][_0x753b('0x2d')],'dateEnd':_0x44c821[_0x753b('0x2c')]['dateEnd']};delete _0x44c821[_0x753b('0x2c')]['dateStart'];delete _0x44c821[_0x753b('0x2c')][_0x753b('0x2e')];_0x1173ed[_0x753b('0x2c')]=_[_0x753b('0x29')](_0x44c821['query']);_0x1173ed[_0x753b('0x2f')]=_[_0x753b('0x30')](_0x1173ed['model'],_0x1173ed[_0x753b('0x2c')]);_0x4c20f0[_0x753b('0x31')]=_['intersection'](_0x1173ed[_0x753b('0x28')],qs[_0x753b('0x32')](_0x44c821[_0x753b('0x2c')][_0x753b('0x32')]));_0x4c20f0[_0x753b('0x31')]=_0x4c20f0[_0x753b('0x31')][_0x753b('0x33')]?_0x4c20f0[_0x753b('0x31')]:_0x1173ed['model'];if(!_0x44c821[_0x753b('0x2c')][_0x753b('0x34')](_0x753b('0x35'))){_0x4c20f0[_0x753b('0x1b')]=qs[_0x753b('0x1b')](_0x44c821['query'][_0x753b('0x1b')]);_0x4c20f0['offset']=qs[_0x753b('0x1a')](_0x44c821[_0x753b('0x2c')][_0x753b('0x1a')]);}_0x4c20f0[_0x753b('0x36')]=qs[_0x753b('0x37')](_0x44c821[_0x753b('0x2c')]['sort']);_0x4c20f0[_0x753b('0x38')]=qs[_0x753b('0x2f')](_[_0x753b('0x39')](_0x44c821[_0x753b('0x2c')],_0x1173ed['filters']));if(_0x4d9b77[_0x753b('0x2d')]){if(_0x4d9b77['dateEnd']){_0x4d9b77[_0x753b('0x2e')]=moment(_0x4d9b77[_0x753b('0x2e')])['add'](0x1,'day');}else{_0x4d9b77['dateEnd']=moment(_0x4d9b77[_0x753b('0x2d')])[_0x753b('0x3a')](0x1,'day');}_[_0x753b('0x3b')](_0x4c20f0[_0x753b('0x38')],{'createdAt':{'$gte':_0x4d9b77[_0x753b('0x2d')],'$lte':_0x4d9b77[_0x753b('0x2e')]}});}if(_0x44c821['query'][_0x753b('0x3c')]){_0x4c20f0[_0x753b('0x38')]=_[_0x753b('0x3b')](_0x4c20f0[_0x753b('0x38')],{'$or':_['map'](_0x4c20f0[_0x753b('0x31')],function(_0x318715){var _0x1bdcb5={};_0x1bdcb5[_0x318715]={'$like':'%'+_0x44c821[_0x753b('0x2c')][_0x753b('0x3c')]+'%'};return _0x1bdcb5;})});}_0x4c20f0=_[_0x753b('0x3b')]({},_0x4c20f0,_0x44c821['options']);var _0x632d26={'where':_0x4c20f0['where']};return db[_0x753b('0x2a')][_0x753b('0x19')](_0x632d26)[_0x753b('0x22')](function(_0x3ab4cb){_0x445b07[_0x753b('0x19')]=_0x3ab4cb;if(_0x44c821['query']['includeAll']){_0x4c20f0[_0x753b('0x3d')]=[{'all':!![]}];}return db[_0x753b('0x2a')][_0x753b('0x3e')](_0x4c20f0);})['then'](function(_0x128013){_0x445b07['rows']=_0x128013;return _0x445b07;})[_0x753b('0x22')](respondWithFilteredResult(_0x2fee3f,_0x4c20f0))[_0x753b('0x3f')](handleError(_0x2fee3f,null));};exports[_0x753b('0x40')]=function(_0x513260,_0x2011d5){var _0x4ef8d6={'raw':![],'where':{'id':_0x513260[_0x753b('0x41')]['id']}},_0x31fc6c={};_0x31fc6c[_0x753b('0x28')]=_[_0x753b('0x29')](db[_0x753b('0x2a')]['rawAttributes']);_0x31fc6c['query']=_[_0x753b('0x29')](_0x513260['query']);_0x31fc6c[_0x753b('0x2f')]=_['intersection'](_0x31fc6c[_0x753b('0x28')],_0x31fc6c['query']);_0x4ef8d6[_0x753b('0x31')]=_[_0x753b('0x30')](_0x31fc6c[_0x753b('0x28')],qs[_0x753b('0x32')](_0x513260[_0x753b('0x2c')][_0x753b('0x32')]));_0x4ef8d6[_0x753b('0x31')]=_0x4ef8d6[_0x753b('0x31')]['length']?_0x4ef8d6[_0x753b('0x31')]:_0x31fc6c[_0x753b('0x28')];if(_0x513260['query']['includeAll']){_0x4ef8d6[_0x753b('0x3d')]=[{'all':!![]}];}_0x4ef8d6=_[_0x753b('0x3b')]({},_0x4ef8d6,_0x513260[_0x753b('0x42')]);return db[_0x753b('0x2a')][_0x753b('0x43')](_0x4ef8d6)[_0x753b('0x22')](handleEntityNotFound(_0x2011d5,null))[_0x753b('0x22')](respondWithResult(_0x2011d5,null))['catch'](handleError(_0x2011d5,null));};exports[_0x753b('0x44')]=function(_0x440e9e,_0x56571e){return db['Schedule'][_0x753b('0x44')](_0x440e9e[_0x753b('0x45')],{})[_0x753b('0x22')](respondWithResult(_0x56571e,0xc9))['catch'](handleError(_0x56571e,null));};exports['update']=function(_0x52866a,_0x215241){if(_0x52866a['body']['id']){delete _0x52866a['body']['id'];}return db[_0x753b('0x2a')][_0x753b('0x43')]({'where':{'id':_0x52866a[_0x753b('0x41')]['id']}})['then'](handleEntityNotFound(_0x215241,null))[_0x753b('0x22')](saveUpdates(_0x52866a['body'],null))['then'](respondWithResult(_0x215241,null))[_0x753b('0x3f')](handleError(_0x215241,null));};exports[_0x753b('0x46')]=function(_0x2cc21b,_0x27b20f){return db['Schedule'][_0x753b('0x43')]({'where':{'id':_0x2cc21b[_0x753b('0x41')]['id']}})[_0x753b('0x22')](handleEntityNotFound(_0x27b20f,null))[_0x753b('0x22')](removeEntity(_0x27b20f,null))[_0x753b('0x3f')](handleError(_0x27b20f,null));};exports['run']=function(_0x10ad40,_0x54eda3,_0x22323b){var _0x2485b4=require(_0x753b('0x47'));return db['Schedule'][_0x753b('0x43')]({'where':{'id':_0x10ad40[_0x753b('0x41')]['id']},'raw':!![]})['then'](handleEntityNotFound(_0x54eda3,null))[_0x753b('0x22')](function(){_0x2485b4[_0x753b('0x48')](_0x10ad40['params']['id']);})[_0x753b('0x22')](respondWithStatusCode(_0x54eda3,null))[_0x753b('0x3f')](handleError(_0x54eda3,null));};