Some checks failed
CI Pipeline / changes (push) Has been cancelled
CI Pipeline / core (push) Has been cancelled
CI Pipeline / trading-backend (push) Has been cancelled
CI Pipeline / trading-data-service (push) Has been cancelled
CI Pipeline / trading-frontend (push) Has been cancelled
CI Pipeline / erp-core (push) Has been cancelled
CI Pipeline / erp-mecanicas (push) Has been cancelled
CI Pipeline / gamilit-backend (push) Has been cancelled
CI Pipeline / gamilit-frontend (push) Has been cancelled
38 lines
1.4 KiB
PL/PgSQL
38 lines
1.4 KiB
PL/PgSQL
-- ============================================================================
|
|
-- FUNCIONES RLS - ERP Clínicas
|
|
-- ============================================================================
|
|
-- Versión: 1.0.0
|
|
-- Fecha: 2025-12-09
|
|
-- Nota: Usa las funciones de contexto de ERP-Core (auth schema)
|
|
-- ============================================================================
|
|
|
|
-- Las funciones principales están en ERP-Core:
|
|
-- auth.get_current_tenant_id()
|
|
-- auth.get_current_user_id()
|
|
-- auth.get_current_company_id()
|
|
|
|
-- Función auxiliar para verificar acceso a expediente médico
|
|
CREATE OR REPLACE FUNCTION clinica.can_access_medical_record(
|
|
p_patient_id UUID,
|
|
p_user_id UUID DEFAULT NULL
|
|
)
|
|
RETURNS BOOLEAN AS $$
|
|
DECLARE
|
|
v_user_id UUID;
|
|
v_has_access BOOLEAN := FALSE;
|
|
BEGIN
|
|
v_user_id := COALESCE(p_user_id, current_setting('app.current_user_id', true)::UUID);
|
|
|
|
-- TODO: Implementar lógica de permisos específicos
|
|
-- Por ahora, cualquier usuario del tenant puede acceder
|
|
RETURN TRUE;
|
|
END;
|
|
$$ LANGUAGE plpgsql SECURITY DEFINER;
|
|
|
|
COMMENT ON FUNCTION clinica.can_access_medical_record IS
|
|
'Verifica si el usuario tiene permiso para acceder al expediente médico del paciente';
|
|
|
|
-- ============================================================================
|
|
-- FIN FUNCIONES RLS
|
|
-- ============================================================================
|