mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-08-31 22:31:02 +00:00
- 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.
54 lines
No EOL
1.9 KiB
Python
54 lines
No EOL
1.9 KiB
Python
from typing import Annotated
|
|
|
|
from rapid_api_client.annotations import Path, PydanticBody
|
|
|
|
from remnawave.enums import TemplateType
|
|
from remnawave.models import (
|
|
CreateSubscriptionTemplateRequestDto,
|
|
CreateSubscriptionTemplateResponseDto,
|
|
DeleteSubscriptionTemplateResponseDto,
|
|
GetTemplateResponseDto,
|
|
GetTemplatesResponseDto,
|
|
UpdateTemplateRequestDto,
|
|
UpdateTemplateResponseDto,
|
|
)
|
|
from remnawave.rapid import BaseController, delete, get, patch, post
|
|
|
|
|
|
class SubscriptionsTemplateController(BaseController):
|
|
@get("/subscription-templates", response_class=GetTemplatesResponseDto)
|
|
async def get_all_templates(self) -> GetTemplatesResponseDto:
|
|
"""Get all subscription templates (without content)"""
|
|
...
|
|
|
|
@post("/subscription-templates", response_class=CreateSubscriptionTemplateResponseDto)
|
|
async def create_template(
|
|
self,
|
|
body: Annotated[CreateSubscriptionTemplateRequestDto, PydanticBody()],
|
|
) -> CreateSubscriptionTemplateResponseDto:
|
|
"""Create subscription template"""
|
|
...
|
|
|
|
@patch("/subscription-templates", response_class=UpdateTemplateResponseDto)
|
|
async def update_template(
|
|
self,
|
|
body: Annotated[UpdateTemplateRequestDto, PydanticBody()],
|
|
) -> UpdateTemplateResponseDto:
|
|
"""Update subscription template"""
|
|
...
|
|
|
|
@get("/subscription-templates/{uuid}", response_class=GetTemplateResponseDto)
|
|
async def get_template_by_uuid(
|
|
self,
|
|
uuid: Annotated[str, Path(description="Template UUID")],
|
|
) -> GetTemplateResponseDto:
|
|
"""Get subscription template by uuid"""
|
|
...
|
|
|
|
@delete("/subscription-templates/{uuid}", response_class=DeleteSubscriptionTemplateResponseDto)
|
|
async def delete_template(
|
|
self,
|
|
uuid: Annotated[str, Path(description="Template UUID")],
|
|
) -> DeleteSubscriptionTemplateResponseDto:
|
|
"""Delete subscription template"""
|
|
... |