Built motion from commit 5293bb2a.|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 _0x4b83=['silly','resolve','reduce','lodash','../../mysqldb','../../utils/iftime','iftime','../../config/logger','rpc','GetInterval','raw','options','where','limit','include','map','model','attributes','then','info','debug','stringify','catch','error','message','ShowInterval','Interval','find','findAll','all','ifTime','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','join','findById','format','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','intervalIds','isArray','intervals','string','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','Iftime'];(function(_0x4f738a,_0x3b28fa){var _0x23f5e8=function(_0x5c366a){while(--_0x5c366a){_0x4f738a['push'](_0x4f738a['shift']());}};_0x23f5e8(++_0x3b28fa);}(_0x4b83,0x1e7));var _0x34b8=function(_0x5d37ac,_0x19d434){_0x5d37ac=_0x5d37ac-0x0;var _0x58dd9a=_0x4b83[_0x5d37ac];return _0x58dd9a;};'use strict';var _=require(_0x34b8('0x0'));var util=require('util');var db=require(_0x34b8('0x1'))['db'];var iftime=require(_0x34b8('0x2'))[_0x34b8('0x3')];var logger=require(_0x34b8('0x4'))(_0x34b8('0x5'));exports[_0x34b8('0x6')]=function(_0x3d2ef4){var _0x457d86=this;return new Promise(function(_0x2210ea,_0xc9f670){return db['Interval']['findAll']({'raw':_0x3d2ef4['options']?_0x3d2ef4['options'][_0x34b8('0x7')]===undefined?!![]:![]:!![],'where':_0x3d2ef4[_0x34b8('0x8')]?_0x3d2ef4[_0x34b8('0x8')][_0x34b8('0x9')]||null:null,'attributes':_0x3d2ef4[_0x34b8('0x8')]?_0x3d2ef4[_0x34b8('0x8')]['attributes']||null:null,'limit':_0x3d2ef4[_0x34b8('0x8')]?_0x3d2ef4['options'][_0x34b8('0xa')]||null:null,'include':_0x3d2ef4[_0x34b8('0x8')]?_0x3d2ef4[_0x34b8('0x8')][_0x34b8('0xb')]?_[_0x34b8('0xc')](_0x3d2ef4[_0x34b8('0x8')]['include'],function(_0x2afb14){return{'model':db[_0x2afb14[_0x34b8('0xd')]],'as':_0x2afb14['as'],'attributes':_0x2afb14[_0x34b8('0xe')],'include':_0x2afb14[_0x34b8('0xb')]?_['map'](_0x2afb14[_0x34b8('0xb')],function(_0x451e3c){return{'model':db[_0x451e3c[_0x34b8('0xd')]],'as':_0x451e3c['as'],'attributes':_0x451e3c[_0x34b8('0xe')],'include':_0x451e3c[_0x34b8('0xb')]?_['map'](_0x451e3c[_0x34b8('0xb')],function(_0x2a2d3b){return{'model':db[_0x2a2d3b[_0x34b8('0xd')]],'as':_0x2a2d3b['as'],'attributes':_0x2a2d3b['attributes']};}):[]};}):[]};}):[]:[]})[_0x34b8('0xf')](function(_0x4df845){logger[_0x34b8('0x10')](_0x34b8('0x6'),_0x3d2ef4);logger[_0x34b8('0x11')](_0x34b8('0x6'),_0x3d2ef4,JSON[_0x34b8('0x12')](_0x4df845));_0x2210ea(_0x4df845);})[_0x34b8('0x13')](function(_0x43a621){logger[_0x34b8('0x14')](_0x34b8('0x6'),_0x43a621['message'],_0x3d2ef4);_0xc9f670(_0x457d86[_0x34b8('0x14')](0x1f4,_0x43a621[_0x34b8('0x15')]));});});};exports[_0x34b8('0x16')]=function(_0x2fbf7f){var _0x5a3309=this;return new Promise(function(_0x3bcaec,_0x36cbf4){return db[_0x34b8('0x17')][_0x34b8('0x18')]({'raw':_0x2fbf7f[_0x34b8('0x8')]?_0x2fbf7f[_0x34b8('0x8')][_0x34b8('0x7')]===undefined?!![]:![]:!![],'where':_0x2fbf7f[_0x34b8('0x8')]?_0x2fbf7f[_0x34b8('0x8')][_0x34b8('0x9')]||null:null,'attributes':_0x2fbf7f[_0x34b8('0x8')]?_0x2fbf7f[_0x34b8('0x8')][_0x34b8('0xe')]||null:null,'include':_0x2fbf7f[_0x34b8('0x8')]?_0x2fbf7f[_0x34b8('0x8')]['include']?_['map'](_0x2fbf7f['options']['include'],function(_0x3ac8ec){return{'model':db[_0x3ac8ec[_0x34b8('0xd')]],'as':_0x3ac8ec['as'],'attributes':_0x3ac8ec[_0x34b8('0xe')],'include':_0x3ac8ec[_0x34b8('0xb')]?_['map'](_0x3ac8ec['include'],function(_0x1bd5e9){return{'model':db[_0x1bd5e9[_0x34b8('0xd')]],'as':_0x1bd5e9['as'],'attributes':_0x1bd5e9[_0x34b8('0xe')],'include':_0x1bd5e9[_0x34b8('0xb')]?_[_0x34b8('0xc')](_0x1bd5e9[_0x34b8('0xb')],function(_0x5d89e3){return{'model':db[_0x5d89e3['model']],'as':_0x5d89e3['as'],'attributes':_0x5d89e3[_0x34b8('0xe')]};}):[]};}):[]};}):[]:[]})[_0x34b8('0xf')](function(_0x126b4e){logger['info'](_0x34b8('0x16'),_0x2fbf7f);logger[_0x34b8('0x11')]('ShowInterval',_0x2fbf7f,JSON[_0x34b8('0x12')](_0x126b4e));_0x3bcaec(_0x126b4e);})[_0x34b8('0x13')](function(_0x4a4e32){logger[_0x34b8('0x14')](_0x34b8('0x16'),_0x4a4e32['message'],_0x2fbf7f);_0x36cbf4(_0x5a3309[_0x34b8('0x14')](0x1f4,_0x4a4e32[_0x34b8('0x15')]));});});};function checkArrayOfIntervals(_0x30c3ae,_0x2eea96){var _0x32df4a=[];return db[_0x34b8('0x17')][_0x34b8('0x19')]({'where':{'id':_0x30c3ae}})[_0x34b8('0xf')](function(_0x17e1f1){_0x32df4a=_0x17e1f1;return Promise[_0x34b8('0x1a')](_0x32df4a['map'](function(_0x3a9f18){return _0x3a9f18[_0x34b8('0x1b')](_0x2eea96);}));})['then'](function(_0x1e42f2){var _0x1d7fea=_0x1e42f2['reduce'](function(_0x3519df,_0x3b1a45){return _0x3519df||_0x3b1a45;},![]);logger[_0x34b8('0x10')](util['format'](_0x34b8('0x1c'),_0x32df4a['map'](function(_0x49ddd5){return _0x49ddd5['name'];})[_0x34b8('0x1d')](',\x20'),_0x32df4a[_0x34b8('0xc')](function(_0x2db194){return _0x2db194['id'];})[_0x34b8('0x1d')](',\x20')));return _0x1d7fea;});}function checkSingleInterval(_0x265c69,_0x211d99){return db[_0x34b8('0x17')][_0x34b8('0x1e')](_0x265c69)[_0x34b8('0xf')](function(_0x5e8ca7){if(_0x5e8ca7){logger['info'](util[_0x34b8('0x1f')](_0x34b8('0x20'),_0x5e8ca7['name'],_0x5e8ca7['id']));return _0x5e8ca7[_0x34b8('0x1b')](_0x211d99);}});}exports[_0x34b8('0x21')]=function(_0x45bb49){var _0x3e2acb=_0x45bb49[_0x34b8('0x22')];var _0x13e1e3=Array[_0x34b8('0x23')](_0x45bb49['intervals'])?_0x45bb49[_0x34b8('0x24')]:typeof _0x45bb49[_0x34b8('0x24')]===_0x34b8('0x25')?[_0x45bb49[_0x34b8('0x24')]]:[];var _0x2d98d8=_0x45bb49['timezone']||undefined;var _0xc5bcea=![];if(_0x13e1e3['length']){logger[_0x34b8('0x10')](util[_0x34b8('0x1f')](_0x34b8('0x26'),_0x13e1e3[_0x34b8('0x1d')](';\x20')));}if(_0x2d98d8){logger[_0x34b8('0x10')](util[_0x34b8('0x1f')](_0x34b8('0x27'),_0x2d98d8));}logger[_0x34b8('0x11')](_0x34b8('0x28'),_0xc5bcea);logger[_0x34b8('0x29')](_0x34b8('0x21'),_0x45bb49);return Promise[_0x34b8('0x2a')]()[_0x34b8('0xf')](function(){if(Array['isArray'](_0x3e2acb)){return checkArrayOfIntervals(_0x3e2acb,_0x2d98d8);}else if(_0x3e2acb){return checkSingleInterval(_0x3e2acb,_0x2d98d8);}})[_0x34b8('0xf')](function(_0x38082d){var _0x21825c=_0x13e1e3[_0x34b8('0x2b')](function(_0xa4a8be,_0x1b55fc){return _0xa4a8be||iftime(_0x1b55fc,_0x2d98d8);},![]);_0xc5bcea=_0x38082d||_0x21825c;return _0xc5bcea;})[_0x34b8('0x13')](function(_0x1ecb7d){logger[_0x34b8('0x14')](_0x34b8('0x21'),_0x45bb49,_0x1ecb7d);throw this[_0x34b8('0x14')](0x1f4,_0x1ecb7d['message']);});};