mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-05 21:23:10 -06:00
Make check more readable, also check for the sender
This commit is contained in:
parent
26dd627a2a
commit
73dddea17f
|
|
@ -832,13 +832,14 @@ func (d *Database) handleRedactions(
|
|||
if err != nil {
|
||||
return nil, "", fmt.Errorf("unable to get powerlevels for room: %w", err)
|
||||
}
|
||||
redactPL := pl.Redact
|
||||
|
||||
redactUser := pl.UserLevel(redactionEvent.Sender())
|
||||
// The power level of the redaction event’s sender is greater than or equal to the redact level.
|
||||
userAllowed := redactUser >= redactPL
|
||||
// The domain of the redaction event’s sender matches that of the original event’s sender.
|
||||
originAllowed := redactedEvent.Origin() == redactionEvent.Origin()
|
||||
if !originAllowed && !userAllowed {
|
||||
switch {
|
||||
case redactUser >= pl.Redact:
|
||||
// The power level of the redaction event’s sender is greater than or equal to the redact level.
|
||||
case redactedEvent.Origin() == redactionEvent.Origin() && redactedEvent.Sender() == redactionEvent.Sender():
|
||||
// The domain of the redaction event’s sender matches that of the original event’s sender.
|
||||
default:
|
||||
return nil, "", nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue