Built motion from commit 44b1f254.|2.6.26
[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 _0x4673=['intervals','string','timezone','length','IntervalIftime:\x20timezone\x20=\x20%s','Iftime','silly','IntervalIftime','resolve','../../utils/iftime','iftime','../../config/logger','GetInterval','findAll','options','raw','where','attributes','limit','map','include','model','info','catch','error','message','find','ShowInterval','debug','Interval','all','reduce','format','join','findById','then','ifTime','isArray'];(function(_0x57acb9,_0x468810){var _0x16ac38=function(_0x541fb2){while(--_0x541fb2){_0x57acb9['push'](_0x57acb9['shift']());}};_0x16ac38(++_0x468810);}(_0x4673,0x113));var _0x3467=function(_0xfe962a,_0x282280){_0xfe962a=_0xfe962a-0x0;var _0x36f876=_0x4673[_0xfe962a];return _0x36f876;};'use strict';var _=require('lodash');var util=require('util');var db=require('../../mysqldb')['db'];var iftime=require(_0x3467('0x0'))[_0x3467('0x1')];var logger=require(_0x3467('0x2'))('rpc');exports[_0x3467('0x3')]=function(_0x1170e6){var _0x108296=this;return new Promise(function(_0x6c4971,_0x6393fc){return db['Interval'][_0x3467('0x4')]({'raw':_0x1170e6[_0x3467('0x5')]?_0x1170e6['options'][_0x3467('0x6')]===undefined?!![]:![]:!![],'where':_0x1170e6[_0x3467('0x5')]?_0x1170e6[_0x3467('0x5')][_0x3467('0x7')]||null:null,'attributes':_0x1170e6[_0x3467('0x5')]?_0x1170e6[_0x3467('0x5')][_0x3467('0x8')]||null:null,'limit':_0x1170e6[_0x3467('0x5')]?_0x1170e6[_0x3467('0x5')][_0x3467('0x9')]||null:null,'include':_0x1170e6[_0x3467('0x5')]?_0x1170e6['options']['include']?_[_0x3467('0xa')](_0x1170e6[_0x3467('0x5')][_0x3467('0xb')],function(_0x54702d){return{'model':db[_0x54702d[_0x3467('0xc')]],'as':_0x54702d['as'],'attributes':_0x54702d[_0x3467('0x8')],'include':_0x54702d[_0x3467('0xb')]?_[_0x3467('0xa')](_0x54702d[_0x3467('0xb')],function(_0x306360){return{'model':db[_0x306360[_0x3467('0xc')]],'as':_0x306360['as'],'attributes':_0x306360[_0x3467('0x8')],'include':_0x306360[_0x3467('0xb')]?_['map'](_0x306360[_0x3467('0xb')],function(_0x2f014a){return{'model':db[_0x2f014a[_0x3467('0xc')]],'as':_0x2f014a['as'],'attributes':_0x2f014a[_0x3467('0x8')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x33941f){logger[_0x3467('0xd')](_0x3467('0x3'),_0x1170e6);logger['debug'](_0x3467('0x3'),_0x1170e6,JSON['stringify'](_0x33941f));_0x6c4971(_0x33941f);})[_0x3467('0xe')](function(_0x57ad37){logger[_0x3467('0xf')](_0x3467('0x3'),_0x57ad37[_0x3467('0x10')],_0x1170e6);_0x6393fc(_0x108296[_0x3467('0xf')](0x1f4,_0x57ad37[_0x3467('0x10')]));});});};exports['ShowInterval']=function(_0x278eed){var _0x406443=this;return new Promise(function(_0x11bb12,_0x5db33f){return db['Interval'][_0x3467('0x11')]({'raw':_0x278eed[_0x3467('0x5')]?_0x278eed[_0x3467('0x5')]['raw']===undefined?!![]:![]:!![],'where':_0x278eed[_0x3467('0x5')]?_0x278eed[_0x3467('0x5')][_0x3467('0x7')]||null:null,'attributes':_0x278eed['options']?_0x278eed[_0x3467('0x5')][_0x3467('0x8')]||null:null,'include':_0x278eed[_0x3467('0x5')]?_0x278eed[_0x3467('0x5')]['include']?_[_0x3467('0xa')](_0x278eed[_0x3467('0x5')][_0x3467('0xb')],function(_0x559112){return{'model':db[_0x559112[_0x3467('0xc')]],'as':_0x559112['as'],'attributes':_0x559112[_0x3467('0x8')],'include':_0x559112[_0x3467('0xb')]?_['map'](_0x559112[_0x3467('0xb')],function(_0x3529f4){return{'model':db[_0x3529f4[_0x3467('0xc')]],'as':_0x3529f4['as'],'attributes':_0x3529f4[_0x3467('0x8')],'include':_0x3529f4['include']?_[_0x3467('0xa')](_0x3529f4[_0x3467('0xb')],function(_0x53a92c){return{'model':db[_0x53a92c[_0x3467('0xc')]],'as':_0x53a92c['as'],'attributes':_0x53a92c[_0x3467('0x8')]};}):[]};}):[]};}):[]:[]})['then'](function(_0x2fec1e){logger['info'](_0x3467('0x12'),_0x278eed);logger[_0x3467('0x13')](_0x3467('0x12'),_0x278eed,JSON['stringify'](_0x2fec1e));_0x11bb12(_0x2fec1e);})[_0x3467('0xe')](function(_0x12d96a){logger[_0x3467('0xf')]('ShowInterval',_0x12d96a[_0x3467('0x10')],_0x278eed);_0x5db33f(_0x406443[_0x3467('0xf')](0x1f4,_0x12d96a['message']));});});};function checkArrayOfIntervals(_0x36875a,_0x3f69db){var _0x2b1a25=[];return db[_0x3467('0x14')][_0x3467('0x4')]({'where':{'id':_0x36875a}})['then'](function(_0xc5170a){_0x2b1a25=_0xc5170a;return Promise[_0x3467('0x15')](_0x2b1a25[_0x3467('0xa')](function(_0x3d3fb0){return _0x3d3fb0['ifTime'](_0x3f69db);}));})['then'](function(_0x1fd48d){var _0x3a6200=_0x1fd48d[_0x3467('0x16')](function(_0x1a1c49,_0x138f39){return _0x1a1c49||_0x138f39;},![]);logger['info'](util[_0x3467('0x17')]('IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)',_0x2b1a25['map'](function(_0x5bad58){return _0x5bad58['name'];})[_0x3467('0x18')](',\x20'),_0x2b1a25[_0x3467('0xa')](function(_0x4546e9){return _0x4546e9['id'];})[_0x3467('0x18')](',\x20')));return _0x3a6200;});}function checkSingleInterval(_0x25b338,_0x4b2f07){return db[_0x3467('0x14')][_0x3467('0x19')](_0x25b338)[_0x3467('0x1a')](function(_0x31a34b){if(_0x31a34b){logger[_0x3467('0xd')](util['format']('IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)',_0x31a34b['name'],_0x31a34b['id']));return _0x31a34b[_0x3467('0x1b')](_0x4b2f07);}});}exports['IntervalIftime']=function(_0x3c8693){var _0x51d399=_0x3c8693['intervalIds'];var _0x1f2bfb=Array[_0x3467('0x1c')](_0x3c8693['intervals'])?_0x3c8693['intervals']:typeof _0x3c8693[_0x3467('0x1d')]===_0x3467('0x1e')?[_0x3c8693['intervals']]:[];var _0x36f129=_0x3c8693[_0x3467('0x1f')]||undefined;var _0x5b7ec7=![];if(_0x1f2bfb[_0x3467('0x20')]){logger['info'](util[_0x3467('0x17')]('IntervalIftime:\x20interval\x20strings\x20=\x20%s',_0x1f2bfb[_0x3467('0x18')](';\x20')));}if(_0x36f129){logger[_0x3467('0xd')](util['format'](_0x3467('0x21'),_0x36f129));}logger[_0x3467('0x13')](_0x3467('0x22'),_0x5b7ec7);logger[_0x3467('0x23')](_0x3467('0x24'),_0x3c8693);return Promise[_0x3467('0x25')]()[_0x3467('0x1a')](function(){if(Array['isArray'](_0x51d399)){return checkArrayOfIntervals(_0x51d399,_0x36f129);}else if(_0x51d399){return checkSingleInterval(_0x51d399,_0x36f129);}})[_0x3467('0x1a')](function(_0x343582){var _0x53079b=_0x1f2bfb['reduce'](function(_0x3086f6,_0x4b3e09){return _0x3086f6||iftime(_0x4b3e09,_0x36f129);},![]);_0x5b7ec7=_0x343582||_0x53079b;return _0x5b7ec7;})[_0x3467('0xe')](function(_0x45bcb8){logger['error'](_0x3467('0x24'),_0x3c8693,_0x45bcb8);throw this[_0x3467('0xf')](0x1f4,_0x45bcb8[_0x3467('0x10')]);});};