Have got soft and hard deleting
This commit is contained in:
parent
aef3bb6a1e
commit
3ea5823ca0
27 changed files with 588 additions and 55 deletions
|
|
@ -1,5 +1,12 @@
|
|||
-- name: SelectPostsOfSite :many
|
||||
SELECT * FROM posts WHERE site_id = ? ORDER BY created_at DESC LIMIT 10;
|
||||
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;
|
||||
|
||||
-- name: SelectPost :one
|
||||
SELECT * FROM posts WHERE id = ? LIMIT 1;
|
||||
|
|
@ -10,19 +17,34 @@ SELECT * FROM posts WHERE guid = ? LIMIT 1;
|
|||
-- name: InsertPost :one
|
||||
INSERT INTO posts (
|
||||
site_id,
|
||||
state,
|
||||
guid,
|
||||
title,
|
||||
body,
|
||||
slug,
|
||||
created_at,
|
||||
published_at
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
||||
updated_at,
|
||||
published_at,
|
||||
deleted_at
|
||||
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
||||
RETURNING id;
|
||||
|
||||
-- name: UpdatePost :exec
|
||||
UPDATE posts SET
|
||||
title = ?,
|
||||
state = ?,
|
||||
body = ?,
|
||||
slug = ?,
|
||||
published_at = ?
|
||||
WHERE id = ?;
|
||||
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 = ?;
|
||||
|
|
@ -18,8 +18,8 @@ CREATE INDEX idx_site_owner ON sites (owner_id);
|
|||
CREATE TABLE publish_targets (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
site_id INTEGER NOT NULL,
|
||||
target_type TEXT NOT NULL,
|
||||
enabled INT NOT NULL,
|
||||
target_type TEXT NOT NULL,
|
||||
enabled INT NOT NULL,
|
||||
base_url TEXT NOT NULL,
|
||||
target_ref TEXT NOT NULL,
|
||||
target_key TEXT NOT NULL
|
||||
|
|
@ -29,12 +29,15 @@ CREATE INDEX idx_publish_targets_site ON publish_targets (site_id);
|
|||
CREATE TABLE posts (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
site_id INTEGER NOT NULL,
|
||||
state INTEGER NOT NULL,
|
||||
guid TEXT NOT NULL,
|
||||
title TEXT NOT NULL,
|
||||
body TEXT NOT NULL,
|
||||
slug TEXT NOT NULL,
|
||||
created_at INTEGER NOT NULL,
|
||||
published_at INTEGER NOT NULL
|
||||
updated_at INTEGER NOT NULL,
|
||||
published_at INTEGER NOT NULL,
|
||||
deleted_at INTEGER NOT NULL
|
||||
);
|
||||
CREATE INDEX idx_post_site ON posts (site_id);
|
||||
CREATE UNIQUE INDEX idx_post_guid ON posts (guid);
|
||||
Loading…
Add table
Add a link
Reference in a new issue