feat: enhance search functionality to include parent names and related fields across categories

This commit is contained in:
hamed
2026-08-08 14:57:36 +03:30
parent 35181cd715
commit d74a351e5a
11 changed files with 250 additions and 21 deletions
+9 -2
View File
@@ -86,16 +86,23 @@ List all specialties with pagination (admin view — includes inactive).
|-------|------|----------|-------------|
| `page` | integer | ❌ | Default: 1 |
| `limit` | integer | ❌ | Default: 20 |
| `search` | string | ❌ | Search in name |
| `search` | string | ❌ | Matches `name`, `slug`, **or the parent specialty's name** (case-insensitive `LIKE`) |
| `sort` / `order` | string | ❌ | `sort=id` with `order=asc\|desc`; otherwise ordered by weight then name |
### Response `200`
```json
{
"success": true,
"data": [ ... ],
"data": [
{ "id": 12, "uuid": "…", "name": "لیزر درمانی", "slug": "laser", "status": 1, "weight": 0,
"parent_id": 3, "parent_name": "پوست و مو" }
],
"meta": { "totalRecords": 50, "totalPages": 3, "currentPage": 1 }
}
```
- `parent_name` is **admin-list only** — the public `GET /api/v1/specialties` does not return it.
It exists because searching by parent can return a child whose parent is not on the current page,
so the client cannot resolve the name from its own list.
### Errors
| Code | HTTP | Description |