mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 06:53:09 -06:00
Fix guests that were created by migration a users again (#23)
* Fix guests that were created accidentally by migration a users again * Check for errors in ExpirePresence
This commit is contained in:
parent
2fd63adf8b
commit
83e9d2d83c
|
|
@ -189,6 +189,9 @@ func (p *presenceStatements) ExpirePresence(
|
|||
ctx context.Context,
|
||||
) ([]types.PresenceNotify, error) {
|
||||
rows, err := p.expirePresenceStmt.QueryContext(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
presences := make([]types.PresenceNotify, 0)
|
||||
i := 0
|
||||
for rows.Next() {
|
||||
|
|
|
|||
|
|
@ -98,6 +98,11 @@ func NewPostgresAccountsTable(db *sql.DB, serverName gomatrixserverlib.ServerNam
|
|||
Up: deltas.UpAddAccountType,
|
||||
Down: deltas.DownAddAccountType,
|
||||
},
|
||||
{
|
||||
Version: "userapi: no guests",
|
||||
Up: deltas.UpNoGuests,
|
||||
Down: deltas.DownNoGuests,
|
||||
},
|
||||
}...)
|
||||
err = m.Up(context.Background())
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
package deltas
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func UpNoGuests(ctx context.Context, tx *sql.Tx) error {
|
||||
// AddAccountType introduced a bug where each user that had was registered as a regular user, but without user_id, became a guest.
|
||||
_, err := tx.ExecContext(ctx, "UPDATE account_accounts SET account_type = 1 WHERE account_type = 2;")
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to execute upgrade: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func DownNoGuests(ctx context.Context, tx *sql.Tx) error {
|
||||
return nil
|
||||
}
|
||||
Loading…
Reference in a new issue