Skip to content

Commit 7334621

Browse files
committed
Fixing urls; adding home and api root
1 parent f05f1e9 commit 7334621

File tree

5 files changed

+45
-43
lines changed

5 files changed

+45
-43
lines changed

demo/api/models.py

Lines changed: 0 additions & 3 deletions
This file was deleted.

demo/api/urls.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from django.urls import path
2+
3+
from demo.api import views
4+
5+
urlpatterns = [
6+
path("", views.root, name="api-root"),
7+
path("health/", views.health, name="api-health"),
8+
path("devs/", views.dev_list, name="api-dev-list"),
9+
path("devs/<uuid:identifier>", views.dev_details, name="api-dev-details"),
10+
path(
11+
"devs/<uuid:identifier>/languages",
12+
views.dev_details_languages,
13+
name="api-dev-details-languages",
14+
),
15+
path("languages/", views.language_list, name="api-language-list"),
16+
]

demo/api/views.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@
3131
DEVS = [ANNA, LOUIS, MARCUS]
3232

3333

34+
def root(request):
35+
return HttpResponse(
36+
"<a href=https://demo.scanapi.dev/api/health>https://demo.scanapi.dev/api/health</a><br>"
37+
"<a href=https://demo.scanapi.dev/api/devs>https://demo.scanapi.dev/api/devs</a><br>"
38+
"<a href=https://demo.scanapi.dev/api/devs?newOpportunities=true>https://demo.scanapi.dev/api/devs?newOpportunities=true</a><br>"
39+
"<a href=https://demo.scanapi.dev/api/devs?newOpportunities=false>https://demo.scanapi.dev/api/devs?newOpportunities=false</a><br>"
40+
"<a href=https://demo.scanapi.dev/api/languages>https://demo.scanapi.dev/api/languages</a><br>"
41+
"<a href=https://demo.scanapi.dev/api/devs/129e8cb2-d19c-41ad-9921-cea329bed7f0>https://demo.scanapi.dev/api/devs/129e8cb2-d19c-41ad-9921-cea329bed7f0</a><br>"
42+
"<a href=https://demo.scanapi.dev/api/devs/129e8cb2-d19c-41ad-9921-cea329bed7f0/languages>https://demo.scanapi.dev/api/devs/129e8cb2-d19c-41ad-9921-cea329bed7f0/languages</a><br>"
43+
)
44+
45+
3446
def health(request):
3547
if request.method == "GET":
3648
return HttpResponse("OK!")
@@ -40,16 +52,16 @@ def health(request):
4052

4153
@csrf_exempt
4254
def dev_list(request):
43-
if is_not_authenticated(request):
44-
return not_authenticated()
45-
4655
if request.method == "GET":
4756
newOpportunities = request.GET.get("newOpportunities")
4857
devs = filter_devs_by_new_opportunities(newOpportunities)
4958

5059
return JsonResponse(devs, safe=False)
5160

5261
if request.method == "POST":
62+
if is_not_authenticated(request):
63+
return not_authenticated()
64+
5365
body = json.loads(str(request.body, encoding="utf-8"))
5466
return JsonResponse(body, status=201, safe=False)
5567

@@ -58,9 +70,6 @@ def dev_list(request):
5870

5971
@csrf_exempt
6072
def dev_details(request, identifier):
61-
if is_not_authenticated(request):
62-
return not_authenticated()
63-
6473
uuid = str(identifier)
6574
dev = get_dev(uuid)
6675
if request.method == "GET":
@@ -70,6 +79,9 @@ def dev_details(request, identifier):
7079
return JsonResponse(dev, status=200, safe=False)
7180

7281
if request.method == "DELETE":
82+
if is_not_authenticated(request):
83+
return not_authenticated()
84+
7385
if not dev:
7486
return dev_not_found(uuid)
7587

@@ -79,9 +91,6 @@ def dev_details(request, identifier):
7991

8092

8193
def dev_details_languages(request, identifier):
82-
if is_not_authenticated(request):
83-
return not_authenticated()
84-
8594
uuid = str(identifier)
8695
dev = get_dev(uuid)
8796
if request.method == "GET":
@@ -94,9 +103,6 @@ def dev_details_languages(request, identifier):
94103

95104

96105
def language_list(request):
97-
if is_not_authenticated(request):
98-
return not_authenticated()
99-
100106
return JsonResponse(["c", "go", "java", "python", "ruby"], safe=False)
101107

102108

demo/settings.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,7 @@
115115

116116
STATIC_URL = "/static/"
117117

118+
APPEND_SLASH = True
119+
118120
# Activate Django-Heroku.
119121
django_heroku.settings(locals())

demo/urls.py

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,12 @@
1-
"""demo URL Configuration
1+
from django.http import HttpResponse
2+
from django.urls import path, include
23

3-
The `urlpatterns` list routes URLs to views. For more information please see:
4-
https://docs.djangoproject.com/en/3.0/topics/http/urls/
5-
Examples:
6-
Function views
7-
1. Add an import: from my_app import views
8-
2. Add a URL to urlpatterns: path('', views.home, name='home')
9-
Class-based views
10-
1. Add an import: from other_app.views import Home
11-
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
12-
Including another URLconf
13-
1. Import the include() function: from django.urls import include, path
14-
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
15-
"""
16-
from django.contrib import admin
17-
from django.urls import path
184

19-
from demo.api import views
5+
def home(request):
6+
return HttpResponse(
7+
"Welcome to ScanAPI Demo."
8+
"\n\nAccess the demo api at: https://demo.scanapi.dev/api"
9+
)
2010

21-
urlpatterns = [
22-
path("api/health", views.health, name="api-health"),
23-
path("api/devs/", views.dev_list, name="api-dev-list"),
24-
path("api/devs/<uuid:identifier>", views.dev_details, name="api-dev-details"),
25-
path(
26-
"api/devs/<uuid:identifier>/languages",
27-
views.dev_details_languages,
28-
name="api-dev-details-languages",
29-
),
30-
path("api/languages/", views.language_list, name="api-language-list"),
31-
]
11+
12+
urlpatterns = [path("", home, name="index"), path("api/", include("demo.api.urls"))]

0 commit comments

Comments
 (0)