77f3a6c19ac6d14316dfad1fb40d31176c381dd4
[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 _0x2066=['model','info','stringify','catch','message','error','ShowInterval','find','raw','then','all','ifTime','reduce','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','join','format','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','name','intervalIds','isArray','string','intervals','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','debug','Iftime','silly','IntervalIftime','resolve','lodash','util','../../mysqldb','../../utils/iftime','iftime','rpc','GetInterval','Interval','findAll','options','where','attributes','limit','include','map'];(function(_0x4459b8,_0x3271b8){var _0x4a4b07=function(_0x3075f8){while(--_0x3075f8){_0x4459b8['push'](_0x4459b8['shift']());}};_0x4a4b07(++_0x3271b8);}(_0x2066,0x18f));var _0x6206=function(_0x3f159f,_0x5bac3d){_0x3f159f=_0x3f159f-0x0;var _0x868f9a=_0x2066[_0x3f159f];return _0x868f9a;};'use strict';var _=require(_0x6206('0x0'));var util=require(_0x6206('0x1'));var db=require(_0x6206('0x2'))['db'];var iftime=require(_0x6206('0x3'))[_0x6206('0x4')];var logger=require('../../config/logger')(_0x6206('0x5'));exports[_0x6206('0x6')]=function(_0x3b5164){var _0x41fbc9=this;return new Promise(function(_0x363cfe,_0x2afc4a){return db[_0x6206('0x7')][_0x6206('0x8')]({'raw':_0x3b5164[_0x6206('0x9')]?_0x3b5164['options']['raw']===undefined?!![]:![]:!![],'where':_0x3b5164['options']?_0x3b5164[_0x6206('0x9')][_0x6206('0xa')]||null:null,'attributes':_0x3b5164['options']?_0x3b5164['options'][_0x6206('0xb')]||null:null,'limit':_0x3b5164[_0x6206('0x9')]?_0x3b5164[_0x6206('0x9')][_0x6206('0xc')]||null:null,'include':_0x3b5164['options']?_0x3b5164['options'][_0x6206('0xd')]?_[_0x6206('0xe')](_0x3b5164['options'][_0x6206('0xd')],function(_0x40446c){return{'model':db[_0x40446c['model']],'as':_0x40446c['as'],'attributes':_0x40446c[_0x6206('0xb')],'include':_0x40446c['include']?_[_0x6206('0xe')](_0x40446c['include'],function(_0x2a008d){return{'model':db[_0x2a008d[_0x6206('0xf')]],'as':_0x2a008d['as'],'attributes':_0x2a008d[_0x6206('0xb')],'include':_0x2a008d[_0x6206('0xd')]?_[_0x6206('0xe')](_0x2a008d[_0x6206('0xd')],function(_0x5be084){return{'model':db[_0x5be084['model']],'as':_0x5be084['as'],'attributes':_0x5be084[_0x6206('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x3d28a7){logger[_0x6206('0x10')]('GetInterval',_0x3b5164);logger['debug'](_0x6206('0x6'),_0x3b5164,JSON[_0x6206('0x11')](_0x3d28a7));_0x363cfe(_0x3d28a7);})[_0x6206('0x12')](function(_0x5aaeea){logger['error'](_0x6206('0x6'),_0x5aaeea[_0x6206('0x13')],_0x3b5164);_0x2afc4a(_0x41fbc9[_0x6206('0x14')](0x1f4,_0x5aaeea['message']));});});};exports[_0x6206('0x15')]=function(_0x38debf){var _0xf22e27=this;return new Promise(function(_0x3a006a,_0x19ff7c){return db['Interval'][_0x6206('0x16')]({'raw':_0x38debf[_0x6206('0x9')]?_0x38debf['options'][_0x6206('0x17')]===undefined?!![]:![]:!![],'where':_0x38debf[_0x6206('0x9')]?_0x38debf[_0x6206('0x9')][_0x6206('0xa')]||null:null,'attributes':_0x38debf[_0x6206('0x9')]?_0x38debf[_0x6206('0x9')][_0x6206('0xb')]||null:null,'include':_0x38debf[_0x6206('0x9')]?_0x38debf[_0x6206('0x9')]['include']?_[_0x6206('0xe')](_0x38debf[_0x6206('0x9')][_0x6206('0xd')],function(_0x5b34e7){return{'model':db[_0x5b34e7[_0x6206('0xf')]],'as':_0x5b34e7['as'],'attributes':_0x5b34e7[_0x6206('0xb')],'include':_0x5b34e7[_0x6206('0xd')]?_['map'](_0x5b34e7[_0x6206('0xd')],function(_0x17718a){return{'model':db[_0x17718a[_0x6206('0xf')]],'as':_0x17718a['as'],'attributes':_0x17718a['attributes'],'include':_0x17718a[_0x6206('0xd')]?_['map'](_0x17718a[_0x6206('0xd')],function(_0x5d2b13){return{'model':db[_0x5d2b13[_0x6206('0xf')]],'as':_0x5d2b13['as'],'attributes':_0x5d2b13[_0x6206('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x25495a){logger[_0x6206('0x10')]('ShowInterval',_0x38debf);logger['debug'](_0x6206('0x15'),_0x38debf,JSON[_0x6206('0x11')](_0x25495a));_0x3a006a(_0x25495a);})[_0x6206('0x12')](function(_0x26f81b){logger['error']('ShowInterval',_0x26f81b[_0x6206('0x13')],_0x38debf);_0x19ff7c(_0xf22e27[_0x6206('0x14')](0x1f4,_0x26f81b[_0x6206('0x13')]));});});};function checkArrayOfIntervals(_0x4aabf8,_0x517e7a){var _0x4c5284=[];return db[_0x6206('0x7')][_0x6206('0x8')]({'where':{'id':_0x4aabf8}})[_0x6206('0x18')](function(_0x7b7d2){_0x4c5284=_0x7b7d2;return Promise[_0x6206('0x19')](_0x4c5284['map'](function(_0x554ec5){return _0x554ec5[_0x6206('0x1a')](_0x517e7a);}));})[_0x6206('0x18')](function(_0x291d7a){var _0x45fcf9=_0x291d7a[_0x6206('0x1b')](function(_0xe0e822,_0x434a09){return _0xe0e822||_0x434a09;},![]);logger['info'](util['format'](_0x6206('0x1c'),_0x4c5284[_0x6206('0xe')](function(_0x553760){return _0x553760['name'];})[_0x6206('0x1d')](',\x20'),_0x4c5284['map'](function(_0x109dda){return _0x109dda['id'];})[_0x6206('0x1d')](',\x20')));return _0x45fcf9;});}function checkSingleInterval(_0x3ac264,_0x293337){return db[_0x6206('0x7')]['findById'](_0x3ac264)['then'](function(_0x5b9ced){if(_0x5b9ced){logger['info'](util[_0x6206('0x1e')](_0x6206('0x1f'),_0x5b9ced[_0x6206('0x20')],_0x5b9ced['id']));return _0x5b9ced[_0x6206('0x1a')](_0x293337);}});}exports['IntervalIftime']=function(_0x5a1de5){var _0x11b270=_0x5a1de5[_0x6206('0x21')];var _0x2f9146=Array[_0x6206('0x22')](_0x5a1de5['intervals'])?_0x5a1de5['intervals']:typeof _0x5a1de5['intervals']===_0x6206('0x23')?[_0x5a1de5[_0x6206('0x24')]]:[];var _0x1c4e40=_0x5a1de5[_0x6206('0x25')]||undefined;var _0xd6e235=![];if(_0x2f9146[_0x6206('0x26')]){logger[_0x6206('0x10')](util[_0x6206('0x1e')](_0x6206('0x27'),_0x2f9146[_0x6206('0x1d')](';\x20')));}if(_0x1c4e40){logger[_0x6206('0x10')](util[_0x6206('0x1e')](_0x6206('0x28'),_0x1c4e40));}logger[_0x6206('0x29')](_0x6206('0x2a'),_0xd6e235);logger[_0x6206('0x2b')](_0x6206('0x2c'),_0x5a1de5);return Promise[_0x6206('0x2d')]()['then'](function(){if(Array[_0x6206('0x22')](_0x11b270)){return checkArrayOfIntervals(_0x11b270,_0x1c4e40);}else if(_0x11b270){return checkSingleInterval(_0x11b270,_0x1c4e40);}})[_0x6206('0x18')](function(_0xfac412){var _0x1ceb29=_0x2f9146[_0x6206('0x1b')](function(_0x3ea680,_0x2d6336){return _0x3ea680||iftime(_0x2d6336,_0x1c4e40);},![]);_0xd6e235=_0xfac412||_0x1ceb29;return _0xd6e235;})[_0x6206('0x12')](function(_0x252d41){logger['error'](_0x6206('0x2c'),_0x5a1de5,_0x252d41);throw this[_0x6206('0x14')](0x1f4,_0x252d41['message']);});};