Built motion from commit f74363e9.|2.6.34
[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 _0x15b6=['lodash','../../mysqldb','../../utils/iftime','GetInterval','findAll','options','raw','where','attributes','limit','include','map','model','info','debug','stringify','catch','error','message','ShowInterval','then','Interval','all','ifTime','format','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','findById','intervalIds','intervals','string','timezone','length','isArray','reduce'];(function(_0x420c69,_0x71f96a){var _0x2e0c5d=function(_0x451d02){while(--_0x451d02){_0x420c69['push'](_0x420c69['shift']());}};_0x2e0c5d(++_0x71f96a);}(_0x15b6,0x168));var _0x615b=function(_0x1e6d9c,_0x14f202){_0x1e6d9c=_0x1e6d9c-0x0;var _0x437359=_0x15b6[_0x1e6d9c];return _0x437359;};'use strict';var _=require(_0x615b('0x0'));var util=require('util');var db=require(_0x615b('0x1'))['db'];var iftime=require(_0x615b('0x2'))['iftime'];var logger=require('../../config/logger')('rpc');exports[_0x615b('0x3')]=function(_0x547267){var _0x11e946=this;return new Promise(function(_0x4853a6,_0x1a7537){return db['Interval'][_0x615b('0x4')]({'raw':_0x547267[_0x615b('0x5')]?_0x547267['options'][_0x615b('0x6')]===undefined?!![]:![]:!![],'where':_0x547267[_0x615b('0x5')]?_0x547267['options'][_0x615b('0x7')]||null:null,'attributes':_0x547267[_0x615b('0x5')]?_0x547267[_0x615b('0x5')][_0x615b('0x8')]||null:null,'limit':_0x547267['options']?_0x547267[_0x615b('0x5')][_0x615b('0x9')]||null:null,'include':_0x547267[_0x615b('0x5')]?_0x547267[_0x615b('0x5')][_0x615b('0xa')]?_[_0x615b('0xb')](_0x547267[_0x615b('0x5')]['include'],function(_0x12de9b){return{'model':db[_0x12de9b[_0x615b('0xc')]],'as':_0x12de9b['as'],'attributes':_0x12de9b[_0x615b('0x8')],'include':_0x12de9b[_0x615b('0xa')]?_['map'](_0x12de9b[_0x615b('0xa')],function(_0x269852){return{'model':db[_0x269852[_0x615b('0xc')]],'as':_0x269852['as'],'attributes':_0x269852[_0x615b('0x8')],'include':_0x269852['include']?_[_0x615b('0xb')](_0x269852[_0x615b('0xa')],function(_0x4f13c6){return{'model':db[_0x4f13c6[_0x615b('0xc')]],'as':_0x4f13c6['as'],'attributes':_0x4f13c6[_0x615b('0x8')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x579366){logger[_0x615b('0xd')](_0x615b('0x3'),_0x547267);logger[_0x615b('0xe')](_0x615b('0x3'),_0x547267,JSON[_0x615b('0xf')](_0x579366));_0x4853a6(_0x579366);})[_0x615b('0x10')](function(_0xdc6bb2){logger[_0x615b('0x11')](_0x615b('0x3'),_0xdc6bb2[_0x615b('0x12')],_0x547267);_0x1a7537(_0x11e946[_0x615b('0x11')](0x1f4,_0xdc6bb2[_0x615b('0x12')]));});});};exports[_0x615b('0x13')]=function(_0x33fdfb){var _0x2ff1a6=this;return new Promise(function(_0x4ccb06,_0x61347b){return db['Interval']['find']({'raw':_0x33fdfb[_0x615b('0x5')]?_0x33fdfb[_0x615b('0x5')]['raw']===undefined?!![]:![]:!![],'where':_0x33fdfb[_0x615b('0x5')]?_0x33fdfb[_0x615b('0x5')]['where']||null:null,'attributes':_0x33fdfb['options']?_0x33fdfb[_0x615b('0x5')][_0x615b('0x8')]||null:null,'include':_0x33fdfb[_0x615b('0x5')]?_0x33fdfb['options'][_0x615b('0xa')]?_[_0x615b('0xb')](_0x33fdfb['options']['include'],function(_0x473a9d){return{'model':db[_0x473a9d[_0x615b('0xc')]],'as':_0x473a9d['as'],'attributes':_0x473a9d['attributes'],'include':_0x473a9d[_0x615b('0xa')]?_['map'](_0x473a9d[_0x615b('0xa')],function(_0x56bebb){return{'model':db[_0x56bebb['model']],'as':_0x56bebb['as'],'attributes':_0x56bebb[_0x615b('0x8')],'include':_0x56bebb[_0x615b('0xa')]?_[_0x615b('0xb')](_0x56bebb[_0x615b('0xa')],function(_0x53ee23){return{'model':db[_0x53ee23[_0x615b('0xc')]],'as':_0x53ee23['as'],'attributes':_0x53ee23['attributes']};}):[]};}):[]};}):[]:[]})[_0x615b('0x14')](function(_0x2d9f76){logger[_0x615b('0xd')](_0x615b('0x13'),_0x33fdfb);logger[_0x615b('0xe')]('ShowInterval',_0x33fdfb,JSON[_0x615b('0xf')](_0x2d9f76));_0x4ccb06(_0x2d9f76);})[_0x615b('0x10')](function(_0x27d935){logger[_0x615b('0x11')](_0x615b('0x13'),_0x27d935[_0x615b('0x12')],_0x33fdfb);_0x61347b(_0x2ff1a6[_0x615b('0x11')](0x1f4,_0x27d935[_0x615b('0x12')]));});});};function checkArrayOfIntervals(_0x504e5f,_0x1bd7f6){var _0x3dcd8d=[];return db[_0x615b('0x15')][_0x615b('0x4')]({'where':{'id':_0x504e5f}})[_0x615b('0x14')](function(_0x2d4757){_0x3dcd8d=_0x2d4757;return Promise[_0x615b('0x16')](_0x3dcd8d['map'](function(_0x253463){return _0x253463[_0x615b('0x17')](_0x1bd7f6);}));})[_0x615b('0x14')](function(_0x555050){var _0x43e555=_0x555050['reduce'](function(_0x91b11e,_0x377738){return _0x91b11e||_0x377738;},![]);logger[_0x615b('0xd')](util[_0x615b('0x18')](_0x615b('0x19'),_0x3dcd8d[_0x615b('0xb')](function(_0x22d7f9){return _0x22d7f9[_0x615b('0x1a')];})['join'](',\x20'),_0x3dcd8d['map'](function(_0x1db472){return _0x1db472['id'];})[_0x615b('0x1b')](',\x20')));return _0x43e555;});}function checkSingleInterval(_0x2f3da5,_0x2dce92){return db['Interval'][_0x615b('0x1c')](_0x2f3da5)[_0x615b('0x14')](function(_0x50a605){if(_0x50a605){logger[_0x615b('0xd')](util['format']('IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)',_0x50a605[_0x615b('0x1a')],_0x50a605['id']));return _0x50a605['ifTime'](_0x2dce92);}});}exports['IntervalIftime']=function(_0x5c870d){var _0xe14b13=_0x5c870d[_0x615b('0x1d')];var _0x31d1cc=Array['isArray'](_0x5c870d[_0x615b('0x1e')])?_0x5c870d['intervals']:typeof _0x5c870d[_0x615b('0x1e')]===_0x615b('0x1f')?[_0x5c870d[_0x615b('0x1e')]]:[];var _0x55bbef=_0x5c870d[_0x615b('0x20')]||undefined;var _0x50a437=![];if(_0x31d1cc[_0x615b('0x21')]){logger['info'](util[_0x615b('0x18')]('IntervalIftime:\x20interval\x20strings\x20=\x20%s',_0x31d1cc[_0x615b('0x1b')](';\x20')));}if(_0x55bbef){logger['info'](util[_0x615b('0x18')]('IntervalIftime:\x20timezone\x20=\x20%s',_0x55bbef));}logger['debug']('Iftime',_0x50a437);logger['silly']('IntervalIftime',_0x5c870d);return Promise['resolve']()[_0x615b('0x14')](function(){if(Array[_0x615b('0x22')](_0xe14b13)){return checkArrayOfIntervals(_0xe14b13,_0x55bbef);}else if(_0xe14b13){return checkSingleInterval(_0xe14b13,_0x55bbef);}})[_0x615b('0x14')](function(_0x186f8c){var _0x52604d=_0x31d1cc[_0x615b('0x23')](function(_0x508d93,_0x111202){return _0x508d93||iftime(_0x111202,_0x55bbef);},![]);_0x50a437=_0x186f8c||_0x52604d;return _0x50a437;})[_0x615b('0x10')](function(_0xd0c089){logger[_0x615b('0x11')]('IntervalIftime',_0x5c870d,_0xd0c089);throw this['error'](0x1f4,_0xd0c089[_0x615b('0x12')]);});};