From c3f8131caf597dc028c08c8dd9f2f65a213e580d Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Wed, 27 Nov 2024 22:41:14 +0200 Subject: Added networks info on initial server-client connection --- internal/data/users.sql.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'internal/data/users.sql.go') diff --git a/internal/data/users.sql.go b/internal/data/users.sql.go index 33eab3f..562ab35 100644 --- a/internal/data/users.sql.go +++ b/internal/data/users.sql.go @@ -109,6 +109,43 @@ func (q *Queries) GetUserByPublicKey(ctx context.Context, publicKey ed25519.Publ return i, err } +const getUserNetworks = `-- name: GetUserNetworks :many +SELECT networks.id, networks.owner_id, networks.name, networks.icon, networks.bg_hex_color, networks.fg_hex_color, networks.is_public FROM networks +JOIN users_networks ON networks.id = users_networks.network_id +WHERE users_networks.user_id = ? +` + +func (q *Queries) GetUserNetworks(ctx context.Context, userID snowflake.ID) ([]Network, error) { + rows, err := q.db.QueryContext(ctx, getUserNetworks, userID) + if err != nil { + return nil, err + } + defer rows.Close() + var items []Network + for rows.Next() { + var i Network + if err := rows.Scan( + &i.ID, + &i.OwnerID, + &i.Name, + &i.Icon, + &i.BgHexColor, + &i.FgHexColor, + &i.IsPublic, + ); err != nil { + return nil, err + } + items = append(items, i) + } + if err := rows.Close(); err != nil { + return nil, err + } + if err := rows.Err(); err != nil { + return nil, err + } + return items, nil +} + const setUserDescription = `-- name: SetUserDescription :one UPDATE users SET description = ? -- cgit v1.3.1