Hall Controller
Este controlador contiene funciones personalizadas para gestionar acciones relacionadas con las salas (halls). Implementa las siguientes funcionalidades:
- Registro de inscripciones (
sendInscription). - Acceso en vivo (
accessDirect). - Filtrado dinámico de salas por fecha (
filterDynamicDate).
Funcionalidades
1. sendInscription
Esta función registra o actualiza un ‘record’ cuando un usuario se inscribe en una sala específica.
Parámetros de entrada
- Body (JSON):
Name(opcional): Nombre completo del usuario.Phone(opcional): Teléfono de contacto.Email(requerido): Correo electrónico del usuario.Country(opcional): País de residencia.Profession(opcional): Profesión del usuario.Company(opcional): Empresa asociada.Hall_id(requerido): Identificador de la sala.
Lógica de la función
- Valida que
EmailyHall_idestén presentes. - Busca en la base de datos un registro que coincida con el
Emaily elHall_id. - Si no existe, crea un nuevo registro con la información proporcionada.
- Si existe, actualiza el registro existente, marcándolo como firmado (
Signed: true). - Retorna un estado
OK.
Respuesta
- Status 200: Registro creado o actualizado correctamente.
2. accessDirect
Esta función registra o actualiza un ‘record’ cuando un usuario accede a una sala específica durante su emisión.
Parámetros de entrada
- Body (JSON):
- Igual que en
sendInscription.
- Igual que en
Lógica de la función
- Valida que
EmailyHall_idestén presentes. - Busca en la base de datos un registro que coincida con el
Emaily elHall_id. - Si no existe, crea un nuevo registro con la información proporcionada, habilitando el acceso en vivo (
Live_entrance: true). - Si existe, actualiza el registro existente, habilitando el acceso en vivo (
Live_entrance: true). - Retorna un estado
OK.
Respuesta
- Status 200: Registro creado o actualizado correctamente.
3. filterDynamicDate
Esta función devuelve las salas activas filtrándolas en base a una fecha.
Parámetros de entrada
- Parámetros GET:
date(requerido): Fecha de referencia en formato ISO 8601.
Lógica de la función
- Valida que el parámetro
dateesté presente y sea válido. - Recupera todas las salas con estado de publicación
livey realiza unpopulateextensivo para incluir:- Relación con expertos, socios, programas y productos.
- Componentes relacionados (
hall-direct,hall-ondemand). - Multimedia asociada (imágenes, videos, etc.).
- Filtra las salas según las siguientes condiciones:
- Si contienen un componente
hall-directcon unastartDateigual o posterior a la fecha proporcionada. - Si contienen un componente
hall-ondemandcon unafinishDateposterior a la fecha actual.
- Si contienen un componente
- Devuelve la lista de salas filtradas.
Respuesta
- Body:
{"data": [ /* Listado de salas filtradas */ ]}