mirror of
https://github.com/remnawave/python-sdk.git
synced 2026-05-14 04:37:15 +00:00
63 lines
No EOL
2.3 KiB
Python
63 lines
No EOL
2.3 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,
|
|
ReorderSubscriptionTemplatesRequestDto,
|
|
ReorderSubscriptionTemplatesResponseDto,
|
|
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"""
|
|
...
|
|
@post("/subscription-templates/actions/reorder", response_class=ReorderSubscriptionTemplatesResponseDto)
|
|
async def reorder_templates(
|
|
self,
|
|
body: Annotated[ReorderSubscriptionTemplatesRequestDto, PydanticBody()],
|
|
) -> ReorderSubscriptionTemplatesResponseDto:
|
|
"""Reorder subscription templates"""
|
|
... |