Built motion from commit d5e4af8c.|2.6.23
[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 _0xe2a7=['iftime','rpc','GetInterval','Interval','raw','options','include','model','attributes','map','info','catch','error','message','find','then','debug','ShowInterval','stringify','findAll','reduce','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','format','ifTime','IntervalIftime','intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','Iftime','silly','resolve','isArray','lodash','util','../../utils/iftime'];(function(_0x1443eb,_0x203408){var _0x2b8810=function(_0x48bc4e){while(--_0x48bc4e){_0x1443eb['push'](_0x1443eb['shift']());}};_0x2b8810(++_0x203408);}(_0xe2a7,0x165));var _0x7e2a=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe2a7[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x7e2a('0x0'));var util=require(_0x7e2a('0x1'));var db=require('../../mysqldb')['db'];var iftime=require(_0x7e2a('0x2'))[_0x7e2a('0x3')];var logger=require('../../config/logger')(_0x7e2a('0x4'));exports[_0x7e2a('0x5')]=function(_0x2f21ac){var _0x1e237b=this;return new Promise(function(_0x44723f,_0x53987d){return db[_0x7e2a('0x6')]['findAll']({'raw':_0x2f21ac['options']?_0x2f21ac['options'][_0x7e2a('0x7')]===undefined?!![]:![]:!![],'where':_0x2f21ac[_0x7e2a('0x8')]?_0x2f21ac[_0x7e2a('0x8')]['where']||null:null,'attributes':_0x2f21ac[_0x7e2a('0x8')]?_0x2f21ac[_0x7e2a('0x8')]['attributes']||null:null,'limit':_0x2f21ac[_0x7e2a('0x8')]?_0x2f21ac['options']['limit']||null:null,'include':_0x2f21ac[_0x7e2a('0x8')]?_0x2f21ac[_0x7e2a('0x8')][_0x7e2a('0x9')]?_['map'](_0x2f21ac[_0x7e2a('0x8')][_0x7e2a('0x9')],function(_0x4e480a){return{'model':db[_0x4e480a[_0x7e2a('0xa')]],'as':_0x4e480a['as'],'attributes':_0x4e480a[_0x7e2a('0xb')],'include':_0x4e480a[_0x7e2a('0x9')]?_[_0x7e2a('0xc')](_0x4e480a[_0x7e2a('0x9')],function(_0x43ed72){return{'model':db[_0x43ed72['model']],'as':_0x43ed72['as'],'attributes':_0x43ed72[_0x7e2a('0xb')],'include':_0x43ed72['include']?_['map'](_0x43ed72['include'],function(_0x100970){return{'model':db[_0x100970['model']],'as':_0x100970['as'],'attributes':_0x100970[_0x7e2a('0xb')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x42dc33){logger[_0x7e2a('0xd')](_0x7e2a('0x5'),_0x2f21ac);logger['debug'](_0x7e2a('0x5'),_0x2f21ac,JSON['stringify'](_0x42dc33));_0x44723f(_0x42dc33);})[_0x7e2a('0xe')](function(_0x541204){logger[_0x7e2a('0xf')](_0x7e2a('0x5'),_0x541204[_0x7e2a('0x10')],_0x2f21ac);_0x53987d(_0x1e237b['error'](0x1f4,_0x541204[_0x7e2a('0x10')]));});});};exports['ShowInterval']=function(_0x46cc95){var _0x55f7b5=this;return new Promise(function(_0x4d8e16,_0x6e3653){return db[_0x7e2a('0x6')][_0x7e2a('0x11')]({'raw':_0x46cc95[_0x7e2a('0x8')]?_0x46cc95[_0x7e2a('0x8')][_0x7e2a('0x7')]===undefined?!![]:![]:!![],'where':_0x46cc95['options']?_0x46cc95[_0x7e2a('0x8')]['where']||null:null,'attributes':_0x46cc95[_0x7e2a('0x8')]?_0x46cc95[_0x7e2a('0x8')][_0x7e2a('0xb')]||null:null,'include':_0x46cc95['options']?_0x46cc95[_0x7e2a('0x8')][_0x7e2a('0x9')]?_[_0x7e2a('0xc')](_0x46cc95[_0x7e2a('0x8')][_0x7e2a('0x9')],function(_0x45284f){return{'model':db[_0x45284f[_0x7e2a('0xa')]],'as':_0x45284f['as'],'attributes':_0x45284f[_0x7e2a('0xb')],'include':_0x45284f['include']?_[_0x7e2a('0xc')](_0x45284f[_0x7e2a('0x9')],function(_0x3a6b76){return{'model':db[_0x3a6b76['model']],'as':_0x3a6b76['as'],'attributes':_0x3a6b76[_0x7e2a('0xb')],'include':_0x3a6b76[_0x7e2a('0x9')]?_[_0x7e2a('0xc')](_0x3a6b76[_0x7e2a('0x9')],function(_0x39237e){return{'model':db[_0x39237e[_0x7e2a('0xa')]],'as':_0x39237e['as'],'attributes':_0x39237e[_0x7e2a('0xb')]};}):[]};}):[]};}):[]:[]})[_0x7e2a('0x12')](function(_0x53eab6){logger['info']('ShowInterval',_0x46cc95);logger[_0x7e2a('0x13')](_0x7e2a('0x14'),_0x46cc95,JSON[_0x7e2a('0x15')](_0x53eab6));_0x4d8e16(_0x53eab6);})[_0x7e2a('0xe')](function(_0x3b1e19){logger[_0x7e2a('0xf')]('ShowInterval',_0x3b1e19['message'],_0x46cc95);_0x6e3653(_0x55f7b5[_0x7e2a('0xf')](0x1f4,_0x3b1e19[_0x7e2a('0x10')]));});});};function checkArrayOfIntervals(_0x483b67,_0x5c428c){var _0xdf5f9c=[];return db[_0x7e2a('0x6')][_0x7e2a('0x16')]({'where':{'id':_0x483b67}})[_0x7e2a('0x12')](function(_0x217780){_0xdf5f9c=_0x217780;return Promise['all'](_0xdf5f9c[_0x7e2a('0xc')](function(_0x4d90de){return _0x4d90de['ifTime'](_0x5c428c);}));})['then'](function(_0xdc6467){var _0x2b5080=_0xdc6467[_0x7e2a('0x17')](function(_0x52aa2e,_0x2b1ca4){return _0x52aa2e||_0x2b1ca4;},![]);logger[_0x7e2a('0xd')](util['format'](_0x7e2a('0x18'),_0xdf5f9c['map'](function(_0x3ac154){return _0x3ac154[_0x7e2a('0x19')];})[_0x7e2a('0x1a')](',\x20'),_0xdf5f9c['map'](function(_0x11ad85){return _0x11ad85['id'];})[_0x7e2a('0x1a')](',\x20')));return _0x2b5080;});}function checkSingleInterval(_0x198825,_0x3556d9){return db[_0x7e2a('0x6')]['findById'](_0x198825)[_0x7e2a('0x12')](function(_0x1b875c){if(_0x1b875c){logger[_0x7e2a('0xd')](util[_0x7e2a('0x1b')]('IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)',_0x1b875c[_0x7e2a('0x19')],_0x1b875c['id']));return _0x1b875c[_0x7e2a('0x1c')](_0x3556d9);}});}exports[_0x7e2a('0x1d')]=function(_0x5c4804){var _0x398cdf=_0x5c4804['intervalIds'];var _0x527cad=Array['isArray'](_0x5c4804[_0x7e2a('0x1e')])?_0x5c4804['intervals']:typeof _0x5c4804[_0x7e2a('0x1e')]===_0x7e2a('0x1f')?[_0x5c4804['intervals']]:[];var _0x105559=_0x5c4804[_0x7e2a('0x20')]||undefined;var _0x395e66=![];if(_0x527cad[_0x7e2a('0x21')]){logger[_0x7e2a('0xd')](util[_0x7e2a('0x1b')](_0x7e2a('0x22'),_0x527cad[_0x7e2a('0x1a')](';\x20')));}if(_0x105559){logger[_0x7e2a('0xd')](util['format'](_0x7e2a('0x23'),_0x105559));}logger[_0x7e2a('0x13')](_0x7e2a('0x24'),_0x395e66);logger[_0x7e2a('0x25')](_0x7e2a('0x1d'),_0x5c4804);return Promise[_0x7e2a('0x26')]()['then'](function(){if(Array[_0x7e2a('0x27')](_0x398cdf)){return checkArrayOfIntervals(_0x398cdf,_0x105559);}else if(_0x398cdf){return checkSingleInterval(_0x398cdf,_0x105559);}})[_0x7e2a('0x12')](function(_0x2d20e3){var _0x44b5bc=_0x527cad['reduce'](function(_0x5685dd,_0x560ca5){return _0x5685dd||iftime(_0x560ca5,_0x105559);},![]);_0x395e66=_0x2d20e3||_0x44b5bc;return _0x395e66;})[_0x7e2a('0xe')](function(_0x89a04a){logger[_0x7e2a('0xf')](_0x7e2a('0x1d'),_0x5c4804,_0x89a04a);throw this['error'](0x1f4,_0x89a04a[_0x7e2a('0x10')]);});};