summaryrefslogtreecommitdiff
path: root/query/networks.sql
diff options
context:
space:
mode:
Diffstat (limited to 'query/networks.sql')
-rw-r--r--query/networks.sql21
1 files changed, 19 insertions, 2 deletions
diff --git a/query/networks.sql b/query/networks.sql
index dfa7b6b..0b0303f 100644
--- a/query/networks.sql
+++ b/query/networks.sql
@@ -16,7 +16,7 @@ INSERT INTO networks (
)
RETURNING *;
--- name: GetBannedUsersInNetwork :many
+-- name: GetNetworkBannedUsers :many
SELECT
sqlc.embed(users),
users_networks.ban_reason
@@ -24,7 +24,7 @@ FROM users_networks
JOIN users ON users.id = users_networks.user_id
WHERE users_networks.network_id = ?;
--- name: GetUsersInNetwork :many
+-- name: GetNetworkMembers :many
SELECT
sqlc.embed(users),
users_networks.joined_at,
@@ -62,3 +62,20 @@ RETURNING *;
-- name: DeleteNetwork :exec
DELETE FROM networks WHERE id = ?;
+
+-- name: SetNetworkUser :one
+INSERT INTO users_networks (
+ user_id, network_id,
+ is_member, is_admin, is_muted,
+ is_banned, ban_reason
+) VALUES (
+ ?, ?,
+ ?, ?, ?,
+ ?, ?
+)
+ON CONFLICT DO
+UPDATE SET
+ is_member = ?, is_admin = ?, is_muted = ?,
+ is_banned = ?, ban_reason = ?
+WHERE user_id = ? AND network_id = ?
+RETURNING *;