mirror of
https://github.com/Radiquum/AniX.git
synced 2025-04-30 18:09:40 +05:00
Changelog:
Backend: - ADD Favorites routes - EXTEND Index routes - ADD FastAPI tags for routes Frontend: - ADD Next.JS Template
This commit is contained in:
parent
23ac963dee
commit
642277face
17 changed files with 1052 additions and 10 deletions
|
@ -1,18 +1,39 @@
|
|||
import uvicorn
|
||||
from fastapi import FastAPI
|
||||
from modules.pages import favorites
|
||||
from modules.pages import index
|
||||
from modules.release import release
|
||||
from modules.user import auth
|
||||
from modules.user import profile
|
||||
|
||||
TAGS = [
|
||||
{
|
||||
"name": "Index",
|
||||
"description": "Main page API requests",
|
||||
},
|
||||
{
|
||||
"name": "Profile",
|
||||
"description": "Profile API requests",
|
||||
},
|
||||
{
|
||||
"name": "Releases",
|
||||
"description": "Releases API requests",
|
||||
},
|
||||
{
|
||||
"name": "Favorites",
|
||||
"description": "Favorites API requests",
|
||||
},
|
||||
]
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
app.include_router(profile.router, prefix="/profile")
|
||||
app.include_router(auth.router, prefix="/auth")
|
||||
app.include_router(profile.router, prefix="/profile", tags=["Profile"])
|
||||
app.include_router(auth.router, prefix="/auth", tags=["Profile"])
|
||||
|
||||
app.include_router(release.router, prefix="/release")
|
||||
app.include_router(release.router, prefix="/release", tags=["Releases"])
|
||||
|
||||
app.include_router(index.router, prefix="/page")
|
||||
app.include_router(index.router, prefix="/index", tags=["Index"])
|
||||
app.include_router(favorites.router, prefix="/favorites", tags=["Favorites"])
|
||||
|
||||
if __name__ == "__main__":
|
||||
uvicorn.run("main:app", host="0.0.0.0", port=8000)
|
||||
|
|
48
backend/modules/pages/favorites.py
Normal file
48
backend/modules/pages/favorites.py
Normal 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}"
|
||||
)
|
|
@ -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)
|
||||
|
|
|
@ -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;)"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue