mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-10-21 12:10:47 +00:00
feat: добавить модель GetInternalSquadAccessibleNodesResponseDto и эндпоинт для получения доступных узлов внутренней группы
This commit is contained in:
parent
08f2146d41
commit
a117f61204
3 changed files with 38 additions and 2 deletions
|
|
@ -15,6 +15,7 @@ from remnawave.models import (
|
|||
GetInternalSquadByUuidResponseDto,
|
||||
UpdateInternalSquadRequestDto,
|
||||
UpdateInternalSquadResponseDto,
|
||||
GetInternalSquadAccessibleNodesResponseDto,
|
||||
)
|
||||
from remnawave.rapid import BaseController, delete, get, patch, post
|
||||
|
||||
|
|
@ -57,7 +58,10 @@ class InternalSquadsController(BaseController):
|
|||
"""Delete internal squad"""
|
||||
...
|
||||
|
||||
@post("/internal-squads/{uuid}/bulk-actions/add-users", response_class=AddUsersToInternalSquadResponseDto)
|
||||
@post(
|
||||
"/internal-squads/{uuid}/bulk-actions/add-users",
|
||||
response_class=AddUsersToInternalSquadResponseDto,
|
||||
)
|
||||
async def add_users_to_internal_squad(
|
||||
self,
|
||||
uuid: Annotated[str, Path(description="UUID of the internal squad")],
|
||||
|
|
@ -65,10 +69,24 @@ class InternalSquadsController(BaseController):
|
|||
"""Add users to internal squad"""
|
||||
...
|
||||
|
||||
@delete("/internal-squads/{uuid}/bulk-actions/remove-users", response_class=DeleteUsersFromInternalSquadResponseDto)
|
||||
@delete(
|
||||
"/internal-squads/{uuid}/bulk-actions/remove-users",
|
||||
response_class=DeleteUsersFromInternalSquadResponseDto,
|
||||
)
|
||||
async def remove_users_from_internal_squad(
|
||||
self,
|
||||
uuid: Annotated[str, Path(description="UUID of the internal squad")],
|
||||
) -> DeleteUsersFromInternalSquadResponseDto:
|
||||
"""Delete users from internal squad"""
|
||||
...
|
||||
|
||||
@get(
|
||||
"/internal-squads/{uuid}/accessible-nodes",
|
||||
response_class=GetInternalSquadAccessibleNodesResponseDto,
|
||||
)
|
||||
async def get_accessible_nodes(
|
||||
self,
|
||||
uuid: Annotated[str, Path(description="UUID of the internal squad")],
|
||||
) -> GetInternalSquadAccessibleNodesResponseDto:
|
||||
"""Get accessible nodes for internal squad"""
|
||||
...
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ from .internal_squads import (
|
|||
InternalSquadDto,
|
||||
UpdateInternalSquadRequestDto,
|
||||
UpdateInternalSquadResponseDto,
|
||||
GetInternalSquadAccessibleNodesResponseDto,
|
||||
)
|
||||
from .keygen import GetPubKeyResponseDto, PubKeyResponseDto # Legacy alias
|
||||
from .nodes import (
|
||||
|
|
@ -274,6 +275,7 @@ __all__ = [
|
|||
"GetInboundsResponseDto",
|
||||
"InboundResponseDto",
|
||||
"InboundsResponseDto", # Legacy alias
|
||||
"GetInternalSquadAccessibleNodesResponseDto",
|
||||
# Keygen models
|
||||
"GetPubKeyResponseDto",
|
||||
"PubKeyResponseDto", # Legacy alias
|
||||
|
|
|
|||
|
|
@ -84,3 +84,19 @@ class DeleteUsersFromInternalSquadRequestDto(BaseModel):
|
|||
|
||||
class DeleteUsersFromInternalSquadResponseDto(BulkActionsResponseDto):
|
||||
pass
|
||||
|
||||
|
||||
class AccessibleNodeDto(BaseModel):
|
||||
uuid: UUID
|
||||
name: str = Field(alias="nodeName")
|
||||
country_code: Optional[str] = Field(default=None, alias="countryCode")
|
||||
config_profile_uuid: Optional[UUID] = Field(default=None, alias="configProfileUuid")
|
||||
config_profile_name: Optional[str] = Field(default=None, alias="configProfileName")
|
||||
active_inbounds: List[Optional[UUID]] = Field(
|
||||
default_factory=list, alias="activeInbounds"
|
||||
)
|
||||
|
||||
|
||||
class GetInternalSquadAccessibleNodesResponseDto(BaseModel):
|
||||
squad_uuid: UUID = Field(alias="squadUuid")
|
||||
accessible_nodes: List[AccessibleNodeDto] = Field(alias="accessibleNodes")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue