zulip/zerver/lib
Arpith Siromoney 001847ac5b Add backend support for emoji reactions.
This commit adds the following:

1. A reaction model that consists of a user, a message and an emoji that
are unique together (a user cannot react to a particular message more
than once with the same emoji)
2. A reaction event that looks like:
    {
        'type': 'reaction',
	'op': 'add',
	'message_id': 3,
	'emoji_name': 'doge',
	'user': {
	    'user_id': 1,
            'email': 'hamlet@zulip.com',
            'full_name': 'King Hamlet'
	}
    }
3. A new API endpoint, /reactions, that accepts POST requests to add a
reaction to a message
4. A migration to add the new model to the database
5. Tests that check that
   (a) Invalid requests cannot be made
   (b) The reaction event body contains all the info
   (c) The reaction event is sent to the appropriate users
   (d) Reacting more than once fails

It is still missing important features like removing emoji and
fetching them alongside messages.
2016-11-26 18:10:21 -08:00
..
bugdown Remove shebang line from non-scripts 2016-11-26 13:20:22 -08:00
webhooks Fix English grammar in push/remove tag message. 2016-11-15 10:48:12 -08:00
__init__.py
actions.py Add backend support for emoji reactions. 2016-11-26 18:10:21 -08:00
alert_words.py Fix type annotations in zerver/lib/alert_words.py. 2016-05-24 14:12:11 -07:00
avatar.py Add medium size avatars for use on the user's own settings page. 2016-10-25 09:42:14 -07:00
avatar_hash.py avatar: Move avatar hash computations to their own file. 2016-10-02 21:19:10 -07:00
bulk_create.py models.py: Rename split_email_to_domain to email_to_domain. 2016-11-11 15:26:51 -08:00
cache.py Django 1.10: Use same cache prefix for JS tests. 2016-11-26 15:10:50 -08:00
cache_helpers.py Fix Django.utils.importlib deprecation warnings. 2016-10-17 23:19:28 -07:00
camo.py zerver/lib/camo.py: Type ignore statement with hex encode. 2016-07-07 09:52:24 -07:00
ccache.py Remove shebang line from non-scripts 2016-11-26 13:20:22 -08:00
context_managers.py Removed some unused imports. 2016-06-07 18:13:58 -07:00
create_user.py create_user: Disable stream desktop notifications by default. 2016-11-08 07:48:49 -08:00
db.py Fix cursor() arguments for connection classes. 2016-10-14 13:35:06 -07:00
debug.py mypy: Remove a bunch of now-unnecessary type: ignore annotations. 2016-10-17 11:48:34 -07:00
digest.py context_processors: use a common context for emails. 2016-11-08 11:37:16 -08:00
email_mirror.py mypy: Remove a bunch of now-unnecessary type: ignore annotations. 2016-10-17 11:48:34 -07:00
event_queue.py event_queue: Eliminate buggy need_timeout heartbeat code. 2016-10-19 14:32:49 -07:00
export.py Django 1.10: Resolve QuerySet returned by model_to_dict. 2016-11-09 15:29:58 -08:00
handlers.py events: Add event types to logging. 2016-10-19 14:32:16 -07:00
html_diff.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
i18n.py Send double columned language list in page_params. 2016-08-10 16:19:28 -07:00
initial_password.py zerver/lib/initial_password.py: Encode return value. 2016-06-18 16:41:40 -07:00
integrations.py docs: Automate creation of Hubot documentation lozenges. 2016-11-26 15:27:54 -08:00
logging_util.py Fix python 3 compatibility in logging code. 2016-09-09 15:36:29 -07:00
mandrill_client.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
mention.py zerver/lib/bugdown/__init__.py: Fix string types. 2016-06-16 15:21:17 -07:00
message.py message: Create new access_message library function. 2016-10-11 17:17:19 -07:00
migrate.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
name_restrictions.py realm creation flow: Prevent disposable email signups. 2016-11-05 10:37:15 -07:00
narrow.py narrow: Document BuildNarrowFilterTest. 2016-07-20 14:18:40 -07:00
notifications.py context_processors: use a common context for emails. 2016-11-08 11:37:16 -08:00
parallel.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
push_notifications.py Annotate push_notifications.py. 2016-08-08 15:17:02 -07:00
queue.py lint: Fix E703 pep8 violations. 2016-11-09 15:18:35 -08:00
rate_limiter.py zerver: Fix lines with length greater than 120. 2016-07-08 11:41:43 -07:00
redis_utils.py settings: Add support for specifying a remote redis password. 2016-08-11 16:54:22 -07:00
request.py Django 1.10: Deprecate request.REQUEST. 2016-11-04 10:20:24 -07:00
request.pyi Improve annotations of decorators. 2016-07-22 11:14:33 -07:00
response.py Add lint check for malformed type annotations missing :. 2016-08-04 15:53:23 -07:00
rest.py Modify rest_dispatch to support method specific flags. 2016-06-27 10:53:15 -07:00
retention.py retention-policy: Add tool to determine expired messages. 2016-10-25 15:38:08 -07:00
session_user.py zerver/lib/session_user.py: Replace Dict by Mapping. 2016-06-29 10:36:50 -07:00
socket.py Django 1.10: Compare CSRF tokens after unsalting them. 2016-11-15 09:34:08 -08:00
sqlalchemy_utils.py mypy: Remove a bunch of now-unnecessary type: ignore annotations. 2016-10-17 11:48:34 -07:00
statistics.py mypy: Remove a bunch of now-unnecessary type: ignore annotations. 2016-10-17 11:48:34 -07:00
str_utils.py mypy: Change six.text_type to typing.Text for a few files. 2016-11-25 13:55:38 -08:00
test_classes.py domain migration: Remove several instances of get_realm. 2016-11-26 15:19:56 -08:00
test_fixtures.py test_fixtures: handle a case when given database does not exist. 2016-11-11 15:40:10 -08:00
test_helpers.py Create api docs from url coverage data from tests. 2016-11-26 14:49:23 -08:00
test_runner.py Always start python via shebang lines. 2016-11-26 14:46:37 -08:00
timeout.py zerver/lib/timeout.py: Replace isAlive by is_alive. 2016-07-06 11:49:48 -07:00
timestamp.py analytics: Simplify frequency and measurement interval options. 2016-10-14 10:18:37 -07:00
tornado_ioloop_logging.py Annotate zerver/lib/tornado_ioloop_logging.py. 2016-09-10 12:10:41 -07:00
type_debug.py zerver/lib/type_debug.py: Handle container types better. 2016-07-23 14:35:39 -07:00
unminify.py Add annotations to avatar.py, db.py, logging_util.py, unminify.py. 2016-06-05 12:38:20 -07:00
upload.py Add medium size avatars for use on the user's own settings page. 2016-10-25 09:42:14 -07:00
user_agent.py Add type annotation to mention.py, redis_utils.py, timestamp.py, user_agent.py 2016-06-03 19:00:16 -07:00
utils.py lint: Fix E703 pep8 violations. 2016-11-09 15:18:35 -08:00
validator.py Add annotations for zerver/lib/validator. 2016-06-03 23:53:49 -07:00