mounts/priv/priv.js
/**
 * 
 * @param {String} clase 
 * @param {String} method
 * 
 * Compara el tiempo almacenado en las reglas.
 * Como el formato es HH:MM en 24h, se pueden comparar directamente las strings
 * 
 */
@param {String} clase
@param {String} method

Compara el tiempo almacenado en las reglas.
Como el formato es HH:MM en 24h, se pueden comparar directamente las strings
@param { String } clase @param { String } method Compara el tiempo almacenado en las reglas . Como el formato es HH : MM en 24h se pueden comparar directamente las strings
async function timePeriodAllowed(clase, method) {
	var exists = false
	console.log()
	for (var i = 0; i < politics[clase].rules.length; i++) {
		if (politics[clase].rules[i].action_type == method) {
			if (politics[clase].rules[i].conditions !== undefined) {
				if (politics[clase].rules[i].conditions[0] !== undefined) {
					if (politics[clase].rules[i].conditions[0].context !== undefined) {
						if (politics[clase].rules[i].conditions[0].context.timeofday !== undefined) {
							exists = true
						}
					}
				}
			}
		}
	}
	if (!exists) {
		return true
	}
	var d = new Date()
	var currentTimeHHMM
	console.log(addZero(d.getHours() - 2))
	currentTimeHHMM = addZero(d.getHours() - 2) + ':' + addZero(d.getMinutes())
	for (var i = 0; i < politics[clase].rules.length; i++) {
		if (politics[clase].rules[i].action_type == method) {
			if (politics[clase].rules[i].conditions !== undefined) {
				if (politics[clase].rules[i].conditions[0] !== undefined) {
					if (politics[clase].rules[i].conditions[0].context !== undefined) {
						if (politics[clase].rules[i].conditions[0].context.timeofday !== undefined) {
							var periodsArray = politics[clase].rules[i].conditions[0].context.timeofday.split(', ')
							for (var j = 0; j < periodsArray.length; j++) {
								periodsArray[j] = periodsArray[j].split(' - ')
								console.log('currentTime: ' + currentTimeHHMM)
								console.log('first limit: ' + periodsArray[j][0])
								console.log('second limit: ' + periodsArray[j][1])
								if (currentTimeHHMM > periodsArray[j][0]) {
									console.log('Es mas tarde que el primer limite')
								}
								if (currentTimeHHMM < periodsArray[j][1]) {
									console.log('Es mas temprano que el segundo limite')
								}
								if (currentTimeHHMM > periodsArray[j][0] && currentTimeHHMM < periodsArray[j][1]) {
									return true
								}
							}
						}
					}
				}
			}
		}
	}
	console.log('Llego al final, return false')
	return false
}
async function timePeriodAllowed ( clase , method ) { var exists = false console . log ( ) for ( var i = 0 ; i < politics [ clase ] . rules . length ; i ++ ) { if ( politics [ clase ] . rules [ i ] . action_type == method ) { if ( politics [ clase ] . rules [ i ] . conditions !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] . context !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] . context . timeofday !== undefined ) { exists = true } } } } } } if ( ! exists ) { return true } var d = new Date ( ) var currentTimeHHMM console . log ( addZero ( d . getHours ( ) - 2 ) ) currentTimeHHMM = addZero ( d . getHours ( ) - 2 ) + ':' + addZero ( d . getMinutes ( ) ) for ( var i = 0 ; i < politics [ clase ] . rules . length ; i ++ ) { if ( politics [ clase ] . rules [ i ] . action_type == method ) { if ( politics [ clase ] . rules [ i ] . conditions !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] . context !== undefined ) { if ( politics [ clase ] . rules [ i ] . conditions [ 0 ] . context . timeofday !== undefined ) { var periodsArray = politics [ clase ] . rules [ i ] . conditions [ 0 ] . context . timeofday . split ( ', ' ) for ( var j = 0 ; j < periodsArray . length ; j ++ ) { periodsArray [ j ] = periodsArray [ j ] . split ( ' - ' ) console . log ( 'currentTime: ' + currentTimeHHMM ) console . log ( 'first limit: ' + periodsArray [ j ] [ 0 ] ) console . log ( 'second limit: ' + periodsArray [ j ] [ 1 ] ) if ( currentTimeHHMM > periodsArray [ j ] [ 0 ] ) { console . log ( 'Es mas tarde que el primer limite' ) } if ( currentTimeHHMM < periodsArray [ j ] [ 1 ] ) { console . log ( 'Es mas temprano que el segundo limite' ) } if ( currentTimeHHMM > periodsArray [ j ] [ 0 ] && currentTimeHHMM < periodsArray [ j ] [ 1 ] ) { return true } } } } } } } } console . log ( 'Llego al final, return false' ) return false }
@param {String} clase
 @param {String} method
@param { String } clase @param { String } method
//Primero comprobamos si el paramtero esta definido en alguna regla o no //Tenemos que hacer una cadena de comprobaciones para que no de error //El parametro esta definido, hay que hacerle caso //Puede seguir haciendo queries dado que el parametro no existe //Comprobamos si la accion que intenta realizar esta dentro del horario permitido //Procesamos el tiempo actual //Comprobamos que existe el parametro //Y procesamos el param timeofday //Y comparamos los horarios