Move all the APIs under the same router
This commit is contained in:
parent
3d46cb5ec9
commit
c54ceeb7a8
27 changed files with 1289 additions and 351 deletions
19
config/api.py
Normal file
19
config/api.py
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
"""Combined v1 API router for all platforms."""
|
||||
|
||||
from ninja import NinjaAPI
|
||||
|
||||
from kick.api import api as kick_router
|
||||
from twitch.api import api as twitch_router
|
||||
|
||||
api_v1 = NinjaAPI(
|
||||
title="TTVDrops API",
|
||||
version="1.0.0",
|
||||
urls_namespace="api-v1",
|
||||
docs_url="docs/",
|
||||
)
|
||||
|
||||
api_v1.add_router("/twitch/", twitch_router, url_name_prefix="twitch-api-v1")
|
||||
api_v1.add_router("/kick/", kick_router, url_name_prefix="kick-api-v1")
|
||||
|
||||
app_name = "api-v1"
|
||||
urlpatterns = api_v1.urls[0]
|
||||
|
|
@ -276,7 +276,25 @@ class SiteEndpointSmokeTest(TestCase):
|
|||
("twitch:export_organizations_csv", {}, 200),
|
||||
("twitch:export_organizations_json", {}, 200),
|
||||
# Kick endpoints
|
||||
("kick:campaign_api_list", {}, 200),
|
||||
("api-v1:kick-api-v1_list_campaigns", {}, 200),
|
||||
(
|
||||
"api-v1:kick-api-v1_get_campaign",
|
||||
{"kick_id": self.kick_campaign.kick_id},
|
||||
200,
|
||||
),
|
||||
("api-v1:kick-api-v1_list_games", {}, 200),
|
||||
(
|
||||
"api-v1:kick-api-v1_get_game",
|
||||
{"kick_id": self.kick_category.kick_id},
|
||||
200,
|
||||
),
|
||||
("api-v1:kick-api-v1_list_organizations", {}, 200),
|
||||
(
|
||||
"api-v1:kick-api-v1_get_organization",
|
||||
{"kick_id": self.kick_org.kick_id},
|
||||
200,
|
||||
),
|
||||
("api-v1:kick-api-v1_stats", {}, 200),
|
||||
("kick:dashboard", {}, 200),
|
||||
("kick:campaign_list", {}, 200),
|
||||
("kick:campaign_detail", {"kick_id": self.kick_campaign.kick_id}, 200),
|
||||
|
|
|
|||
|
|
@ -43,6 +43,11 @@ urlpatterns: list[URLPattern | URLResolver] = [
|
|||
view=core_views.sitemap_youtube_view,
|
||||
name="sitemap-youtube",
|
||||
),
|
||||
# API v1
|
||||
path(
|
||||
"api/v1/",
|
||||
include("config.api", namespace="api-v1"),
|
||||
),
|
||||
# Core app
|
||||
path(route="", view=include("core.urls", namespace="core")),
|
||||
# Twitch app
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue