mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-08-29 04:45:45 +00:00
- Implemented TemplateResponseDto and UpdateTemplateRequestDto for subscription templates. - Created models for system statistics including CPU, memory, and bandwidth. - Developed user models for user creation, updates, and responses. - Added bulk actions for user updates and statistics tracking. - Introduced tests for authentication, bandwidth statistics, hosts, inbounds, key generation, nodes, subscriptions, and user management. - Enhanced utility functions for generating random strings, emails, and date ranges for testing.
26 lines
924 B
Python
26 lines
924 B
Python
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from remnawave_api.enums import TrafficLimitStrategy, UserStatus
|
|
|
|
|
|
class UserSubscription(BaseModel):
|
|
short_uuid: str = Field(alias="shortUuid")
|
|
username: str
|
|
days_left: int = Field(alias="daysLeft")
|
|
traffic_used: str = Field(alias="trafficUsed")
|
|
traffic_limit: str = Field(alias="trafficLimit")
|
|
traffic_limit_strategy: TrafficLimitStrategy = Field(alias="trafficLimitStrategy")
|
|
expires_at: datetime = Field(alias="expiresAt")
|
|
user_status: UserStatus = Field(alias="userStatus")
|
|
is_active: bool = Field(alias="isActive")
|
|
|
|
|
|
class SubscriptionInfoResponseDto(BaseModel):
|
|
is_found: bool = Field(alias="isFound")
|
|
user: Optional[UserSubscription] = None
|
|
links: list[str]
|
|
ss_conf_links: dict = Field(alias="ssConfLinks")
|
|
subscription_url: str = Field(alias="subscriptionUrl")
|