From b67ab26b89e16d4492145702b0ef899d3d6b7416 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 23 Nov 2024 20:27:10 +0200 Subject: Added frequency queries --- query/frequencies.sql | 18 ++++++++++++++++-- query/networks.sql | 9 ++++++--- query/users.sql | 5 ++--- 3 files changed, 24 insertions(+), 8 deletions(-) (limited to 'query') diff --git a/query/frequencies.sql b/query/frequencies.sql index ed68c78..959512e 100644 --- a/query/frequencies.sql +++ b/query/frequencies.sql @@ -5,8 +5,22 @@ ORDER BY id; -- name: CreateFrequency :one INSERT INTO frequencies ( - id, network_id, name + id, network_id, + name, hex_color, + perms, position ) VALUES ( - ?, ?, ? + ?, @network_id, ?, ?, ?, + (SELECT COUNT(*) FROM frequencies WHERE network_id = @network_id) ) RETURNING *; + +-- name: SwapFrequencies :exec +UPDATE frequencies SET + position = CASE + WHEN position = @pos1 THEN @pos2 + WHEN position = @pos2 THEN @pos1 + END +WHERE network_id = ? AND position IN (@pos1, @pos2); + +-- name: DeleteFrequency :exec +DELETE FROM frequencies WHERE id = ?; diff --git a/query/networks.sql b/query/networks.sql index 424bb2d..2253de4 100644 --- a/query/networks.sql +++ b/query/networks.sql @@ -6,7 +6,7 @@ WHERE is_public = true; SELECT * FROM networks WHERE id = ?; --- -- name: CreateNetwork :one +-- name: CreateNetwork :one INSERT INTO networks ( id, owner_id, name, is_public, icon, bg_hex_color, fg_hex_color @@ -16,7 +16,7 @@ INSERT INTO networks ( RETURNING *; -- name: GetBannedUsersInNetwork :many -SELECT +SELECT sqlc.embed(users), network_banned_users.banned_at, network_banned_users.reason @@ -26,10 +26,13 @@ WHERE network_banned_users.network_id = ?; -- name: GetUsersInNetwork :many SELECT - sqlc.embed(users.), + sqlc.embed(users), users_networks.joined_at, users_networks.is_admin, users_networks.is_muted FROM users_networks JOIN users ON users.id = users_networks.user_id WHERE users_networks.network_id = ?; + +-- name: DeleteNetwork :exec +DELETE FROM networks WHERE id = ?; diff --git a/query/users.sql b/query/users.sql index f3629ca..d136f15 100644 --- a/query/users.sql +++ b/query/users.sql @@ -42,8 +42,7 @@ UPDATE users SET WHERE id = ? AND is_deleted = false RETURNING *; --- name: DeleteUser :one +-- name: DeleteUser :exec UPDATE users SET is_deleted = true -WHERE id = ? AND is_deleted = false -RETURNING *; +WHERE id = ? AND is_deleted = false; -- cgit v1.3.1