mounts/priv/priv.js
/**
 * Lee las politicas de privacidad. Comprueba si han cambiado, y si es asi las actualiza.
 */
Lee las politicas de privacidad. Comprueba si han cambiado, y si es asi las actualiza.
Lee las politicas de privacidad . Comprueba si han cambiado y si es asi las actualiza .
async function updateRules() {
	)
	var hasChanged = false
	try {
		var files = await fs.readdirSync(privacyRulesPath)
		for (var i = 0; i < files.length; i++) {
			if (/^(politics)[0-9]*\.json$/.test(files[i])) {
				var fileNoExtension = files[i].slice(0, files[i].length - 5)
				var auxPol = fs.readFileSync(path.join(privacyRulesPath, files[i]))
				if (JSON.stringify(politicsAsRead[fileNoExtension]) == JSON.stringify(JSON.parse(auxPol))) {
				}
				else {
					politicsAsRead[fileNoExtension] = JSON.parse(auxPol)
					hasChanged = true
				}
			}
			if (hasChanged) {
				await restartPolitics()
			}
		}
	} catch (error) {}
}
async function updateRules ( ) { var hasChanged = false try { var files = await fs . readdirSync ( privacyRulesPath ) for ( var i = 0 ; i < files . length ; i ++ ) { if ( / ^(politics)[0-9]*\.json$ / . test ( files [ i ] ) ) { var fileNoExtension = files [ i ] . slice ( 0 , files [ i ] . length - 5 ) var auxPol = fs . readFileSync ( path . join ( privacyRulesPath , files [ i ] ) ) if ( JSON . stringify ( politicsAsRead [ fileNoExtension ] ) == JSON . stringify ( JSON . parse ( auxPol ) ) ) { } else { politicsAsRead [ fileNoExtension ] = JSON . parse ( auxPol ) hasChanged = true } } if ( hasChanged ) { await restartPolitics ( ) } } } catch ( error ) { } }
Lee las politicas de privacidad.
Lee las politicas de privacidad .
/**
	 * Vamos a cambiar la forma de leer las politicas de privacidad.
	 * Lo que se hara es buscar el rol (la clase) a la que afecta la regla (si no tiene rol, podemos decir que se aplica
	 * a todas las clases) y separar las reglas por clases dento del json
	 * 
	 * Se leeran los ficheros politics*.json
	 */ // //passsing directoryPath and callback function // fs.readdir(privacyRulesPath, async function(err, files) { // 	//handling error // 	if (err) { // 		return console.log('Unable to scan directory: ' + err) // 	} // 	//listing all files using forEach // 	files.forEach(async function(file) { // 		// File es el nombre del archivo. leemos todos los "*.json" // 		if (/\.json$/.test(file)) { // 			var fileNoExtension = file.slice(0, file.length - 5) // 			//Leemos el archivo // 			var auxPol = fs.readFileSync(path.join(privacyRulesPath, file)) // 			//Y comparamos con lo que ya hay guardado // 			if (JSON.stringify(politicsAsRead[fileNoExtension]) == JSON.stringify(JSON.parse(auxPol))) { // 				//Si es igual, no tenemos que crear views // 			} // 			else { // 				//Si es distinto, actualizamos el objeto // 				politicsAsRead[fileNoExtension] = JSON.parse(auxPol) // 				politics[fileNoExtension] = JSON.parse(auxPol) // 				// y creamos las nuevas views (modificamos politics) // 				for (var i = 0; i < politics[fileNoExtension].rules.length; i++) { // 					if (politics[fileNoExtension].rules[i].action_type == 'GET') { // 						//En rule.viewName almacenamos el nombre de la vista, y en rule.columns las columnas que contiene la vista // 						//Si en las reglas hay un *, no tenemos que crear una view, puede acceder a toda la tabla // 						politics[fileNoExtension].rules[i].viewColumns = await obtainViewColumns(politics[fileNoExtension].rules[i].resource) // 						if (politics[fileNoExtension].rules[i].viewColumns[0] == '*') { // 							politics[fileNoExtension].rules[i].viewName = 'personas' // 						} // 						else { // 							var viewName = await createViewFromViewColumns(politics[fileNoExtension].rules[i], fileNoExtension, i) // 							politics[fileNoExtension].rules[i].viewName = viewName // 						} // 					} // 				} // 			} // 		} // 	}) // }) //passsing directoryPath and callback function //listing all files using forEach // files[i] es el nombre del archivo. leemos todos los "politics*.json" //Leemos el archivo //Y comparamos con lo que ya hay guardado //Si es igual, no tenemos que actualizar nada //Si ha cambiado, guardamos el nuevo archivo y activamos un flag