aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/database/query
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/database/query')
-rw-r--r--pkg/database/query/favourites.sql19
-rw-r--r--pkg/database/query/users.sql23
2 files changed, 42 insertions, 0 deletions
diff --git a/pkg/database/query/favourites.sql b/pkg/database/query/favourites.sql
new file mode 100644
index 0000000..0661daa
--- /dev/null
+++ b/pkg/database/query/favourites.sql
@@ -0,0 +1,19 @@
+-- name: GetFavouritesForUser :many
+SELECT * FROM favourites
+WHERE user_id = $1;
+
+-- name: CreateFavourite :one
+INSERT INTO favourites (
+ user_id, event_guid, event_id
+) VALUES (
+ $1, $2, $3
+)
+RETURNING *;
+
+-- name: DeleteFavourite :exec
+DELETE FROM favourites
+WHERE id = $1;
+
+-- name: DeleteFavouriteByEventDetails :execrows
+DELETE FROM favourites
+WHERE (event_guid = $1 OR event_id = $2) AND user_id = $3; \ No newline at end of file
diff --git a/pkg/database/query/users.sql b/pkg/database/query/users.sql
new file mode 100644
index 0000000..c70ebbb
--- /dev/null
+++ b/pkg/database/query/users.sql
@@ -0,0 +1,23 @@
+-- name: GetUserByID :one
+SELECT * FROM users
+WHERE id = $1 LIMIT 1;
+
+-- name: GetUserByName :one
+SELECT * FROM users
+WHERE username = $1 LIMIT 1;
+
+-- name: ListUsers :many
+SELECT * FROM users
+ORDER BY username;
+
+-- name: CreateUser :one
+INSERT INTO users (
+ username, password
+) VALUES (
+ $1, $2
+)
+RETURNING *;
+
+-- name: DeleteUser :exec
+DELETE FROM users
+WHERE id = $1;