summaryrefslogtreecommitdiff
path: root/query/networks.sql
diff options
context:
space:
mode:
Diffstat (limited to 'query/networks.sql')
-rw-r--r--query/networks.sql32
1 files changed, 26 insertions, 6 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 = ?;