|
19 | 19 | from .views import TeamViewSet, UserViewSet, ActivityViewSet, WorkoutViewSet, LeaderboardViewSet |
20 | 20 | from rest_framework.response import Response |
21 | 21 | from rest_framework.decorators import api_view |
| 22 | +import os |
22 | 23 |
|
23 | 24 | router = routers.DefaultRouter() |
24 | 25 | router.register(r'teams', TeamViewSet) |
|
29 | 30 |
|
30 | 31 | @api_view(['GET']) |
31 | 32 | def api_root(request, format=None): |
| 33 | + codespace_name = os.environ.get('CODESPACE_NAME') |
| 34 | + if codespace_name: |
| 35 | + base_url = f"https://{codespace_name}-8000.app.github.dev/api/" |
| 36 | + else: |
| 37 | + # fallback to localhost for local development |
| 38 | + base_url = "http://localhost:8000/api/" |
32 | 39 | return Response({ |
33 | | - 'users': request.build_absolute_uri('users/'), |
34 | | - 'teams': request.build_absolute_uri('teams/'), |
35 | | - 'activities': request.build_absolute_uri('activities/'), |
36 | | - 'workouts': request.build_absolute_uri('workouts/'), |
37 | | - 'leaderboard': request.build_absolute_uri('leaderboard/'), |
| 40 | + 'users': base_url + 'users/', |
| 41 | + 'teams': base_url + 'teams/', |
| 42 | + 'activities': base_url + 'activities/', |
| 43 | + 'workouts': base_url + 'workouts/', |
| 44 | + 'leaderboard': base_url + 'leaderboard/', |
38 | 45 | }) |
39 | 46 |
|
40 | 47 | urlpatterns = [ |
|
0 commit comments