9ae191e0ac83bab717380b8a2ec3bf27da1d2365
[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 _0xe738=['catch','error','message','ShowInterval','find','where','stringify','findAll','all','ifTime','reduce','info','name','join','format','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','intervalIds','intervals','string','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','Iftime','silly','resolve','util','../../mysqldb','iftime','../../config/logger','rpc','GetInterval','Interval','options','raw','attributes','limit','include','map','model','then','debug'];(function(_0x34b01e,_0x24b49f){var _0x5d596c=function(_0x3b6bbd){while(--_0x3b6bbd){_0x34b01e['push'](_0x34b01e['shift']());}};_0x5d596c(++_0x24b49f);}(_0xe738,0xbd));var _0x8e73=function(_0x19950b,_0x53d0d7){_0x19950b=_0x19950b-0x0;var _0x3c6b41=_0xe738[_0x19950b];return _0x3c6b41;};'use strict';var _=require('lodash');var util=require(_0x8e73('0x0'));var db=require(_0x8e73('0x1'))['db'];var iftime=require('../../utils/iftime')[_0x8e73('0x2')];var logger=require(_0x8e73('0x3'))(_0x8e73('0x4'));exports[_0x8e73('0x5')]=function(_0x2fa951){var _0x2c8551=this;return new Promise(function(_0x17fcea,_0xf7808f){return db[_0x8e73('0x6')]['findAll']({'raw':_0x2fa951['options']?_0x2fa951[_0x8e73('0x7')][_0x8e73('0x8')]===undefined?!![]:![]:!![],'where':_0x2fa951[_0x8e73('0x7')]?_0x2fa951['options']['where']||null:null,'attributes':_0x2fa951[_0x8e73('0x7')]?_0x2fa951['options'][_0x8e73('0x9')]||null:null,'limit':_0x2fa951[_0x8e73('0x7')]?_0x2fa951[_0x8e73('0x7')][_0x8e73('0xa')]||null:null,'include':_0x2fa951[_0x8e73('0x7')]?_0x2fa951['options'][_0x8e73('0xb')]?_[_0x8e73('0xc')](_0x2fa951[_0x8e73('0x7')][_0x8e73('0xb')],function(_0x4f2c7b){return{'model':db[_0x4f2c7b['model']],'as':_0x4f2c7b['as'],'attributes':_0x4f2c7b[_0x8e73('0x9')],'include':_0x4f2c7b[_0x8e73('0xb')]?_[_0x8e73('0xc')](_0x4f2c7b[_0x8e73('0xb')],function(_0x2b9d2d){return{'model':db[_0x2b9d2d[_0x8e73('0xd')]],'as':_0x2b9d2d['as'],'attributes':_0x2b9d2d[_0x8e73('0x9')],'include':_0x2b9d2d[_0x8e73('0xb')]?_['map'](_0x2b9d2d[_0x8e73('0xb')],function(_0x4a8694){return{'model':db[_0x4a8694[_0x8e73('0xd')]],'as':_0x4a8694['as'],'attributes':_0x4a8694[_0x8e73('0x9')]};}):[]};}):[]};}):[]:[]})[_0x8e73('0xe')](function(_0x2508bb){logger['info'](_0x8e73('0x5'),_0x2fa951);logger[_0x8e73('0xf')]('GetInterval',_0x2fa951,JSON['stringify'](_0x2508bb));_0x17fcea(_0x2508bb);})[_0x8e73('0x10')](function(_0x2bfb1d){logger['error'](_0x8e73('0x5'),_0x2bfb1d['message'],_0x2fa951);_0xf7808f(_0x2c8551[_0x8e73('0x11')](0x1f4,_0x2bfb1d[_0x8e73('0x12')]));});});};exports[_0x8e73('0x13')]=function(_0xf255fc){var _0x20778b=this;return new Promise(function(_0x20e58d,_0x525a41){return db['Interval'][_0x8e73('0x14')]({'raw':_0xf255fc[_0x8e73('0x7')]?_0xf255fc['options']['raw']===undefined?!![]:![]:!![],'where':_0xf255fc[_0x8e73('0x7')]?_0xf255fc[_0x8e73('0x7')][_0x8e73('0x15')]||null:null,'attributes':_0xf255fc[_0x8e73('0x7')]?_0xf255fc[_0x8e73('0x7')][_0x8e73('0x9')]||null:null,'include':_0xf255fc['options']?_0xf255fc[_0x8e73('0x7')][_0x8e73('0xb')]?_[_0x8e73('0xc')](_0xf255fc[_0x8e73('0x7')][_0x8e73('0xb')],function(_0x7c36c7){return{'model':db[_0x7c36c7[_0x8e73('0xd')]],'as':_0x7c36c7['as'],'attributes':_0x7c36c7[_0x8e73('0x9')],'include':_0x7c36c7[_0x8e73('0xb')]?_['map'](_0x7c36c7['include'],function(_0x1552c2){return{'model':db[_0x1552c2[_0x8e73('0xd')]],'as':_0x1552c2['as'],'attributes':_0x1552c2[_0x8e73('0x9')],'include':_0x1552c2[_0x8e73('0xb')]?_[_0x8e73('0xc')](_0x1552c2[_0x8e73('0xb')],function(_0x52b945){return{'model':db[_0x52b945[_0x8e73('0xd')]],'as':_0x52b945['as'],'attributes':_0x52b945[_0x8e73('0x9')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x156354){logger['info']('ShowInterval',_0xf255fc);logger[_0x8e73('0xf')](_0x8e73('0x13'),_0xf255fc,JSON[_0x8e73('0x16')](_0x156354));_0x20e58d(_0x156354);})[_0x8e73('0x10')](function(_0x4a2e7c){logger[_0x8e73('0x11')](_0x8e73('0x13'),_0x4a2e7c['message'],_0xf255fc);_0x525a41(_0x20778b['error'](0x1f4,_0x4a2e7c[_0x8e73('0x12')]));});});};function checkArrayOfIntervals(_0x121b42,_0x13f34d){var _0x1f8ed2=[];return db[_0x8e73('0x6')][_0x8e73('0x17')]({'where':{'id':_0x121b42}})[_0x8e73('0xe')](function(_0x17ec49){_0x1f8ed2=_0x17ec49;return Promise[_0x8e73('0x18')](_0x1f8ed2[_0x8e73('0xc')](function(_0x354ef2){return _0x354ef2[_0x8e73('0x19')](_0x13f34d);}));})[_0x8e73('0xe')](function(_0x16b834){var _0xdaea51=_0x16b834[_0x8e73('0x1a')](function(_0x2f6699,_0x4a7cf1){return _0x2f6699||_0x4a7cf1;},![]);logger[_0x8e73('0x1b')](util['format']('IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)',_0x1f8ed2[_0x8e73('0xc')](function(_0xea3736){return _0xea3736[_0x8e73('0x1c')];})['join'](',\x20'),_0x1f8ed2[_0x8e73('0xc')](function(_0x590e6a){return _0x590e6a['id'];})[_0x8e73('0x1d')](',\x20')));return _0xdaea51;});}function checkSingleInterval(_0x582135,_0x1b8ca6){return db['Interval']['findById'](_0x582135)['then'](function(_0x29cd73){if(_0x29cd73){logger['info'](util[_0x8e73('0x1e')](_0x8e73('0x1f'),_0x29cd73['name'],_0x29cd73['id']));return _0x29cd73[_0x8e73('0x19')](_0x1b8ca6);}});}exports[_0x8e73('0x20')]=function(_0x2824ab){var _0x115815=_0x2824ab[_0x8e73('0x21')];var _0x13025f=Array['isArray'](_0x2824ab[_0x8e73('0x22')])?_0x2824ab[_0x8e73('0x22')]:typeof _0x2824ab[_0x8e73('0x22')]===_0x8e73('0x23')?[_0x2824ab['intervals']]:[];var _0x4208d9=_0x2824ab['timezone']||undefined;var _0x1a4778=![];if(_0x13025f[_0x8e73('0x24')]){logger['info'](util[_0x8e73('0x1e')](_0x8e73('0x25'),_0x13025f['join'](';\x20')));}if(_0x4208d9){logger[_0x8e73('0x1b')](util[_0x8e73('0x1e')]('IntervalIftime:\x20timezone\x20=\x20%s',_0x4208d9));}logger['debug'](_0x8e73('0x26'),_0x1a4778);logger[_0x8e73('0x27')](_0x8e73('0x20'),_0x2824ab);return Promise[_0x8e73('0x28')]()[_0x8e73('0xe')](function(){if(Array['isArray'](_0x115815)){return checkArrayOfIntervals(_0x115815,_0x4208d9);}else if(_0x115815){return checkSingleInterval(_0x115815,_0x4208d9);}})[_0x8e73('0xe')](function(_0x2ec259){var _0x3bda66=_0x13025f[_0x8e73('0x1a')](function(_0xbccc85,_0x61ef0f){return _0xbccc85||iftime(_0x61ef0f,_0x4208d9);},![]);_0x1a4778=_0x2ec259||_0x3bda66;return _0x1a4778;})['catch'](function(_0x64f46b){logger[_0x8e73('0x11')](_0x8e73('0x20'),_0x2824ab,_0x64f46b);throw this[_0x8e73('0x11')](0x1f4,_0x64f46b[_0x8e73('0x12')]);});};