diff options
| author | 2020-02-02 22:03:00 +0000 | |
|---|---|---|
| committer | 2020-02-02 22:03:00 +0000 | |
| commit | fa7c2aa1cef7e18face5d531fcc51a5f39bf2e3e (patch) | |
| tree | e7a6417bfe02c2d6f15789f098de422fd6f70dde /pydis_site/apps/api/viewsets/bot | |
| parent | Make newlines visible in deleted messages (diff) | |
| parent | Create CODEOWNERS (diff) | |
Merge branch 'master' into deleted-messages-visible-line-endings
Diffstat (limited to 'pydis_site/apps/api/viewsets/bot')
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/__init__.py | 1 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/offensive_message.py | 61 | 
2 files changed, 62 insertions, 0 deletions
| diff --git a/pydis_site/apps/api/viewsets/bot/__init__.py b/pydis_site/apps/api/viewsets/bot/__init__.py index f1851e32..b3e0fa4d 100644 --- a/pydis_site/apps/api/viewsets/bot/__init__.py +++ b/pydis_site/apps/api/viewsets/bot/__init__.py @@ -5,6 +5,7 @@ from .documentation_link import DocumentationLinkViewSet  from .infraction import InfractionViewSet  from .nomination import NominationViewSet  from .off_topic_channel_name import OffTopicChannelNameViewSet +from .offensive_message import OffensiveMessageViewSet  from .reminder import ReminderViewSet  from .role import RoleViewSet  from .tag import TagViewSet diff --git a/pydis_site/apps/api/viewsets/bot/offensive_message.py b/pydis_site/apps/api/viewsets/bot/offensive_message.py new file mode 100644 index 00000000..54cb3a38 --- /dev/null +++ b/pydis_site/apps/api/viewsets/bot/offensive_message.py @@ -0,0 +1,61 @@ +from rest_framework.mixins import ( +    CreateModelMixin, +    DestroyModelMixin, +    ListModelMixin +) +from rest_framework.viewsets import GenericViewSet + +from pydis_site.apps.api.models.bot.offensive_message import OffensiveMessage +from pydis_site.apps.api.serializers import OffensiveMessageSerializer + + +class OffensiveMessageViewSet( +    CreateModelMixin, ListModelMixin, DestroyModelMixin, GenericViewSet +): +    """ +    View providing CRUD access to offensive messages. + +    ## Routes +    ### GET /bot/offensive-messages +    Returns all offensive messages in the database. + +    #### Response format +    >>> [ +    ...     { +    ...         'id': '631953598091100200', +    ...         'channel_id': '291284109232308226', +    ...         'delete_date': '2019-11-01T21:51:15.545000Z' +    ...     }, +    ...     ... +    ... ] + +    #### Status codes +    - 200: returned on success + +    ### POST /bot/offensive-messages +    Create a new offensive message object. + +    #### Request body +    >>> { +    ...     'id': int, +    ...     'channel_id': int, +    ...     'delete_date': datetime.datetime  # ISO-8601-formatted date +    ... } + +    #### Status codes +    - 201: returned on success +    - 400: if the body format is invalid + +    ### DELETE /bot/offensive-messages/<id:int> +    Delete the offensive message object with the given `id`. + +    #### Status codes +    - 204: returned on success +    - 404: if a offensive message object with the given `id` does not exist + +    ## Authentication +    Requires an API token. +    """ + +    serializer_class = OffensiveMessageSerializer +    queryset = OffensiveMessage.objects.all() | 
