e577a84f4e372a32cb50dc2f1525b05bf273cea7
[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 _0xfeaa=['error','message','ShowInterval','find','info','findAll','ifTime','reduce','IntervalIftime:\x20intervals\x20=\x20%s\x20(ids\x20=\x20%s)','name','join','findById','format','IntervalIftime:\x20interval\x20=\x20%s\x20(id\x20=\x20%s)','IntervalIftime','intervalIds','isArray','intervals','string','timezone','length','IntervalIftime:\x20interval\x20strings\x20=\x20%s','Iftime','silly','resolve','lodash','util','../../utils/iftime','../../config/logger','rpc','GetInterval','Interval','options','raw','where','attributes','limit','include','map','model','then','debug','stringify','catch'];(function(_0x3aa304,_0xf1222e){var _0xd6cf8d=function(_0x90ef98){while(--_0x90ef98){_0x3aa304['push'](_0x3aa304['shift']());}};_0xd6cf8d(++_0xf1222e);}(_0xfeaa,0xf5));var _0xafea=function(_0x12aa25,_0x173217){_0x12aa25=_0x12aa25-0x0;var _0x4be8e3=_0xfeaa[_0x12aa25];return _0x4be8e3;};'use strict';var _=require(_0xafea('0x0'));var util=require(_0xafea('0x1'));var db=require('../../mysqldb')['db'];var iftime=require(_0xafea('0x2'))['iftime'];var logger=require(_0xafea('0x3'))(_0xafea('0x4'));exports[_0xafea('0x5')]=function(_0x58221b){var _0xbeed3d=this;return new Promise(function(_0x143d9c,_0x52d62a){return db[_0xafea('0x6')]['findAll']({'raw':_0x58221b['options']?_0x58221b[_0xafea('0x7')][_0xafea('0x8')]===undefined?!![]:![]:!![],'where':_0x58221b[_0xafea('0x7')]?_0x58221b[_0xafea('0x7')][_0xafea('0x9')]||null:null,'attributes':_0x58221b['options']?_0x58221b[_0xafea('0x7')][_0xafea('0xa')]||null:null,'limit':_0x58221b['options']?_0x58221b[_0xafea('0x7')][_0xafea('0xb')]||null:null,'include':_0x58221b[_0xafea('0x7')]?_0x58221b[_0xafea('0x7')][_0xafea('0xc')]?_[_0xafea('0xd')](_0x58221b['options'][_0xafea('0xc')],function(_0x106810){return{'model':db[_0x106810['model']],'as':_0x106810['as'],'attributes':_0x106810['attributes'],'include':_0x106810[_0xafea('0xc')]?_[_0xafea('0xd')](_0x106810[_0xafea('0xc')],function(_0x560b91){return{'model':db[_0x560b91[_0xafea('0xe')]],'as':_0x560b91['as'],'attributes':_0x560b91[_0xafea('0xa')],'include':_0x560b91['include']?_[_0xafea('0xd')](_0x560b91['include'],function(_0x339855){return{'model':db[_0x339855['model']],'as':_0x339855['as'],'attributes':_0x339855[_0xafea('0xa')]};}):[]};}):[]};}):[]:[]})[_0xafea('0xf')](function(_0x32b4cd){logger['info'](_0xafea('0x5'),_0x58221b);logger[_0xafea('0x10')](_0xafea('0x5'),_0x58221b,JSON[_0xafea('0x11')](_0x32b4cd));_0x143d9c(_0x32b4cd);})[_0xafea('0x12')](function(_0x7271db){logger[_0xafea('0x13')](_0xafea('0x5'),_0x7271db[_0xafea('0x14')],_0x58221b);_0x52d62a(_0xbeed3d[_0xafea('0x13')](0x1f4,_0x7271db[_0xafea('0x14')]));});});};exports[_0xafea('0x15')]=function(_0x3a8c88){var _0x46580b=this;return new Promise(function(_0x109aaf,_0xc7504){return db[_0xafea('0x6')][_0xafea('0x16')]({'raw':_0x3a8c88[_0xafea('0x7')]?_0x3a8c88[_0xafea('0x7')]['raw']===undefined?!![]:![]:!![],'where':_0x3a8c88[_0xafea('0x7')]?_0x3a8c88[_0xafea('0x7')][_0xafea('0x9')]||null:null,'attributes':_0x3a8c88[_0xafea('0x7')]?_0x3a8c88[_0xafea('0x7')][_0xafea('0xa')]||null:null,'include':_0x3a8c88[_0xafea('0x7')]?_0x3a8c88['options']['include']?_[_0xafea('0xd')](_0x3a8c88[_0xafea('0x7')][_0xafea('0xc')],function(_0x11261f){return{'model':db[_0x11261f[_0xafea('0xe')]],'as':_0x11261f['as'],'attributes':_0x11261f[_0xafea('0xa')],'include':_0x11261f[_0xafea('0xc')]?_[_0xafea('0xd')](_0x11261f[_0xafea('0xc')],function(_0x520b22){return{'model':db[_0x520b22[_0xafea('0xe')]],'as':_0x520b22['as'],'attributes':_0x520b22['attributes'],'include':_0x520b22['include']?_[_0xafea('0xd')](_0x520b22[_0xafea('0xc')],function(_0x8f7479){return{'model':db[_0x8f7479['model']],'as':_0x8f7479['as'],'attributes':_0x8f7479['attributes']};}):[]};}):[]};}):[]:[]})['then'](function(_0x470b88){logger[_0xafea('0x17')]('ShowInterval',_0x3a8c88);logger[_0xafea('0x10')](_0xafea('0x15'),_0x3a8c88,JSON[_0xafea('0x11')](_0x470b88));_0x109aaf(_0x470b88);})[_0xafea('0x12')](function(_0x33bcba){logger['error'](_0xafea('0x15'),_0x33bcba['message'],_0x3a8c88);_0xc7504(_0x46580b[_0xafea('0x13')](0x1f4,_0x33bcba[_0xafea('0x14')]));});});};function checkArrayOfIntervals(_0x584384,_0x57de70){var _0x2ff54f=[];return db[_0xafea('0x6')][_0xafea('0x18')]({'where':{'id':_0x584384}})[_0xafea('0xf')](function(_0x2c9baf){_0x2ff54f=_0x2c9baf;return Promise['all'](_0x2ff54f['map'](function(_0x5193f0){return _0x5193f0[_0xafea('0x19')](_0x57de70);}));})['then'](function(_0x484445){var _0x19916f=_0x484445[_0xafea('0x1a')](function(_0x37f0c8,_0x5ac340){return _0x37f0c8||_0x5ac340;},![]);logger[_0xafea('0x17')](util['format'](_0xafea('0x1b'),_0x2ff54f[_0xafea('0xd')](function(_0x392bc6){return _0x392bc6[_0xafea('0x1c')];})[_0xafea('0x1d')](',\x20'),_0x2ff54f['map'](function(_0x4c7a8e){return _0x4c7a8e['id'];})['join'](',\x20')));return _0x19916f;});}function checkSingleInterval(_0x40f4ca,_0x1fcdbd){return db[_0xafea('0x6')][_0xafea('0x1e')](_0x40f4ca)[_0xafea('0xf')](function(_0x488afd){if(_0x488afd){logger[_0xafea('0x17')](util[_0xafea('0x1f')](_0xafea('0x20'),_0x488afd['name'],_0x488afd['id']));return _0x488afd['ifTime'](_0x1fcdbd);}});}exports[_0xafea('0x21')]=function(_0x87e043){var _0x14be5d=_0x87e043[_0xafea('0x22')];var _0xf0ec3=Array[_0xafea('0x23')](_0x87e043['intervals'])?_0x87e043[_0xafea('0x24')]:typeof _0x87e043['intervals']===_0xafea('0x25')?[_0x87e043['intervals']]:[];var _0x1a499b=_0x87e043[_0xafea('0x26')]||undefined;var _0x4f56a2=![];if(_0xf0ec3[_0xafea('0x27')]){logger[_0xafea('0x17')](util['format'](_0xafea('0x28'),_0xf0ec3[_0xafea('0x1d')](';\x20')));}if(_0x1a499b){logger[_0xafea('0x17')](util[_0xafea('0x1f')]('IntervalIftime:\x20timezone\x20=\x20%s',_0x1a499b));}logger['debug'](_0xafea('0x29'),_0x4f56a2);logger[_0xafea('0x2a')](_0xafea('0x21'),_0x87e043);return Promise[_0xafea('0x2b')]()['then'](function(){if(Array[_0xafea('0x23')](_0x14be5d)){return checkArrayOfIntervals(_0x14be5d,_0x1a499b);}else if(_0x14be5d){return checkSingleInterval(_0x14be5d,_0x1a499b);}})[_0xafea('0xf')](function(_0x1d9c18){var _0x4174b6=_0xf0ec3['reduce'](function(_0x3320c0,_0x9be17e){return _0x3320c0||iftime(_0x9be17e,_0x1a499b);},![]);_0x4f56a2=_0x1d9c18||_0x4174b6;return _0x4f56a2;})[_0xafea('0x12')](function(_0x421436){logger[_0xafea('0x13')](_0xafea('0x21'),_0x87e043,_0x421436);throw this[_0xafea('0x13')](0x1f4,_0x421436['message']);});};