307203523d62c25ed71533d94df5fb370aa93fc0
[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 _0xdd79=['message','error','ShowInterval','find','where','all','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','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','Iftime','silly','resolve','lodash','util','../../mysqldb','iftime','../../config/logger','rpc','Interval','findAll','options','raw','attributes','limit','include','model','map','then','info','GetInterval','debug','stringify','catch'];(function(_0x10df1e,_0xf56f85){var _0x3e24fb=function(_0x5cdb59){while(--_0x5cdb59){_0x10df1e['push'](_0x10df1e['shift']());}};_0x3e24fb(++_0xf56f85);}(_0xdd79,0x1c1));var _0x9dd7=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0xdd79[_0x1facfa];return _0x9ec701;};'use strict';var _=require(_0x9dd7('0x0'));var util=require(_0x9dd7('0x1'));var db=require(_0x9dd7('0x2'))['db'];var iftime=require('../../utils/iftime')[_0x9dd7('0x3')];var logger=require(_0x9dd7('0x4'))(_0x9dd7('0x5'));exports['GetInterval']=function(_0x5bc5a2){var _0x1b875c=this;return new Promise(function(_0x4ab40c,_0x1d46b7){return db[_0x9dd7('0x6')][_0x9dd7('0x7')]({'raw':_0x5bc5a2[_0x9dd7('0x8')]?_0x5bc5a2[_0x9dd7('0x8')][_0x9dd7('0x9')]===undefined?!![]:![]:!![],'where':_0x5bc5a2[_0x9dd7('0x8')]?_0x5bc5a2[_0x9dd7('0x8')]['where']||null:null,'attributes':_0x5bc5a2[_0x9dd7('0x8')]?_0x5bc5a2['options'][_0x9dd7('0xa')]||null:null,'limit':_0x5bc5a2['options']?_0x5bc5a2[_0x9dd7('0x8')][_0x9dd7('0xb')]||null:null,'include':_0x5bc5a2[_0x9dd7('0x8')]?_0x5bc5a2[_0x9dd7('0x8')][_0x9dd7('0xc')]?_['map'](_0x5bc5a2[_0x9dd7('0x8')][_0x9dd7('0xc')],function(_0x56818e){return{'model':db[_0x56818e[_0x9dd7('0xd')]],'as':_0x56818e['as'],'attributes':_0x56818e[_0x9dd7('0xa')],'include':_0x56818e[_0x9dd7('0xc')]?_['map'](_0x56818e[_0x9dd7('0xc')],function(_0x846128){return{'model':db[_0x846128[_0x9dd7('0xd')]],'as':_0x846128['as'],'attributes':_0x846128[_0x9dd7('0xa')],'include':_0x846128[_0x9dd7('0xc')]?_[_0x9dd7('0xe')](_0x846128[_0x9dd7('0xc')],function(_0x487d70){return{'model':db[_0x487d70[_0x9dd7('0xd')]],'as':_0x487d70['as'],'attributes':_0x487d70[_0x9dd7('0xa')]};}):[]};}):[]};}):[]:[]})[_0x9dd7('0xf')](function(_0x443f34){logger[_0x9dd7('0x10')](_0x9dd7('0x11'),_0x5bc5a2);logger[_0x9dd7('0x12')]('GetInterval',_0x5bc5a2,JSON[_0x9dd7('0x13')](_0x443f34));_0x4ab40c(_0x443f34);})[_0x9dd7('0x14')](function(_0xdfcbe9){logger['error']('GetInterval',_0xdfcbe9[_0x9dd7('0x15')],_0x5bc5a2);_0x1d46b7(_0x1b875c[_0x9dd7('0x16')](0x1f4,_0xdfcbe9[_0x9dd7('0x15')]));});});};exports[_0x9dd7('0x17')]=function(_0x21a104){var _0x4379d0=this;return new Promise(function(_0x50248b,_0x465790){return db['Interval'][_0x9dd7('0x18')]({'raw':_0x21a104[_0x9dd7('0x8')]?_0x21a104[_0x9dd7('0x8')][_0x9dd7('0x9')]===undefined?!![]:![]:!![],'where':_0x21a104[_0x9dd7('0x8')]?_0x21a104['options'][_0x9dd7('0x19')]||null:null,'attributes':_0x21a104[_0x9dd7('0x8')]?_0x21a104[_0x9dd7('0x8')][_0x9dd7('0xa')]||null:null,'include':_0x21a104[_0x9dd7('0x8')]?_0x21a104[_0x9dd7('0x8')]['include']?_[_0x9dd7('0xe')](_0x21a104[_0x9dd7('0x8')][_0x9dd7('0xc')],function(_0x599155){return{'model':db[_0x599155[_0x9dd7('0xd')]],'as':_0x599155['as'],'attributes':_0x599155[_0x9dd7('0xa')],'include':_0x599155[_0x9dd7('0xc')]?_[_0x9dd7('0xe')](_0x599155['include'],function(_0x443bec){return{'model':db[_0x443bec['model']],'as':_0x443bec['as'],'attributes':_0x443bec[_0x9dd7('0xa')],'include':_0x443bec['include']?_[_0x9dd7('0xe')](_0x443bec[_0x9dd7('0xc')],function(_0x72ccb){return{'model':db[_0x72ccb[_0x9dd7('0xd')]],'as':_0x72ccb['as'],'attributes':_0x72ccb[_0x9dd7('0xa')]};}):[]};}):[]};}):[]:[]})[_0x9dd7('0xf')](function(_0x5787f2){logger['info'](_0x9dd7('0x17'),_0x21a104);logger[_0x9dd7('0x12')](_0x9dd7('0x17'),_0x21a104,JSON[_0x9dd7('0x13')](_0x5787f2));_0x50248b(_0x5787f2);})[_0x9dd7('0x14')](function(_0x45e421){logger[_0x9dd7('0x16')](_0x9dd7('0x17'),_0x45e421[_0x9dd7('0x15')],_0x21a104);_0x465790(_0x4379d0['error'](0x1f4,_0x45e421[_0x9dd7('0x15')]));});});};function checkArrayOfIntervals(_0x5e011c,_0x5ddd9a){var _0x9ac71e=[];return db[_0x9dd7('0x6')][_0x9dd7('0x7')]({'where':{'id':_0x5e011c}})[_0x9dd7('0xf')](function(_0x4b3ba7){_0x9ac71e=_0x4b3ba7;return Promise[_0x9dd7('0x1a')](_0x9ac71e[_0x9dd7('0xe')](function(_0x14c162){return _0x14c162['ifTime'](_0x5ddd9a);}));})[_0x9dd7('0xf')](function(_0x1f22ab){var _0x4d8a41=_0x1f22ab[_0x9dd7('0x1b')](function(_0x1247f5,_0x28d26b){return _0x1247f5||_0x28d26b;},![]);logger[_0x9dd7('0x10')](util[_0x9dd7('0x1c')](_0x9dd7('0x1d'),_0x9ac71e['map'](function(_0x361dab){return _0x361dab[_0x9dd7('0x1e')];})['join'](',\x20'),_0x9ac71e[_0x9dd7('0xe')](function(_0x4ea8b3){return _0x4ea8b3['id'];})[_0x9dd7('0x1f')](',\x20')));return _0x4d8a41;});}function checkSingleInterval(_0x42d7a7,_0x255155){return db[_0x9dd7('0x6')][_0x9dd7('0x20')](_0x42d7a7)[_0x9dd7('0xf')](function(_0x23cd28){if(_0x23cd28){logger['info'](util[_0x9dd7('0x1c')](_0x9dd7('0x21'),_0x23cd28['name'],_0x23cd28['id']));return _0x23cd28[_0x9dd7('0x22')](_0x255155);}});}exports[_0x9dd7('0x23')]=function(_0xf9e9ae){var _0x5e4dc2=_0xf9e9ae[_0x9dd7('0x24')];var _0x443dbd=Array[_0x9dd7('0x25')](_0xf9e9ae[_0x9dd7('0x26')])?_0xf9e9ae['intervals']:typeof _0xf9e9ae[_0x9dd7('0x26')]===_0x9dd7('0x27')?[_0xf9e9ae[_0x9dd7('0x26')]]:[];var _0x59a139=_0xf9e9ae[_0x9dd7('0x28')]||undefined;var _0x1228aa=![];if(_0x443dbd[_0x9dd7('0x29')]){logger[_0x9dd7('0x10')](util['format'](_0x9dd7('0x2a'),_0x443dbd[_0x9dd7('0x1f')](';\x20')));}if(_0x59a139){logger[_0x9dd7('0x10')](util[_0x9dd7('0x1c')](_0x9dd7('0x2b'),_0x59a139));}logger['debug'](_0x9dd7('0x2c'),_0x1228aa);logger[_0x9dd7('0x2d')]('IntervalIftime',_0xf9e9ae);return Promise[_0x9dd7('0x2e')]()[_0x9dd7('0xf')](function(){if(Array[_0x9dd7('0x25')](_0x5e4dc2)){return checkArrayOfIntervals(_0x5e4dc2,_0x59a139);}else if(_0x5e4dc2){return checkSingleInterval(_0x5e4dc2,_0x59a139);}})['then'](function(_0x4db905){var _0x166a3c=_0x443dbd[_0x9dd7('0x1b')](function(_0x5e5893,_0x1382bc){return _0x5e5893||iftime(_0x1382bc,_0x59a139);},![]);_0x1228aa=_0x4db905||_0x166a3c;return _0x1228aa;})[_0x9dd7('0x14')](function(_0x12227e){logger['error'](_0x9dd7('0x23'),_0xf9e9ae,_0x12227e);throw this[_0x9dd7('0x16')](0x1f4,_0x12227e[_0x9dd7('0x15')]);});};