mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-08-31 14:21:05 +00:00
- Implemented models for nodes usage history including NodeInfoDto, GetUserAccessibleNodesResponse, and usage statistics. - Created subscription-related models such as UserSubscription, SubscriptionInfoData, and various response DTOs for subscription information. - Developed models for subscription settings, templates, and system statistics, enhancing the API's capability to manage and retrieve subscription configurations. - Introduced user management models including CreateUserRequestDto, UpdateUserRequestDto, and various response DTOs for user actions. - Added bulk actions for user updates and statistics tracking, improving the efficiency of user management operations. - Established a base controller for handling API requests and responses, along with decorators for HTTP methods to streamline API interactions. - Included utility functions for serialization using orjson for better performance with Pydantic models.
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from typing import Annotated
|
|
|
|
from rapid_api_client import Path, Query
|
|
|
|
from remnawave.models import (
|
|
GetNodeUserUsageByRangeResponseDto,
|
|
GetNodesUsageByRangeResponseDto,
|
|
)
|
|
from remnawave.rapid import BaseController, get
|
|
|
|
|
|
class NodesUsageHistoryController(BaseController):
|
|
@get("/nodes/usage/range", response_class=GetNodesUsageByRangeResponseDto)
|
|
async def get_nodes_usage_by_range(
|
|
self,
|
|
start: Annotated[str, Query(description="Start date", format="date-time")],
|
|
end: Annotated[str, Query(description="End date", format="date-time")],
|
|
) -> GetNodesUsageByRangeResponseDto:
|
|
"""Get nodes usage by range"""
|
|
...
|
|
|
|
|
|
class NodesUserUsageHistoryController(BaseController):
|
|
@get("/nodes/usage/{uuid}/users/range", response_class=GetNodeUserUsageByRangeResponseDto)
|
|
async def get_node_user_usage_by_range(
|
|
self,
|
|
uuid: Annotated[str, Path(description="UUID of the node")],
|
|
start: Annotated[str, Query(description="Start date", format="date-time")],
|
|
end: Annotated[str, Query(description="End date", format="date-time")],
|
|
) -> GetNodeUserUsageByRangeResponseDto:
|
|
"""Get nodes user usage by range"""
|
|
...
|