c46bc48d01a73dd8441206e2d020b77ea008b7d5
[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 _0x123b=['include','model','then','debug','GetInterval','catch','error','message','ShowInterval','Interval','raw','info','stringify','all','ifTime','reduce','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','intervalIds','isArray','intervals','length','format','IntervalIftime:\x20interval\x20strings\x20=\x20%s','IntervalIftime:\x20timezone\x20=\x20%s','Iftime','silly','util','../../mysqldb','iftime','../../config/logger','rpc','findAll','options','attributes','map'];(function(_0x28f5cb,_0x37fadc){var _0x27cd13=function(_0x248b27){while(--_0x248b27){_0x28f5cb['push'](_0x28f5cb['shift']());}};_0x27cd13(++_0x37fadc);}(_0x123b,0x1f2));var _0xb123=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0x123b[_0x57b54c];return _0x59cc19;};'use strict';var _=require('lodash');var util=require(_0xb123('0x0'));var db=require(_0xb123('0x1'))['db'];var iftime=require('../../utils/iftime')[_0xb123('0x2')];var logger=require(_0xb123('0x3'))(_0xb123('0x4'));exports['GetInterval']=function(_0x29ff9f){var _0x3817d7=this;return new Promise(function(_0x1200bc,_0x2468e2){return db['Interval'][_0xb123('0x5')]({'raw':_0x29ff9f['options']?_0x29ff9f['options']['raw']===undefined?!![]:![]:!![],'where':_0x29ff9f[_0xb123('0x6')]?_0x29ff9f['options']['where']||null:null,'attributes':_0x29ff9f[_0xb123('0x6')]?_0x29ff9f['options'][_0xb123('0x7')]||null:null,'limit':_0x29ff9f[_0xb123('0x6')]?_0x29ff9f[_0xb123('0x6')]['limit']||null:null,'include':_0x29ff9f[_0xb123('0x6')]?_0x29ff9f[_0xb123('0x6')]['include']?_[_0xb123('0x8')](_0x29ff9f['options'][_0xb123('0x9')],function(_0x3d43b7){return{'model':db[_0x3d43b7['model']],'as':_0x3d43b7['as'],'attributes':_0x3d43b7[_0xb123('0x7')],'include':_0x3d43b7['include']?_[_0xb123('0x8')](_0x3d43b7['include'],function(_0x554a2b){return{'model':db[_0x554a2b['model']],'as':_0x554a2b['as'],'attributes':_0x554a2b[_0xb123('0x7')],'include':_0x554a2b[_0xb123('0x9')]?_[_0xb123('0x8')](_0x554a2b[_0xb123('0x9')],function(_0x2d977c){return{'model':db[_0x2d977c[_0xb123('0xa')]],'as':_0x2d977c['as'],'attributes':_0x2d977c[_0xb123('0x7')]};}):[]};}):[]};}):[]:[]})[_0xb123('0xb')](function(_0x1ae70d){logger['info']('GetInterval',_0x29ff9f);logger[_0xb123('0xc')](_0xb123('0xd'),_0x29ff9f,JSON['stringify'](_0x1ae70d));_0x1200bc(_0x1ae70d);})[_0xb123('0xe')](function(_0xb98cf0){logger[_0xb123('0xf')]('GetInterval',_0xb98cf0[_0xb123('0x10')],_0x29ff9f);_0x2468e2(_0x3817d7[_0xb123('0xf')](0x1f4,_0xb98cf0['message']));});});};exports[_0xb123('0x11')]=function(_0x119813){var _0x5b08f2=this;return new Promise(function(_0x4d9d1a,_0xcbd97e){return db[_0xb123('0x12')]['find']({'raw':_0x119813[_0xb123('0x6')]?_0x119813[_0xb123('0x6')][_0xb123('0x13')]===undefined?!![]:![]:!![],'where':_0x119813[_0xb123('0x6')]?_0x119813[_0xb123('0x6')]['where']||null:null,'attributes':_0x119813['options']?_0x119813[_0xb123('0x6')][_0xb123('0x7')]||null:null,'include':_0x119813[_0xb123('0x6')]?_0x119813['options']['include']?_[_0xb123('0x8')](_0x119813[_0xb123('0x6')]['include'],function(_0x5e7215){return{'model':db[_0x5e7215[_0xb123('0xa')]],'as':_0x5e7215['as'],'attributes':_0x5e7215['attributes'],'include':_0x5e7215[_0xb123('0x9')]?_['map'](_0x5e7215['include'],function(_0x49a9af){return{'model':db[_0x49a9af[_0xb123('0xa')]],'as':_0x49a9af['as'],'attributes':_0x49a9af[_0xb123('0x7')],'include':_0x49a9af[_0xb123('0x9')]?_[_0xb123('0x8')](_0x49a9af[_0xb123('0x9')],function(_0x4e6572){return{'model':db[_0x4e6572['model']],'as':_0x4e6572['as'],'attributes':_0x4e6572['attributes']};}):[]};}):[]};}):[]:[]})[_0xb123('0xb')](function(_0x17aedd){logger[_0xb123('0x14')](_0xb123('0x11'),_0x119813);logger['debug'](_0xb123('0x11'),_0x119813,JSON[_0xb123('0x15')](_0x17aedd));_0x4d9d1a(_0x17aedd);})[_0xb123('0xe')](function(_0x234d79){logger[_0xb123('0xf')]('ShowInterval',_0x234d79['message'],_0x119813);_0xcbd97e(_0x5b08f2[_0xb123('0xf')](0x1f4,_0x234d79['message']));});});};function checkArrayOfIntervals(_0x3ee6b3,_0x1d3507){var _0x201996=[];return db[_0xb123('0x12')][_0xb123('0x5')]({'where':{'id':_0x3ee6b3}})[_0xb123('0xb')](function(_0x522e3e){_0x201996=_0x522e3e;return Promise[_0xb123('0x16')](_0x201996[_0xb123('0x8')](function(_0x4a965e){return _0x4a965e[_0xb123('0x17')](_0x1d3507);}));})[_0xb123('0xb')](function(_0x423af3){var _0x127941=_0x423af3[_0xb123('0x18')](function(_0x3c1062,_0x467f87){return _0x3c1062||_0x467f87;},![]);logger['info'](util['format'](_0xb123('0x19'),_0x201996[_0xb123('0x8')](function(_0x5cdfac){return _0x5cdfac[_0xb123('0x1a')];})[_0xb123('0x1b')](',\x20'),_0x201996[_0xb123('0x8')](function(_0x216d81){return _0x216d81['id'];})[_0xb123('0x1b')](',\x20')));return _0x127941;});}function checkSingleInterval(_0x488609,_0x14f77a){return db[_0xb123('0x12')]['findById'](_0x488609)['then'](function(_0x1bc3a4){if(_0x1bc3a4){logger[_0xb123('0x14')](util['format'](_0xb123('0x1c'),_0x1bc3a4[_0xb123('0x1a')],_0x1bc3a4['id']));return _0x1bc3a4[_0xb123('0x17')](_0x14f77a);}});}exports[_0xb123('0x1d')]=function(_0x1052b7){var _0x383b57=_0x1052b7[_0xb123('0x1e')];var _0x3a42aa=Array[_0xb123('0x1f')](_0x1052b7['intervals'])?_0x1052b7[_0xb123('0x20')]:typeof _0x1052b7[_0xb123('0x20')]==='string'?[_0x1052b7[_0xb123('0x20')]]:[];var _0x4acc07=_0x1052b7['timezone']||undefined;var _0x5df1bd=![];if(_0x3a42aa[_0xb123('0x21')]){logger[_0xb123('0x14')](util[_0xb123('0x22')](_0xb123('0x23'),_0x3a42aa['join'](';\x20')));}if(_0x4acc07){logger[_0xb123('0x14')](util[_0xb123('0x22')](_0xb123('0x24'),_0x4acc07));}logger[_0xb123('0xc')](_0xb123('0x25'),_0x5df1bd);logger[_0xb123('0x26')](_0xb123('0x1d'),_0x1052b7);return Promise['resolve']()[_0xb123('0xb')](function(){if(Array[_0xb123('0x1f')](_0x383b57)){return checkArrayOfIntervals(_0x383b57,_0x4acc07);}else if(_0x383b57){return checkSingleInterval(_0x383b57,_0x4acc07);}})[_0xb123('0xb')](function(_0x21d311){var _0x1bb179=_0x3a42aa[_0xb123('0x18')](function(_0x3e0427,_0x303676){return _0x3e0427||iftime(_0x303676,_0x4acc07);},![]);_0x5df1bd=_0x21d311||_0x1bb179;return _0x5df1bd;})['catch'](function(_0x2295d9){logger['error']('IntervalIftime',_0x1052b7,_0x2295d9);throw this[_0xb123('0xf')](0x1f4,_0x2295d9['message']);});};