summaryrefslogtreecommitdiff
path: root/query
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-11-23 18:47:26 +0200
committerKyren223 <Kyren223@proton.me>2024-11-23 18:47:26 +0200
commit77d9971982e336aa6c0b816d84f2d37780c02de6 (patch)
tree0001051202a93b5b994d3fd5470e5bfc35a67af5 /query
parent63a1d24295122728820a61aa93b3da6cd6d401d9 (diff)
Added network queries
Diffstat (limited to 'query')
-rw-r--r--query/networks.sql32
-rw-r--r--query/users.sql11
2 files changed, 27 insertions, 16 deletions
diff --git a/query/networks.sql b/query/networks.sql
index d709975..424bb2d 100644
--- a/query/networks.sql
+++ b/query/networks.sql
@@ -1,15 +1,35 @@
--- name: ListNetworks :many
+-- name: GetPublicNetworks :many
SELECT * FROM networks
-ORDER BY id;
+WHERE is_public = true;
--- name: GetNetwork :one
+-- name: GetNetworkById :one
SELECT * FROM networks
WHERE id = ?;
--- name: CreateNetwork :one
+-- -- name: CreateNetwork :one
INSERT INTO networks (
- id, name, owner_id
+ id, owner_id, name, is_public,
+ icon, bg_hex_color, fg_hex_color
) VALUES (
- ?, ?, ?
+ ?, ?, ?, ?, ?, ?, ?
)
RETURNING *;
+
+-- name: GetBannedUsersInNetwork :many
+SELECT
+ sqlc.embed(users),
+ network_banned_users.banned_at,
+ network_banned_users.reason
+FROM network_banned_users
+JOIN users ON users.id = network_banned_users.banned_user_id
+WHERE network_banned_users.network_id = ?;
+
+-- name: GetUsersInNetwork :many
+SELECT
+ 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 = ?;
diff --git a/query/users.sql b/query/users.sql
index 9866c8a..f3629ca 100644
--- a/query/users.sql
+++ b/query/users.sql
@@ -36,21 +36,12 @@ UPDATE users SET
WHERE id = ? AND is_deleted = false
RETURNING *;
--- name: SerUserPublicDMs :one
+-- name: SetUserPublicDMs :one
UPDATE users SET
is_public_dm = ?
WHERE id = ? AND is_deleted = false
RETURNING *;
--- name: UpdateUser :one
-UPDATE users SET
- name = COALESCE(?, name),
- public_key = COALESCE(?, public_key),
- description = COALESCE(?, description),
- is_public_dm = COALESCE(?, is_public_dm)
-WHERE id = ? AND is_deleted = false
-RETURNING *;
-
-- name: DeleteUser :one
UPDATE users SET
is_deleted = true