diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-01-25 16:30:50 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-01-25 16:30:50 +0200 |
| commit | 02e55d769d89ac0847d42c792c72b115ce003715 (patch) | |
| tree | bfcf253ffd4e85be709f5605c2a2ecc1194a0eb5 /internal/data/members.sql.go | |
| parent | 0da7603a41c48c84324d32a1957de34533171c30 (diff) | |
Added a list of banned members server-side
Diffstat (limited to 'internal/data/members.sql.go')
| -rw-r--r-- | internal/data/members.sql.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/internal/data/members.sql.go b/internal/data/members.sql.go index 29c0f58..98a6a1e 100644 --- a/internal/data/members.sql.go +++ b/internal/data/members.sql.go @@ -56,6 +56,58 @@ func (q *Queries) FilterUsersInNetwork(ctx context.Context, arg FilterUsersInNet return items, nil } +const getBannedMembers = `-- name: GetBannedMembers :many +SELECT + users.id, users.name, users.public_key, users.description, users.is_public_dm, users.is_deleted, + members.user_id, members.network_id, members.joined_at, members.is_member, members.is_admin, members.is_muted, members.is_banned, members.ban_reason +FROM members +JOIN users ON users.id = members.user_id +WHERE network_id = ? AND is_banned = true +` + +type GetBannedMembersRow struct { + User User + Member Member +} + +func (q *Queries) GetBannedMembers(ctx context.Context, networkID snowflake.ID) ([]GetBannedMembersRow, error) { + rows, err := q.db.QueryContext(ctx, getBannedMembers, networkID) + if err != nil { + return nil, err + } + defer rows.Close() + var items []GetBannedMembersRow + for rows.Next() { + var i GetBannedMembersRow + if err := rows.Scan( + &i.User.ID, + &i.User.Name, + &i.User.PublicKey, + &i.User.Description, + &i.User.IsPublicDM, + &i.User.IsDeleted, + &i.Member.UserID, + &i.Member.NetworkID, + &i.Member.JoinedAt, + &i.Member.IsMember, + &i.Member.IsAdmin, + &i.Member.IsMuted, + &i.Member.IsBanned, + &i.Member.BanReason, + ); 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 getMemberById = `-- name: GetMemberById :one SELECT user_id, network_id, joined_at, is_member, is_admin, is_muted, is_banned, ban_reason FROM members WHERE network_id = ? AND user_id = ? |
