api_urls.py 1.41 KB
Newer Older
1 2 3
"""
Defines the URL routes for the Team API.
"""
4 5

from django.conf import settings
6
from django.conf.urls import url
7 8

from .views import (
9 10
    MembershipDetailView,
    MembershipListView,
11
    TeamsDetailView,
12
    TeamsListView,
13
    TopicDetailView,
14
    TopicListView
15 16 17
)

TEAM_ID_PATTERN = r'(?P<team_id>[a-z\d_-]+)'
18
TOPIC_ID_PATTERN = r'(?P<topic_id>[A-Za-z\d_.-]+)'
19

20
urlpatterns = [
21
    url(
22
        r'^v0/teams/$',
23 24 25 26
        TeamsListView.as_view(),
        name="teams_list"
    ),
    url(
27 28 29
        r'^v0/teams/{team_id_pattern}$'.format(
            team_id_pattern=TEAM_ID_PATTERN,
        ),
30 31 32 33 34 35 36 37 38
        TeamsDetailView.as_view(),
        name="teams_detail"
    ),
    url(
        r'^v0/topics/$',
        TopicListView.as_view(),
        name="topics_list"
    ),
    url(
39 40 41 42
        r'^v0/topics/{topic_id_pattern},{course_id_pattern}$'.format(
            topic_id_pattern=TOPIC_ID_PATTERN,
            course_id_pattern=settings.COURSE_ID_PATTERN,
        ),
43 44
        TopicDetailView.as_view(),
        name="topics_detail"
45 46
    ),
    url(
47
        r'^v0/team_membership/$',
48 49 50 51
        MembershipListView.as_view(),
        name="team_membership_list"
    ),
    url(
52 53 54 55
        r'^v0/team_membership/{team_id_pattern},{username_pattern}$'.format(
            team_id_pattern=TEAM_ID_PATTERN,
            username_pattern=settings.USERNAME_PATTERN,
        ),
56 57
        MembershipDetailView.as_view(),
        name="team_membership_detail"
58
    )
59
]