---
name: CRUDListParams
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type CRUDListParams struct {
      Page    int
      PerPage int
      SortBy  string
      SortDir string
      Filters map[string]string
  }
description: "Parametros de paginacion, orden y filtrado de un endpoint list CRUD. Se extrae de los query params de la request HTTP."
tags: [crud, list, pagination, filter, sort, infra]
uses_types: []
file_path: "functions/infra/crud_resource.go"
---

## Ejemplo

```go
params := CRUDListParams{
    Page:    1,
    PerPage: 20,
    SortBy:  "created_at",
    SortDir: "desc",
    Filters: map[string]string{"status": "active"},
}
```

## Notas

Tipo producto. Page es 1-based con default 1. PerPage tiene default 20 y se satura a 100. SortDir solo acepta "asc" o "desc" (default "desc"). Filters usa igualdad exacta en WHERE — los campos se validan contra la definicion del recurso para evitar SQL injection.
