Added user authentication

This commit is contained in:
Leon Mika 2025-02-01 09:42:32 +11:00
parent d7e7af5a10
commit cb54057305
40 changed files with 710 additions and 218 deletions

View file

@ -1,17 +1,17 @@
-- name: ListPosts :many
SELECT * FROM post WHERE site_id = $1 ORDER BY post_date DESC LIMIT 25;
SELECT * FROM posts WHERE site_id = $1 ORDER BY post_date DESC LIMIT 25;
-- name: GetPostWithID :one
SELECT * FROM post WHERE id = $1 LIMIT 1;
SELECT * FROM posts WHERE id = $1 LIMIT 1;
-- name: ListPublishablePosts :many
SELECT *
FROM post
FROM posts
WHERE id > $1 AND site_id = $2 AND state = 'published' AND post_date <= $3
ORDER BY id LIMIT 100;
-- name: InsertPost :one
INSERT INTO post (
INSERT INTO posts (
site_id,
title,
body,
@ -23,7 +23,7 @@ INSERT INTO post (
RETURNING id;
-- name: UpdatePost :exec
UPDATE post SET
UPDATE posts SET
site_id = $2,
title = $3,
body = $4,
@ -31,4 +31,7 @@ UPDATE post SET
props = $6,
post_date = $7
-- updated_at = $7
WHERE id = $1;
WHERE id = $1;
-- name: DeletePost :exec
DELETE FROM posts WHERE id = $1;

View file

@ -1,15 +1,16 @@
-- name: ListSites :one
SELECT * FROM site;
SELECT * FROM sites;
-- name: GetSiteWithID :one
SELECT * FROM site WHERE id = $1 LIMIT 1;
SELECT * FROM sites WHERE id = $1 LIMIT 1;
-- name: NewSite :one
INSERT INTO site (
INSERT INTO sites (
name,
owner_user_id,
title,
url,
theme,
props
) VALUES ($1, $2, $3, $4, $5)
) VALUES ($1, $2, $3, $4, $5, $6)
RETURNING id;

View file

@ -1,8 +1,8 @@
-- name: ListPublishTargetsOfRole :many
SELECT * FROM publish_target WHERE site_id = $1 AND role = 'production';
SELECT * FROM publish_targets WHERE site_id = $1 AND role = 'production';
-- name: InsertPublishTarget :one
INSERT INTO publish_target (
INSERT INTO publish_targets (
site_id,
role,
target_type,

13
sql/queries/users.sql Normal file
View file

@ -0,0 +1,13 @@
-- name: AddUser :one
INSERT INTO users (
email,
password
) VALUES ($1, $2)
ON CONFLICT (email) DO UPDATE SET password = $2
RETURNING id;
-- name: GetUserByID :one
SELECT * FROM users WHERE id = $1 LIMIT 1;
-- name: GetUserByEmail :one
SELECT * FROM users WHERE email = $1 LIMIT 1;