CREATE TABLE IF NOT EXISTS obligacion_asignaciones (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  obligacion_id uuid NOT NULL REFERENCES obligaciones_contribuyente(id) ON DELETE CASCADE,
  auxiliar_user_id uuid NOT NULL,
  asignado_por uuid NOT NULL,
  asignado_at timestamptz DEFAULT now(),
  UNIQUE (obligacion_id)
);

CREATE TABLE IF NOT EXISTS tarea_asignaciones (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  tarea_id uuid NOT NULL REFERENCES tareas_catalogo(id) ON DELETE CASCADE,
  auxiliar_user_id uuid NOT NULL,
  asignado_por uuid NOT NULL,
  asignado_at timestamptz DEFAULT now(),
  UNIQUE (tarea_id)
);

CREATE INDEX IF NOT EXISTS idx_obligacion_asignaciones_auxiliar ON obligacion_asignaciones(auxiliar_user_id);
CREATE INDEX IF NOT EXISTS idx_tarea_asignaciones_auxiliar ON tarea_asignaciones(auxiliar_user_id);
