ConexionConfigDao
in package
ConexionConfigDao — Acceso a datos de la tabla `conexion`.
Cifrado:
- INSERT/UPDATE cifran
db_userydb_passcon Crypto antes de persistir. - SELECT descifra al hidratar el modelo (en ConexionConfig::fromRow).
- Los métodos de lectura devuelven objetos con credenciales en plaintext; los controladores deben usar ConexionConfig::toPublicArray() antes de serializar al frontend.
Tabla: trackingweb.conexion
Table of Contents
Methods
- delete() : bool
- Elimina una conexión definitivamente. Por las FK con ON DELETE CASCADE se borran también las filas de `permisos` asociadas.
- getAll() : array<string|int, ConexionConfig>
- Todas las conexiones (habilitadas y deshabilitadas), ordenadas por nombre.
- getById() : ConexionConfig|null
- Conexión por id, o null si no existe.
- getByUserAndPage() : array<string|int, ConexionConfig>
- Conexiones a las que el usuario tiene acceso PARA una página concreta.
- getByUserId() : array<string|int, ConexionConfig>
- Conexiones distintas sobre las que el usuario tiene al menos un permiso.
- getFirstForUser() : int|null
- Primera conexión habilitada sobre la que el usuario tiene al menos un permiso, ordenada por nombre.
- getFirstHabilitada() : int|null
- Primera conexión habilitada del sistema, ordenada por nombre.
- insert() : int
- Inserta una nueva conexión cifrando las credenciales.
- setHabilitado() : bool
- Cambia solo el flag habilitado (operación rápida desde el panel).
- update() : bool
- Actualiza todos los campos de una conexión existente. Re-cifra las credenciales (cambia el ciphertext aunque el plaintext sea el mismo, porque el IV es nuevo cada vez).
- userCanAccess() : bool
- Comprueba si un usuario tiene al menos un permiso sobre una conexión concreta. Útil para validar que la conexión activa de la sesión sigue siendo legítima en cada petición sensible.
- userCanAccessPage() : bool
- Comprueba si un usuario tiene permiso a una página concreta sobre una conexión concreta. Validación atómica usada por requirePermisos().
Methods
delete()
Elimina una conexión definitivamente. Por las FK con ON DELETE CASCADE se borran también las filas de `permisos` asociadas.
public
static delete(int $id) : bool
Parameters
- $id : int
-
: id de la conexion a borrar
Return values
bool —exito de la operacion
getAll()
Todas las conexiones (habilitadas y deshabilitadas), ordenadas por nombre.
public
static getAll(bool $todas) : array<string|int, ConexionConfig>
Uso: panel de administración.
Parameters
- $todas : bool
Return values
array<string|int, ConexionConfig>getById()
Conexión por id, o null si no existe.
public
static getById(int $id) : ConexionConfig|null
Parameters
- $id : int
-
: id de conexion
Return values
ConexionConfig|null —: Conexion o null
getByUserAndPage()
Conexiones a las que el usuario tiene acceso PARA una página concreta.
public
static getByUserAndPage(int $userId, string $ruta) : array<string|int, ConexionConfig>
Filtra deshabilitadas. Es el método principal del nuevo modelo: cada página llama a esto para alimentar su checkbox de BDs.
Parameters
- $userId : int
-
: id del usuario
- $ruta : string
Tags
Return values
array<string|int, ConexionConfig>getByUserId()
Conexiones distintas sobre las que el usuario tiene al menos un permiso.
public
static getByUserId(int $userId) : array<string|int, ConexionConfig>
Filtra deshabilitadas. Pensada para alimentar el dropdown del topbar.
Parameters
- $userId : int
-
id del usuario
Tags
Return values
array<string|int, ConexionConfig>getFirstForUser()
Primera conexión habilitada sobre la que el usuario tiene al menos un permiso, ordenada por nombre.
public
static getFirstForUser(int $userId) : int|null
Parameters
- $userId : int
-
: id del usuario
Return values
int|null —id de la conexión, o null si el usuario no tiene ninguna conexión asignada.
getFirstHabilitada()
Primera conexión habilitada del sistema, ordenada por nombre.
public
static getFirstHabilitada() : int|null
Usada por load_campanias para SUPER (que no tiene permisos asignados).
Return values
int|null —id de la conexión, o null si no hay ninguna habilitada.
insert()
Inserta una nueva conexión cifrando las credenciales.
public
static insert(ConexionConfig $c) : int
Parameters
- $c : ConexionConfig
-
: nueva conexion
Return values
int —ID asignado por AUTO_INCREMENT
setHabilitado()
Cambia solo el flag habilitado (operación rápida desde el panel).
public
static setHabilitado(int $id, bool $habilitado) : bool
Parameters
- $id : int
-
: id de la conexion a editar
- $habilitado : bool
-
: nuevo estado de habilitado
Return values
bool —exito de la operacion
update()
Actualiza todos los campos de una conexión existente. Re-cifra las credenciales (cambia el ciphertext aunque el plaintext sea el mismo, porque el IV es nuevo cada vez).
public
static update(ConexionConfig $c) : bool
Parameters
- $c : ConexionConfig
-
: conexion actualizada
Return values
bool —exito de la operacion
userCanAccess()
Comprueba si un usuario tiene al menos un permiso sobre una conexión concreta. Útil para validar que la conexión activa de la sesión sigue siendo legítima en cada petición sensible.
public
static userCanAccess(int $userId, int $conexionId) : bool
Parameters
- $userId : int
-
: id del usuario
- $conexionId : int
-
: id de la conexion
Return values
bool —tiene acceso o no
userCanAccessPage()
Comprueba si un usuario tiene permiso a una página concreta sobre una conexión concreta. Validación atómica usada por requirePermisos().
public
static userCanAccessPage(int $userId, int $paginaId, int $conexionId) : bool
Parameters
- $userId : int
-
: id del usuario
- $paginaId : int
-
: id de la pagina
- $conexionId : int
-
: id de conexion
Return values
bool —tiene acceso o no