feat(brand): add brand sort order and drag-to-reorder
Add a sort_order column to brands with a migration, expose a PUT /api/tenant/brands/order reorder endpoint, and wire the admin-web BrandsView with drag-and-drop reordering plus i18n. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
-- name: ListBrands :many
|
||||
SELECT id, tenant_id, name, description, status, created_at, updated_at
|
||||
SELECT id, tenant_id, name, description, status, sort_order, created_at, updated_at
|
||||
FROM brands
|
||||
WHERE tenant_id = sqlc.arg(tenant_id) AND deleted_at IS NULL
|
||||
ORDER BY created_at DESC;
|
||||
ORDER BY sort_order ASC, created_at DESC, id DESC;
|
||||
|
||||
-- name: GetBrandByID :one
|
||||
SELECT id, tenant_id, name, description, status, created_at, updated_at
|
||||
SELECT id, tenant_id, name, description, status, sort_order, created_at, updated_at
|
||||
FROM brands
|
||||
WHERE id = sqlc.arg(id) AND tenant_id = sqlc.arg(tenant_id) AND deleted_at IS NULL;
|
||||
|
||||
-- name: CreateBrand :one
|
||||
INSERT INTO brands (tenant_id, name, description, status)
|
||||
VALUES (sqlc.arg(tenant_id), sqlc.arg(name), sqlc.arg(description), 'active')
|
||||
RETURNING id, created_at;
|
||||
INSERT INTO brands (tenant_id, name, description, status, sort_order)
|
||||
VALUES (sqlc.arg(tenant_id), sqlc.arg(name), sqlc.arg(description), 'active', sqlc.arg(sort_order))
|
||||
RETURNING id, sort_order, created_at;
|
||||
|
||||
-- name: UpdateBrand :exec
|
||||
UPDATE brands SET name = sqlc.arg(name), description = sqlc.arg(description), updated_at = NOW()
|
||||
|
||||
Reference in New Issue
Block a user