mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-05-13 12:16:42 +00:00
- Restructured HWID tests into classes for better organization and clarity. - Enhanced subscription tests to cover additional scenarios and improved assertions. - Introduced new tests for system statistics and monitoring. - Implemented CRUD operations for user management with comprehensive test coverage. - Added new controllers and models for handling subscription request history. - Created tests for subscription request history, including pagination and statistics. - Improved error handling in tests to skip when exceptions occur.
41 lines
No EOL
1.1 KiB
Python
41 lines
No EOL
1.1 KiB
Python
from datetime import datetime
|
|
from typing import List, Optional
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class SubscriptionRequestHistoryRecord(BaseModel):
|
|
id: int
|
|
user_uuid: UUID = Field(alias="userUuid")
|
|
request_ip: Optional[str] = Field(alias="requestIp")
|
|
user_agent: Optional[str] = Field(alias="userAgent")
|
|
request_at: datetime = Field(alias="requestAt")
|
|
|
|
|
|
class SubscriptionRequestHistoryData(BaseModel):
|
|
records: List[SubscriptionRequestHistoryRecord]
|
|
total: float
|
|
|
|
|
|
class GetAllSubscriptionRequestHistoryResponseDto(SubscriptionRequestHistoryData):
|
|
pass
|
|
|
|
|
|
class AppStatItem(BaseModel):
|
|
app: str
|
|
count: float
|
|
|
|
|
|
class HourlyRequestStat(BaseModel):
|
|
date_time: datetime = Field(alias="dateTime")
|
|
request_count: float = Field(alias="requestCount")
|
|
|
|
|
|
class SubscriptionRequestHistoryStatsData(BaseModel):
|
|
by_parsed_app: List[AppStatItem] = Field(alias="byParsedApp")
|
|
hourly_request_stats: List[HourlyRequestStat] = Field(alias="hourlyRequestStats")
|
|
|
|
|
|
class GetSubscriptionRequestHistoryStatsResponseDto(SubscriptionRequestHistoryStatsData):
|
|
pass |