Added user authentication
This commit is contained in:
parent
d7e7af5a10
commit
cb54057305
40 changed files with 710 additions and 218 deletions
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
13
sql/queries/users.sql
Normal 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;
|
||||
|
|
@ -11,16 +11,25 @@ CREATE TYPE target_type AS ENUM (
|
|||
'netlify'
|
||||
);
|
||||
|
||||
CREATE TABLE site (
|
||||
id BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
name TEXT NOT NULL UNIQUE,
|
||||
title TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
theme TEXT NOT NULL,
|
||||
props JSON NOT NULL
|
||||
CREATE TABLE users (
|
||||
id BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
email TEXT NOT NULL UNIQUE,
|
||||
password TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE post (
|
||||
CREATE TABLE sites (
|
||||
id BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
owner_user_id BIGINT NOT NULL,
|
||||
name TEXT NOT NULL UNIQUE,
|
||||
title TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
theme TEXT NOT NULL,
|
||||
props JSON NOT NULL,
|
||||
|
||||
FOREIGN KEY (owner_user_id) REFERENCES users (id)
|
||||
);
|
||||
|
||||
CREATE TABLE posts (
|
||||
id BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
site_id BIGINT NOT NULL,
|
||||
title TEXT,
|
||||
|
|
@ -30,10 +39,10 @@ CREATE TABLE post (
|
|||
post_date TIMESTAMP WITH TIME ZONE,
|
||||
created_at TIMESTAMP NOT NULL,
|
||||
|
||||
FOREIGN KEY (site_id) REFERENCES site (id)
|
||||
FOREIGN KEY (site_id) REFERENCES sites (id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE publish_target (
|
||||
CREATE TABLE publish_targets (
|
||||
id BIGSERIAL NOT NULL PRIMARY KEY,
|
||||
site_id BIGINT NOT NULL,
|
||||
role target_role NOT NULL,
|
||||
|
|
@ -41,5 +50,5 @@ CREATE TABLE publish_target (
|
|||
url TEXT NOT NULL,
|
||||
target_ref TEXT NOT NULL,
|
||||
|
||||
FOREIGN KEY (site_id) REFERENCES site (id)
|
||||
FOREIGN KEY (site_id) REFERENCES sites (id) ON DELETE CASCADE
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue