mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-12-15 17:19:00 -05:00
Rename deletions to redactions
This commit is contained in:
parent
7d9a84a445
commit
70899d3ab2
16 changed files with 77 additions and 74 deletions
|
|
@ -20,7 +20,7 @@ from twisted.internet import defer
|
|||
from synapse.api.constants import Membership, JoinRules
|
||||
from synapse.api.errors import AuthError, StoreError, Codes, SynapseError
|
||||
from synapse.api.events.room import (
|
||||
RoomMemberEvent, RoomPowerLevelsEvent, RoomDeletionEvent,
|
||||
RoomMemberEvent, RoomPowerLevelsEvent, RoomRedactionEvent,
|
||||
)
|
||||
from synapse.util.logutils import log_function
|
||||
|
||||
|
|
@ -72,8 +72,8 @@ class Auth(object):
|
|||
if event.type == RoomPowerLevelsEvent.TYPE:
|
||||
yield self._check_power_levels(event)
|
||||
|
||||
if event.type == RoomDeletionEvent.TYPE:
|
||||
yield self._check_deletion(event)
|
||||
if event.type == RoomRedactionEvent.TYPE:
|
||||
yield self._check_redaction(event)
|
||||
|
||||
defer.returnValue(True)
|
||||
else:
|
||||
|
|
@ -327,7 +327,7 @@ class Auth(object):
|
|||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _check_deletion(self, event):
|
||||
def _check_redaction(self, event):
|
||||
user_level = yield self.store.get_power_level(
|
||||
event.room_id,
|
||||
event.user_id,
|
||||
|
|
@ -338,15 +338,15 @@ class Auth(object):
|
|||
else:
|
||||
user_level = 0
|
||||
|
||||
_, _, delete_level = yield self.store.get_ops_levels(event.room_id)
|
||||
_, _, redact_level = yield self.store.get_ops_levels(event.room_id)
|
||||
|
||||
if not delete_level:
|
||||
delete_level = 50
|
||||
if not redact_level:
|
||||
redact_level = 50
|
||||
|
||||
if user_level < delete_level:
|
||||
if user_level < redact_level:
|
||||
raise AuthError(
|
||||
403,
|
||||
"You don't have permission to delete events"
|
||||
"You don't have permission to redact events"
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ class SynapseEvent(JsonEncodedObject):
|
|||
"age_ts",
|
||||
"prev_content",
|
||||
"prev_state",
|
||||
"pruned_because",
|
||||
"redacted_because",
|
||||
]
|
||||
|
||||
internal_keys = [
|
||||
|
|
@ -70,7 +70,7 @@ class SynapseEvent(JsonEncodedObject):
|
|||
"origin",
|
||||
"outlier",
|
||||
"power_level",
|
||||
"deleted",
|
||||
"redacted",
|
||||
]
|
||||
|
||||
required_keys = [
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ from synapse.api.events.room import (
|
|||
InviteJoinEvent, RoomConfigEvent, RoomNameEvent, GenericEvent,
|
||||
RoomPowerLevelsEvent, RoomJoinRulesEvent, RoomOpsPowerLevelsEvent,
|
||||
RoomCreateEvent, RoomAddStateLevelEvent, RoomSendEventLevelEvent,
|
||||
RoomDeletionEvent,
|
||||
RoomRedactionEvent,
|
||||
)
|
||||
|
||||
from synapse.util.stringutils import random_string
|
||||
|
|
@ -40,7 +40,7 @@ class EventFactory(object):
|
|||
RoomAddStateLevelEvent,
|
||||
RoomSendEventLevelEvent,
|
||||
RoomOpsPowerLevelsEvent,
|
||||
RoomDeletionEvent,
|
||||
RoomRedactionEvent,
|
||||
]
|
||||
|
||||
def __init__(self, hs):
|
||||
|
|
|
|||
|
|
@ -182,10 +182,10 @@ class RoomAliasesEvent(SynapseStateEvent):
|
|||
return {}
|
||||
|
||||
|
||||
class RoomDeletionEvent(SynapseEvent):
|
||||
TYPE = "m.room.deletion"
|
||||
class RoomRedactionEvent(SynapseEvent):
|
||||
TYPE = "m.room.redaction"
|
||||
|
||||
valid_keys = SynapseEvent.valid_keys + ["deletes"]
|
||||
valid_keys = SynapseEvent.valid_keys + ["redacts"]
|
||||
|
||||
def get_content_template(self):
|
||||
return {}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ def prune_event(event):
|
|||
""" Prunes the given event of all keys we don't know about or think could
|
||||
potentially be dodgy.
|
||||
|
||||
This is used when we "delete" an event. We want to remove all fields that
|
||||
This is used when we "redact" an event. We want to remove all fields that
|
||||
the user has specified, but we do want to keep necessary information like
|
||||
type, state_key etc.
|
||||
"""
|
||||
|
|
@ -55,7 +55,7 @@ def prune_event(event):
|
|||
elif event.type == RoomSendEventLevelEvent.TYPE:
|
||||
add_fields("level")
|
||||
elif event.type == RoomOpsPowerLevelsEvent.TYPE:
|
||||
add_fields("kick_level", "ban_level", "delete_level")
|
||||
add_fields("kick_level", "ban_level", "redact_level")
|
||||
elif event.type == RoomAliasesEvent.TYPE:
|
||||
add_fields("aliases")
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue