Añadido el modo producción / test
This commit is contained in:
@@ -5,6 +5,15 @@ import path from 'path';
|
||||
* Check if the current user has write access to a table.
|
||||
* Reads .acai file from ACAI_PROJECT_DIR.
|
||||
* Returns { allowed: true } or { allowed: false, error: "..." }
|
||||
*
|
||||
* NOTA: Esta funcion NO depende del campo `mode`. En modo produccion los
|
||||
* registros de tablas (contenido CMS) se siguen pudiendo editar — son los
|
||||
* datos reales del usuario, no codigo. El bloqueo de produccion solo aplica
|
||||
* a escritura de archivos de codigo (gestionado por is_project_admin en el
|
||||
* server Python al recibir POST /api/files/*).
|
||||
*
|
||||
* Si existe ACAI_MODE_OVERRIDE en el entorno (cronjob con override), se usa
|
||||
* en lugar del .acai para determinar el modo.
|
||||
*/
|
||||
export function canAccessTable(tableName) {
|
||||
const projectDir = process.env.ACAI_PROJECT_DIR || "";
|
||||
@@ -14,6 +23,10 @@ export function canAccessTable(tableName) {
|
||||
try {
|
||||
if (!fs.existsSync(acaiFile)) return { allowed: true };
|
||||
const data = JSON.parse(fs.readFileSync(acaiFile, "utf-8"));
|
||||
// Override de modo (cronjobs lo inyectan via env var)
|
||||
if (process.env.ACAI_MODE_OVERRIDE) {
|
||||
data.mode = process.env.ACAI_MODE_OVERRIDE;
|
||||
}
|
||||
const user = data.user || {};
|
||||
|
||||
// Admin has full access
|
||||
|
||||
Reference in New Issue
Block a user