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,
|
ctx context.Context,
|
||||||
) ([]types.PresenceNotify, error) {
|
) ([]types.PresenceNotify, error) {
|
||||||
rows, err := p.expirePresenceStmt.QueryContext(ctx)
|
rows, err := p.expirePresenceStmt.QueryContext(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
presences := make([]types.PresenceNotify, 0)
|
presences := make([]types.PresenceNotify, 0)
|
||||||
i := 0
|
i := 0
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,11 @@ func NewPostgresAccountsTable(db *sql.DB, serverName gomatrixserverlib.ServerNam
|
||||||
Up: deltas.UpAddAccountType,
|
Up: deltas.UpAddAccountType,
|
||||||
Down: deltas.DownAddAccountType,
|
Down: deltas.DownAddAccountType,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Version: "userapi: no guests",
|
||||||
|
Up: deltas.UpNoGuests,
|
||||||
|
Down: deltas.DownNoGuests,
|
||||||
|
},
|
||||||
}...)
|
}...)
|
||||||
err = m.Up(context.Background())
|
err = m.Up(context.Background())
|
||||||
if err != nil {
|
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