Built motion from commit c116dc8b.|2.6.30
[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 _0x7013=['include','map','model','attributes','then','GetInterval','debug','stringify','catch','error','message','ShowInterval','Interval','find','info','all','ifTime','reduce','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','findById','format','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','intervalIds','isArray','intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','Iftime','silly','lodash','util','../../mysqldb','iftime','../../config/logger','findAll','options','raw','where','limit'];(function(_0xf35bc1,_0x510803){var _0xa6b162=function(_0x1e5cc8){while(--_0x1e5cc8){_0xf35bc1['push'](_0xf35bc1['shift']());}};_0xa6b162(++_0x510803);}(_0x7013,0x1da));var _0x3701=function(_0x1f9b79,_0x6c46d3){_0x1f9b79=_0x1f9b79-0x0;var _0x38454d=_0x7013[_0x1f9b79];return _0x38454d;};'use strict';var _=require(_0x3701('0x0'));var util=require(_0x3701('0x1'));var db=require(_0x3701('0x2'))['db'];var iftime=require('../../utils/iftime')[_0x3701('0x3')];var logger=require(_0x3701('0x4'))('rpc');exports['GetInterval']=function(_0x126900){var _0x3d1f31=this;return new Promise(function(_0x55c999,_0x533303){return db['Interval'][_0x3701('0x5')]({'raw':_0x126900[_0x3701('0x6')]?_0x126900[_0x3701('0x6')][_0x3701('0x7')]===undefined?!![]:![]:!![],'where':_0x126900[_0x3701('0x6')]?_0x126900[_0x3701('0x6')][_0x3701('0x8')]||null:null,'attributes':_0x126900[_0x3701('0x6')]?_0x126900[_0x3701('0x6')]['attributes']||null:null,'limit':_0x126900[_0x3701('0x6')]?_0x126900[_0x3701('0x6')][_0x3701('0x9')]||null:null,'include':_0x126900[_0x3701('0x6')]?_0x126900[_0x3701('0x6')][_0x3701('0xa')]?_[_0x3701('0xb')](_0x126900[_0x3701('0x6')]['include'],function(_0x47d1cf){return{'model':db[_0x47d1cf[_0x3701('0xc')]],'as':_0x47d1cf['as'],'attributes':_0x47d1cf[_0x3701('0xd')],'include':_0x47d1cf[_0x3701('0xa')]?_[_0x3701('0xb')](_0x47d1cf[_0x3701('0xa')],function(_0x6fc473){return{'model':db[_0x6fc473['model']],'as':_0x6fc473['as'],'attributes':_0x6fc473[_0x3701('0xd')],'include':_0x6fc473[_0x3701('0xa')]?_[_0x3701('0xb')](_0x6fc473[_0x3701('0xa')],function(_0x16f979){return{'model':db[_0x16f979[_0x3701('0xc')]],'as':_0x16f979['as'],'attributes':_0x16f979[_0x3701('0xd')]};}):[]};}):[]};}):[]:[]})[_0x3701('0xe')](function(_0x264ea0){logger['info'](_0x3701('0xf'),_0x126900);logger[_0x3701('0x10')]('GetInterval',_0x126900,JSON[_0x3701('0x11')](_0x264ea0));_0x55c999(_0x264ea0);})[_0x3701('0x12')](function(_0x2b17bb){logger[_0x3701('0x13')](_0x3701('0xf'),_0x2b17bb[_0x3701('0x14')],_0x126900);_0x533303(_0x3d1f31[_0x3701('0x13')](0x1f4,_0x2b17bb[_0x3701('0x14')]));});});};exports[_0x3701('0x15')]=function(_0x5b37a3){var _0x507ac1=this;return new Promise(function(_0x35cd56,_0x4ec92f){return db[_0x3701('0x16')][_0x3701('0x17')]({'raw':_0x5b37a3[_0x3701('0x6')]?_0x5b37a3[_0x3701('0x6')][_0x3701('0x7')]===undefined?!![]:![]:!![],'where':_0x5b37a3[_0x3701('0x6')]?_0x5b37a3[_0x3701('0x6')]['where']||null:null,'attributes':_0x5b37a3[_0x3701('0x6')]?_0x5b37a3[_0x3701('0x6')][_0x3701('0xd')]||null:null,'include':_0x5b37a3[_0x3701('0x6')]?_0x5b37a3[_0x3701('0x6')][_0x3701('0xa')]?_[_0x3701('0xb')](_0x5b37a3['options']['include'],function(_0x29b0e9){return{'model':db[_0x29b0e9['model']],'as':_0x29b0e9['as'],'attributes':_0x29b0e9['attributes'],'include':_0x29b0e9['include']?_['map'](_0x29b0e9['include'],function(_0x14e8bc){return{'model':db[_0x14e8bc[_0x3701('0xc')]],'as':_0x14e8bc['as'],'attributes':_0x14e8bc[_0x3701('0xd')],'include':_0x14e8bc['include']?_[_0x3701('0xb')](_0x14e8bc[_0x3701('0xa')],function(_0x479e8a){return{'model':db[_0x479e8a[_0x3701('0xc')]],'as':_0x479e8a['as'],'attributes':_0x479e8a[_0x3701('0xd')]};}):[]};}):[]};}):[]:[]})[_0x3701('0xe')](function(_0x9d3379){logger[_0x3701('0x18')](_0x3701('0x15'),_0x5b37a3);logger['debug'](_0x3701('0x15'),_0x5b37a3,JSON[_0x3701('0x11')](_0x9d3379));_0x35cd56(_0x9d3379);})[_0x3701('0x12')](function(_0x103a7b){logger[_0x3701('0x13')]('ShowInterval',_0x103a7b[_0x3701('0x14')],_0x5b37a3);_0x4ec92f(_0x507ac1[_0x3701('0x13')](0x1f4,_0x103a7b[_0x3701('0x14')]));});});};function checkArrayOfIntervals(_0x229348,_0x20054f){var _0xd9c309=[];return db[_0x3701('0x16')][_0x3701('0x5')]({'where':{'id':_0x229348}})[_0x3701('0xe')](function(_0x41a7a5){_0xd9c309=_0x41a7a5;return Promise[_0x3701('0x19')](_0xd9c309[_0x3701('0xb')](function(_0x40152){return _0x40152[_0x3701('0x1a')](_0x20054f);}));})['then'](function(_0x25e6b2){var _0x34360e=_0x25e6b2[_0x3701('0x1b')](function(_0x140a96,_0x2cd2e8){return _0x140a96||_0x2cd2e8;},![]);logger[_0x3701('0x18')](util['format'](_0x3701('0x1c'),_0xd9c309[_0x3701('0xb')](function(_0x30aeff){return _0x30aeff[_0x3701('0x1d')];})['join'](',\x20'),_0xd9c309['map'](function(_0x4c47ea){return _0x4c47ea['id'];})[_0x3701('0x1e')](',\x20')));return _0x34360e;});}function checkSingleInterval(_0x9e8df4,_0x645a0){return db[_0x3701('0x16')][_0x3701('0x1f')](_0x9e8df4)[_0x3701('0xe')](function(_0x59a07b){if(_0x59a07b){logger['info'](util[_0x3701('0x20')](_0x3701('0x21'),_0x59a07b[_0x3701('0x1d')],_0x59a07b['id']));return _0x59a07b[_0x3701('0x1a')](_0x645a0);}});}exports[_0x3701('0x22')]=function(_0xe85b9f){var _0x2574e8=_0xe85b9f[_0x3701('0x23')];var _0x3705db=Array[_0x3701('0x24')](_0xe85b9f[_0x3701('0x25')])?_0xe85b9f[_0x3701('0x25')]:typeof _0xe85b9f[_0x3701('0x25')]===_0x3701('0x26')?[_0xe85b9f[_0x3701('0x25')]]:[];var _0x485eff=_0xe85b9f[_0x3701('0x27')]||undefined;var _0x48c066=![];if(_0x3705db[_0x3701('0x28')]){logger[_0x3701('0x18')](util[_0x3701('0x20')](_0x3701('0x29'),_0x3705db[_0x3701('0x1e')](';\x20')));}if(_0x485eff){logger[_0x3701('0x18')](util[_0x3701('0x20')]('IntervalIftime:\x20timezone\x20=\x20%s',_0x485eff));}logger[_0x3701('0x10')](_0x3701('0x2a'),_0x48c066);logger[_0x3701('0x2b')](_0x3701('0x22'),_0xe85b9f);return Promise['resolve']()[_0x3701('0xe')](function(){if(Array[_0x3701('0x24')](_0x2574e8)){return checkArrayOfIntervals(_0x2574e8,_0x485eff);}else if(_0x2574e8){return checkSingleInterval(_0x2574e8,_0x485eff);}})['then'](function(_0x2f9b98){var _0x3500a6=_0x3705db['reduce'](function(_0x5e8713,_0x22a88a){return _0x5e8713||iftime(_0x22a88a,_0x485eff);},![]);_0x48c066=_0x2f9b98||_0x3500a6;return _0x48c066;})[_0x3701('0x12')](function(_0x5ca465){logger['error'](_0x3701('0x22'),_0xe85b9f,_0x5ca465);throw this[_0x3701('0x13')](0x1f4,_0x5ca465[_0x3701('0x14')]);});};