Remnawave_python-sdk/remnawave/models/subscription_request_history.py
Artem 9e2822774a
feat: Enhance subscription and external squad management
- Updated NodeUsageDto to include node_uuid and changed date to datetime.
- Changed total fields in subscription and subscription request history models from float to int.
- Introduced response rules and conditions for subscription settings, including new models for response modifications.
- Added external squads management with CRUD operations and associated models.
- Implemented passkey management with registration and verification endpoints.
- Enhanced snippets management with full CRUD operations and validation.
- Added OAuth2 provider enum for better authentication handling.
2025-10-28 00:44:15 +01: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: int
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