anonymousland-synapse/synapse/api/constants.py

106 lines
2.7 KiB
Python
Raw Normal View History

2014-08-12 10:10:52 -04:00
# -*- coding: utf-8 -*-
2015-01-06 08:21:39 -05:00
# Copyright 2014, 2015 OpenMarket Ltd
2014-08-12 10:10:52 -04:00
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2014-08-12 10:10:52 -04:00
"""Contains constants from the specification."""
class Membership(object):
"""Represents the membership states of a user in a room."""
INVITE = u"invite"
JOIN = u"join"
KNOCK = u"knock"
LEAVE = u"leave"
2014-09-01 11:15:34 -04:00
BAN = u"ban"
LIST = (INVITE, JOIN, KNOCK, LEAVE, BAN)
2014-08-12 10:10:52 -04:00
class PresenceState(object):
"""Represents the presence state of a user."""
OFFLINE = u"offline"
UNAVAILABLE = u"unavailable"
ONLINE = u"online"
FREE_FOR_CHAT = u"free_for_chat"
class JoinRules(object):
PUBLIC = u"public"
KNOCK = u"knock"
INVITE = u"invite"
PRIVATE = u"private"
class LoginType(object):
PASSWORD = u"m.login.password"
OAUTH = u"m.login.oauth2"
EMAIL_CODE = u"m.login.email.code"
EMAIL_URL = u"m.login.email.url"
EMAIL_IDENTITY = u"m.login.email.identity"
2014-10-30 07:10:17 -04:00
RECAPTCHA = u"m.login.recaptcha"
DUMMY = u"m.login.dummy"
# Only for C/S API v1
APPLICATION_SERVICE = u"m.login.application_service"
SHARED_SECRET = u"org.matrix.login.shared_secret"
2014-12-03 11:07:21 -05:00
class EventTypes(object):
Member = "m.room.member"
Create = "m.room.create"
JoinRules = "m.room.join_rules"
PowerLevels = "m.room.power_levels"
Aliases = "m.room.aliases"
2014-12-09 09:49:11 -05:00
Redaction = "m.room.redaction"
RoomHistoryVisibility = "m.room.history_visibility"
CanonicalAlias = "m.room.canonical_alias"
RoomAvatar = "m.room.avatar"
# These are used for validation
Message = "m.room.message"
Topic = "m.room.topic"
Name = "m.room.name"
2015-01-28 11:16:53 -05:00
class RejectedReason(object):
AUTH_ERROR = "auth_error"
REPLACED = "replaced"
NOT_ANCESTOR = "not_ancestor"
2015-07-13 11:48:06 -04:00
class RoomCreationPreset(object):
2015-07-14 05:20:31 -04:00
PRIVATE_CHAT = "private_chat"
PUBLIC_CHAT = "public_chat"
TRUSTED_PRIVATE_CHAT = "trusted_private_chat"
2015-10-09 10:48:31 -04:00
class SearchConstraintTypes(object):
FTS = "fts"
EXACT = "exact"
PREFIX = "prefix"
SUBSTRING = "substring"
RANGE = "range"
class KnownRoomEventKeys(object):
CONTENT_BODY = "content.body"
CONTENT_MSGTYPE = "content.msgtype"
CONTENT_NAME = "content.name"
CONTENT_TOPIC = "content.topic"
SENDER = "sender"
ORIGIN_SERVER_TS = "origin_server_ts"
ROOM_ID = "room_id"