Remnawave_python-sdk/remnawave/models/subscription_request_history.py
Artem 3f0b5af2cf
Refactor tests for HWID, subscriptions, system, and users; add subscription request history functionality
- 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.
2025-10-02 01:46:17 +02:00

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