58a127e280aecfcd6015b8884a8f9377335fcc37
[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 _0xe866=['attributes','limit','include','model','map','debug','catch','message','error','ShowInterval','find','then','info','stringify','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)','ifTime','IntervalIftime','intervalIds','isArray','intervals','string','timezone','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','silly','resolve','lodash','util','../../mysqldb','../../utils/iftime','../../config/logger','GetInterval','Interval','findAll','options','raw','where'];(function(_0x299543,_0x2a81f1){var _0x31b52e=function(_0x469e75){while(--_0x469e75){_0x299543['push'](_0x299543['shift']());}};_0x31b52e(++_0x2a81f1);}(_0xe866,0x76));var _0x6e86=function(_0x19950b,_0x53d0d7){_0x19950b=_0x19950b-0x0;var _0x3c6b41=_0xe866[_0x19950b];return _0x3c6b41;};'use strict';var _=require(_0x6e86('0x0'));var util=require(_0x6e86('0x1'));var db=require(_0x6e86('0x2'))['db'];var iftime=require(_0x6e86('0x3'))['iftime'];var logger=require(_0x6e86('0x4'))('rpc');exports[_0x6e86('0x5')]=function(_0x8a16c3){var _0x534926=this;return new Promise(function(_0x41a8e1,_0x3966b9){return db[_0x6e86('0x6')][_0x6e86('0x7')]({'raw':_0x8a16c3['options']?_0x8a16c3[_0x6e86('0x8')][_0x6e86('0x9')]===undefined?!![]:![]:!![],'where':_0x8a16c3[_0x6e86('0x8')]?_0x8a16c3[_0x6e86('0x8')][_0x6e86('0xa')]||null:null,'attributes':_0x8a16c3[_0x6e86('0x8')]?_0x8a16c3[_0x6e86('0x8')][_0x6e86('0xb')]||null:null,'limit':_0x8a16c3[_0x6e86('0x8')]?_0x8a16c3[_0x6e86('0x8')][_0x6e86('0xc')]||null:null,'include':_0x8a16c3[_0x6e86('0x8')]?_0x8a16c3[_0x6e86('0x8')][_0x6e86('0xd')]?_['map'](_0x8a16c3['options']['include'],function(_0x10e498){return{'model':db[_0x10e498[_0x6e86('0xe')]],'as':_0x10e498['as'],'attributes':_0x10e498[_0x6e86('0xb')],'include':_0x10e498[_0x6e86('0xd')]?_[_0x6e86('0xf')](_0x10e498[_0x6e86('0xd')],function(_0x16982e){return{'model':db[_0x16982e[_0x6e86('0xe')]],'as':_0x16982e['as'],'attributes':_0x16982e[_0x6e86('0xb')],'include':_0x16982e['include']?_[_0x6e86('0xf')](_0x16982e['include'],function(_0x4dbd77){return{'model':db[_0x4dbd77[_0x6e86('0xe')]],'as':_0x4dbd77['as'],'attributes':_0x4dbd77[_0x6e86('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x2d2f89){logger['info']('GetInterval',_0x8a16c3);logger[_0x6e86('0x10')](_0x6e86('0x5'),_0x8a16c3,JSON['stringify'](_0x2d2f89));_0x41a8e1(_0x2d2f89);})[_0x6e86('0x11')](function(_0xe592de){logger['error'](_0x6e86('0x5'),_0xe592de[_0x6e86('0x12')],_0x8a16c3);_0x3966b9(_0x534926[_0x6e86('0x13')](0x1f4,_0xe592de[_0x6e86('0x12')]));});});};exports[_0x6e86('0x14')]=function(_0x328b01){var _0x254f72=this;return new Promise(function(_0x564d6b,_0x413a8c){return db['Interval'][_0x6e86('0x15')]({'raw':_0x328b01[_0x6e86('0x8')]?_0x328b01[_0x6e86('0x8')][_0x6e86('0x9')]===undefined?!![]:![]:!![],'where':_0x328b01[_0x6e86('0x8')]?_0x328b01[_0x6e86('0x8')][_0x6e86('0xa')]||null:null,'attributes':_0x328b01[_0x6e86('0x8')]?_0x328b01[_0x6e86('0x8')]['attributes']||null:null,'include':_0x328b01[_0x6e86('0x8')]?_0x328b01[_0x6e86('0x8')]['include']?_[_0x6e86('0xf')](_0x328b01[_0x6e86('0x8')]['include'],function(_0x2ea852){return{'model':db[_0x2ea852['model']],'as':_0x2ea852['as'],'attributes':_0x2ea852[_0x6e86('0xb')],'include':_0x2ea852[_0x6e86('0xd')]?_['map'](_0x2ea852[_0x6e86('0xd')],function(_0x2ae10){return{'model':db[_0x2ae10['model']],'as':_0x2ae10['as'],'attributes':_0x2ae10[_0x6e86('0xb')],'include':_0x2ae10[_0x6e86('0xd')]?_['map'](_0x2ae10[_0x6e86('0xd')],function(_0x23af5b){return{'model':db[_0x23af5b['model']],'as':_0x23af5b['as'],'attributes':_0x23af5b['attributes']};}):[]};}):[]};}):[]:[]})[_0x6e86('0x16')](function(_0x3bcd06){logger[_0x6e86('0x17')](_0x6e86('0x14'),_0x328b01);logger[_0x6e86('0x10')]('ShowInterval',_0x328b01,JSON[_0x6e86('0x18')](_0x3bcd06));_0x564d6b(_0x3bcd06);})['catch'](function(_0x759e04){logger[_0x6e86('0x13')](_0x6e86('0x14'),_0x759e04[_0x6e86('0x12')],_0x328b01);_0x413a8c(_0x254f72[_0x6e86('0x13')](0x1f4,_0x759e04[_0x6e86('0x12')]));});});};function checkArrayOfIntervals(_0x4dd739,_0x3e0128){var _0x441c67=[];return db[_0x6e86('0x6')][_0x6e86('0x7')]({'where':{'id':_0x4dd739}})[_0x6e86('0x16')](function(_0x138c60){_0x441c67=_0x138c60;return Promise['all'](_0x441c67[_0x6e86('0xf')](function(_0x466bb1){return _0x466bb1['ifTime'](_0x3e0128);}));})['then'](function(_0x1afeba){var _0x40fc70=_0x1afeba[_0x6e86('0x19')](function(_0x4c8530,_0x50bd97){return _0x4c8530||_0x50bd97;},![]);logger[_0x6e86('0x17')](util[_0x6e86('0x1a')](_0x6e86('0x1b'),_0x441c67['map'](function(_0x347882){return _0x347882[_0x6e86('0x1c')];})[_0x6e86('0x1d')](',\x20'),_0x441c67[_0x6e86('0xf')](function(_0x4385ae){return _0x4385ae['id'];})['join'](',\x20')));return _0x40fc70;});}function checkSingleInterval(_0x204410,_0x16ce12){return db[_0x6e86('0x6')][_0x6e86('0x1e')](_0x204410)['then'](function(_0x30f590){if(_0x30f590){logger[_0x6e86('0x17')](util['format'](_0x6e86('0x1f'),_0x30f590[_0x6e86('0x1c')],_0x30f590['id']));return _0x30f590[_0x6e86('0x20')](_0x16ce12);}});}exports[_0x6e86('0x21')]=function(_0x1e7f1b){var _0x247ac1=_0x1e7f1b[_0x6e86('0x22')];var _0x21fc0a=Array[_0x6e86('0x23')](_0x1e7f1b['intervals'])?_0x1e7f1b[_0x6e86('0x24')]:typeof _0x1e7f1b[_0x6e86('0x24')]===_0x6e86('0x25')?[_0x1e7f1b[_0x6e86('0x24')]]:[];var _0x2131d9=_0x1e7f1b[_0x6e86('0x26')]||undefined;var _0x5b88f5=![];if(_0x21fc0a['length']){logger[_0x6e86('0x17')](util['format'](_0x6e86('0x27'),_0x21fc0a[_0x6e86('0x1d')](';\x20')));}if(_0x2131d9){logger[_0x6e86('0x17')](util[_0x6e86('0x1a')](_0x6e86('0x28'),_0x2131d9));}logger['debug']('Iftime',_0x5b88f5);logger[_0x6e86('0x29')](_0x6e86('0x21'),_0x1e7f1b);return Promise[_0x6e86('0x2a')]()[_0x6e86('0x16')](function(){if(Array[_0x6e86('0x23')](_0x247ac1)){return checkArrayOfIntervals(_0x247ac1,_0x2131d9);}else if(_0x247ac1){return checkSingleInterval(_0x247ac1,_0x2131d9);}})[_0x6e86('0x16')](function(_0x5a92ce){var _0x44e156=_0x21fc0a[_0x6e86('0x19')](function(_0x41fcaa,_0x1d5dcf){return _0x41fcaa||iftime(_0x1d5dcf,_0x2131d9);},![]);_0x5b88f5=_0x5a92ce||_0x44e156;return _0x5b88f5;})['catch'](function(_0x293c39){logger[_0x6e86('0x13')]('IntervalIftime',_0x1e7f1b,_0x293c39);throw this[_0x6e86('0x13')](0x1f4,_0x293c39['message']);});};