Skip to content

[REST-API] T2 — Endpoint POST /filters/apply #29

@imagodata

Description

@imagodata

Contexte

Endpoint principal pour déclencher un filtrage spatial depuis Narractive.

Objectif

POST /filters/apply — Applique un filtre sur une couche QGIS via FilterService.

Spec

POST /filters/apply
{
  "source_layer": "communes",
  "target_layer": "parcelles",
  "predicate": "intersects",
  "buffer": 100,
  "expression": "optional_qgis_expression"
}
→ 200 { "status": "ok", "features_count": 42, "filter_id": "uuid" }
→ 422 { "error": "layer_not_found", "detail": "..." }

Tasks

  • Route FastAPI POST /filters/apply
  • Validation Pydantic du body
  • Appel à FilterService.apply_filter() (adapter si nécessaire)
  • Gestion des erreurs (layer inexistante, prédicat invalide, timeout)
  • Retourner un filter_id pour suivi status (T4)

Dépendances

Priorité

🔴 Critique

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiAPI publique / interface externeenhancementNew feature or requestrest-apiAPI REST HTTP (FastAPI/Flask)sprint-apiSprint FilterMate REST API

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions