38 lines
780 B
SQL
38 lines
780 B
SQL
-- name: ListPosts :many
|
|
SELECT * FROM posts WHERE site_id = $1 ORDER BY publish_date DESC LIMIT 25;
|
|
|
|
-- name: GetPostWithID :one
|
|
SELECT * FROM posts WHERE id = $1 LIMIT 1;
|
|
|
|
-- name: ListPublishablePosts :many
|
|
SELECT *
|
|
FROM posts
|
|
WHERE id > $1 AND site_id = $2 AND state = 'published' AND publish_date <= $3
|
|
ORDER BY id LIMIT 100;
|
|
|
|
-- name: InsertPost :one
|
|
INSERT INTO posts (
|
|
site_id,
|
|
title,
|
|
body,
|
|
state,
|
|
props,
|
|
publish_date,
|
|
created_at,
|
|
updated_at
|
|
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)
|
|
RETURNING id;
|
|
|
|
-- name: UpdatePost :exec
|
|
UPDATE posts SET
|
|
site_id = $2,
|
|
title = $3,
|
|
body = $4,
|
|
state = $5,
|
|
props = $6,
|
|
publish_date = $7,
|
|
updated_at = $8
|
|
WHERE id = $1;
|
|
|
|
-- name: DeletePost :exec
|
|
DELETE FROM posts WHERE id = $1; |