2026-02-19 10:21:27 +00:00
|
|
|
-- name: SelectPostsOfSite :many
|
2026-02-23 10:18:34 +00:00
|
|
|
SELECT *
|
|
|
|
|
FROM posts
|
|
|
|
|
WHERE site_id = ? AND (
|
|
|
|
|
CASE CAST (sqlc.arg(post_filter) AS TEXT)
|
|
|
|
|
WHEN 'deleted' THEN deleted_at > 0
|
|
|
|
|
ELSE deleted_at = 0
|
|
|
|
|
END
|
|
|
|
|
) ORDER BY created_at DESC LIMIT 10;
|
2026-02-19 10:21:27 +00:00
|
|
|
|
2026-02-21 23:09:34 +00:00
|
|
|
-- name: SelectPost :one
|
|
|
|
|
SELECT * FROM posts WHERE id = ? LIMIT 1;
|
|
|
|
|
|
2026-02-20 23:22:10 +00:00
|
|
|
-- name: SelectPostByGUID :one
|
|
|
|
|
SELECT * FROM posts WHERE guid = ? LIMIT 1;
|
|
|
|
|
|
2026-02-19 10:21:27 +00:00
|
|
|
-- name: InsertPost :one
|
|
|
|
|
INSERT INTO posts (
|
|
|
|
|
site_id,
|
2026-02-23 10:18:34 +00:00
|
|
|
state,
|
2026-02-19 10:21:27 +00:00
|
|
|
guid,
|
|
|
|
|
title,
|
|
|
|
|
body,
|
|
|
|
|
slug,
|
|
|
|
|
created_at,
|
2026-02-23 10:18:34 +00:00
|
|
|
updated_at,
|
|
|
|
|
published_at,
|
|
|
|
|
deleted_at
|
|
|
|
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
2026-02-20 23:22:10 +00:00
|
|
|
RETURNING id;
|
|
|
|
|
|
|
|
|
|
-- name: UpdatePost :exec
|
|
|
|
|
UPDATE posts SET
|
|
|
|
|
title = ?,
|
2026-02-23 10:18:34 +00:00
|
|
|
state = ?,
|
2026-02-20 23:22:10 +00:00
|
|
|
body = ?,
|
|
|
|
|
slug = ?,
|
2026-02-23 10:18:34 +00:00
|
|
|
updated_at = ?,
|
|
|
|
|
published_at = ?,
|
|
|
|
|
deleted_at = ?
|
|
|
|
|
WHERE id = ?;
|
|
|
|
|
|
|
|
|
|
-- name: SoftDeletePost :exec
|
|
|
|
|
UPDATE posts SET deleted_at = ? WHERE id = ?;
|
|
|
|
|
|
|
|
|
|
-- name: RestorePost :exec
|
|
|
|
|
UPDATE posts SET deleted_at = 0 WHERE id = ?;
|
|
|
|
|
|
|
|
|
|
-- name: HardDeletePost :exec
|
|
|
|
|
DELETE FROM posts WHERE id = ?;
|