df542466d6114d7dd947183b79ace46975c1cdc7
[motion2.git] / server / api / interval / interval.rpc.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 _0x36bb=['../../utils/iftime','../../config/logger','rpc','GetInterval','Interval','options','raw','where','attributes','map','include','model','then','info','debug','catch','message','error','ShowInterval','find','stringify','findAll','all','ifTime','reduce','format','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','findById','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','isArray','intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','resolve','util'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x36bb,0xcc));var _0xb36b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x36bb[_0x3dd15e];return _0x231fd0;};'use strict';var _=require('lodash');var util=require(_0xb36b('0x0'));var db=require('../../mysqldb')['db'];var iftime=require(_0xb36b('0x1'))['iftime'];var logger=require(_0xb36b('0x2'))(_0xb36b('0x3'));exports[_0xb36b('0x4')]=function(_0x1ea62a){var _0x3899b5=this;return new Promise(function(_0x268efe,_0x2d5c60){return db[_0xb36b('0x5')]['findAll']({'raw':_0x1ea62a[_0xb36b('0x6')]?_0x1ea62a['options'][_0xb36b('0x7')]===undefined?!![]:![]:!![],'where':_0x1ea62a[_0xb36b('0x6')]?_0x1ea62a['options'][_0xb36b('0x8')]||null:null,'attributes':_0x1ea62a[_0xb36b('0x6')]?_0x1ea62a[_0xb36b('0x6')][_0xb36b('0x9')]||null:null,'limit':_0x1ea62a[_0xb36b('0x6')]?_0x1ea62a['options']['limit']||null:null,'include':_0x1ea62a['options']?_0x1ea62a[_0xb36b('0x6')]['include']?_[_0xb36b('0xa')](_0x1ea62a[_0xb36b('0x6')][_0xb36b('0xb')],function(_0x46fb40){return{'model':db[_0x46fb40[_0xb36b('0xc')]],'as':_0x46fb40['as'],'attributes':_0x46fb40[_0xb36b('0x9')],'include':_0x46fb40[_0xb36b('0xb')]?_['map'](_0x46fb40['include'],function(_0x482732){return{'model':db[_0x482732['model']],'as':_0x482732['as'],'attributes':_0x482732[_0xb36b('0x9')],'include':_0x482732[_0xb36b('0xb')]?_['map'](_0x482732[_0xb36b('0xb')],function(_0x467877){return{'model':db[_0x467877[_0xb36b('0xc')]],'as':_0x467877['as'],'attributes':_0x467877[_0xb36b('0x9')]};}):[]};}):[]};}):[]:[]})[_0xb36b('0xd')](function(_0x3f0fd){logger[_0xb36b('0xe')](_0xb36b('0x4'),_0x1ea62a);logger[_0xb36b('0xf')](_0xb36b('0x4'),_0x1ea62a,JSON['stringify'](_0x3f0fd));_0x268efe(_0x3f0fd);})[_0xb36b('0x10')](function(_0x4d64c6){logger['error'](_0xb36b('0x4'),_0x4d64c6[_0xb36b('0x11')],_0x1ea62a);_0x2d5c60(_0x3899b5[_0xb36b('0x12')](0x1f4,_0x4d64c6['message']));});});};exports[_0xb36b('0x13')]=function(_0x3d3665){var _0x2e83b4=this;return new Promise(function(_0x31ca92,_0x27acdd){return db[_0xb36b('0x5')][_0xb36b('0x14')]({'raw':_0x3d3665['options']?_0x3d3665[_0xb36b('0x6')]['raw']===undefined?!![]:![]:!![],'where':_0x3d3665[_0xb36b('0x6')]?_0x3d3665[_0xb36b('0x6')][_0xb36b('0x8')]||null:null,'attributes':_0x3d3665[_0xb36b('0x6')]?_0x3d3665['options'][_0xb36b('0x9')]||null:null,'include':_0x3d3665[_0xb36b('0x6')]?_0x3d3665[_0xb36b('0x6')][_0xb36b('0xb')]?_[_0xb36b('0xa')](_0x3d3665['options'][_0xb36b('0xb')],function(_0x11c136){return{'model':db[_0x11c136[_0xb36b('0xc')]],'as':_0x11c136['as'],'attributes':_0x11c136['attributes'],'include':_0x11c136[_0xb36b('0xb')]?_[_0xb36b('0xa')](_0x11c136[_0xb36b('0xb')],function(_0x4577b3){return{'model':db[_0x4577b3[_0xb36b('0xc')]],'as':_0x4577b3['as'],'attributes':_0x4577b3['attributes'],'include':_0x4577b3[_0xb36b('0xb')]?_['map'](_0x4577b3[_0xb36b('0xb')],function(_0x24234d){return{'model':db[_0x24234d[_0xb36b('0xc')]],'as':_0x24234d['as'],'attributes':_0x24234d[_0xb36b('0x9')]};}):[]};}):[]};}):[]:[]})[_0xb36b('0xd')](function(_0x11cd50){logger[_0xb36b('0xe')]('ShowInterval',_0x3d3665);logger[_0xb36b('0xf')](_0xb36b('0x13'),_0x3d3665,JSON[_0xb36b('0x15')](_0x11cd50));_0x31ca92(_0x11cd50);})[_0xb36b('0x10')](function(_0x3c53fb){logger[_0xb36b('0x12')](_0xb36b('0x13'),_0x3c53fb[_0xb36b('0x11')],_0x3d3665);_0x27acdd(_0x2e83b4['error'](0x1f4,_0x3c53fb[_0xb36b('0x11')]));});});};function checkArrayOfIntervals(_0x16565d,_0x141c1a){var _0x1e485d=[];return db[_0xb36b('0x5')][_0xb36b('0x16')]({'where':{'id':_0x16565d}})[_0xb36b('0xd')](function(_0x5e089f){_0x1e485d=_0x5e089f;return Promise[_0xb36b('0x17')](_0x1e485d['map'](function(_0x250725){return _0x250725[_0xb36b('0x18')](_0x141c1a);}));})[_0xb36b('0xd')](function(_0x226512){var _0x2e7ced=_0x226512[_0xb36b('0x19')](function(_0x1e625a,_0x4ff9a0){return _0x1e625a||_0x4ff9a0;},![]);logger[_0xb36b('0xe')](util[_0xb36b('0x1a')](_0xb36b('0x1b'),_0x1e485d[_0xb36b('0xa')](function(_0x110a62){return _0x110a62[_0xb36b('0x1c')];})[_0xb36b('0x1d')](',\x20'),_0x1e485d[_0xb36b('0xa')](function(_0x43b608){return _0x43b608['id'];})[_0xb36b('0x1d')](',\x20')));return _0x2e7ced;});}function checkSingleInterval(_0x374272,_0x52cb4c){return db['Interval'][_0xb36b('0x1e')](_0x374272)['then'](function(_0x3b1a43){if(_0x3b1a43){logger[_0xb36b('0xe')](util[_0xb36b('0x1a')](_0xb36b('0x1f'),_0x3b1a43[_0xb36b('0x1c')],_0x3b1a43['id']));return _0x3b1a43['ifTime'](_0x52cb4c);}});}exports[_0xb36b('0x20')]=function(_0x4f5c16){var _0x5d435f=_0x4f5c16['intervalIds'];var _0x56abfb=Array[_0xb36b('0x21')](_0x4f5c16[_0xb36b('0x22')])?_0x4f5c16[_0xb36b('0x22')]:typeof _0x4f5c16[_0xb36b('0x22')]===_0xb36b('0x23')?[_0x4f5c16['intervals']]:[];var _0x1090a0=_0x4f5c16[_0xb36b('0x24')]||undefined;var _0x21f3e4=![];if(_0x56abfb[_0xb36b('0x25')]){logger['info'](util[_0xb36b('0x1a')](_0xb36b('0x26'),_0x56abfb[_0xb36b('0x1d')](';\x20')));}if(_0x1090a0){logger[_0xb36b('0xe')](util[_0xb36b('0x1a')](_0xb36b('0x27'),_0x1090a0));}logger[_0xb36b('0xf')]('Iftime',_0x21f3e4);logger['silly']('IntervalIftime',_0x4f5c16);return Promise[_0xb36b('0x28')]()['then'](function(){if(Array['isArray'](_0x5d435f)){return checkArrayOfIntervals(_0x5d435f,_0x1090a0);}else if(_0x5d435f){return checkSingleInterval(_0x5d435f,_0x1090a0);}})['then'](function(_0x367163){var _0x44de8c=_0x56abfb['reduce'](function(_0x41dda8,_0x7a1002){return _0x41dda8||iftime(_0x7a1002,_0x1090a0);},![]);_0x21f3e4=_0x367163||_0x44de8c;return _0x21f3e4;})[_0xb36b('0x10')](function(_0x3c0d65){logger['error'](_0xb36b('0x20'),_0x4f5c16,_0x3c0d65);throw this[_0xb36b('0x12')](0x1f4,_0x3c0d65[_0xb36b('0x11')]);});};