46c0dc51a5e6e4211cfa6e0591746ca285e73816
[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 _0xc697=['intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','Iftime','silly','resolve','lodash','util','../../mysqldb','../../utils/iftime','../../config/logger','rpc','Interval','findAll','options','raw','attributes','limit','include','map','model','then','GetInterval','debug','stringify','catch','error','message','ShowInterval','info','all','ifTime','reduce','format','join','findById','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','name','IntervalIftime','isArray'];(function(_0x16d71f,_0x3d6fd6){var _0x26df33=function(_0x38a379){while(--_0x38a379){_0x16d71f['push'](_0x16d71f['shift']());}};_0x26df33(++_0x3d6fd6);}(_0xc697,0x158));var _0x7c69=function(_0x3d190e,_0x19f79e){_0x3d190e=_0x3d190e-0x0;var _0x32ede4=_0xc697[_0x3d190e];return _0x32ede4;};'use strict';var _=require(_0x7c69('0x0'));var util=require(_0x7c69('0x1'));var db=require(_0x7c69('0x2'))['db'];var iftime=require(_0x7c69('0x3'))['iftime'];var logger=require(_0x7c69('0x4'))(_0x7c69('0x5'));exports['GetInterval']=function(_0xd771e3){var _0x2e77d3=this;return new Promise(function(_0x591366,_0x2893bb){return db[_0x7c69('0x6')][_0x7c69('0x7')]({'raw':_0xd771e3[_0x7c69('0x8')]?_0xd771e3[_0x7c69('0x8')][_0x7c69('0x9')]===undefined?!![]:![]:!![],'where':_0xd771e3[_0x7c69('0x8')]?_0xd771e3[_0x7c69('0x8')]['where']||null:null,'attributes':_0xd771e3[_0x7c69('0x8')]?_0xd771e3['options'][_0x7c69('0xa')]||null:null,'limit':_0xd771e3[_0x7c69('0x8')]?_0xd771e3[_0x7c69('0x8')][_0x7c69('0xb')]||null:null,'include':_0xd771e3[_0x7c69('0x8')]?_0xd771e3[_0x7c69('0x8')][_0x7c69('0xc')]?_[_0x7c69('0xd')](_0xd771e3[_0x7c69('0x8')][_0x7c69('0xc')],function(_0x693a17){return{'model':db[_0x693a17[_0x7c69('0xe')]],'as':_0x693a17['as'],'attributes':_0x693a17[_0x7c69('0xa')],'include':_0x693a17[_0x7c69('0xc')]?_[_0x7c69('0xd')](_0x693a17[_0x7c69('0xc')],function(_0x32c4a4){return{'model':db[_0x32c4a4[_0x7c69('0xe')]],'as':_0x32c4a4['as'],'attributes':_0x32c4a4[_0x7c69('0xa')],'include':_0x32c4a4[_0x7c69('0xc')]?_[_0x7c69('0xd')](_0x32c4a4[_0x7c69('0xc')],function(_0x5a9e49){return{'model':db[_0x5a9e49[_0x7c69('0xe')]],'as':_0x5a9e49['as'],'attributes':_0x5a9e49[_0x7c69('0xa')]};}):[]};}):[]};}):[]:[]})[_0x7c69('0xf')](function(_0x4de153){logger['info'](_0x7c69('0x10'),_0xd771e3);logger[_0x7c69('0x11')](_0x7c69('0x10'),_0xd771e3,JSON[_0x7c69('0x12')](_0x4de153));_0x591366(_0x4de153);})[_0x7c69('0x13')](function(_0x745e2){logger[_0x7c69('0x14')]('GetInterval',_0x745e2[_0x7c69('0x15')],_0xd771e3);_0x2893bb(_0x2e77d3[_0x7c69('0x14')](0x1f4,_0x745e2[_0x7c69('0x15')]));});});};exports[_0x7c69('0x16')]=function(_0x2d03ea){var _0x5b20cb=this;return new Promise(function(_0xaa4add,_0xa990f5){return db['Interval']['find']({'raw':_0x2d03ea[_0x7c69('0x8')]?_0x2d03ea[_0x7c69('0x8')][_0x7c69('0x9')]===undefined?!![]:![]:!![],'where':_0x2d03ea[_0x7c69('0x8')]?_0x2d03ea[_0x7c69('0x8')]['where']||null:null,'attributes':_0x2d03ea['options']?_0x2d03ea[_0x7c69('0x8')][_0x7c69('0xa')]||null:null,'include':_0x2d03ea[_0x7c69('0x8')]?_0x2d03ea[_0x7c69('0x8')][_0x7c69('0xc')]?_[_0x7c69('0xd')](_0x2d03ea['options'][_0x7c69('0xc')],function(_0x4965c2){return{'model':db[_0x4965c2[_0x7c69('0xe')]],'as':_0x4965c2['as'],'attributes':_0x4965c2[_0x7c69('0xa')],'include':_0x4965c2['include']?_['map'](_0x4965c2[_0x7c69('0xc')],function(_0x51fb33){return{'model':db[_0x51fb33['model']],'as':_0x51fb33['as'],'attributes':_0x51fb33[_0x7c69('0xa')],'include':_0x51fb33[_0x7c69('0xc')]?_['map'](_0x51fb33[_0x7c69('0xc')],function(_0x4bf276){return{'model':db[_0x4bf276[_0x7c69('0xe')]],'as':_0x4bf276['as'],'attributes':_0x4bf276[_0x7c69('0xa')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x182e33){logger[_0x7c69('0x17')]('ShowInterval',_0x2d03ea);logger[_0x7c69('0x11')](_0x7c69('0x16'),_0x2d03ea,JSON[_0x7c69('0x12')](_0x182e33));_0xaa4add(_0x182e33);})[_0x7c69('0x13')](function(_0xa42558){logger['error']('ShowInterval',_0xa42558[_0x7c69('0x15')],_0x2d03ea);_0xa990f5(_0x5b20cb[_0x7c69('0x14')](0x1f4,_0xa42558[_0x7c69('0x15')]));});});};function checkArrayOfIntervals(_0x3ef939,_0x5db8de){var _0x2e081f=[];return db['Interval'][_0x7c69('0x7')]({'where':{'id':_0x3ef939}})[_0x7c69('0xf')](function(_0x42b6fb){_0x2e081f=_0x42b6fb;return Promise[_0x7c69('0x18')](_0x2e081f[_0x7c69('0xd')](function(_0xcba5c){return _0xcba5c[_0x7c69('0x19')](_0x5db8de);}));})[_0x7c69('0xf')](function(_0x3ebad5){var _0x209d28=_0x3ebad5[_0x7c69('0x1a')](function(_0x149508,_0x2700aa){return _0x149508||_0x2700aa;},![]);logger[_0x7c69('0x17')](util[_0x7c69('0x1b')]('IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)',_0x2e081f[_0x7c69('0xd')](function(_0x155160){return _0x155160['name'];})['join'](',\x20'),_0x2e081f[_0x7c69('0xd')](function(_0x52ef52){return _0x52ef52['id'];})[_0x7c69('0x1c')](',\x20')));return _0x209d28;});}function checkSingleInterval(_0xe6b0f3,_0x4b346c){return db[_0x7c69('0x6')][_0x7c69('0x1d')](_0xe6b0f3)[_0x7c69('0xf')](function(_0x446e94){if(_0x446e94){logger[_0x7c69('0x17')](util[_0x7c69('0x1b')](_0x7c69('0x1e'),_0x446e94[_0x7c69('0x1f')],_0x446e94['id']));return _0x446e94[_0x7c69('0x19')](_0x4b346c);}});}exports[_0x7c69('0x20')]=function(_0x4d03d8){var _0x57898c=_0x4d03d8['intervalIds'];var _0x3ddb59=Array[_0x7c69('0x21')](_0x4d03d8[_0x7c69('0x22')])?_0x4d03d8['intervals']:typeof _0x4d03d8[_0x7c69('0x22')]===_0x7c69('0x23')?[_0x4d03d8[_0x7c69('0x22')]]:[];var _0x33b26e=_0x4d03d8[_0x7c69('0x24')]||undefined;var _0x1c24de=![];if(_0x3ddb59[_0x7c69('0x25')]){logger['info'](util[_0x7c69('0x1b')](_0x7c69('0x26'),_0x3ddb59[_0x7c69('0x1c')](';\x20')));}if(_0x33b26e){logger[_0x7c69('0x17')](util['format']('IntervalIftime:\x20timezone\x20=\x20%s',_0x33b26e));}logger[_0x7c69('0x11')](_0x7c69('0x27'),_0x1c24de);logger[_0x7c69('0x28')](_0x7c69('0x20'),_0x4d03d8);return Promise[_0x7c69('0x29')]()[_0x7c69('0xf')](function(){if(Array[_0x7c69('0x21')](_0x57898c)){return checkArrayOfIntervals(_0x57898c,_0x33b26e);}else if(_0x57898c){return checkSingleInterval(_0x57898c,_0x33b26e);}})[_0x7c69('0xf')](function(_0x44b60a){var _0x5b15dd=_0x3ddb59[_0x7c69('0x1a')](function(_0x36b594,_0x30ff14){return _0x36b594||iftime(_0x30ff14,_0x33b26e);},![]);_0x1c24de=_0x44b60a||_0x5b15dd;return _0x1c24de;})[_0x7c69('0x13')](function(_0xc785a4){logger[_0x7c69('0x14')](_0x7c69('0x20'),_0x4d03d8,_0xc785a4);throw this[_0x7c69('0x14')](0x1f4,_0xc785a4[_0x7c69('0x15')]);});};