mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-05-13 12:16:42 +00:00
82 lines
No EOL
2.8 KiB
Python
82 lines
No EOL
2.8 KiB
Python
from typing import Annotated
|
|
|
|
from rapid_api_client.annotations import PydanticBody
|
|
|
|
from remnawave.models import (
|
|
AddUsersToExternalSquadResponseDto,
|
|
CreateExternalSquadRequestDto,
|
|
CreateExternalSquadResponseDto,
|
|
DeleteExternalSquadResponseDto,
|
|
GetExternalSquadByUuidResponseDto,
|
|
GetExternalSquadsResponseDto,
|
|
RemoveUsersFromExternalSquadResponseDto,
|
|
ReorderExternalSquadsRequestDto,
|
|
ReorderExternalSquadsResponseDto,
|
|
UpdateExternalSquadRequestDto,
|
|
UpdateExternalSquadResponseDto,
|
|
)
|
|
from remnawave.rapid import BaseController, delete, get, patch, post
|
|
|
|
|
|
class ExternalSquadsController(BaseController):
|
|
@get("/external-squads", response_class=GetExternalSquadsResponseDto)
|
|
async def get_external_squads(
|
|
self,
|
|
) -> GetExternalSquadsResponseDto:
|
|
"""Get all external squads"""
|
|
...
|
|
|
|
@post("/external-squads", response_class=CreateExternalSquadResponseDto)
|
|
async def create_external_squad(
|
|
self,
|
|
body: Annotated[CreateExternalSquadRequestDto, PydanticBody()],
|
|
) -> CreateExternalSquadResponseDto:
|
|
"""Create external squad"""
|
|
...
|
|
|
|
@patch("/external-squads", response_class=UpdateExternalSquadResponseDto)
|
|
async def update_external_squad(
|
|
self,
|
|
body: Annotated[UpdateExternalSquadRequestDto, PydanticBody()],
|
|
) -> UpdateExternalSquadResponseDto:
|
|
"""Update external squad"""
|
|
...
|
|
|
|
@get("/external-squads/{uuid}", response_class=GetExternalSquadByUuidResponseDto)
|
|
async def get_external_squad_by_uuid(
|
|
self,
|
|
uuid: str,
|
|
) -> GetExternalSquadByUuidResponseDto:
|
|
"""Get external squad by uuid"""
|
|
...
|
|
|
|
@delete("/external-squads/{uuid}", response_class=DeleteExternalSquadResponseDto)
|
|
async def delete_external_squad(
|
|
self,
|
|
uuid: str,
|
|
) -> DeleteExternalSquadResponseDto:
|
|
"""Delete external squad"""
|
|
...
|
|
|
|
@post("/external-squads/{uuid}/bulk-actions/add-users", response_class=AddUsersToExternalSquadResponseDto)
|
|
async def add_users_to_external_squad(
|
|
self,
|
|
uuid: str,
|
|
) -> AddUsersToExternalSquadResponseDto:
|
|
"""Add all users to external squad"""
|
|
...
|
|
|
|
@delete("/external-squads/{uuid}/bulk-actions/remove-users", response_class=RemoveUsersFromExternalSquadResponseDto)
|
|
async def remove_users_from_external_squad(
|
|
self,
|
|
uuid: str,
|
|
) -> RemoveUsersFromExternalSquadResponseDto:
|
|
"""Delete users from external squad"""
|
|
...
|
|
@post("/external-squads/actions/reorder", response_class=ReorderExternalSquadsResponseDto)
|
|
async def reorder_external_squads(
|
|
self,
|
|
body: Annotated[ReorderExternalSquadsRequestDto, PydanticBody()],
|
|
) -> ReorderExternalSquadsResponseDto:
|
|
"""Reorder external squads"""
|
|
... |