From ecc6a55aba7bb35fc778e7a53848396b88214151 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sat, 23 Aug 2025 22:29:28 +0100 Subject: Add multiple conferences feature --- pkg/database/query/conferences.sql | 21 +++++++++++++++++++++ pkg/database/query/favourites.sql | 10 +++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 pkg/database/query/conferences.sql (limited to 'pkg/database/query') diff --git a/pkg/database/query/conferences.sql b/pkg/database/query/conferences.sql new file mode 100644 index 0000000..7acac3f --- /dev/null +++ b/pkg/database/query/conferences.sql @@ -0,0 +1,21 @@ +-- name: CreateConference :one +INSERT INTO conferences ( + url, title, venue, city +) VALUES ( + $1, $2, $3, $4 +) +RETURNING *; + +-- name: UpdateConferenceDetails :one +UPDATE conferences SET ( + title, venue, city +) = ($2, $3, $4) +WHERE id = $1 +RETURNING *; + +-- name: GetConferences :many +SELECT * FROM conferences; + +-- name: DeleteConference :exec +DELETE FROM conferences +WHERE id = $1; diff --git a/pkg/database/query/favourites.sql b/pkg/database/query/favourites.sql index 94e914c..a903ac7 100644 --- a/pkg/database/query/favourites.sql +++ b/pkg/database/query/favourites.sql @@ -1,12 +1,16 @@ +-- name: GetFavouritesForUserConference :many +SELECT * FROM favourites +WHERE user_id = $1 AND conference_id = $2; + -- name: GetFavouritesForUser :many SELECT * FROM favourites WHERE user_id = $1; -- name: CreateFavourite :one INSERT INTO favourites ( - user_id, event_guid, event_id + user_id, event_guid, event_id, conference_id ) VALUES ( - $1, $2, $3 + $1, $2, $3, $4 ) RETURNING *; @@ -16,4 +20,4 @@ WHERE id = $1; -- name: DeleteFavouriteByEventDetails :execrows DELETE FROM favourites -WHERE (event_guid = $1 OR event_id = $2) AND user_id = $3; +WHERE (event_guid = $1 OR event_id = $2) AND user_id = $3 AND conference_id = $4; -- cgit v1.2.3-70-g09d2