|
17 | 17 | urlpatterns = [ |
18 | 18 | url(r'^', include(router.urls)), |
19 | 19 | # application release components |
20 | | - url(r"^apps/(?P<id>{})/config/?".format(settings.APP_URL_REGEX), |
| 20 | + url(r"^apps/(?P<id>{})/config/?$".format(settings.APP_URL_REGEX), |
21 | 21 | views.ConfigViewSet.as_view({'get': 'retrieve', 'post': 'create'})), |
22 | | - url(r"^apps/(?P<id>{})/builds/(?P<uuid>[-_\w]+)/?".format(settings.APP_URL_REGEX), |
| 22 | + url(r"^apps/(?P<id>{})/builds/(?P<uuid>[-_\w]+)/?$".format(settings.APP_URL_REGEX), |
23 | 23 | views.BuildViewSet.as_view({'get': 'retrieve'})), |
24 | | - url(r"^apps/(?P<id>{})/builds/?".format(settings.APP_URL_REGEX), |
| 24 | + url(r"^apps/(?P<id>{})/builds/?$".format(settings.APP_URL_REGEX), |
25 | 25 | views.BuildViewSet.as_view({'get': 'list', 'post': 'create'})), |
26 | | - url(r"^apps/(?P<id>{})/releases/v(?P<version>[0-9]+)/?".format(settings.APP_URL_REGEX), |
| 26 | + url(r"^apps/(?P<id>{})/releases/v(?P<version>[0-9]+)/?$".format(settings.APP_URL_REGEX), |
27 | 27 | views.ReleaseViewSet.as_view({'get': 'retrieve'})), |
28 | | - url(r"^apps/(?P<id>{})/releases/rollback/?".format(settings.APP_URL_REGEX), |
| 28 | + url(r"^apps/(?P<id>{})/releases/rollback/?$".format(settings.APP_URL_REGEX), |
29 | 29 | views.ReleaseViewSet.as_view({'post': 'rollback'})), |
30 | | - url(r"^apps/(?P<id>{})/releases/?".format(settings.APP_URL_REGEX), |
| 30 | + url(r"^apps/(?P<id>{})/releases/?$".format(settings.APP_URL_REGEX), |
31 | 31 | views.ReleaseViewSet.as_view({'get': 'list'})), |
32 | 32 | # restart pods |
33 | | - url(r"^apps/(?P<id>{})/pods/restart/?".format(settings.APP_URL_REGEX), |
| 33 | + url(r"^apps/(?P<id>{})/pods/restart/?$".format(settings.APP_URL_REGEX), |
34 | 34 | views.PodViewSet.as_view({'post': 'restart'})), |
35 | | - url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w.]+)/restart/?".format(settings.APP_URL_REGEX), |
| 35 | + url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w.]+)/restart/?$".format(settings.APP_URL_REGEX), |
36 | 36 | views.PodViewSet.as_view({'post': 'restart'})), |
37 | | - url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w]+)/(?P<name>[-_\w]+)/restart/?".format( |
| 37 | + url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w]+)/(?P<name>[-_\w]+)/restart/?$".format( |
38 | 38 | settings.APP_URL_REGEX), |
39 | 39 | views.PodViewSet.as_view({'post': 'restart'})), |
40 | 40 | # list pods |
41 | | - url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w]+)/(?P<name>[-_\w]+)/?".format( |
| 41 | + url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w]+)/(?P<name>[-_\w]+)/?$".format( |
42 | 42 | settings.APP_URL_REGEX), |
43 | 43 | views.PodViewSet.as_view({'get': 'list'})), |
44 | | - url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w.]+)/?".format(settings.APP_URL_REGEX), |
| 44 | + url(r"^apps/(?P<id>{})/pods/(?P<type>[-_\w.]+)/?$".format(settings.APP_URL_REGEX), |
45 | 45 | views.PodViewSet.as_view({'get': 'list'})), |
46 | | - url(r"^apps/(?P<id>{})/pods/?".format(settings.APP_URL_REGEX), |
| 46 | + url(r"^apps/(?P<id>{})/pods/?$".format(settings.APP_URL_REGEX), |
47 | 47 | views.PodViewSet.as_view({'get': 'list'})), |
48 | 48 | # application domains |
49 | | - url(r"^apps/(?P<id>{})/domains/(?P<domain>\**\.?[-\._\w]+)/?".format(settings.APP_URL_REGEX), |
| 49 | + url(r"^apps/(?P<id>{})/domains/(?P<domain>\**\.?[-\._\w]+)/?$".format(settings.APP_URL_REGEX), |
50 | 50 | views.DomainViewSet.as_view({'delete': 'destroy'})), |
51 | | - url(r"^apps/(?P<id>{})/domains/?".format(settings.APP_URL_REGEX), |
| 51 | + url(r"^apps/(?P<id>{})/domains/?$".format(settings.APP_URL_REGEX), |
52 | 52 | views.DomainViewSet.as_view({'post': 'create', 'get': 'list'})), |
53 | 53 | # application actions |
54 | | - url(r"^apps/(?P<id>{})/scale/?".format(settings.APP_URL_REGEX), |
| 54 | + url(r"^apps/(?P<id>{})/scale/?$".format(settings.APP_URL_REGEX), |
55 | 55 | views.AppViewSet.as_view({'post': 'scale'})), |
56 | | - url(r"^apps/(?P<id>{})/logs/?".format(settings.APP_URL_REGEX), |
| 56 | + url(r"^apps/(?P<id>{})/logs/?$".format(settings.APP_URL_REGEX), |
57 | 57 | views.AppViewSet.as_view({'get': 'logs'})), |
58 | | - url(r"^apps/(?P<id>{})/run/?".format(settings.APP_URL_REGEX), |
| 58 | + url(r"^apps/(?P<id>{})/run/?$".format(settings.APP_URL_REGEX), |
59 | 59 | views.AppViewSet.as_view({'post': 'run'})), |
60 | 60 | # application settings |
61 | | - url(r"^apps/(?P<id>{})/settings/?".format(settings.APP_URL_REGEX), |
| 61 | + url(r"^apps/(?P<id>{})/settings/?$".format(settings.APP_URL_REGEX), |
62 | 62 | views.AppSettingsViewSet.as_view({'get': 'retrieve', 'post': 'create'})), |
63 | 63 | # application ip whitelist |
64 | | - url(r"^apps/(?P<id>{})/whitelist/?".format(settings.APP_URL_REGEX), |
| 64 | + url(r"^apps/(?P<id>{})/whitelist/?$".format(settings.APP_URL_REGEX), |
65 | 65 | views.WhitelistViewSet.as_view({'post': 'create', 'get': 'list', 'delete': 'delete'})), |
66 | 66 | # application TLS settings |
67 | | - url(r"^apps/(?P<id>{})/tls/?".format(settings.APP_URL_REGEX), |
| 67 | + url(r"^apps/(?P<id>{})/tls/?$".format(settings.APP_URL_REGEX), |
68 | 68 | views.TLSViewSet.as_view({'get': 'retrieve', 'post': 'create'})), |
69 | 69 | # apps sharing |
70 | | - url(r"^apps/(?P<id>{})/perms/(?P<username>[-_\w]+)/?".format(settings.APP_URL_REGEX), |
| 70 | + url(r"^apps/(?P<id>{})/perms/(?P<username>[-_\w]+)/?$".format(settings.APP_URL_REGEX), |
71 | 71 | views.AppPermsViewSet.as_view({'delete': 'destroy'})), |
72 | | - url(r"^apps/(?P<id>{})/perms/?".format(settings.APP_URL_REGEX), |
| 72 | + url(r"^apps/(?P<id>{})/perms/?$".format(settings.APP_URL_REGEX), |
73 | 73 | views.AppPermsViewSet.as_view({'get': 'list', 'post': 'create'})), |
74 | 74 | # apps base endpoint |
75 | | - url(r"^apps/(?P<id>{})/?".format(settings.APP_URL_REGEX), |
| 75 | + url(r"^apps/(?P<id>{})/?$".format(settings.APP_URL_REGEX), |
76 | 76 | views.AppViewSet.as_view({'get': 'retrieve', 'post': 'update', 'delete': 'destroy'})), |
77 | | - url(r'^apps/?', |
| 77 | + url(r'^apps/?$', |
78 | 78 | views.AppViewSet.as_view({'get': 'list', 'post': 'create'})), |
79 | 79 | # key |
80 | | - url(r'^keys/(?P<id>.+)/?', |
| 80 | + url(r'^keys/(?P<id>.+)/?$', |
81 | 81 | views.KeyViewSet.as_view({'get': 'retrieve', 'delete': 'destroy'})), |
82 | | - url(r'^keys/?', |
| 82 | + url(r'^keys/?$', |
83 | 83 | views.KeyViewSet.as_view({'get': 'list', 'post': 'create'})), |
84 | 84 | # hooks |
85 | | - url(r'^hooks/keys/(?P<id>{})/(?P<username>[-_\w]+)?'.format(settings.APP_URL_REGEX), |
| 85 | + url(r'^hooks/keys/(?P<id>{})/(?P<username>[-_\w]+)?$'.format(settings.APP_URL_REGEX), |
86 | 86 | views.KeyHookViewSet.as_view({'get': 'users'})), |
87 | | - url(r'^hooks/keys/(?P<id>{})/?'.format(settings.APP_URL_REGEX), |
| 87 | + url(r'^hooks/keys/(?P<id>{})/?$'.format(settings.APP_URL_REGEX), |
88 | 88 | views.KeyHookViewSet.as_view({'get': 'app'})), |
89 | | - url(r'^hooks/key/(?P<fingerprint>.+)/?', |
| 89 | + url(r'^hooks/key/(?P<fingerprint>.+)/?$', |
90 | 90 | views.KeyHookViewSet.as_view({'get': 'public_key'})), |
91 | | - url(r'^hooks/build/?', |
| 91 | + url(r'^hooks/build/?$', |
92 | 92 | views.BuildHookViewSet.as_view({'post': 'create'})), |
93 | | - url(r'^hooks/config/?', |
| 93 | + url(r'^hooks/config/?$', |
94 | 94 | views.ConfigHookViewSet.as_view({'post': 'create'})), |
95 | 95 | # authn / authz |
96 | | - url(r'^auth/register/?', |
| 96 | + url(r'^auth/register/?$', |
97 | 97 | views.UserRegistrationViewSet.as_view({'post': 'create'})), |
98 | | - url(r'^auth/cancel/?', |
| 98 | + url(r'^auth/cancel/?$', |
99 | 99 | views.UserManagementViewSet.as_view({'delete': 'destroy'})), |
100 | | - url(r'^auth/passwd/?', |
| 100 | + url(r'^auth/passwd/?$', |
101 | 101 | views.UserManagementViewSet.as_view({'post': 'passwd'})), |
102 | | - url(r'^auth/whoami/?', |
| 102 | + url(r'^auth/whoami/?$', |
103 | 103 | views.UserManagementViewSet.as_view({'get': 'list'})), |
104 | | - url(r'^auth/login/', |
| 104 | + url(r'^auth/login/$', |
105 | 105 | views_obtain_auth_token), |
106 | | - url(r'^auth/tokens/', |
| 106 | + url(r'^auth/tokens/$', |
107 | 107 | views.TokenManagementViewSet.as_view({'post': 'regenerate'})), |
108 | 108 | # admin sharing |
109 | | - url(r'^admin/perms/(?P<username>[-_\w]+)/?', |
| 109 | + url(r'^admin/perms/(?P<username>[-_\w]+)/?$', |
110 | 110 | views.AdminPermsViewSet.as_view({'delete': 'destroy'})), |
111 | | - url(r'^admin/perms/?', |
| 111 | + url(r'^admin/perms/?$', |
112 | 112 | views.AdminPermsViewSet.as_view({'get': 'list', 'post': 'create'})), |
113 | 113 | # certificates |
114 | | - url(r'^certs/(?P<name>[-_*.\w]+)/domain/(?P<domain>\**\.?[-\._\w]+)?', |
| 114 | + url(r'^certs/(?P<name>[-_*.\w]+)/domain/(?P<domain>\**\.?[-\._\w]+)?$', |
115 | 115 | views.CertificateViewSet.as_view({'delete': 'detach', 'post': 'attach'})), |
116 | | - url(r'^certs/(?P<name>[-_*.\w]+)/?', |
| 116 | + url(r'^certs/(?P<name>[-_*.\w]+)/?$', |
117 | 117 | views.CertificateViewSet.as_view({ |
118 | 118 | 'get': 'retrieve', |
119 | 119 | 'delete': 'destroy' |
120 | 120 | })), |
121 | | - url(r'^certs/?', |
| 121 | + url(r'^certs/?$', |
122 | 122 | views.CertificateViewSet.as_view({'get': 'list', 'post': 'create'})), |
123 | 123 | # list users |
124 | | - url(r'^users/?', views.UserView.as_view({'get': 'list'})), |
| 124 | + url(r'^users/?$', views.UserView.as_view({'get': 'list'})), |
125 | 125 | ] |
0 commit comments