Built motion from commit 3c2ce842.|2.6.31
[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 _0xad28=['util','../../mysqldb','../../utils/iftime','rpc','options','raw','where','include','model','map','attributes','info','debug','GetInterval','stringify','error','message','ShowInterval','Interval','find','catch','then','all','reduce','format','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','findById','ifTime','intervalIds','isArray','intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','Iftime','silly','resolve','IntervalIftime','lodash'];(function(_0x462ed1,_0x18b3a7){var _0x3337e1=function(_0x3d13ad){while(--_0x3d13ad){_0x462ed1['push'](_0x462ed1['shift']());}};_0x3337e1(++_0x18b3a7);}(_0xad28,0xab));var _0x8ad2=function(_0x5834bc,_0x3d4801){_0x5834bc=_0x5834bc-0x0;var _0x3e183a=_0xad28[_0x5834bc];return _0x3e183a;};'use strict';var _=require(_0x8ad2('0x0'));var util=require(_0x8ad2('0x1'));var db=require(_0x8ad2('0x2'))['db'];var iftime=require(_0x8ad2('0x3'))['iftime'];var logger=require('../../config/logger')(_0x8ad2('0x4'));exports['GetInterval']=function(_0x261878){var _0x1cc4b3=this;return new Promise(function(_0x3cc1b4,_0xc0e4c2){return db['Interval']['findAll']({'raw':_0x261878['options']?_0x261878[_0x8ad2('0x5')][_0x8ad2('0x6')]===undefined?!![]:![]:!![],'where':_0x261878[_0x8ad2('0x5')]?_0x261878['options'][_0x8ad2('0x7')]||null:null,'attributes':_0x261878[_0x8ad2('0x5')]?_0x261878['options']['attributes']||null:null,'limit':_0x261878[_0x8ad2('0x5')]?_0x261878[_0x8ad2('0x5')]['limit']||null:null,'include':_0x261878[_0x8ad2('0x5')]?_0x261878['options'][_0x8ad2('0x8')]?_['map'](_0x261878[_0x8ad2('0x5')]['include'],function(_0x3b2bbc){return{'model':db[_0x3b2bbc[_0x8ad2('0x9')]],'as':_0x3b2bbc['as'],'attributes':_0x3b2bbc['attributes'],'include':_0x3b2bbc[_0x8ad2('0x8')]?_[_0x8ad2('0xa')](_0x3b2bbc[_0x8ad2('0x8')],function(_0x2c7ea8){return{'model':db[_0x2c7ea8[_0x8ad2('0x9')]],'as':_0x2c7ea8['as'],'attributes':_0x2c7ea8[_0x8ad2('0xb')],'include':_0x2c7ea8['include']?_[_0x8ad2('0xa')](_0x2c7ea8['include'],function(_0x92d3b1){return{'model':db[_0x92d3b1['model']],'as':_0x92d3b1['as'],'attributes':_0x92d3b1[_0x8ad2('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x4606ba){logger[_0x8ad2('0xc')]('GetInterval',_0x261878);logger[_0x8ad2('0xd')](_0x8ad2('0xe'),_0x261878,JSON[_0x8ad2('0xf')](_0x4606ba));_0x3cc1b4(_0x4606ba);})['catch'](function(_0x355b53){logger[_0x8ad2('0x10')](_0x8ad2('0xe'),_0x355b53[_0x8ad2('0x11')],_0x261878);_0xc0e4c2(_0x1cc4b3[_0x8ad2('0x10')](0x1f4,_0x355b53['message']));});});};exports[_0x8ad2('0x12')]=function(_0x359c06){var _0x83af62=this;return new Promise(function(_0x5e734e,_0x5b4dc9){return db[_0x8ad2('0x13')][_0x8ad2('0x14')]({'raw':_0x359c06['options']?_0x359c06[_0x8ad2('0x5')][_0x8ad2('0x6')]===undefined?!![]:![]:!![],'where':_0x359c06[_0x8ad2('0x5')]?_0x359c06[_0x8ad2('0x5')]['where']||null:null,'attributes':_0x359c06[_0x8ad2('0x5')]?_0x359c06['options'][_0x8ad2('0xb')]||null:null,'include':_0x359c06[_0x8ad2('0x5')]?_0x359c06['options'][_0x8ad2('0x8')]?_[_0x8ad2('0xa')](_0x359c06[_0x8ad2('0x5')][_0x8ad2('0x8')],function(_0x2059a7){return{'model':db[_0x2059a7[_0x8ad2('0x9')]],'as':_0x2059a7['as'],'attributes':_0x2059a7[_0x8ad2('0xb')],'include':_0x2059a7[_0x8ad2('0x8')]?_[_0x8ad2('0xa')](_0x2059a7[_0x8ad2('0x8')],function(_0x470ccb){return{'model':db[_0x470ccb[_0x8ad2('0x9')]],'as':_0x470ccb['as'],'attributes':_0x470ccb['attributes'],'include':_0x470ccb[_0x8ad2('0x8')]?_[_0x8ad2('0xa')](_0x470ccb[_0x8ad2('0x8')],function(_0x11bf53){return{'model':db[_0x11bf53[_0x8ad2('0x9')]],'as':_0x11bf53['as'],'attributes':_0x11bf53[_0x8ad2('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x22f9b9){logger[_0x8ad2('0xc')](_0x8ad2('0x12'),_0x359c06);logger[_0x8ad2('0xd')](_0x8ad2('0x12'),_0x359c06,JSON[_0x8ad2('0xf')](_0x22f9b9));_0x5e734e(_0x22f9b9);})[_0x8ad2('0x15')](function(_0x3f1dff){logger[_0x8ad2('0x10')]('ShowInterval',_0x3f1dff[_0x8ad2('0x11')],_0x359c06);_0x5b4dc9(_0x83af62['error'](0x1f4,_0x3f1dff['message']));});});};function checkArrayOfIntervals(_0x32ee0f,_0x527880){var _0x16e0ee=[];return db[_0x8ad2('0x13')]['findAll']({'where':{'id':_0x32ee0f}})[_0x8ad2('0x16')](function(_0x287122){_0x16e0ee=_0x287122;return Promise[_0x8ad2('0x17')](_0x16e0ee['map'](function(_0x29a277){return _0x29a277['ifTime'](_0x527880);}));})[_0x8ad2('0x16')](function(_0x5a692f){var _0x3f03c9=_0x5a692f[_0x8ad2('0x18')](function(_0x461840,_0x283322){return _0x461840||_0x283322;},![]);logger[_0x8ad2('0xc')](util[_0x8ad2('0x19')](_0x8ad2('0x1a'),_0x16e0ee[_0x8ad2('0xa')](function(_0x3de8c9){return _0x3de8c9[_0x8ad2('0x1b')];})[_0x8ad2('0x1c')](',\x20'),_0x16e0ee[_0x8ad2('0xa')](function(_0x2e52b6){return _0x2e52b6['id'];})[_0x8ad2('0x1c')](',\x20')));return _0x3f03c9;});}function checkSingleInterval(_0x151b85,_0x515ca4){return db[_0x8ad2('0x13')][_0x8ad2('0x1d')](_0x151b85)[_0x8ad2('0x16')](function(_0x3a697c){if(_0x3a697c){logger[_0x8ad2('0xc')](util[_0x8ad2('0x19')]('IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)',_0x3a697c[_0x8ad2('0x1b')],_0x3a697c['id']));return _0x3a697c[_0x8ad2('0x1e')](_0x515ca4);}});}exports['IntervalIftime']=function(_0x5d9203){var _0x11ff80=_0x5d9203[_0x8ad2('0x1f')];var _0xa7321f=Array[_0x8ad2('0x20')](_0x5d9203[_0x8ad2('0x21')])?_0x5d9203['intervals']:typeof _0x5d9203[_0x8ad2('0x21')]===_0x8ad2('0x22')?[_0x5d9203[_0x8ad2('0x21')]]:[];var _0x22899b=_0x5d9203[_0x8ad2('0x23')]||undefined;var _0x1bfb1c=![];if(_0xa7321f[_0x8ad2('0x24')]){logger[_0x8ad2('0xc')](util[_0x8ad2('0x19')](_0x8ad2('0x25'),_0xa7321f[_0x8ad2('0x1c')](';\x20')));}if(_0x22899b){logger[_0x8ad2('0xc')](util['format'](_0x8ad2('0x26'),_0x22899b));}logger[_0x8ad2('0xd')](_0x8ad2('0x27'),_0x1bfb1c);logger[_0x8ad2('0x28')]('IntervalIftime',_0x5d9203);return Promise[_0x8ad2('0x29')]()[_0x8ad2('0x16')](function(){if(Array[_0x8ad2('0x20')](_0x11ff80)){return checkArrayOfIntervals(_0x11ff80,_0x22899b);}else if(_0x11ff80){return checkSingleInterval(_0x11ff80,_0x22899b);}})['then'](function(_0x2cbbcc){var _0x14100c=_0xa7321f[_0x8ad2('0x18')](function(_0x3fbee9,_0x17e4e8){return _0x3fbee9||iftime(_0x17e4e8,_0x22899b);},![]);_0x1bfb1c=_0x2cbbcc||_0x14100c;return _0x1bfb1c;})[_0x8ad2('0x15')](function(_0x1b0742){logger['error'](_0x8ad2('0x2a'),_0x5d9203,_0x1b0742);throw this[_0x8ad2('0x10')](0x1f4,_0x1b0742['message']);});};