2025-02-16 00:43:22 +00:00
|
|
|
-- name: InsertBundle :one
|
|
|
|
INSERT INTO bundles (
|
|
|
|
site_id,
|
|
|
|
name,
|
|
|
|
created_at,
|
|
|
|
updated_at
|
|
|
|
) VALUES ($1, $2, $3, $3) RETURNING id;
|
|
|
|
|
|
|
|
-- name: ListBundles :many
|
|
|
|
SELECT * FROM bundles WHERE site_id = $1;
|
|
|
|
|
|
|
|
-- name: GetBundleWithID :one
|
2025-02-16 03:06:45 +00:00
|
|
|
SELECT * FROM bundles WHERE id = $1;
|
|
|
|
|
|
|
|
-- name: GetSiteBundleInfo :many
|
|
|
|
WITH page_counts AS (
|
|
|
|
SELECT b.bundle_id, count(*) AS page_count FROM pages b WHERE b.site_id = $1 GROUP BY bundle_id
|
|
|
|
), index_pages AS (
|
|
|
|
SELECT p.id AS index_page_id, p.bundle_id FROM pages p WHERE p.site_id = $1 AND p.role = 'index'
|
|
|
|
)
|
|
|
|
SELECT b.bundle_id, b.page_count, p.index_page_id FROM page_counts b LEFT OUTER JOIN index_pages p ON b.bundle_id = p.bundle_id;
|