package db import ( "context" "database/sql" "log/slog" ) func (db *DB) GetMailboxFlags(ctx context.Context, mailboxID int) ([]string, error) { rows, err := db.read.QueryContext(ctx, `SELECT DISTINCT flag FROM message_flags WHERE mailbox_id = ?`, mailboxID) if err != nil { return nil, err } defer func(rows *sql.Rows) { err := rows.Close() if err != nil { slog.Error("closing rows", "error", err) } }(rows) var flags []string for rows.Next() { var flag string if err := rows.Scan(&flag); err != nil { return nil, err } flags = append(flags, flag) } return flags, nil }