Changelog:

Backend:
- ADD Favorites routes
- EXTEND Index routes
- ADD FastAPI tags for routes

Frontend:
- ADD Next.JS Template
This commit is contained in:
Kentai Radiquum 2024-04-18 22:29:26 +05:00
parent 23ac963dee
commit 642277face
Signed by: Radiquum
GPG key ID: 858E8EE696525EED
17 changed files with 1052 additions and 10 deletions

View file

@ -0,0 +1,48 @@
from fastapi import APIRouter
from fastapi import Request
from modules.proxy import apiRequest
from modules.proxy import ENDPOINTS
router = APIRouter()
@router.get("/history", summary="Get user watch history")
async def GetUserHistory(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["history"], page, query=f"?token={token}"
)
@router.get("/watching", summary="Get user watch list")
async def GetUserWatching(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["watching"], page, query=f"?token={token}"
)
@router.get("/planned", summary="Get user planned list")
async def GetUserPlanned(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["planned"], page, query=f"?token={token}"
)
@router.get("/watched", summary="Get user watched list")
async def GetUserWatched(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["watched"], page, query=f"?token={token}"
)
@router.get("/delayed", summary="Get user delayed list")
async def GetUserDelayed(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["delayed"], page, query=f"?token={token}"
)
@router.get("/abandoned", summary="Get user abandoned list")
async def GetUserAbandoned(request: Request, token: str, page: int = 0):
return await apiRequest(
request, ENDPOINTS["user"]["abandoned"], page, query=f"?token={token}"
)

View file

@ -1,4 +1,5 @@
import json
from typing import Union
from fastapi import APIRouter
from fastapi import Request
@ -8,10 +9,9 @@ from modules.proxy import ENDPOINTS
router = APIRouter()
# TODO: Add filters?
@router.post("/index", summary="Get main page")
async def GetMainPage(request: Request, page: int = 0):
async def GetMainPageFilter(
request: Request, page: int = 0, status_id: Union[None, int] = None
):
data = json.dumps(
{
"country": None,
@ -28,10 +28,29 @@ async def GetMainPage(request: Request, page: int = 0):
"genres": [],
"profile_list_exclusions": [],
"start_year": None,
"status_id": None,
"status_id": status_id,
"types": [],
"is_genres_exclude_mode_enabled": False,
}
)
return await apiRequest(request, ENDPOINTS["filter"], page, data=data)
@router.post("/last", summary="Get new releases")
async def GetMainPage(request: Request, page: int = 0):
return await GetMainPageFilter(request, page, None)
@router.post("/ongoing", summary="Get ongoing releases")
async def GetOngoingPage(request: Request, page: int = 0):
return await GetMainPageFilter(request, page, 2)
@router.post("/announce", summary="Get announced releases")
async def GetAnnouncePage(request: Request, page: int = 0):
return await GetMainPageFilter(request, page, 3)
@router.post("/finished", summary="Get finished releases")
async def GetFinishedPage(request: Request, page: int = 0):
return await GetMainPageFilter(request, page, 1)

View file

@ -9,6 +9,14 @@ ENDPOINTS = {
"profile": f"{API_URL}/profile",
"filter": f"{API_URL}/filter",
"auth": f"{API_URL}/auth/signIn",
"user": {
"history": f"{API_URL}/history",
"watching": f"{API_URL}/profile/list/all/1",
"planned": f"{API_URL}/profile/list/all/2",
"watched": f"{API_URL}/profile/list/all/3",
"delayed": f"{API_URL}/profile/list/all/4",
"abandoned": f"{API_URL}/profile/list/all/5",
},
}
USER_AGENT = "AnixartApp/8.2.1-23121216 (Android 11; SDK 30; arm64-v8a;)"