diff options
Diffstat (limited to 'query')
| -rw-r--r-- | query/networks.sql | 32 | ||||
| -rw-r--r-- | query/users.sql | 11 |
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 |
