feat: implementar permisos por área de trabajo

- Agregar funciones de verificación de área en useHospitalStore
- canEditInArea, canEditCama, canEditInternacion, canEditPaciente
- Leer datos de tablas individuales en lugar de tabla kv
- Usar sessionStorage para persistir sesión de usuario
- Agregar prop canEdit a componentes de secciones en HC
- Ocultar botones de edición para usuarios sin permisos en el área
- MapaCamas: ocultar botones de edición para camas fuera del área
This commit is contained in:
2026-04-23 02:18:42 -03:00
parent 76e01bfd79
commit e6e1582b25
8 changed files with 411 additions and 118 deletions
+91
View File
@@ -132,3 +132,94 @@ export async function verifyPassword(dni, password) {
export async function hashPassword(password) {
return bcrypt.hashSync(password, 10);
}
export async function getAllPacientes() {
const db = await openDb();
const rows = await db.all('SELECT * FROM pacientes');
await db.close();
return rows;
}
export async function getAllAreas() {
const db = await openDb();
const rows = await db.all('SELECT * FROM areas');
await db.close();
return rows;
}
export async function getAllCamas() {
const db = await openDb();
const rows = await db.all('SELECT * FROM camas');
await db.close();
return rows;
}
export async function getAllInternaciones() {
const db = await openDb();
const rows = await db.all('SELECT * FROM internaciones');
await db.close();
return rows;
}
export async function getAllEvoluciones() {
const db = await openDb();
const rows = await db.all('SELECT * FROM evoluciones');
await db.close();
return rows;
}
export async function getAllLaboratorios() {
const db = await openDb();
const rows = await db.all('SELECT * FROM laboratorios');
await db.close();
return rows;
}
export async function getAllAcidosBase() {
const db = await openDb();
const rows = await db.all('SELECT * FROM acidosbase');
await db.close();
return rows;
}
export async function getAllCultivos() {
const db = await openDb();
const rows = await db.all('SELECT * FROM cultivos');
await db.close();
return rows;
}
export async function getAllEstudiosComplementarios() {
const db = await openDb();
const rows = await db.all('SELECT * FROM estudiosComplementarios');
await db.close();
return rows;
}
export async function getAllInterconsultas() {
const db = await openDb();
const rows = await db.all('SELECT * FROM interconsultas');
await db.close();
return rows;
}
export async function getAllAtb() {
const db = await openDb();
const rows = await db.all('SELECT * FROM atb');
await db.close();
return rows;
}
export async function getAllIndicaciones() {
const db = await openDb();
const rows = await db.all('SELECT * FROM indicaciones');
await db.close();
return rows;
}
export async function getAllMovimientosIndicaciones() {
const db = await openDb();
const rows = await db.all('SELECT * FROM movimientos_indicaciones');
await db.close();
return rows;
}