feat: sql queries were written and used to generate queries.go
This commit is contained in:
parent
2d2d97ec27
commit
31a09037cb
8 changed files with 1183 additions and 1 deletions
142
modules/sql/query.sql
Normal file
142
modules/sql/query.sql
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
-- name: GetImageByID :one
|
||||
SELECT image_id, storage_type, image_path
|
||||
FROM images
|
||||
WHERE image_id = $1;
|
||||
|
||||
-- name: CreateImage :one
|
||||
INSERT INTO images (storage_type, image_path)
|
||||
VALUES ($1, $2)
|
||||
RETURNING image_id, storage_type, image_path;
|
||||
|
||||
-- name: GetUserByID :one
|
||||
SELECT user_id, avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date
|
||||
FROM users
|
||||
WHERE user_id = $1;
|
||||
|
||||
-- name: ListUsers :many
|
||||
SELECT user_id, avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date
|
||||
FROM users
|
||||
ORDER BY user_id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: CreateUser :one
|
||||
INSERT INTO users (avatar_id, passhash, mail, nickname, disp_name, user_desc, creation_date)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)
|
||||
RETURNING user_id, avatar_id, nickname, disp_name, user_desc, creation_date;
|
||||
|
||||
-- name: UpdateUser :one
|
||||
UPDATE users
|
||||
SET
|
||||
avatar_id = COALESCE(sqlc.narg('avatar_id'), avatar_id),
|
||||
disp_name = COALESCE(sqlc.narg('disp_name'), disp_name),
|
||||
user_desc = COALESCE(sqlc.narg('user_desc'), user_desc),
|
||||
passhash = COALESCE(sqlc.narg('passhash'), passhash),
|
||||
WHERE user_id = sqlc.arg('user_id')
|
||||
RETURNING user_id, avatar_id, nickname, disp_name, user_desc, creation_date;
|
||||
|
||||
-- name: DeleteUser :exec
|
||||
DELETE FROM users
|
||||
WHERE user_id = $1;
|
||||
|
||||
-- name: GetTitleByID :one
|
||||
SELECT title_id, title_names, studio_id, poster_id, signal_ids,
|
||||
title_status, rating, rating_count, release_year, release_season,
|
||||
season, episodes_aired, episodes_all, episodes_len
|
||||
FROM titles
|
||||
WHERE title_id = $1;
|
||||
|
||||
-- name: ListTitles :many
|
||||
SELECT title_id, title_names, studio_id, poster_id, signal_ids,
|
||||
title_status, rating, rating_count, release_year, release_season,
|
||||
season, episodes_aired, episodes_all, episodes_len
|
||||
FROM titles
|
||||
ORDER BY title_id
|
||||
LIMIT $1 OFFSET $2;
|
||||
|
||||
-- name: UpdateTitle :one
|
||||
UPDATE titles
|
||||
SET
|
||||
title_names = COALESCE(sqlc.narg('title_names'), title_names),
|
||||
studio_id = COALESCE(sqlc.narg('studio_id'), studio_id),
|
||||
poster_id = COALESCE(sqlc.narg('poster_id'), poster_id),
|
||||
signal_ids = COALESCE(sqlc.narg('signal_ids'), signal_ids),
|
||||
title_status = COALESCE(sqlc.narg('title_status'), title_status),
|
||||
release_year = COALESCE(sqlc.narg('release_year'), release_year),
|
||||
release_season = COALESCE(sqlc.narg('release_season'), release_season),
|
||||
episodes_aired = COALESCE(sqlc.narg('episodes_aired'), episodes_aired),
|
||||
episodes_all = COALESCE(sqlc.narg('episodes_all'), episodes_all),
|
||||
episodes_len = COALESCE(sqlc.narg('episodes_len'), episodes_len)
|
||||
WHERE title_id = sqlc.arg('title_id')
|
||||
RETURNING *;
|
||||
|
||||
-- name: GetReviewByID :one
|
||||
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
|
||||
FROM reviews
|
||||
WHERE review_id = $1;
|
||||
|
||||
-- name: CreateReview :one
|
||||
INSERT INTO reviews (user_id, title_id, image_ids, review_text, creation_date)
|
||||
VALUES ($1, $2, $3, $4, $5)
|
||||
RETURNING review_id, user_id, title_id, image_ids, review_text, creation_date;
|
||||
|
||||
-- name: UpdateReview :one
|
||||
UPDATE reviews
|
||||
SET
|
||||
image_ids = COALESCE(sqlc.narg('image_ids'), image_ids),
|
||||
review_text = COALESCE(sqlc.narg('review_text'), review_text)
|
||||
WHERE review_id = sqlc.arg('review_id')
|
||||
RETURNING *;
|
||||
|
||||
-- name: DeleteReview :exec
|
||||
DELETE FROM reviews
|
||||
WHERE review_id = $1;
|
||||
|
||||
-- name: ListReviewsByTitle :many
|
||||
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
|
||||
FROM reviews
|
||||
WHERE title_id = $1
|
||||
ORDER BY creation_date DESC
|
||||
LIMIT $2 OFFSET $3;
|
||||
|
||||
-- name: ListReviewsByUser :many
|
||||
SELECT review_id, user_id, title_id, image_ids, review_text, creation_date
|
||||
FROM reviews
|
||||
WHERE user_id = $1
|
||||
ORDER BY creation_date DESC
|
||||
LIMIT $2 OFFSET $3;
|
||||
|
||||
-- name: GetUserTitle :one
|
||||
SELECT usertitle_id, user_id, title_id, status, rate, review_id
|
||||
FROM usertitles
|
||||
WHERE user_id = $1 AND title_id = $2;
|
||||
|
||||
-- name: ListUserTitles :many
|
||||
SELECT usertitle_id, user_id, title_id, status, rate, review_id
|
||||
FROM usertitles
|
||||
WHERE user_id = $1
|
||||
ORDER BY usertitle_id
|
||||
LIMIT $2 OFFSET $3;
|
||||
|
||||
-- name: CreateUserTitle :one
|
||||
INSERT INTO usertitles (user_id, title_id, status, rate, review_id)
|
||||
VALUES ($1, $2, $3, $4, $5)
|
||||
RETURNING usertitle_id, user_id, title_id, status, rate, review_id;
|
||||
|
||||
-- name: UpdateUserTitle :one
|
||||
UPDATE usertitles
|
||||
SET
|
||||
status = COALESCE(sqlc.narg('status'), status),
|
||||
rate = COALESCE(sqlc.narg('rate'), rate),
|
||||
review_id = COALESCE(sqlc.narg('review_id'), review_id)
|
||||
WHERE user_id = $1 AND title_id = $2
|
||||
RETURNING *;
|
||||
|
||||
-- name: DeleteUserTitle :exec
|
||||
DELETE FROM usertitles
|
||||
WHERE user_id = $1 AND ($2::int IS NULL OR title_id = $2);
|
||||
|
||||
-- name: ListTags :many
|
||||
SELECT tag_id, tag_names
|
||||
FROM tags
|
||||
ORDER BY tag_id
|
||||
LIMIT $1 OFFSET $2;
|
||||
Loading…
Add table
Add a link
Reference in a new issue