Skip to content

Subcategorías de Membresía

Módulo: Membresías / Bases Tipo: Resource Estado: Implementado Fecha: 2026-06-05


Descripción

Las subcategorías permiten organizar niveles o variantes dentro de una categoría de membresía. Son opcionales y se gestionan desde una pantalla administrativa independiente bajo /bases/subcategorias.

Cada subcategoría pertenece a exactamente una categoría padre. La lista de subcategorías solo se muestra una vez que el operador selecciona la categoría.


Frontend

Vista

  • Ruta: /bases/subcategorias
  • Componente: Selector de categoría (dropdown) + tabla de subcategorías filtrada por la categoría seleccionada.
  • Estado vacío: La tabla no se renderiza y no se realiza ningún request hasta que el operador selecciona una categoría.
  • Solo se muestran registros activos (sin deleted_at).

Interacciones

  1. El operador selecciona una categoría del dropdown.
  2. El sistema llama GET /membresias/subcategorias?id_categoria={id} y muestra los resultados.
  3. El operador puede crear, editar y eliminar (soft delete) subcategorías dentro de la categoría seleccionada.
  4. El filtro de categoría limpia la selección al cambiar.

Permisos

TODO: documentar permisos específicos de subcategorías.


Backend

Endpoint principal

GET /membresias/subcategorias?id_categoria={id}

Retorna las subcategorías activas de la categoría indicada. Sin id_categoria, el endpoint no retorna resultados (o rechaza con error 422).

Modelo de datos

CampoTipoDescripción
idUUIDIdentificador único
id_categoriaint / UUIDFK a membresia_categoria
nombrestringNombre de la subcategoría
deleted_attimestampSoft delete (NULL = activo)

Validaciones

  • nombre: requerido, máximo 100 caracteres.
  • id_categoria: requerido, debe existir en membresia_categoria.

Reglas de Negocio

RN-01: Lista vacía antes de seleccionar categoría

La tabla de subcategorías NO se renderiza ni hace fetch hasta que el operador selecciona una categoría. Esto evita requests vacíos y confusión sobre la ausencia de datos.

RN-02: Solo registros activos en el listado

El listado solo muestra subcategorías con deleted_at IS NULL. Las eliminadas persisten en la base de datos (soft delete) pero no son visibles para el usuario.


Referencias