mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 16:34:49 -04:00
Uniformize spam-checker API, part 2: check_event_for_spam (#12808)
Signed-off-by: David Teller <davidt@element.io>
This commit is contained in:
parent
4cc4229cd7
commit
28199e9357
10 changed files with 128 additions and 30 deletions
|
@ -12,13 +12,38 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
from enum import Enum
|
||||
from typing import Union
|
||||
|
||||
from synapse.api.errors import Codes
|
||||
|
||||
|
||||
class RegistrationBehaviour(Enum):
|
||||
"""
|
||||
Enum to define whether a registration request should allowed, denied, or shadow-banned.
|
||||
Enum to define whether a registration request should be allowed, denied, or shadow-banned.
|
||||
"""
|
||||
|
||||
ALLOW = "allow"
|
||||
SHADOW_BAN = "shadow_ban"
|
||||
DENY = "deny"
|
||||
|
||||
|
||||
# We define the following singleton enum rather than a string to be able to
|
||||
# write `Union[Allow, ..., str]` in some of the callbacks for the spam-checker
|
||||
# API, where the `str` is required to maintain backwards compatibility with
|
||||
# previous versions of the API.
|
||||
class Allow(Enum):
|
||||
"""
|
||||
Singleton to allow events to pass through in SpamChecker APIs.
|
||||
"""
|
||||
|
||||
ALLOW = "allow"
|
||||
|
||||
|
||||
Decision = Union[Allow, Codes]
|
||||
"""
|
||||
Union to define whether a request should be allowed or rejected.
|
||||
|
||||
To accept a request, return `ALLOW`.
|
||||
|
||||
To reject a request without any specific information, use `Codes.FORBIDDEN`.
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue