add comment repository for postgres.
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-03-27 13:56:51 +01:00
parent 21b7b44159
commit e4761ad4a0
11 changed files with 264 additions and 43 deletions
+12 -12
View File
@@ -2,29 +2,29 @@
SELECT * FROM story_chapter WHERE id=$1::TEXT LIMIT 1;
-- name: SelectChapters :many
SELECT * FROM story_chapter WHERE (sqlx.arg(story_id)::TEXT == '' OR story_id=sqlc.arg(story_id)::TEXT) ORDER BY created_date LIMIT sqlc.arg(limit_size)::INT;
SELECT * FROM story_chapter WHERE (sqlx.arg(story_id)::TEXT == '' OR story_id = @story_id::TEXT) ORDER BY created_date LIMIT @limit_size;
-- name: InsertChapter :exec
INSERT INTO story_chapter (id, story_id, title, author, source, created_date, fictional_date, edited_date, comment_mode, comments_locked)
VALUES (
sqlc.arg(id)::TEXT, sqlc.arg(story_id)::TEXT, sqlc.arg(title)::TEXT, sqlc.arg(author)::TEXT, sqlc.arg(source)::TEXT,
sqlc.arg(created_date)::TIMESTAMP, sqlc.arg(fictional_date)::TIMESTAMP, sqlc.arg(edited_date)::TIMESTAMP,
sqlc.arg(comment_mode)::TEXT, sqlc.arg(comments_locked)::BOOLEAN
@id::TEXT, @story_id::TEXT, @title::TEXT, @author::TEXT, @source::TEXT,
@created_date::TIMESTAMP, @fictional_date::TIMESTAMP, @edited_date::TIMESTAMP,
@comment_mode::TEXT, @comments_locked::BOOLEAN
);
-- name: UpdateChapterStoryID :exec
UPDATE story_chapter
SET story_id=sqlc.arg(story_id)::TEXT
WHERE id=sqlc.arg(id);
SET story_id = @story_id::TEXT
WHERE id = @id;
-- name: UpdateChapter :exec
UPDATE story_chapter
SET title=sqlc.arg(title),
source=sqlc.arg(source),
fictional_date=sqlc.arg(fictional_date),
comment_mode=sqlc.arg(comment_mode),
comments_locked=sqlc.arg(comments_locked)
WHERE id=sqlc.arg(id);
SET title = @title,
source = @source,
fictional_date = @fictional_date,
comment_mode = @comment_mode,
comments_locked = @comments_locked
WHERE id = @id;
-- name: DeleteChapter :exec
DELETE FROM story_chapter WHERE id=$1;
+21 -24
View File
@@ -1,50 +1,47 @@
-- name: SelectCharacterByID :one
SELECT * FROM data_character WHERE id = sqlc.arg(id)::text;
SELECT * FROM data_character WHERE id = @id::text;
-- name: SelectCharacterByNick :one
SELECT * FROM data_character WHERE nicks <@ ARRAY[sqlc.arg(nick)::text];
SELECT * FROM data_character WHERE nicks <@ ARRAY[@nick::text];
-- name: SelectCharacterByName :one
SELECT * FROM data_character WHERE name = sqlc.arg(name)::text;
SELECT * FROM data_character WHERE name = @name::text;
-- name: SelectCharacters :many
SELECT * FROM data_character
WHERE (sqlc.arg(filter_id)::bool = false OR id = ANY(sqlc.arg(ids)::text[]))
AND (sqlc.arg(filter_name)::bool = false OR name = ANY(sqlc.arg(names)::text[]))
AND (sqlc.arg(filter_nick)::bool = false OR nicks && (sqlc.arg(nicks)::text[]))
AND (sqlc.arg(filter_author)::bool = false OR author = sqlc.arg(author)::text)
AND (sqlc.arg(filter_search)::bool = false OR "ts_vector" @@ to_tsquery(sqlc.arg(search)::text))
LIMIT sqlc.arg(limit_size)::int;
WHERE (@filter_id::bool = false OR id = ANY(@ids::text[]))
AND (@filter_name::bool = false OR name = ANY(@names::text[]))
AND (@filter_nick::bool = false OR nicks && (@nicks::text[]))
AND (@filter_author::bool = false OR author = @author::text)
AND (@filter_search::bool = false OR "ts_vector" @@ to_tsquery(@search::text))
LIMIT @limit_size::int;
-- name: InsertCharacter :exec
INSERT INTO data_character (id, nicks, name, short_name, author, description, ts_vector) VALUES (
sqlc.arg(id)::text, sqlc.arg(nicks)::text[], sqlc.arg(name)::text,
sqlc.arg(short_name)::text, sqlc.arg(author)::text, sqlc.arg(description)::text,
@id::text, @nicks::text[], @name::text,
@short_name::text, @author::text, @description::text,
to_tsvector(
'english',
sqlc.arg(name)::text || ' ' || sqlc.arg(description)::text || ' ' || sqlc.arg(author)::text || ' '
|| immutable_array_to_string(
sqlc.arg(nicks)::text[], ' '
)
'english', @name::text || ' ' || @description::text || ' ' || @author::text || ' '
|| immutable_array_to_string(@nicks::text[], ' ')
)
);
-- name: UpdateCharacter :exec
UPDATE data_character
SET name=sqlc.arg(name)::text,
short_name=sqlc.arg(short_name)::text,
description=sqlc.arg(description)::text
WHERE id=sqlc.arg(id)::text;
SET name = @name::text,
short_name = @short_name::text,
description = @description::text
WHERE id = @id::text;
-- name: AddCharacterNick :exec
UPDATE data_character
SET nicks=append(nicks, sqlc.arg(nick)::text)
WHERE id=sqlc.arg(id)::text;
SET nicks=array_append(nicks, @nick::text)
WHERE id = @id::text;
-- name: RemoveCharacterNick :exec
UPDATE data_character
SET nicks=array_remove(nicks, sqlc.arg(nick)::text)
WHERE id=sqlc.arg(id)::text;
SET nicks=array_remove(nicks, @nick::text)
WHERE id = @id::text;
-- name: DeleteCharacter :exec
DELETE FROM data_character WHERE id=$1;
+34
View File
@@ -0,0 +1,34 @@
-- name: SelectComment :one
SELECT * FROM story_comment WHERE id=$1;
-- name: InsertComment :exec
INSERT INTO story_comment (id, chapter_id, character_id, subject, author, character_name, source, created_date, fictional_date, edited_date)
VALUES (
@id, @chapter_id, @character_id,
@subject, @author, @character_name, @source,
@created_date, @fictional_date, @edited_date
);
-- name: UpdateComment :exec
UPDATE story_comment
SET subject = @subject,
source = @source,
fictional_date = @fictional_date,
character_name = @character_name,
character_id = @character_id
WHERE id = @id;
-- name: SelectComments :many
SELECT * FROM story_comment WHERE (@chapter_id = '' OR chapter_id = @chapter_id) LIMIT @limit_size;
-- name: DeleteComment :exec
DELETE FROM story_comment WHERE id = $1;
-- name: DeleteCommentsByChapterID :exec
DELETE FROM story_comment WHERE chapter_id = $1;
-- name: DeleteCommentsByStoryID :exec
DELETE FROM story_comment
WHERE chapter_id IN (
SELECT id FROM story_chapter WHERE story_id = $1
);