Skip to content

Record Controller

Este controlador gestiona funcionalidades personalizadas relacionadas con los registros (records). Permite obtener información de ‘records’ por correo electrónico y gestionar visualizaciones de los ondemand.

Funcionalidades

1. recordInfoByEmail

Obtiene información de registro de un usuario basado en su correo electrónico y el identificador de la sala.

Parámetros de entrada

  • Query String:
    • email (requerido): Dirección de correo electrónico del usuario.
    • hallId (requerido): Identificador de la sala asociada.

Lógica de la función

  1. Valida que email y hallId estén presentes.
  2. Busca registros en la base de datos que coincidan con el email y el hallId.
  3. Devuelve un objeto indicando:
    • Si el usuario está registrado (exists).
    • Si ha firmado (signed).
    • Si tiene acceso en vivo (liveEntrance).

Respuesta

  • Body:
    {
    "data": {
    "signed": true,
    "liveEntrance": false,
    "exists": true
    }
    }

Errores

  • 404: Si faltan parámetros obligatorios.

2. manageOndemandInscription

Registra la inscripción de un usuario a un contenido bajo demanda.

Parámetros de entrada

  • Body (JSON):
    • email (requerido): Dirección de correo electrónico del usuario.
    • ondemandId (requerido): Identificador del contenido bajo demanda.

Lógica de la función

  • Valida que email y ondemandId estén presentes.
  • Busca registros en la base de datos que coincidan con el email y el ondemandId.
  • Si no existe un registro:
    • Crea un nuevo registro con los datos proporcionados.
  • Retorna un estado OK o un error en caso de fallo.

Respuesta

  • 200:
{
"status": "OK",
"code": 200
}
  • 500:
{
"status": "KO",
"code": 500
}

Notas

  1. Este controlador utiliza tanto strapi.entityService.findMany como strapi.db.query para realizar búsquedas y crear registros.
  2. Asegúrate de que los modelos y relaciones estén correctamente configurados en Strapi para evitar errores en las consultas.
  3. Recomendación de seguridad: valida los parámetros de entrada antes de enviarlos a la base de datos.

Para más información sobre cómo personalizar controladores en Strapi, consulta la documentación oficial de Strapi.