Create a reusable error for invalid room info

This commit is contained in:
Devon Hudson 2023-05-08 12:22:51 -06:00
parent f8c0dd78dc
commit eabda06b59
No known key found for this signature in database
GPG key ID: CD06B18E77F6A628
9 changed files with 13 additions and 10 deletions

View file

@ -221,7 +221,7 @@ func loadAuthEvents(
} }
if roomInfo == nil { if roomInfo == nil {
err = fmt.Errorf("cannot get events without room info") err = types.ErrorInvalidRoomInfo
return return
} }
if result.events, err = db.Events(ctx, roomInfo.RoomVersion, eventNIDs); err != nil { if result.events, err = db.Events(ctx, roomInfo.RoomVersion, eventNIDs); err != nil {

View file

@ -184,7 +184,7 @@ func GetMembershipsAtState(
// Get all of the events in this state // Get all of the events in this state
if roomInfo == nil { if roomInfo == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs) stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs)
if err != nil { if err != nil {
@ -239,7 +239,7 @@ func LoadEvents(
ctx context.Context, db storage.RoomDatabase, roomInfo *types.RoomInfo, eventNIDs []types.EventNID, ctx context.Context, db storage.RoomDatabase, roomInfo *types.RoomInfo, eventNIDs []types.EventNID,
) ([]gomatrixserverlib.PDU, error) { ) ([]gomatrixserverlib.PDU, error) {
if roomInfo == nil { if roomInfo == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs) stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs)
if err != nil { if err != nil {

View file

@ -806,7 +806,7 @@ func (r *Inputer) kickGuests(ctx context.Context, event gomatrixserverlib.PDU, r
} }
if roomInfo == nil { if roomInfo == nil {
return fmt.Errorf("cannot get events without room info") return types.ErrorInvalidRoomInfo
} }
memberEvents, err := r.DB.Events(ctx, roomInfo.RoomVersion, membershipNIDs) memberEvents, err := r.DB.Events(ctx, roomInfo.RoomVersion, membershipNIDs)
if err != nil { if err != nil {

View file

@ -564,7 +564,7 @@ func joinEventsFromHistoryVisibility(
// Get all of the events in this state // Get all of the events in this state
if roomInfo == nil { if roomInfo == nil {
return nil, gomatrixserverlib.HistoryVisibilityJoined, fmt.Errorf("cannot get events without room info") return nil, gomatrixserverlib.HistoryVisibilityJoined, types.ErrorInvalidRoomInfo
} }
stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs) stateEvents, err := db.Events(ctx, roomInfo.RoomVersion, eventNIDs)
if err != nil { if err != nil {

View file

@ -270,7 +270,7 @@ func buildInviteStrippedState(
stateNIDs = append(stateNIDs, stateNID.EventNID) stateNIDs = append(stateNIDs, stateNID.EventNID)
} }
if info == nil { if info == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
stateEvents, err := db.Events(ctx, info.RoomVersion, stateNIDs) stateEvents, err := db.Events(ctx, info.RoomVersion, stateNIDs)
if err != nil { if err != nil {

View file

@ -86,7 +86,7 @@ func (p *StateResolution) Resolve(ctx context.Context, eventID string) (*gomatri
} }
if p.roomInfo == nil { if p.roomInfo == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
events, err := p.db.Events(ctx, p.roomInfo.RoomVersion, []types.EventNID{plNID}) events, err := p.db.Events(ctx, p.roomInfo.RoomVersion, []types.EventNID{plNID})
if err != nil { if err != nil {
@ -1139,7 +1139,7 @@ func (v *StateResolution) loadStateEvents(
} }
if v.roomInfo == nil { if v.roomInfo == nil {
return nil, nil, fmt.Errorf("cannot get events without room info") return nil, nil, types.ErrorInvalidRoomInfo
} }
events, err := v.db.Events(ctx, v.roomInfo.RoomVersion, eventNIDs) events, err := v.db.Events(ctx, v.roomInfo.RoomVersion, eventNIDs)
if err != nil { if err != nil {

View file

@ -118,7 +118,7 @@ func (u *RoomUpdater) StorePreviousEvents(eventNID types.EventNID, previousEvent
func (u *RoomUpdater) Events(ctx context.Context, _ gomatrixserverlib.RoomVersion, eventNIDs []types.EventNID) ([]types.Event, error) { func (u *RoomUpdater) Events(ctx context.Context, _ gomatrixserverlib.RoomVersion, eventNIDs []types.EventNID) ([]types.Event, error) {
if u.roomInfo == nil { if u.roomInfo == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
return u.d.events(ctx, u.txn, u.roomInfo.RoomVersion, eventNIDs) return u.d.events(ctx, u.txn, u.roomInfo.RoomVersion, eventNIDs)
} }

View file

@ -393,7 +393,7 @@ func (d *EventDatabase) eventsFromIDs(ctx context.Context, txn *sql.Tx, roomInfo
} }
if roomInfo == nil { if roomInfo == nil {
return nil, fmt.Errorf("cannot get events without room info") return nil, types.ErrorInvalidRoomInfo
} }
return d.events(ctx, txn, roomInfo.RoomVersion, nids) return d.events(ctx, txn, roomInfo.RoomVersion, nids)
} }

View file

@ -17,6 +17,7 @@ package types
import ( import (
"encoding/json" "encoding/json"
"fmt"
"sort" "sort"
"strings" "strings"
"sync" "sync"
@ -328,3 +329,5 @@ func (r *RoomInfo) CopyFrom(r2 *RoomInfo) {
r.stateSnapshotNID = r2.stateSnapshotNID r.stateSnapshotNID = r2.stateSnapshotNID
r.isStub = r2.isStub r.isStub = r2.isStub
} }
var ErrorInvalidRoomInfo = fmt.Errorf("room info is invalid")