aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/database/query
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/database/query')
-rw-r--r--pkg/database/query/conferences.sql21
-rw-r--r--pkg/database/query/favourites.sql10
2 files changed, 28 insertions, 3 deletions
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;