Added sub commands for doing admin stuff

This commit is contained in:
Leon Mika 2026-02-28 10:39:08 +11:00
parent 329de2f953
commit 4a6b79db17
18 changed files with 531 additions and 185 deletions

View file

@ -4,10 +4,11 @@ SELECT * FROM publish_targets WHERE site_id = ?;
-- name: InsertPublishTarget :one
INSERT INTO publish_targets (
site_id,
guid,
target_type,
enabled,
base_url,
target_ref,
target_key
) VALUES (?, ?, ?, ?, ?, ?)
) VALUES (?, ?, ?, ?, ?, ?, ?)
RETURNING id;

View file

@ -4,6 +4,9 @@ SELECT * FROM sites WHERE owner_id = ? ORDER BY title ASC;
-- name: SelectSiteByID :one
SELECT * FROM sites WHERE id = ?;
-- name: SelectSiteByGUID :one
SELECT * FROM sites WHERE guid = ?;
-- name: InsertSite :one
INSERT INTO sites (
owner_id,
@ -15,4 +18,10 @@ INSERT INTO sites (
RETURNING id;
-- name: HasUsersAndSites :one
SELECT (SELECT COUNT(*) FROM users) > 0 AND (SELECT COUNT(*) FROM sites) > 0 AS has_users_and_sites;
SELECT (SELECT COUNT(*) FROM users) > 0 AND (SELECT COUNT(*) FROM sites) > 0 AS has_users_and_sites;
-- name: SelectAllSitesWithOwners :many
SELECT s.id, s.guid, s.title, s.owner_id, u.username
FROM sites s
JOIN users u ON s.owner_id = u.id
ORDER BY s.title ASC;

View file

@ -22,6 +22,7 @@ CREATE UNIQUE INDEX idx_site_guid ON sites (guid);
CREATE TABLE publish_targets (
id INTEGER PRIMARY KEY AUTOINCREMENT,
site_id INTEGER NOT NULL,
guid TEXT NOT NULL,
target_type TEXT NOT NULL,
enabled INT NOT NULL,
base_url TEXT NOT NULL,
@ -29,6 +30,7 @@ CREATE TABLE publish_targets (
target_key TEXT NOT NULL
);
CREATE INDEX idx_publish_targets_site ON publish_targets (site_id);
CREATE UNIQUE INDEX idx_publish_targets_guid ON publish_targets (guid);
CREATE TABLE posts (
id INTEGER PRIMARY KEY AUTOINCREMENT,