weiro/sql/queries/posts.sql

50 lines
1,003 B
MySQL
Raw Permalink Normal View History

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
-- name: SelectPost :one
SELECT * FROM posts WHERE id = ? LIMIT 1;
-- 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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
RETURNING id;
-- name: UpdatePost :exec
UPDATE posts SET
title = ?,
2026-02-23 10:18:34 +00:00
state = ?,
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 = ?;