mounts/priv/priv.js
/**
 * 
 * @param {Object} rule 
 * 
 * Anade una regla al objeto politics segun los roles a los que afecta.
 * Si no afecta a ningun rol, se anade a "all"
 */
@param {Object} rule

Anade una regla al objeto politics segun los roles a los que afecta.
Si no afecta a ningun rol, se anade a "all"
@param { Object } rule Anade una regla al objeto politics segun los roles a los que afecta . Si no afecta a ningun rol se anade a " all "
async function addOneRuleToPoliticsObjects(rule) {
	var haveRole = false
	if (rule.conditions !== undefined) {
		for (var i = 0; i < rule.conditions.length; i++) {
			if (rule.conditions[i].requester !== undefined) {
				if (rule.conditions[i].requester.role !== undefined) {
					haveRole = true
					var role = rule.conditions[i].requester.role
					var auxRule = JSON.parse(JSON.stringify(rule))
					auxRule.conditions = [ rule.conditions[i] ]
					politics[role].rules.push(JSON.parse(JSON.stringify(auxRule)))
				}
			}
		}
	}
	if (!haveRole) {
		for (var role in politics) {
			politics[role].rules.push(rule)
		}
	}
}
async function addOneRuleToPoliticsObjects ( rule ) { var haveRole = false if ( rule . conditions !== undefined ) { for ( var i = 0 ; i < rule . conditions . length ; i ++ ) { if ( rule . conditions [ i ] . requester !== undefined ) { if ( rule . conditions [ i ] . requester . role !== undefined ) { haveRole = true var role = rule . conditions [ i ] . requester . role var auxRule = JSON . parse ( JSON . stringify ( rule ) ) auxRule . conditions = [ rule . conditions [ i ] ] politics [ role ] . rules . push ( JSON . parse ( JSON . stringify ( auxRule ) ) ) } } } } if ( ! haveRole ) { for ( var role in politics ) { politics [ role ] . rules . push ( rule ) } } }
@param {Object} rule
@param { Object } rule
//Compruebo si la regla tiene un rol asociado //Si hay un rol, tengo que añadir la regla politics dentro de ese rol //Una vez creado, lo añadimos //Utilizamos parse/stringify para introducir una copia, y no un puntero. //Asi politicsAsRead no se modifica, y se utiliza para comparar cambios //Deberia crear una copia de la regla eliminando los otros roles, para facilitar tareas despues //Almacenamos solo la condicion en la que estamos //Si se han leido las reglas y no tienen rol //Añadimos la regla a todos los roles