fix: HWID и subscription request history — userUuid заменён на userId (API v2.8.0)

Панель Remnawave v2.8.0 в ответах HWID-устройств и истории запросов подписки
убрала userUuid и отдаёт userId (number), а также добавила requestIp у
HWID-устройств. Webhook/REST-модели SDK не обновили, из-за чего парсинг
вебхука user_hwid_devices.* падал с
ValidationError: 1 validation error for HwidUserDeviceDto — userUuid Field required.

- models/webhook.py: HwidUserDeviceDto — user_uuid -> user_id (Optional),
  добавлен request_ip; вебхук больше не роняет WebhookUtility.parse_webhook
- models/hwid.py: HwidDeviceDto (response) — userUuid -> userId, + requestIp
- models/subscription_request_history.py, models/users.py:
  SubscriptionRequest*Record — userUuid -> userId

Request-DTO (Create/Delete...RequestDto) не тронуты — там userUuid остаётся
параметром запроса, изменение затрагивает только response-объекты.
This commit is contained in:
masasibata 2026-07-01 12:11:59 +03:00
parent 294d70e8c6
commit 4366a33b20
4 changed files with 6 additions and 5 deletions

View file

@ -22,7 +22,8 @@ class DeleteUserHwidDeviceRequestDto(BaseModel):
class HwidDeviceDto(BaseModel):
hwid: str
user_uuid: UUID = Field(alias="userUuid")
user_id: int = Field(alias="userId")
request_ip: Optional[str] = Field(None, alias="requestIp")
platform: Optional[str] = None
os_version: Optional[str] = Field(None, alias="osVersion")
device_model: Optional[str] = Field(None, alias="deviceModel")

View file

@ -1,13 +1,12 @@
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")
user_id: int = Field(alias="userId")
request_ip: Optional[str] = Field(alias="requestIp")
user_agent: Optional[str] = Field(alias="userAgent")
request_at: datetime = Field(alias="requestAt")

View file

@ -222,7 +222,7 @@ class ResolveUserResponseDto(BaseModel):
class SubscriptionRequestRecord(BaseModel):
"""Subscription request history record"""
id: int
user_uuid: UUID = Field(alias="userUuid")
user_id: int = Field(alias="userId")
request_at: datetime = Field(alias="requestAt")
request_ip: Optional[str] = Field(alias="requestIp")
user_agent: Optional[str] = Field(alias="userAgent")

View file

@ -119,7 +119,8 @@ class UserEventDto(BaseModel):
class HwidUserDeviceDto(BaseModel):
hwid: str
user_uuid: UUID
user_id: Optional[int] = None
request_ip: Optional[str] = None
platform: Optional[str] = None
os_version: Optional[str] = None
device_model: Optional[str] = None